如何检测网关的MTU
在本机打开cmd窗口,执行:
1 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
Windows 7
1、使用管理员权限运行cmd
2、使用netsh interface ipv4 show subinterfaces命令看看MTU以及连接名称。
C:\Windows\system32>netsh interface ipv4 show subinterfaces MTU MediaSenseState 传入字节 传出字节 接口 ------ --------------- --------- --------- ------------- 4294967295 1 0 7509617 Loopback Pseudo-Interface 1 1500 2 3781281760 1161536548 DELL 1500 5 0 8685440 无线网络连接 2 1500 1 11372850473 1535218571 本地连接 2 1500 1 255 18163989 VMware Network Adapter VMnet1 1500 1 0 18526954 VMware Network Adapter VMnet8
3、如是ipv6就将上面的ipv4改成ipv6
C:\Windows\system32>netsh interface ipv6 show subinterfaces MTU MediaSenseState 传入字节 传出字节 接口 ------ --------------- --------- --------- ------------- 4294967295 1 0 1141669 Loopback Pseudo-Interface 1 1280 5 0 0 isatap.{87466834-6BAA-4411-B165-8B8C820880A1} 1280 2 456 996 本地连接* 9 1500 5 0 152 无线网络连接 2 1280 5 0 431424 isatap.{DA9F6B16-023E-4184-8DCD-B3FB815D4826} 1280 5 0 431424 isatap.{D0E6F589-F767-462A-8C2E-3CDE445F91D6} 1500 1 256 4636681 VMware Network Adapter VMnet1 1280 5 0 0 isatap.Askey.com 1500 1 0 4635736 VMware Network Adapter VMnet8
Linux
ifconfig:
查看:ifconfig eth0
设置:ifconfig eth0 mtu 1500
文件:
查看:cat /sys/class/net/eth0/mtu
设置:echo "1460" > /sys/class/net/eth0/mtu
MTU通常设置大小
Ethernet(普通网络,局域网,光纤等):1500
PPPoE(ADSL用的):1492
IPv6 MTU范围(1280-65535)