インターネット

最大伝送ユニット(MTU)

最大伝送ユニット(MTU)

コンピュータネットワークでは、最大伝送ユニット(MTU)という用語は、通信プロトコルの特定の層が通過できる最大のPDUのサイズ(バイト単位)を指します。 MTUパラメータは通常、通信インターフェイス(NIC、シリアルポートなど)に関連付けられて表示されます。 MTUは、標準で修正されるか(イーサネットの場合のように)、接続時に決定されます(通常、ポイントツーポイントシリアルリンクの場合のように)。 MTUが高いほど効率が高くなります。これは、ヘッダーや基になるパケットごとの遅延などのプロトコルオーバーヘッドが固定されたまま、各パケットがより多くのユーザーデータを伝送するためです。効率が高いほど、バルクプロトコルスループットがわずかに向上します。 ただし、大きなパケットはしばらくの間低速リンクを占有する可能性があり、後続のパケットの遅延が大きくなり、遅延と最小遅延が増加します。 たとえば、1500バイトのパケットは、ネットワーク層(したがってほとんどのインターネット)でイーサネットによって許可される最大のものであり、14.4kモデムを約XNUMX秒間拘束します。

パスMTU発見
インターネットプロトコルは、インターネット伝送パスの「パスMTU」を、送信元と宛先の間の「パス」のIPホップのいずれかの最小MTUとして定義します。 言い換えると、パスMTUは、断片化を起こさずにこのパスを通過する最大のパケットサイズです。

RFC 1191は、XNUMXつのIPホスト間のパスMTUを決定するための手法である「パスMTUディスカバリー」について説明しています。 これは、発信パケットのIPヘッダーにDF(Do n't Fragment)オプションを設定することで機能します。 MTUがパケットよりも小さいパスに沿ったデバイスは、そのようなパケットをドロップし、そのMTUを含むICMP「DestinationUnreachable(Datagram Too Big)」メッセージを送り返します。これにより、送信元ホストは想定されるパスMTUを適切に減らすことができます。 このプロセスは、MTUが断片化せずにパス全体をトラバースできるほど小さくなるまで繰り返されます。

あなたはまた見ることに興味があるかもしれません:  lognルーターにDNSを追加する

残念ながら、ネットワークの数が増えると、ICMPトラフィックがドロップされ(サービス拒否攻撃を防ぐためなど)、パスMTU検出が機能しなくなります。 接続が少量のデータに対して機能するが、ホストが一度に大きなデータブロックを送信するとすぐにハングする場合に、このようなブロッキングを検出することがよくあります。 たとえば、IRCを使用すると、接続しているクライアントはpingメッセージまで表示されますが、それ以降は応答がありません。 これは、ウェルカムメッセージの大規模なセットが実際のMTUよりも大きいパケットで送信されるためです。 また、IPネットワークでは、さまざまなイベント(負荷分散、輻輳、出力など)に応じて、送信元アドレスから宛先アドレスへのパスが動的に変更されることがよくあります。これにより、パスのMTUが変更される可能性があります(場合によっては)繰り返し)送信中に、ホストが新しい安全なMTUを見つける前にさらにパケットドロップが発生する可能性があります。

ほとんどのイーサネットLANは1500バイトのMTUを使用します(最新のLANはジャンボフレームを使用でき、最大9000バイトのMTUを可能にします)が、PPPoEのような境界プロトコルはこれを減らします。 これにより、パスMTUディスカバリーが有効になり、構成が不適切なファイアウォールの背後にある一部のサイトに到達できなくなる可能性があります。 ネットワークのどの部分を制御するかに応じて、これを回避できる可能性があります。 たとえば、ファイアウォールでTCP接続を設定する初期パケットのMSS(最大セグメントサイズ)を変更できます。

この問題は、「次世代TCP / IPスタック」を導入するWindowsVistaの導入以来、より頻繁に表面化しています。 これは、「帯域幅遅延積とアプリケーションの取得率を測定することによって最適な受信ウィンドウサイズを継続的に決定し、ネットワーク条件の変化に基づいて最大受信ウィンドウサイズを調整する受信ウィンドウ自動チューニング」を実装します。[2] これは、他のオペレーティングシステムで動作するように見える古いルーターやファイアウォールと組み合わせて失敗することが確認されています。 これはADSLルーターで最も頻繁に見られ、ファームウェアの更新によって修正できることがよくあります。

あなたはまた見ることに興味があるかもしれません:  IP、ポート、プロトコルの違いは何ですか?

ATMバックボーン、MTUチューニングの例
効率の観点から、サポートされている真の最大可能長よりも短いMTUをソフトウェアで人為的に宣言することが望ましい場合があります。 この一例は、IPトラフィックがATM(非同期転送モード)ネットワークを介して伝送される場合です。 一部のプロバイダー、特にテレフォニーのバックグラウンドを持つプロバイダーは、内部バックボーンネットワークでATMを使用しています。

パケット長が48バイトの倍数の場合、最適な効率でATMを使用できます。 これは、ATMが固定長パケット(「セル」と呼ばれる)のストリームとして送信され、各パケットが48バイトのオーバーヘッドで5バイトのユーザーデータのペイロードを伝送でき、セルあたりの合計コストが53バイトになるためです。 したがって、送信されるデータの長さの全長は53 * ncellsバイトです。ここで、ncells =必要なセルの数= INT((payload_length + 47)/ 48)です。 したがって、全長=(48 * n + 1)バイトである最悪の場合、ペイロードの最後の53バイトを送信するために47つの追加セルが必要であり、最後のセルには追加の5送信バイト48がパディングされます。 このため、ソフトウェアでMTUの削減を人為的に宣言すると、ATM AALXNUMXの合計ペイロード長が可能な限りXNUMXバイトの倍数になるため、ATM層でのプロトコル効率が最大化されます。

たとえば、31個の完全に満たされたATMセルは、31 * 48 = 1488バイトのペイロードを伝送します。 この1488の数値を取得し、それに関連するすべての上位プロトコルによってもたらされるオーバーヘッドを差し引くと、人為的に削減された最適なMTUの推奨値を取得できます。 ユーザーが通常1500バイトのパケットを送信する場合、1489〜1536バイトの送信には、53つの追加のATMセルの形式で送信されるXNUMXバイトの追加の固定費が必要です。

あなたはまた見ることに興味があるかもしれません:  WhatsApp Webをパスワードでロックする方法

PPPoA / VC-MUXを使用したIPover DSL接続の例では、以前と同様に31個のATMセルを埋めることを選択すると、1478バイトのオーバーヘッドを考慮して31 = 48 * 10-10の最適に削減されたMTU値が得られます。 2バイトのポイントツーポイントプロトコルオーバーヘッド、および5バイトのAAL8オーバーヘッドの。 これにより、PPPoAに渡される31バイトのパケットからATMを介して送信される合計コストは53 * 1643 = 1478バイトになります。 PPPoAを使用してADSL経由で送信されるIPの場合、1478の数字は、IPヘッダーを含むIPパケットの全長になります。 したがって、この例では、全長1478のIPパケットを送信するのではなく、1500の自主的に削減されたMTUを維持すると、IPパケットの長さが53バイト削減されますが、ATM層でパケットあたり22バイトが節約されます。

RFC 1492によると、PPPoE / DSL接続の最大MTUは2516です。6バイトはPPPoEヘッダーであり、1488バイトのペイロードまたは31個のフルATMセル用の十分なスペースがあります。

最後に: MTUの標準値は1492です。 ブラウジングの問題またはMSN接続の問題の場合は、値1422および1420に減らす必要があります。

参照: Wikipedia

敬具

前の
Cat 5、Cat 5e、Cat6ネットワークケーブルの伝送速度
التالي
MAC、Linux、Win XP&Vista&7&8でDNSをフラッシュする方法

تعليقواحد

コメントを追加

  1. ランマスター قال:

    こんにちは、有益な記事をありがとうございます

コメントを残す