精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● Network>>暂存目录>>优化网络连接的MTU值(转)

主题:优化网络连接的MTU值(转)
发信人: drillwater(灌水英雄)
整理人: terryh(2004-03-19 15:12:02), 站内信件
来源
常见的几种连接方式的缺省MTU值:
ADSL PPPOE = 1492 MTU
ADSL STATIC IP = 1500 MTU
SDSL = 1500
VDSL = 1500
HDSL = 1500
IDSL = 1500
CABLE = 1500

要获得正确的MTU参数,我们首先需要连接上互联网,然后使用Windows的Ping工具在DOS窗口中输入:

ping -f -l [数据包大小] [www.isp.com] 

数据包大小的可用数值可以从 0 到 1500
[www.isp.com]参数可以是ISP的DNS服务器或者其他互联网上的服务器 

如果执行以后返回

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. 


就说明该大小数据包超过了ISP的MaxMTU,产生了数据冲突碎片,那么降低数据包大小再次执行,直到返回 

Reply from 204.71.200.68: bytes=32 time=20ms TTL=244 
Reply from 204.71.200.68: bytes=32 time=10ms TTL=244 
Reply from 204.71.200.68: bytes=32 time=30ms TTL=244 
Reply from 204.71.200.68: bytes=32 time=10ms TTL=244 

并且要找到数据饱大小是最大的不返回"Packet needs to be fragmented but DF set"标志的大小值。找到以后这个值就 =ISP的MTU参数-28。这里为什么要减去28,因为在TCP/IP数据包中20 bytes用于 IP 报头,8 bytes用于 ICMP 报头。

不返回"Packet needs to be fragmented but DF set"标志的最大值 你的ISP的MTU值 描述 
1472                                                         1500 用于局域网 1472+28=1500 
1468                                                         1496 局域网按照标准是1496,实际常用1500来简化代替 
1464                                                         1492 PPPoE常用的MTU值                                             548 576 常用于扑通56K Modem拨号的的MTU值 

在注册表中找到正确的000n键

****如果你的计算机有多个使用TCP/IP协议的网络接口,那么在注册表的我们需要优化的HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\面就会有多个"000n",这时我们就需要找到正确的用于互联网连接的000n。

我们首先定位注册表到
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\
在这里我么可以看到相同的000n注册表设置,选中其中一个,在其中的DriverDesc键值中就可以知道这个接口所指的网络设备的名称,通过这个名称就可以确定我们需要优化的是哪一个000n。


Windows 98 Se 共享上网连接(Internet Connection Sharing)优化值

在使用Windows 98 Se的共享上网连接(Internet Connection Sharing)功能时,微软另外有一个键值专门用于优化MaxMTU。该键值为:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ICSharing\Settings\General\ 

internetMTU=1500 

[关闭][返回]