web-dev-qa-db-ja.com

最大イーサネットフレームサイズに関連するHyper-V仮想マシンネットワークの問題

今日の初めに問題を修正しましたが、なぜそれが機能したのかを知りたいと思っています。 HTTPトラフィックが機能していないことを検出するためにのみ、新しいHyper-V仮想マシンをセットアップしました。 HTTPS、ping、その他すべてが正常に機能していました。

何ヶ月も歩き回った後、私は暗闇の中で写真を撮りました。 Hyper-Vホストサーバーで、物理NICカードの「最大イーサネットフレームサイズ」の詳細設定が1500に設定されていました。この設定を1514に設定すると、問題が修正されました。または、 1512までのこれは問題を解決しませんでした; 1514は魔法の数です。

この設定を1500に設定すると、データペイロードがHTTPトラフィックよりもはるかに小さかったため、着信pingが許可されていたと思います。 HTTPSトラフィックに関しては、「パスMTUディスカバリー」と呼ばれるものについて読みました。これは、HTTPSトラフィックが遅いとはいえ、うまく通過している理由を推測します。

この投稿を見て 、人々は1518が最大合計フレームサイズであることに同意します。これを1514バイトではなく1518バイトに変更する必要がなかったのはなぜですか?イーサネットの最大サイズペイロードであり、最大サイズではない場合、デフォルトのフレームサイズが1500であるのはなぜですか。

3
Brett Larson

1518は、「オールドスクール」802.3イーサネットの最大フレームサイズです。フレームチェックサムシーケンスがNICにオフロードされる場合、1514が最大フレームサイズになります(4バイトのフレームチェックサムがNICによって追加されるため)。

1500バイトのペイロードが1518バイトのイーサネットフレームで使用できるため、1500はイーサネットのIP最大送信ユニット(MTU)です。 NICの最大フレームサイズを1500バイトに設定すると、IPMTUは1482バイトになります。

NICの最大フレームサイズを1500バイトに変更した理由は私にはわかりません。誰かが最大フレームサイズをMTUと混同しているのではないかと思います。誰も平均あなたが説明している方法でそれを設定することはありません。

5
Evan Anderson