什么是MTU,如何检测和设置路由器MTU值

所属分类: 网络 / 组网 阅读数: 1312
收藏 0 赞 0 分享

意思是网络上传送的最大数据包。MTU的单位是字节。大部分网络设备的MTU都是1500。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。
如何检测网关的MTU?

最大传输单元MTU(Maximum Transmission Unit)是指一种通信协议的某一层上面所能通过的最大数据报大小,单位是字节。合理设置路由器和本机的MTU值,可以优化上网速度。
如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。网站访问异常、发送带有附件的邮件失败这些都有可能和MTU的设置有关。

不同的网络接入方式MTU值不相同,一些典型的MTU值:

超通道    65535
16Mb/s信息令牌环(IBM)     17914
4Mb/s令牌环(IEEE802.5)      4464
FDDI     4352
EtherNet(以太网)    1500
PPPoE(ADSL) IEEE802.3/802.2 1492
Dial-up X.25 576
点对点(低时延)   296

两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。重要的不是两台主机所在网络的MTU的值,而是两台通信主机路径中的最小MTU,它被称作路径MTU。
TCP/IP协议涉及到四层:链路层,网络层,传输层,应用层。

以太网(Ethernet)的数据帧在链路层,以太网的物理特性决定了数据帧的长度MTU(Maximum Transmission Unit)为1500;
IP包在网络层,IP包的首部占用20字节,MTU为1500-20=1480;
TCP或UDP包在传输层,UDP包的首部占用8字节,MTU为1480-8=1472;
TCP或UDP中的数据(Data)在应用层,Data最大长度为1472。
数据帧{IP包{TCP或UDP包{Data}}}

MTU对UDP编程很重要,当UDP包中的数据多于MTU(1472)时,发送方的IP层需要分片fragmentation进行传输,接收方IP层则需要进行数据包重组,由于UDP是不可靠的传输协议,如果分片丢失导致重组失败,将导致UDP数据包被丢弃。
在普通的局域网环境下,UDP的数据最大为1472字节最好(避免分片重组)。但在网络编程中,Internet中的路由器可能有设置成不同的值(小于默认值),Internet上的标准MTU值为576,所以Internet的UDP编程时数据长度最好在576-20-8=548字节以内。

在本机打开dos窗口,执行:

ping-f-l1452192.168.1.1

其中192.168.1.1是网关IP地址,1452是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。如果出现:

PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.

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

C:\DocumentsandSettings\Administrator>ping-f-l1452192.168.1.1
Pinging192.168.1.1with1452bytesofdata:
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=1msTTL=64

结果出现了回应了!这表示这一个MTU值是可行的!不过,强烈建议找出可行的最大MTU值!这样一来,在设定的时候,才可以达到最佳的网速!
找出MTU值:利用上面这个方法找到的数值还不是MTU喔!由于一些封包上面的问题,上面这个值再加上28才是我们所需要的MTU值!所以,在上面的例子中,我们所需要的MTU值是1464+28=1492!
附注:我设置为1452+28=1480后,还是会出现有些网站打不开、远程桌面无法通过域名登陆的问题(通过ip可以正常远程桌面登陆),而把MTU设置为1452后,反而这些问题都迎刃而解了,并且,此时,登陆zlbog后台正常、使用域名登陆远程桌面正常。
一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网速度达到最大化。

如何修改本机的MTU?修改方法如下:

(1)、运行regedit
(2)、浏览到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
(3)、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:
(4)、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;
(5)、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;
(6)、如果IPAddress的键值与(4)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。
(7)、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口:如图3:填入MTU的值。填写前请先把基数设为十进制。设置好后,需要重启机器才能生效。
实践、重启、测试,最后得出最佳的网络状态,探索无极限,努力,终会有好结果。

更多精彩内容其他人还在看

分析物联网网关的关键技术和主要应用方向

这篇文章主要为大家介绍了主要分析了联网网关有哪些关键技术和它的应用方向,那我们首先得了解物联网是什么?物联网的网关又是什么?脚本之家的小编将会在本文详细介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

控制器局域网(CAN)物理层调试的基础知识和实例分析

很多人不知道什么是控制器局域网?文篇文章主要讲述了控制器局域网的概念与用实例分析物理层调试的过程,需要的朋友可以参考下
收藏 0 赞 0 分享

SDN控制器之东西向扩展技术

目前,用于多个控制器之间沟通和联系的东西向接口还没定义标准,但专家表示,一些非常成熟的集群技术可以被运用到SDN网络中来解决上述难题。东西向控制器扩展技术主要是指,在SDN架构中,控制能力集中到控制器,其性能问题将成为整个网络的瓶颈
收藏 0 赞 0 分享

VLAN/Trunk以及三层交换之间的关系与区别

在网上经常能看到这样的一些问题:支持VLAN的交换机一定是三层交换机吗?Trunk配置了就可以VLAN间通信吗?Trunk具体怎么工作的?VLAN间的通信到底是怎么执行的?说到底就是不知道VLAN/Trunk以及三层交换之间的关系与区别,本文将详细为您介绍他们之间的区别
收藏 0 赞 0 分享

综合布线中机房环境设计的供配电系统解析

不同的环境的配电系统都不同,那么综合布线中机房的供配电系统怎么设计呢?需要注意哪些细节?脚本之家的小编带您一起去学习一下这方面的知识,需要的朋友可以参考下
收藏 0 赞 0 分享

综合布线标准之主干布线子系统的组成

综合布线有六个构成部分,分别是建筑群主干子系统、设备子系统、垂直主干子系统、管理子系统、水平支干线子系统、工作区子系统,本文我们主要讲主干布线子系统的组成,需要的朋友可以参考下
收藏 0 赞 0 分享

怎么搭建虚拟局域网?搭建虚拟局域网的具体步骤

在中小企业中适应最多的交换技术就要属虚拟局域网了,虚拟局域网也称为VLAN技术,他可以让连接到同一台交换机的不同PC机处于不同网段中,互相无法访问,需要的朋友可以参考下
收藏 0 赞 0 分享

基于openstack网络模式的vlan分析

这篇文章主要为大家介绍了基于openstack网络模式的vlan分析,OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目
收藏 0 赞 0 分享

pvlan的工作原理和配置的步骤

pvlan是什么,它的工作原理是什么?怎么配置pvlan?不知道 怎么配置的朋友们可以跟随脚本之家的小编一起来学习下,很简单,五个步骤就可以搞定
收藏 0 赞 0 分享

动态VALN的三种划分方法

这篇文章主要为大家介绍了动态VALN的三种划分方法,分别是基于MAC地址定义、基于IP地址、基于用户VLAN,不知道的朋友们过来围观吧
收藏 0 赞 0 分享
查看更多