MTUを1500から1499に下げると、ほとんどのWebサイトにアクセスできるのはなぜですか?


16

mtuが1500に設定されている場合にのみgoogle.comやibm.comなどのWebサイトに接続できたこの問題がありましたが、他に接続しようとすると、空白のページが表示されるだけでした。mtuが1499に下げられると、機能し始めました。私はこれがなぜ機能するのか興味があり、mtuを1499に設定すると将来的に問題が発生する可能性がありますか?私は実際にこれについてあまり知りません。ただそれについて聞いたばかりで、良い説明を探しています。

MTUが1バイトしかドロップされなかった理由の説明が得られたら、質問を説明で更新します。

回答:


19

つまり、アップストリームのその他のデバイスのmtuが小さく、誰かがファイアウォールを誤って設定し、すべてのICMPをブロックして、パスのMTU発見を妨げている可能性があります。

多くの素朴なネットワーク管理者は、ICMPには目的がなく、影響なしに完全にブロックできると信じているようです。


4
しかし、1499年は奇妙に思えます。通常、より小さいMTUは、MTUを偶数倍縮小する別のヘッダー(PPPoE、VPN、VLANなど)を付加した結果です。たとえば、802.1qの場合は4バイト、PPPoEの場合は8バイトです。ちょうど1バイトを使い果たすのは何ですか?
ジェラルドコームズ

@Gerald、それは良いことであり、数字も私には奇妙に思えます。おそらく他の誰かが可能な説明を提供するでしょう。
ゾレダチェ

ジェラルド、なぜ1バイトだったのかがわかります。
Xaisoft

私の会社のワイヤレスネットワークエンジニアは1499に設定したので、理由を見つけてお知らせします。私はこれらすべてを完全に忘れています、笑。
Xaisoft

2
> 1500 MTUではなく1500+ MTUのパケットをキャッチするように誤って設定されたルーター/ファイアウォールなどである可能性があります。
クリスS

8

具体的には、IPデータグラムのヘッダーにDF(Do n't Fragment)フラグが設定されています。次に、送信者が使用したMTUよりも小さいMTUを持つ、ユーザーと宛先の間のパスに沿ったゲートウェイにヒットします。そのゲートウェイは、データグラムをさらにフラグメント化する必要があるため、ICMPタイプ4メッセージを送信します。これは、基本的に「これらのパケットをフラグメント化する必要がありますが、そうではありません。したがって、宛先に到達できません」という意味です。

すべてのICMPをブロックするようにパスに沿ったゲートウェイが(愚かに)設定されているため、これらのICMPパケットは元の送信者によって受信されません。そのため、送信者はパケットが通過しなかったことを知らず、待機中に座って...待機しています。最終的には何かがタイムアウトします。通常、最初にタイムアウトするのは人間です。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.