admin管理员组

文章数量:1566222

2024年7月31日发(作者:)

关于 MTU

MTU (最大传输单元)是网络设备传输的信息包最大值。对于各种路由器,最佳的MTU值通常都是

默认值。有时,更改MTU值可提高设备工作性能,做起来很简单,但事实上,这样做往往会导致出现其

他问题。最好保持MTU不变,除非有以下情况出现:

当连接不到ISP或者不能使用其他的因特网服务时,且他们的技术支持人员建议更改MTU值

当您使用 VPN,遇到性能问题时可以考虑更改MTU

为了提高网络的某些性能,使用了可优化MTU 值的应用程序,而这引起了连通性和其他性能方面的

问题

一个信息包被发送到MTU值较小的设备时,将被分解为若干小块。理论上,在所有电脑、交换机、

路由器及您能访问到的因特网的所有设备上的MTU值应该设置为同一大小。但是您不能控制因特网上的

MTU 值,而事实上在一个局域网中的最佳MTU值取决于硬件、软件、无线接口等等。

在一种情形下修改MTU的大小可使设备很好地工作, 但在其他方面却可能引起性能和连接性问题

当具有不同MTU值的设备相互通信时,信息包将会被分成多个以便能传给具有最小的MTU值的设备

Windows XP自动设置MTU ,换句话说,它使MTU对于各种应用综合性能最优化。微软的文章解释

了使用Windows XP的宽带用户不能连接到ISP的原因

一旦网络设备分解了一个信息包,此信息包在到达目的地前一直保持分解的状态

各种应用下的最佳MTU值

设置MTU大小是一个反复试验的过程: 由最大值1500开始下降,直至问题解决。使用下列值之一或

许能解决一些由MTU值引起的问题:

1500. 以太网信息包最大值,也是默认值。是没有PPPoE和VPN 的网络连接的典型设置。是各种路由器、

网络适配器和交换机的默认设置

1492. PPPoE 的最佳值

1472. 使用 ping 的最大值 (大于此值的信息包会先被分解)

1468. DHCP的最佳值

1430. VPN和PPTP 的最佳值

576. 拨号连接到ISP的标准值

下面给出宽带网络下利用Ping命令测试本地最佳MTU值的方法。

测试思路如下:在广域网上,大小超出ISP要求的数据包将无法传输,而路由器则会根据本机MTU

值自动将大小不符合要求的数据进行分包处理再进行传输,所以我们可以通过向Internet上的某台主机发

送一个定长数据包,并且不允许路由器更改其大小的方式去检查该数据包能否被正常传输,如果数据包小

于或等于ISP的MTU值时,传输就能正常进行,而如果发送的数据包大于ISP使用的MTU值时,传输就

会失败,这样我们就能通过不断发送不同大小的数据包最终得到ISP端的MTU大小,而这个数据再加上

28字节的包头信息就是我们需要的最终MTU值。

测试步骤如下:

1. 拨号上网,并打开“开始”菜单→“程序→附件→命令提示符”。

2. 输入命令“ping –l 14xx –f ”,这里我们解释一下命令参数的含义:

* –l 14xx参数:发送一个定长数据包,14xx是要测试的包大小,如前所述,ADSL的MTU一般在1450

与1492之间,第3步中将每次更换一次该值。上面的式子中,-l是L的小写(不是1喔)。

* –f 参数:通知路由器不能私自更改该数据包大小。

* :任意一台Internet上的主机,也可使用其它主机名或IP地址。

3. 观察反馈结果并判断ISP的MTU值。

1) 第一次发送测试包,包长1492

如图1,提示数据包过大,需要分包,因此判断该数值(1492)大于ISP的MTU,应降低包大小。

2) 第二次发送测试包,包长1460

如图2,数据包大小降为1460,提示数据包过大,因此判断该值(1460)仍大于ISP的MTU,还应继续

降低。

3) 第三次发送测试包,包长1450

如图3,数据包大小降为1450,提示该数据包可以正常传输,因此判断ISP的MTU值在1450~1460之间。

4) 第四次发送测试包,包长1455

如图4,数据包大小升为1455,提示数据包过大,因此判断MTU数值在1450~1455之间。

5) 第五次发送测试包,包长1452

如图5,数据包大小升为1452,提示可正常传输,因此判断MTU数值在1452~1455之间。

6) 第六次发送数据包,包长1453

如图6,数据包大小升为1453,提示因数据包过大无法传输,因此,判断出该ISP的MTU值为1452。

4. 修改路由器的MTU值

上面得到的MTU值不能直接用于本地设置上,还应在此基础上加上28(数据包头大小28字节),因此最

终在WAN设置页面修改MTU大小为1480。

经过测试,通过修改路由器中的MTU值可以成功解决通过路由器上网后“能上QQ不能打开网页”、“部分

网站或链接打不开”、“MSN登录不了”(请将MTU置为1480)、“Email无法发送附件”等问题。

MTU设置

MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议

传输数据报时的最大传输单元。设置合适的MTU值可以解决“部分网站打不开”、

“上网速度慢”等问题,并且可以适当提升上网速度。

设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,下

面列出了一些上网方式的MTU值:

EtherNet(一般上网方式,默认值):1500

PPPoE/ADSL:1492

Dial Up/Modem:576

问题一:知道了我的上网方式,如何设置MTU值?

1. 在 『开始』>『运行』中,键入regedit,点确定;

2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>

『Services』>『Tcpip』>『Parameters』>『interface』;

3. 在 interface 底下可能有很多的选项,你一个一个的去看,会有一个选项与

你的网卡的 IP 相同,那个就是你要挑选的选项啦!然后同样的在该选项上选择

『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的DWORD,

然后双击修改,选择十进制,填入合适 MTU 值,确定!大功告成!

问题二:我不知道自己的上网方式,如何确定MTU值呢?

ping -f -l 1500 127.0.0.1

C:WINDOWS>ping -f -l 1500 127.0.0.1

Pinging 127.0.0.1 with 1500 bytes of data:

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round

trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,

结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示

MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来

测试时:

C:WINDOWS>ping -f -l 1464 127.0.0.1

Pinging 127.0.0.1 with 1464 bytes of data:

Reply from 127.0.0.1: bytes=1464 time=10ms TTL=128

Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128

Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128

Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round

trip times in milli-seconds:

Minimum = 0ms, Maximum = 10ms, Average = 2ms

结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可

行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网速!

找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包

上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上

面的例子中,我们所需要的 MTU 值是 1464+28=1492!

一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你

的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢

的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网

速度达到最大化。

本文标签: 数据包问题传输