Chinaunix首页 | 论坛 | 博客
  • 博客访问: 405277
  • 博文数量: 59
  • 博客积分: 1510
  • 博客等级: 上尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 11:50
文章分类

全部博文(59)

文章存档

2011年(1)

2010年(36)

2009年(22)

我的朋友

分类: 系统运维

2010-07-09 16:25:07

设置MTU大小是一个反复试验的过程: 由最大值1500开始下降,直至问题解决。使用下列值之一或许能解决一些由MTU值引起的问题:

1500. 以太网信息包最大值,也是默认值。是没有PPPoE和VPN 的网络连接的典型设置。是各种路由器、网络适配器和交换机的默认设置
1492. PPPoE 的最佳值
1472. 使用 ping 的最大值 (大于此值的信息包会先被分解)
1468. DHCP的最佳值
1430. VPN和PPTP 的最佳值
576. 拨号连接到ISP的标准值

下面给出宽带网络下利用Ping命令测试本地最佳MTU值的方法。

测试思路如下:在广域网上,大小超出ISP要求的数据包将无法传输,而路由器则会根据本机MTU值自动将大小不符合要求的数据进行分包处理再进行传输,所 以我们可以通过向Internet上的某台主机发送一个定长数据包,并且不允许路由器更改其大小的方式去检查该数据包能否被正常传输,如果数据包小于或等 于ISP的MTU值时,传输就能正常进行,而如果发送的数据包大于ISP使用的MTU值时,传输就会失败,这样我们就能通过不断发送不同大小的数据包最终 得到ISP端的MTU大小,而这个数据再加上28字节的包头信息就是我们需要的最终MTU值。

测试本机MTU.bat
@echo 测试本机MTU
@echo ----------------------------------------------------------
ping -f -l 1492 127.0.0.1
@echo ----------------------------------------------------------
@echo 本机MTU=1492+28=1520
@pause

测试路由器MTU.bat
@echo 测试路由器MTU
@echo ----------------------------------------------------------
ping -f -l 1472 192.168.1.1
@echo ----------------------------------------------------------
@echo 路由器MTU=1472+28=1500
@pause

测试外网MTU.bat
@echo 测试外网MTU
@echo ----------------------------------------------------------
ping -f -l 1464
@echo ----------------------------------------------------------
@echo 外网MTU=1464+28=1492
@pause

修改本机MTU
问题一:知道了我的上网方式,如何设置MTU值?
1. 在 『开始』>『运行』中,键入regedit,点确定;
2. 选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
3. 在 interface 底下可有很多的选项,你一个一个的去看,会有一个选项与你 的网卡的 IP 相同,那个就是你要挑选的选项啦!然后同样的在该选项上选择『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的 DWORD,然后双击修改,选择十进制,填入合适 MTU 值,确定!大功告成!

修改路由器的MTU值
上面得到的MTU值不能直接用于本地设置上,还应在此基础上加上28(数据包头大小28字节),因此最终在WAN设置页面修改MTU大小为1480。

一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网速度达到最大化。

修改MTU
1、什么情形下需要改MTU?
如果您的动态域名网站不能被正常造访,很难连接,衔接上也非常慢,请试试把DirectSend设为“总是关闭”。如果关闭后可以正常拜访,这种情形就须要改动MTU。如果您的网站衔接正常,只是下载速度慢,就不必改MTU了。请跳过这一节。
2、什么是MTU?
MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。MTU的单位是字节。大部分网络装备的MTU都是1500。如果本机的MTU比网关的MTU大,大的数据 包就会被拆开来传送,这样会发生很多数据包碎片,增添丢包率,下降网络速度。把本机的MTU设成比网关的MTU小或雷同,就可以减少丢包。
3、如何检测网关的MTU?
在本机打开dos窗口,执行: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值是1500,不需要改动。如果网关有防火墙ping不通,可以试试直接把 MTU设为1400。
4、如何修改本机的MTU?
修改办法如下:
(1)、运行regedit
(2)、阅读到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inte***ces
(3)、Inte***ces下有多个子项,每个子项对应一个网卡。请按如下方式选择网卡:
(a)肯定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;
(b)用鼠标点击Inte***ces上的子项,查看键值列表中的IPAddress项;
(c)如果IPAddress的键值与(a)中的IP雷同,即192.168.0.19,则该子项就是要找的网卡。
(4)、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口:
填入MTU的值。填写前请先把基数设为十进制。设置好后,需要重启机器能力生效。

PPPOE宽带路由器:本机MTU1492,路由器MTU1492。

摘自:http://hi.baidu.com/liuzhaoyzz/blog/item/602ddf4473e89e33879473f8.html

阅读(6378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~