このドキュメントでは、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パケットをフラグメント化するためです。このフラグメンテーションは、Universal Access Concentrator(UAC;ユニバーサルアクセスコンセントレータ)を経由するリターンパス(Cisco 6400または7200)では発生しません。UAC が 1492 バイトよりも大きなパケットを受信すると、パケットは廃棄され、UAC は、過剰なサイズのパケットを送信した Web サーバに Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)メッセージを送信します。ICMP は、過剰なサイズのパケットが送信されたことと、より小さなサイズの MTU のパケットを再送する必要があることを Web サーバに通知します。
注: MTUサイズが1492バイトである理由については、『Cisco 6400のためのPPPoEベースラインアーキテクチャ』ホワイトペーパーを参照してください。
問題は、多くの Web サーバが ICMP メッセージをブロックするために発生し、それが原因で、サーバが継続的に 1500 バイトのパケットを送信することになります。これらのパケットは廃棄され、その結果、要求された Web サイトはロードされません。Web サーバが適切に設定され、ICMP メッセージがブロックされない場合、サーバは自身の MTU を調整して、ページがすべてロードされるまで再度転送を行います。
Web サーバから送信される初期データ パケットが最大で 1492 バイトを下回る場合は、ページは部分的にロードされます。しかし、その後で、最大値を超えたパケットが送信されることになります。サーバはこのサイズ超過パケットの再送信を続行し、その結果、ページは部分的にロードされ、ステータスバーに「waiting for reply...」というメッセージが表示されます。
次の 3 つの方法を利用して、MTU サイズを変更することができます。
注:これらの設定コマンドは、Cisco DSLルータでネットワークアドレス変換(NAT)またはポートアドレス変換(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 |
初版 |