首页 > 开发 > 综合 > 正文

连不上一些网站的处理方法 MTU 修改

2024-07-21 02:37:11
字体:
来源:转载
供稿:网友

  经常我们若使用 windows 2000 作为连线分享的软体的时候,总是有些网站无法顺利的接上去!但是在主机端则没有问题!这真是伤脑筋呀!其实,这个问题需要藉由修改『每一个 Client 端电脑的 MTU 来修正』之。
  其实不只是 windows 2000 ,就是使用 Windows 98 以一些连线分享的软体来作为频宽分享工具时,同样也会有这个问题产生的!就是用户端无法浏览某些网站或是无法发送内含附件的电子邮件。而造成这个问题的原因就是 MTU 的问题啦!什么是 MTU 呢?那就是 Maximum Transmission Unit 的缩写!那是啥?其实 VBird 也不是很清楚,只知道不同的介面具有不同的 MTU 要求,当 MTU 的需求与你的网路介面不同时,就会有问题发生啦!一般而言,MTU 在网路卡(EtherNet)的预设值为 1500 单位!好啦!刚刚说到不同的网路介面具有不同的 MTU 要求,那以下就列出一下各主要的网路介面之 MTU 的要求啦!
   连不上一些网站的处理方法 MTU 修改(图一)
  由上面的表格我们可以知道,预设的网路介面 MTU 是 1500 ,那 PPPOE 使用的是 1492,自然而然的 MTU 要求并不相同,所以啦!有一些网页、邮件资料等等的咚咚就无法合理的让你使用啦!
  那该如何解决呢? 其实只要调整 Client 端网路卡的 MTU 值即可完全解决此一问题!而且藉由调整 MTU 值也可以增进网路效率呢。 那首要课题自然就是知道你的网路卡所可以负荷的 MTU 啦!因此我们第一步就是要找到适合的 MTU :
  · 找出 MTU 值:
  在 windows 底下要找出 MTU 值就必须进入 DOS 模式,并且知道你的分享的主机的 ip 才行!例如你的主机是 windows 2000 且对内的分享的 IP 是 192.168.1.2,那么你可以这么做:
  · 进入 MS DOS 模式;
  · 打入 ping -f -l 1500 192.168.1.2
   
  C:/WINDOWS>ping -f -l 1500 192.168.1.2 Pinging 192.168.1.2 with 1500 bytes of data: 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 statistics for 192.168.1.2:   Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), ApPRoximate round trip times in milli-seconds:   Minimum = 0ms, Maximum = 0ms, Average = 0ms
  上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来测试时:
   
  C:/WINDOWS>ping -f -l 1464 192.168.1.2 Pinging 192.168.1.2 with 1464 bytes of data: Reply from 192.168.1.2: bytes=1464 time=10ms TTL=128 Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128 Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128 Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128 Ping statistics for 192.168.1.2:   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:   Minimum = 0ms, Maximum = 10ms, Average = 2ms
  结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网路速率!
  · 找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上面的例子中,我们所需要的 MTU 值是 1464+28=1492 啦!
  · 修改 MTU 值:
  OK!我们已经找出 MTU 值啦,那下一步自然就是修改啰!要如何修改呢?其实也是很简单,只要透过 Windows 本身预设的 registry 修改即可!
  Windows 98:
  1. 在 『开始』>『执行』中,键入,会出现一个大框框;
  2. 选择:『HKEY_Local_Machine』>『System』>『CurrentControlSet』>『Services』>『Class』>『NetTrans』>『000n』
  上面最后一个数据是 000n,那个 n 指的是数字,以我为例,在 NetTrans 底下有两个数字,分别为 0000 与 0002,若按下 0000 会显示我的 Gate Way 以及我的网路卡的 IP 项目,至于 0002 则没有我的网路卡的相关资讯,所以 0000 那这一个就是我的网路卡介面啦!
请依你的情况选择!
  3. 选择你的网路卡介面后(以我为例,按一下 0000 那一个机码),按下『编辑』>『新增』,然后选择增加『DWord』值;
   连不上一些网站的处理方法 MTU 修改(图二)
  4.将新增的机码取名为『MaxMTM』,并且在新增加的那个机码上面按右键,选『修改』,会出现如下画面,选择『十进位』后,输入刚刚我们找到的那一个 MTU 值:
   连不上一些网站的处理方法 MTU 修改(图三)
  5.改完之后你应该会看到如下的画面喔!那就是成功了!
   连不上一些网站的处理方法 MTU 修改(图四)
  Windows 2000:
  1. 在 『开始』>『执行』中,键入,会出现一个大框框(注重,也有可能是 regedit32 这个执行档,请依你的机器来作业);
  2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』,有点像下面的图示:
  连不上一些网站的处理方法 MTU 修改(图五)
  3. 在 interface 底下可能有很多的介面,你一个一个的去看,会有一个介面与你的网路卡的 IP 相同,那个就是你要挑选的介面啦!然后同样的在该介面上选择『编辑』>『新增』>『DWORD值』之后,建立一个名为『MTU』的机码,然后选右键『修改』,选择十进位,填入我们刚刚找出来的 MTU 值!大功告成!
  基本上,这样应该已经可以解决你的问题了!相关的网页你可以到底下两个网页去看看!
  http://www.microsoft.com/taiwan/msclub/member/TIPS/Spring_2001/tip1to3/tip1to3_2.htm
  http://redhat.ecenter.idv.tw/bbs/showthread.php?s=&threadid=21620&highlight=MTU
  另外,网友有建议另一个测试 MTU 的网页,你也可以上去瞧一瞧,不过,要上这个网页之前,『请先将你的代理伺服器设定 取消』否则测到的会是你的 Proxy 而不是你的真实 IP 喔!
  http://forums.speedguide.net:8117/

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表