(okwary) 小叹的学习园地

与天斗?不够高~ 与地斗?不够阔 与人斗? 脸皮不够厚

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 


如何检测网关的MTU?

在本机打开dos窗口,执行:

ping -f -l 1472 192.168.0.1

其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是-l(小写的L)。

如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。

如果出现:Packet needs to be fragmented but DF set.

表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。

从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。

如果检测到网关的MTU值是1500,不需要修改。

如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

 

如何修改本机的MTU?

 

  修改方法如下: 

(1)、运行regedit 

(2)、浏览到: 

  HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces

(3)、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:

   (a)确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;

   (b)用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;

   (c)如果IPAddress的键值与(a)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。

 (4)、进入该子项,在右边的窗口里按鼠标右键,选择 新建 -> 双字节值,输入名称MTU,按回车。再用鼠标双击MTU,弹出修改窗口:

  填入MTU的值。填写前请先把基数设为十进制。

  设置好后,需要重启机器才能生效。

 

Win2000,NT,XP,2003系统可以采用如下2种方法之一,建议采用第一种,如果不行,依次往下试验
1,启用PMTUD的backhole传输

打开REGEDIT,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\主键下,找到主键 EnablePMTUBHDetect ,如果没有则创建这个Dword值,将其键值设置为1,保存后重起计算机,并测试故障是否解决?
2, 手工设置网卡的MTU值

打开REGEDIT,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\主键下,下面会有几个文件夹,分别代表机器的安装的每一块网卡,依次浏览每个文件夹,并察看窗口右边IPAddress的键值,如果其值为你连接 Internet所用网卡的ip,则需要修改的就是这个文件夹。
进入此文件夹,找到一个名为MTU的主键,如果没有则创建这个Dword值,修改键值为十进制的1460,重启。

 

posted on 2009-01-17 22:27  okwary  阅读(413)  评论(0编辑  收藏  举报
ggg