このドキュメントでは、PPP over Ethernet(PPPoE)ダイヤルインの実装時に最大伝送ユニット(MTU)サイズを変更する必要がある理由について説明します。また、変更手順についても説明します。
このドキュメントに特有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
ユーザが Web サイトを要求すると、PC と、Web サイトをホスティングしている Web サーバとの間に、クライアント/サーバ ネゴシエーションが発生します。このネゴシエーション時に、最大 MTU サイズがネゴシエートされます。PC がネゴシエートを行い、その PC のデフォルト MTU サイズが 1500 バイト(Windows 3x、9x、NT、ME など)なので、Web サーバは 1500 バイトの MTU サイズでネゴシエートします。そのため、ルータ上で設定した MTU サイズとは関係なく、Web サーバは引き続き最大 1500 バイトのサイズでパケットを送信します。
一部のページが完全にロードされない理由は、PCのMTUが誤って設定され、1492バイトを超えるパケットがルータに送信された場合、ルータがIPパケットをフラグメント化するためです。このフラグメンテーションは、ユニバーサルアクセスコンセントレータ(UAC)(Cisco 6400または7200)を経由するリターンパスでは発生しません。 UAC が 1492 バイトよりも大きなパケットを受信すると、パケットは廃棄され、UAC は、過剰なサイズのパケットを送信した Web サーバに Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)メッセージを送信します。ICMP は、過剰なサイズのパケットが送信されたことと、より小さなサイズの MTU のパケットを再送する必要があることを Web サーバに通知します。
注: MTU サイズが 1492 バイトである理由の詳細は、『Cisco UAC 6400 向けの PPPoE ベースライン アーキテクチャ』ホワイト ペーパーを参照してください。
問題は、多くの Web サーバが ICMP メッセージをブロックするために発生し、それが原因で、サーバが継続的に 1500 バイトのパケットを送信することになります。これらのパケットは廃棄され、その結果、要求された Web サイトはロードされません。Web サーバが適切に設定され、ICMP メッセージがブロックされない場合、サーバは自身の MTU を調整して、ページがすべてロードされるまで再度転送を行います。
Web サーバから送信される初期データ パケットが最大で 1492 バイトを下回る場合は、ページは部分的にロードされます。しかし、その後で、最大値を超えたパケットが送信されることになります。サーバは、このサイズを超過したパケットの再送を続行し、その結果、ページは部分的にロードされて「waiting for reply...」 のメッセージがステータス バーに表示されてしまいます。
次の 3 つの方法を利用して、MTU サイズを変更することができます。
注: これらの設定コマンドは、Cisco DSL ルータで Network Address Translation(NAT; ネットワーク アドレス変換)または Port Address Translation(PAT; ポート アドレス変換)を実行した場合にだけ動作します。
Cisco IOS® ソフトウェア リリース 12.2(2)XH の ip adjust-mss コマンドは、ip tcp adjust-mss <mss value> に変更されています。この変更は、『Cisco IOS リリース 12.2(2)XH 向け Cisco 800 シリーズ ルータおよび Cisco 820 シリーズ ルータのリリース ノート』に記載されています。
interface ethernet0 no shut ip address <ip address> <subnet mask> ip adjust-mss 1452 !--- The TCP MSS command requires an MSS of 1452, and not 1492. ip nat inside no ip directed-broadcast
Dr. TCP ユーティリティは、1 回だけ実行する必要があります。レジストリの変更はこの手順の終了時に保存されます。
Dr. TCPユーティリティに移動 します。
最新コピーを得られるように、ページをリロードします。
ユーティリティ(DRTCPnnn.exe)の最新バージョンをダウンロードします。
ユーティリティを実行します。
メニューからイーサネット アダプタを選択します。
[MTU] フィールドに 1492 と入力します。
別のフィールドをクリックします。ただし、何も入力しないでください。
[Apply] をクリックして変更を保存した後、[Exit] をクリックします。
PC をリブートします。
次の手順を使用して、レジストリ キーの修正によって MTU サイズを変更します。
PC のイーサネット アダプタを含むレジストリ キーに「MaxMTU」文字列値を追加します。
「MaxMTU」値データのエントリを 1492 に設定します。
PC をリブートします。
Dr. TCP または Cisco DSL ルータ上で MTU サイズを変更したのに特定の Web サイトを閲覧できない場合は、もう一度 MTU サイズを調整します。Dr. TCP で MTU サイズを 1452 に変更するか、Cisco DSL ルータ上の MSS 調整値を 1412 に変更します。これでもサイズが大きすぎる場合は、Dr. TCP ではベースラインが 1400 に達するまで、シスコの DSL ルータ上の MSS の調整では 1360 に達するまで MTU サイズを小さくします。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
26-Feb-2008 |
初版 |