YAMAHAルータで学ぶネットワーク構築術 > PPPoE(MTUの問題)
当サイト概要学習環境の準備プライバシーポリシーリンクについてリンクの申込お問い合せ
◆スポンサードリンク

◆Amazon
◆PPPoE(MTUの問題)
◇スポンサードリンク

◆PPPoE(MTUの問題)

ホームページを閲覧する場合の流れは以下の通りです。

・Webブラウザは入力されたURLを元に、WebサーバとTCPコネクションを確立する。
・そのコネクションで、SYNパケットのTCPオプションに「MTU-40」をセットして、Webサーバに自分が接続できるデータの最大長として送信する。
・Webサーバは、通知されたMSSを元にしてIPパケットを作成して送信する。
・WebブラウザはWebサーバから受信したパケットを順次組み立てて表示する。

※MTU (Maximum Transmission Unit)一度に転送できる最大のデータ量

 Webブラウザが接続先であるWebサイトにアクセスする時に、Webブラウザは相手のWebサーバに自分が受け取れる最大のデータサイズ値を通知するようになっています。

 Windowsであれ、Linuxであれ、Webブラウザが動作しているPCが、直接、Webサーバと接続しているのであれば、問題は起こりません。

しかし、ブロードバンドルーター経由で接続すると問題が発生する場合があります。

 それは、Webブラウザが動作しているPCでは、途中にPPPoEがあることまでは、分からないので、自分が接続しているイーサネットの最大値のMTU(1,500バイト)をMTUとして認識してしまうからです。MSSは1,500−40=1,460バイトとなります。

 これでは、イーサネットで運べるパケットの最大値である1,500バイトに、PPPoEヘッダーとPPPヘッダーの両方で8バイトが加わり、1,500+8=1,508バイトとなり、最大長を超えてしまうのです。

 PPPoEヘッダーとPPPヘッダーの両方で8バイトが加わるので、理論上、MTU=1,492バイト、MSS=1,452バイトでなければなりません。


 フレッツADSLの場合、MTU=1,454バイトで、MSSの最大長は、1,454−40=1,414バイトとなっています。

 Webブラウザが設定したデフォルトのMTU=1,500バイト、MSS=1,460バイトのままでは、イーサネットで運べるパケットの最大値である1,500バイトを超えてしまいます。

 そこで、最近のPPPoEに対応したルータでは、PC側で決定したMSSがルータで定めた値を上回る場合、MSSを書き換えて送信するようになっています。MTU(MSS)の値をコマンドで指定できる機種もあります。

 また、本来の理論値より、遥かに小さい値に設定されているルータもあります。それは、WAN上でパケットのカプセル化を行ったり、トンネルプロトコルを使用して通信を行った場合の影響を考慮してマージンを持たせているからです。

 いずれにしても、ルータ側で、パケットを分割して転送しなければならず、伝送効率が悪化するという問題が発生します。

PPPoEとは」 ← 前項 | 次項 → 「PPPoEのセッション確立手順



Copyright(c)2012〜 YAMAHAルータで学ぶネットワーク構築術 All rights reserved.