MTU代表Maximum Transmission Unit,是指网络上可传输的最大数据包单位为字节。通常,大多数网络设备的MTU设为1500字节。如果本地MTU大于网关的MTU,大数据包会被拆分传输,可能导致包碎片,增加丢包率,降低网络性能。因此,设置本地MTU小于或等于网关MTU有助于减少丢包现象。
对于ADSL宽带用户,MTU通常介于1450和1492之间。不匹配的MTU设置会导致数据包在传输过程中的不断分组和重组,浪费时间并影响网络效率。要优化浏览网页和数据下载速度,需将本地MTU设置为与ISP相同的值。然而,ISP的MTU值因地区而异,且可能不时调整,这给设置带来困扰。通过简单的Ping命令,我们可以检测ISP的MTU大小。
如何检测网关MTU?
在命令行输入:
ping -f -l 1452 192.168.1.1
这里的192.168.1.1是网关IP,1452是数据包长度。注意参数是”-l”(小写L)。如果能成功ping通,表示数据包无需拆分。若收到如下错误:
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。在1400到1472间尝试,能找到适合的长度。将此长度加28(数据包头大小)即得MTU值。如果网关有防火墙无法ping通,可尝试直接设置MTU为1400。
C:\Documents and Settings\Administrator>ping -f -l 1452 192.168.1.1
Pinging 192.168.1.1 with 1452 bytes of data:
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=1ms TTL=64
如收到响应,表明该MTU值有效,但应寻找最大的有效值以优化网络速度。例如,若找到的有效值是1452,则实际MTU应为1452+28=1480。
有时,即使设置为1480,仍可能出现部分网站无法访问或远程桌面通过域名登录的问题。将MTU设为1452可能能解决这些问题,同时保持登录ZLBLOG后台和通过IP远程桌面登录的正常运行。
正确配置本地和路由器的MTU值,可以解决部分网站无法打开的问题,并最大化网络速度。