mtu(通信协议所能通过的最大数据报大小)

mtu通信协议所能通过的最大数据报大小

MTU,最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。大部分网络设备的MTU都是1500。

如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。同名有:希哈芬股份有限公司,密西根理工大学。

中文名

最大传输单元

英文名

Maximum Transmission Unit

简称

mtu

定义

通信协议的层面能通过最大数据包

主要特点

因特网协议允许IP分片,这样就可以将数据包分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。这一分片过程发生在网络层,它使用的是将分组发送到链路上的网络接口的最大传输单元的值。

这个最大传输单元的值就是MTU(Maximum Transmission Unit)。它是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)[1]

例如,以太网无法接收大于1 5 0 0 字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。

它使用的是将分组发送到链路上的网络接口的最大传输单元的值。原始分组的分片都被加上了标记,这样目的主机的IP层就能将分组重组成原始的数据报了。

在因特网协议中,一条因特网传输路径的“路径最大传输单元”被定义为从源地址到目的地址所经过“路径”上的所有IP跳的最大传输单元的最小值。或者从另外一个角度来看,就是无需进一步分片就能穿过这条“路径”的传输单元的最大值。[2]

对于时下大多数使用以太网的局域网来说,最大传输单元的值是1500字节。但是像PPPoE这样的系统会减小这个数值,这就使得在使用最大传输单元发现方法时可能会产生这样的结果:一些处于配置不当的防火墙之后的站点变得不可达了。

对于这种情况,还是可能找到变通的方法的,但这取决于你控制的是网络的哪一部分。这些方法包括改变用来在防火墙一端建立TCP连接的第一个分组的MSS(Maximum Segment Size,最大分段大小)。

对于一些支持老版本以太网协议的IBM系统(例如XSeries),可能只有在把最大传输单元设为1492之后才能在当下常见的局域网上进行运作。

如何检测网关的MTU

在本机打开dos窗口,执行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。 如果能ping通,可以通过网关发送出去。 如果出现: Packet needs to be fragmented but DF set. 表示数据包需要拆开来发送。

此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。 如果检测到网关的MTU值是1500,不需要修改。 如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

如何修改本机的MTU

修改方法如下:

Windows平台下

1、运行regedit

2、打开:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces

3、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:

A、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;

B、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;

C、如果IPAddress的键值与A中的IP相同,即192.168.0.19,则该子项就是要找的网卡。

4、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“DWORD 值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,填入MTU的值(一般为十进制的1480)。

填写前请先把基数设为十进制。 设置好后,需要重启机器才能生效。

Windows 7(XP、Vista未实测)

1、使用管理员权限运行cmd

2、使用netsh interface ipv4 show subinterfaces命令看看MTU以及本地连接名称。

3、使用netsh interface ipv4 set subinterface "本地连接" mtu=1000 store=persistent

(注:这里的连接名是你使用上面命令看到的MTU值对应的这个连接名,他在右边显示。)

附:1、此方法不用重启;2、如是ipv6就将上面的ipv4改成ipv6

Linux下可使用如下命令修改 需要root权限

ifconfig 网卡 MTU值

如 ifconfig eth0 mtu 1460

MaxMTU是最大的TCP/IP传输单元,在TCP/IP协议中,将要传输的数据分成较小的组进行传输,每个组的大小为576字节。

Windows默认的字节为1500,这是以太网的分组标准。ADSL使用的 PPPoE略小于这个数值,一般为1492。而某些网站采用的MaxMTU大于1492,所以,可能导致某些网页不能访问。修改Windows默认的MaxMTU可以解决这个问题。

不论是 PC机上安装的PPPoE软件或者是内置在Modem的 PPPoE软件,在使用中都有可能遇到这个问题。 如果使用路由器出现此种情况, 请在 防火墙配置 => 基本设定 里,,将MTU改为手工, 设置为 1492 即可. 那如何确定路由器从ISP获得的 MTU 为 1500,请见附件圈出的位置。

网络中一些常见链路层协议MTU的缺省数值如下:

FDDI协议:4352字节

以太网(Ethernet)协议:1500字节

PPPoE(ADSL)协议:1492字节

X.25协议(Dial Up/Modem):576字节

Point-to-Point:4470字节

如果在IP层要传输一个数据报比链路层的MTU还大,那么IP层就会对这个数据报进行分片。一个数据报会被分为若干片,每个分片的大小都小于或者等于链路层的MTU值。当同一网络上的主机互相进行通信时,该网络的MTU对通信双方非常重要。

公司介绍

简介介绍

发动机及涡轮机联盟弗里的希哈芬股份有限公司(简称MTU)

MTU为戴姆勒-奔驰集团属下公司,是世界领先的柴油发动机制造商,其柴油发动机功率从35kw-9000kw,广泛用于舰船、重型汽车和工程机械、铁路机车。MTU不仅仅制造柴油发动机,还制造面向最终用户的完整成套产品。

历史发展

自1899年起,MTU的前身Friedrichshafen engine manufacturer,开始重型发动机制造,以其技术的开创性,为世界发动机行业树立了诸多里程碑。

1919年的凡尔赛条约,禁止德国公司的产品用于飞行器。因此Friedrichshafen engine manufacturer发动机更多地用于铁路机车和坦克、军舰动力,曾在1936年创造了铁路史上160公里时速的记录。

在1934年,Friedrichshafen engine manufacturer制造了世界上首台涡轮增压的柴油发动机。此后不断的创新,使Friedrichshafen engine manufacturer成为世界上最大、最先进的发动机制造商之一。

Friedrichshafen在1960年并入Daimler集团,一个新品牌诞生了:Motoren-und Turbinen-Union Friedrichshafen GmbH(发动机及涡轮机联盟弗里的希哈芬股份有限公司,简称MTU)。自此,MTU Friedrichshafen工厂,成为了铁路机车引擎,舰船引擎、柴油发电机组引擎的主要制造商。

产品声誉

MTU作为陆用、水用和铁路推动系统以及发电设备引擎的供应商,MTU以其领先的技术、高可靠性的产品以及一流的售后服务,在世界范围内享有盛誉。MTU一向以输出功率大、效率高、体积小并且经久耐用而闻名于世。

技术合作

2000年,MTU与DDC正式合并,至此,MTU公司成为世界上发动机技术最先进,功率范围最大的发动机供应商。

目前世界上绝大部分主战坦克使用的都是MTU系列柴油机,诸如“挑战者”2E,豹2系列。

参考资料

1.浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)·博客园

2.最大传输单元如何设置·酷米范文网

标签: mtu