- 关于 MTU
-
发布时间:2010-09-10 17:31:23
发布时间:2010-09-10 17:31:23
MTU (最大传输单元)是网络设备传输的信息包最大值。对于NETGEAR的设备,最佳的MTU值通常都是默认值。有时,更改MTU 值可提高设备工作性能,做起来很简单,但事实上,这样做往往会导致出现其他问题。最好保持MTU不变,除非有以下情况出现:
一个信息包被发送到MTU值较小的设备时,将被分解为若干小块。理论上,在所有电脑、交换机、路由器及您能访问到的因特网的所有设备上的MTU值应该设置为同一大小。但是您不能控制因特网上的 MTU 值,而事实上在一个局域网中的最佳MTU值取决于硬件、软件、无线接口等等。
各种应用下的最佳MTU值
设置MTU大小是一个反复试验的过程: 由最大值1500开始下降,直至问题解决。使用下列值之一或许能解决一些由MTU值引起的问题:
下面给出宽带网络下利用Ping命令测试本地最佳MTU值的方法。
测试思路如下:在广域网上,大小超出ISP要求的数据包将无法传输,而路由器则会根据本机MTU值自动将大小不符合要求的数据进行分包处理再进行传输,所以我们可以通过向Internet上的某台主机发送一个定长数据包,并且不允许路由器更改其大小的方式去检查该数据包能否被正常传输,如果数据包小于或等于ISP的MTU值时,传输就能正常进行,而如果发送的数据包大于ISP使用的MTU值时,传输就会失败,这样我们就能通过不断发送不同大小的数据包最终得到ISP端的MTU大小,而这个数据再加上28字节的包头信息就是我们需要的最终MTU值。
测试步骤如下:
1. 拨号上网,并打开“开始”菜单→“程序→附件→命令提示符”。
2. 输入命令“ping –l 14xx –f www.google.com”,这里我们解释一下命令参数的含义:
* –l 14xx参数:发送一个定长数据包,14xx是要测试的包大小,如前所述,ADSL的MTU一般在1450与1492之间,第3步中将每次更换一次该值。上面的式子中,-l是L的小写(不是1喔)。
* –f 参数:通知路由器不能私自更改该数据包大小。
* www.google.com:任意一台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无法发送附件”等问题。
声明:本文部分资料来源于互联网,仅供读者参考之用。