1. MTUに関する問題

Ethernet上でのMTUの値は1500オクテットですが、 PPPoE上でのMTUの値はNTTのフレッツADSLの場合1454オクテット、 他のADSLサービスでも最大で1492オクテットというように、 Ethernet上の1500オクテットよりも小さいという制限があります。

このとき、ルータの動きは次のようになります。

  1. LAN側(Ethernet側)に接続されたホストから1500オクテットのIPデータグラムを受け取る。

  2. WAN側(PPPoE側)へ送信しようとする。

  3. MTUの値が1500オクテットではないことに気づく。

  4. IPデータグラムをフラグメント(分割)する。

  5. フラグメントができない場合はICMPのType3(到達不能)、Code4(fragmentation needed) をLAN側ホストに返す。

フラグメント可能な場合は何事もなく、 ルータでフラグメントしてWAN側へパケットは流れ、 フラグメントができない場合でも送信したホスト側でよりMTUの値を小さくして再送することにより、 WAN側へパケットが流れ正常に通信が可能となります。

しかし、実際のところインターネット上のルータやサーバによっては、 セキュリティ等の理由でICMPパケットをフィルタリングしているため、 うまくパケットがフラグメントされず正常に通信ができない場合があるようです。

この場合の対応策として、MSSをルータで上書きするという方法があります。