曾经遇到一次这样的案例,A点和B点之间网络状况良好(延时小,丢包率低),但是当A点和B点之间配置了×××通道以后,丢包率一下变的很高。再排除了两边硬件防火墙有问题之后,确定为是MTU的原因。MTU代表最大传输单元,一般以太网上默认为1500字节。再配置了×××之后,AB两点要频繁进行封装,加密,解封,解密的操作,这时如果在A点和B点之间的某个路由器的MTU值小于1500,这样就需要对包进行重新分片再传输,如果再加上网络拥塞的话,网络性能势必受到影响。

   判断是否存在这样的问题,其实很简单,用ping命令即可: ping IP_Address –f –l 1500 ,-f表示不重新分片,-l表示传输包的大小。如果存在上面提到的问题,那么就会返回这样的提示“Packets needs to be fragmented but DF set”. 逐渐减小-l后面的值,直到有reply为止。

image 

   例如当值为1450时得到reply,那么建议修改操作系统的MTU值为1450。

如何在Windows 7中修改

1) 检查'Local Area Connection'的索引: netsh interface ipv4 show interface

2) 设置MTU为1450,这里本地连接的索引为11: netsh interface ipv4 set interface 11 mtu=1450 (永久修改:store=persistent)

3) 确认一下: netsh interface ipv4 show interface

image

如何在Windows XP中修改

1)修改注册表,在如下位置找到所用网卡的ID

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterID>

HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\Tcpip
\Parameters
\Interfaces
\<AdapterID>

2)创建一个名为MTU的DWORD,并把值设为1450。