为什么将MTU从1500降低到1499使我可以访问大多数网站?


16

我遇到了这个问题,即当mtu设置为1500时,我只能连接到google.com和ibm.com之类的网站,但是如果我尝试连接其他任何网站,它只会显示空白页。当mtu降低到1499时,它开始工作。我很好奇为什么这样做,如果将mtu设置为1499会在将来引起问题?我实际上对此并不了解,我只是听说了,并正在寻找一个很好的解释。

当我得到关于为什么MTU仅下降1个字节的解释时,我将用该解释更新我的问题。

Answers:


19

这可能意味着上游的其他设备的MTU较小,并且有人错误地配置了防火墙以阻止所有ICMP阻止MTU发现路径。

许多幼稚的网络管理员似乎认为ICMP没有目标,您可以完全阻止它,而不会造成任何影响。


4
但是,1499年似乎很奇怪。MTU较小通常是由于附加其他标头(例如PPPoE,VPN,VLAN等)而导致的,该标头将MTU缩小了偶数。例如对于802.1q为4个字节,对于PPPoE为8个字节。什么会用完一个字节?
Gerald Combs

@Gerald,很好,这个数字对我来说也很奇怪。也许其他人会提供可能的解释。
Zoredache

杰拉德(Gerald),我将找出为什么它只有1个字节。
Xaisoft

我公司的无线网络工程师将其设置为1499,因此我将找出原因并告知您。我完全忘了所有这些东西,哈哈。
Xaisoft

2
可能是路由器/防火墙/等配置不正确的地方,以捕获1500+ MTU而不是> 1500 MTU的数据包。
克里斯S 2010年

8

更具体地说,正在发生的事情是IP数据报的标头中设置了DF(不分片)标志。然后,他们在您与目的地之间的路径上的某个地方撞到了一个网关,该网关的MTU小于发送者使用的MTU。该网关需要进一步对数据报进行分段,因此它发送ICMP 4类消息,这实际上意味着:“我需要对这些数据包进行分段,但您未对它进行分段。因此,目标不可访问。”

这些ICMP数据包未被原始发送者接收,因为沿路径的某些网关已配置为(愚蠢地)阻止所有ICMP。因此,发件人不知道他的数据包没有通过,而是围着等待……等等。最终,某些事情会超时。通常是人类首先超时。:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.