web-dev-qa-db-ja.com

ジャンボフレームを有効にするのに問題がありますか?

ジャンボフレームを有効にしようとしています。 LinuxクライアントとWindowsサーバーがあります。私はインテルを全面的に標準化しました。 Windowsサーバーでは、ジャンボフレームの唯一の選択肢は_9014_&_4088_です。 LinuxのMTU速度を_9014_または_9000_のどちらに設定する必要があるかを調査しました。相反する投稿がグーグルで回っていますが、おそらく_9000_が正しい番号のようです。もちろん、私は両方を試しました。

これから抜け出す site すべてが正しく機能しているかどうかをテストしようとしました。私のLinuxクライアントから:_ping -M do -s 8972 [destinationIP]_すべてが正しく機能しているようです:

ファイルからの8980バイト([destinationIP]):icmp_seq = 1 ttl = 128 time = 0.946 ms
ファイルからの8980バイト([destinationIP]):icmp_seq = 2 ttl = 128 time = 1.16 ms
ファイルからの8980バイト([destinationIP]):icmp_seq = 3 ttl = 128 time = 1.02 ms
ファイルからの8980バイト([destinationIP]):icmp_seq = 5 ttl = 128 time = 0.935 ms

しかし、Windows側からテストしようとしたとき:_ping -f -l 9000 [destinationIP]_

<linux client>に9000バイトのデータをpingします。
パケットはフラグメント化する必要がありますが、DFが設定されています。
パケットはフラグメント化する必要がありますが、DFが設定されています。
パケットはフラグメント化する必要がありますが、DFが設定されています。
パケットはフラグメント化する必要がありますが、DFが設定されています。

ぐるぐる回った後、ウィンドウからpingを実行するときに使用するサイズについて矛盾する投稿が表示されました。 8972 (9000-28)を試しましたが、タイムアウトして応答がありません。 8986 (9014-28)を試しましたが、断片化されたエラーが発生します。これはWindows/Linux間の問題だと思いましたが、他のWindowsサーバーにpingを実行しようとすると(すべてのサーバーでジャンボフレームがオンになっています)、同じ問題が発生します。 _8972_を押すとタイムアウトが始まり、_9014_から_8973_に断片化されたエラーが発生することがわかりました。だから私の質問は:

  1. Linuxでは、使用する正しいMTU速度は_9000_ですか(LinuxとWindowsの違いのため)、それとも_9014_ですか?
  2. Windows側からこれらのfragmentedエラーが発生し、Linux側からはすべて問題ないように見える理由を誰もが知っていますか?

これが私の switch で、_9216_までのジャンボフレームを明確にサポートしています。

1
coding4fun

あなたは区別する必要があります:

  • イーサネットの最大フレームサイズ:イーサネットL2オーバーヘッドを考慮する必要があります。通常は18バイトです。標準はタグなしの1518バイトです。
  • IP MTU:これは通常あなたが目指しているものです-イーサネット上の標準は1500バイトで、ジャンボはしばしば9000を使用します
  • テスト用の最大pingペイロード:pingはIPv4(20バイトのオーバーヘッド)を介してICMP(8バイトのオーバーヘッド)を使用します-したがって、フラグメント化されていないpingの最大ペイロード長は1472バイト(MTU 1500)または8972バイト(MTU 9000)です

パスMTUをテストするには、[〜#〜] df [〜#〜]ビットを設定してエコー要求を送信する必要があります。これは、Windowsでは-fによって、Linuxでは-M prohibitによって実現されます。 -M do *明示的にフラグメンテーションを有効にします。 「パケットを断片化する必要がありますが、DF set」は、ソースマシンが正しいセットアップを欠いていることを示しています。pingがタイムアウトすると、宛先またはその間の何かが機能しません。スイッチ通常、特大のフレーム用のカウンターがあります。

スイッチを必要以上に大きな最大フレームサイズに設定しても問題はありません。ただし、エンドノードとルーターがすべて正確に同じサイズに設定されていることを確認してください。MTUを設定する場合は9000、最大L2 PDU /フレームサイズを設定する場合は9018です。

Intelのジャンボパケット設定はやや誤解を招く可能性があります。ヘルプテキストには、FCS(4バイト)がカウントされないことが示されているため、9014がMTU9000フレームの正しい設定です。

2
Zac67