ネットワークMTU対 最大TCPパケットサイズ

低TCPパケットサイズがパフォーマンスに悪影響を及ぼす

最大伝送単位(Maximum Transmission Unit:MTU)は、ネットワークを介して伝送することができるデジタル通信の単一データユニットの最大サイズである。 MTUサイズは物理的なネットワークインタフェースの固有の特性であり、通常はバイト単位で測定されます 。 たとえば、 イーサネットのMTUは1500バイトです。 トークンリングなどの一部の種類のネットワークではMTUが大きく、一部のネットワークではMTUがより小さくなりますが、その値は各物理テクノロジごとに固定されています。

MTUと最大TCPパケットサイズ

TCP / IPのような上位ネットワークプロトコルはTCP / IPが実行される物理層MTUに依存しないパラメータである最大パケットサイズで構成できます。 残念なことに、多くのネットワークデバイスは、これらの用語を同じ意味で使用しています。 たとえば、家庭のブロードバンドルータとXbox Live対応のゲームコンソールの両方で、MTUというパラメータは実際には最大のTCPパケットサイズであり、物理MTUではありません。

Microsoft Windowsでは、TCPなどのプロトコルの最大パケットサイズをレジストリで設定できます。 この値を低く設定すると、ネットワークトラフィックのストリームが比較的多数の小さなパケットに分割され、パフォーマンスに悪影響を及ぼします。 例えば、Xbox Liveは、パケットサイズの値が少なくとも1365バイトであることを要求します。 最大TCPパケットサイズが大きすぎると、ネットワークの物理的なMTUを超え、各パケットを細かいものに細分化する必要があるため、パフォーマンスが低下します。プロセスは断片化と呼ばれます。 Microsoft Windowsコンピュータでは、ブロードバンド接続の場合は最大1500バイト、 ダイヤルアップ接続の場合は576バイトのパケットサイズがデフォルト設定されています。

MTU関連の問題

理論的には、TCPパケットサイズの制限は64K(65,525バイト)です。 この制限は、伝送レイヤのサイズがはるかに小さいため、これまで使用していたよりもはるかに大きくなります。 イーサネットの1500バイトのMTUは、それを横断するパケットのサイズを制限します。 イーサネットの最大送信ウィンドウより大きなパケットを送信することをジャバリングといいます。 ジャバーを特定して予防することができます。 アドレス指定されていないと、ジャバリングがネットワークを破壊する可能性があります。 通常、ジャバーは、リピータハブまたはそれを行うように設計されたネットワークスイッチによって検出されます。 ジャバーを防ぐ最も簡単な方法は、TCPパケットの最大サイズを1500バイト以下に設定することです。

ホームブロードバンドルーターのTCP最大送信設定が、接続されている個々のデバイスの設定と異なる場合、パフォーマンスの問題が発生することもあります。