非同期転送モード(ATM) : IP over ATM

ATM インターフェイスの最大伝送ユニット(MTU)について

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2003 年 12 月 1 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

最大伝送ユニット(MTU)は、インターフェイスがフラグメント化することなく送信できるパケットの最大サイズを定義します。 MTU よりも大きい IP パケットは、IP フラグメント化の手順を経ることが必要です。

Cisco ATM ルータ インターフェイスは、64 から 17966 バイトまでの MTU をサポートします。 各インターフェイスは、デフォルトの最大パケットサイズをサポートします。 たとえば、ATM インターフェイス プロセッサ(AIP)とネットワーク プロセッサ モジュール(NP)ではデフォルトの最大値は 9288 バイトで、PA-A3 と PA-A2 ポート アダプタでは 4470 です。

このドキュメントは ATM インターフェイスのデフォルトの MTU 値をレビューし、ルータが AAL5 オーバーサイズ SDU と AAL5 長さ違反カウンタをカウントアップする場合について説明しています。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

MTU が 4470 バイトである理由

ほとんどの Cisco ATM ルータ インターフェイスはデフォルト MTU サイズの4470 バイトを使用します。 自律スイッチングのFiber Distributed Data Interface(FDDI)とHigh Speed Serial Interface(HSSI)への共通するためこの数字が選択されるようになります。

インターフェイス設定モードで mtu コマンドを使用してデフォルト以外の値を設定します。 サブインターフェイス のMTU値、メインインターフェースのMTU値がサブインターフェイスよりも大きいか、または同じである時にサポートします。

7200#show interface atm 3/0 
   ATM3/0 is up, line protocol is up 
    Hardware is ENHANCED ATM PA 
    Internet address is 1.1.1.1/8 
    MTU 4470 bytes, sub MTU 1500, BW 149760 Kbit, DLY 80 usec,    
    reliability 255/255, txload 1/255, rxload 1/255

show atm interface atm コマンドを使用して現在設定されている値を表示します。

7200#show atm interface atm 3/0 
   Interface ATM3/0: 
   AAL enabled: AAL5 , Maximum VCs: 4096, Current VCCs: 2 
   Maximum Transmit Channels: 0 
   Max. Datagram Size: 4528 
   PLIM Type: SONET - 155000Kbps, TX clocking: LINE 
   Cell-payload scrambling: ON 
   sts-stream scrambling: ON 
   8359 input, 8495 output, 0 IN fast, 0 OUT fast, 0 out drop 
   Avail bw = 155000 
   Config. is ACTIVE

AAL5 オーバーサイズ SDU と長さ違反

show interface atm コマンドは、パケットサイズのディスカッションに関係のある 2 つのカウンタを太字でハイライト表示して報告します。

7200#show interface atm1/ima0 
   ATM1/IMA0.1 is up, line protocol is up 
    Hardware is ATM IMA 
    MTU 4470 bytes, BW 6000 Kbit, DLY 20000 usec, 
    reliability 255/255, txload 1/255, rxload 2/255    
    Encapsulation ATM 
    1382 packets input, 399282 bytes 
    1558 packets output,205883 bytes 
    0 OAM cells input, 0 OAM cells output 
    AAL5 CRC errors : 280 
    AAL5 SAR Timeouts : 0 
    AAL5 Oversized    SDUs : 0 
    AAL5 length violation : 210285    
    AAL5 CPI Error : 302

どちらのカウンタも ATM アダプテーション レイヤ 5(AAL5)を示します。 これらは ATM スタックの Common Part Convergence Sublayer(CPCS)で、ルーティングまたはブリッジングされたプロトコル データ ユニット(PDU)をカプセル化します。 RFC1483 はleavingcisco.com このダイアグラムに示すように AAL5 トレーラの形式を、定義します。

//image/gif/paws/10479/mtu_atm.gif

AAL5 トレーラにある 2 バイト長さフィールドは、CPCS-PDU ペイロード フィールドのサイズを示します。 2 バイトは 16 ビットまたは最大長さ値の 65,535 (216)オクテットです。

MTU は、レイヤ 3 データグラムのサイズを定義します。 AAL5 の service data unit(SDU; サービス データ ユニット)は、レイヤ 3 のデータグラムにオプションの論理リンク制御副層/サブネットワーク アクセス プロトコル(LLC/SNAP)ヘッダーを追加したものとして定義されています。 AAL5 PDU は、結合 AAL5 SDU に 8 バイト AAL5 トレーラを加えて定義されます。 したがって、9180 の MTU は、9180 バイトの AAL5 SDU と 8 バイト AAL5 トレーラを加えた 9188 バイトの AAL5 PDU を作成します。

ATM インターフェイスが MTU よりも大きいパケットを受信した場合、ルータは Oversized SDU カウンタをカウントアップします。 Oversized SDU カウンタは RFC 1695 で定義されています leavingcisco.com

aal5VccOverSizedSDUs OBJECT-TYPE 
    SYNTAX Counter32 
    MAX-ACCESS read-only 
    STATUS    current 
    DESCRIPTION 
    "The number of AAL5 CPCS PDUs discarded    
    on this AAL5 VCC at the interface 
    associated with an AAL5 entity because the    
    AAL5 SDUs were too large." 
    ::= { aal5VccEntry 5 }

RFC 1695 では、次に示すオブジェクト ID を使用して、伝送および受信 SDU のサイズを別々に設定できます。

 atmVccAal5CpcsTransmitSduSize OBJECT-TYPE 
    SYNTAX INTEGER (1..65535) 
    MAX-ACCESS read-create 
    STATUS    current 
    DESCRIPTION 
    "An instance of this object only exists when the 
    local VCL end-point is also the VCC end-point, 
    and AAL5 is in use. 
    The maximum AAL5 CPCS SDU size in octets that is 
    supported on the transmit direction of this VCC." 
    DEFVAL { 9188 } 
    := { atmVclEntry 9 }

    atmVccAal5CpcsReceiveSduSize OBJECT-TYPE 
    SYNTAX INTEGER (1..65535) 
    MAX-ACCESS read-create    
    STATUS    current 
    DESCRIPTION 
    "An instance of this object only exists when the 
    local VCL end-point is also the VCC end-point, 
    and AAL5 is in use. 
    The maximum AAL5 CPCS SDU size in octets that is 
    supported on the receive direction of this VCC." 
    DEFVAL { 9188 } 
    ::= { atmVclEntry 10 }

RFC 1695 に従う ATM インターフェイスでも、オーバーサイズ SDU エラーを検出したときに ifInErrors カウンタが増加します。 これは RFC で定義されている 2 つのカウンタの CRC-32 と SAR タイムアウト エラーに追加されます。

ルータは、MTU とは関係なく再構成したパケットの算出サイズが AAL5 長さフィールドで受信した値に一致させることができない場合に、AAL5 長さ違反カウンタをカウントアップします。 これらの違反がどのようにして発生するかを理解するには、受信側 ATM インターフェイスがどのようにしてフレームの最後のセルを認識したかを理解する必要があります。

セル ヘッダーには、3 ビットの Payload Type Identifier(PTI; ペイロード タイプ識別子)フィールドが含まれています。 これら 3 つのビットは次のことを示します。

  • ビット 1 — セルにユーザ データまたは管理データを含ませるかどうかを示す。

  • ビット 2 — 送信中のセルに輻輳が発生しているかどうかを示します。

  • ビット 3 — セルが高レイヤ データ フレームの最後のセルかどうかを示す。 1 に設定した場合、このビットは End Of Marker(EOM)と呼ばれます。

001 または 011 の PTI 値は、AAL5 PDU の最後のセルにマークを付けて受信側 ATM インターフェイスに再構成を開始するように伝えます。 輻輳またはエラー状態の間に、ATM リンクは最後のセルをドロップする場合があります。 その結果として受信側インターフェイスは、2 番目の AAL5 パケットの最後のマーカ セルを受信するまで再構成を開始しないため長さ違反を生じます。

場合によって、ルータはAAL5の 長さ違反カウンタはAAL5のCRC エラー カウンタより小さな値を報告する場合があります。 この条件が発生するのは、再構成したパケットにはATM インターフェイスが長さ違反を宣言 し、CRC を確認せずにパケットをドロップするためです。 ATM インターフェイスが CRC を検査するのは、パケットサイズが AAL5 長さフィールドに一致することを確認したあとのみです。

大きくて同じサイズの MTU の利点

ネットワーク上の複数のインターフェイスに一貫した最大サイズの MTU を使用すると、次のような利点があります。

  • フラグメント化の減少または排除。 大きな MTU は、フラグメンテーションを排除して TCP のパフォーマンスを向上させることができます。 したがって、ネットワーク ファイル システム(NFS)などのアプリケーションでは、8 KB 程度の大きなネイティブ MTU の利点を活用できます。

  • パケット バッファ プールのサイズを Cisco 7500 シリーズ プラットフォームの Route Switch Processor(RSP)にあるパケット メモリ(MEMD)に分割して最適化する。 このプラットフォームで、MTU はバッファの分割を行う際に重要な役割を果たします。 具体的には、このプラットフォームは MTU をベースにした 4 つのバッファ プールを作成するバッファ分割アルゴリズムを使用します。 すべてのインターフェイスが同じ MTU を使用すると、ルータは同じサイズのバッファで大きなプールを作成します。 このプラットフォームの非常に大きく、異なる MTU を使用する Cisco IOS を強制しますか。 可能性のある他のインターフェイスに影響を与える少数の大きいバッファを、切り分けるソフトウェア。 7500 シリーズ プラットフォームでは、MTU を調整することで、入力の無視によるエラーの数が少なくなります。 「「"%RSP-3-RESTART: cbus complex"?」の原因」を参照してください。

    注: AIP は従来、9180 までの MTU をサポートしていました。 その原因を知るには、アーキテクチャを理解する必要があります。 ATM インターフェイスがアクティブ同時仮想回線(VC)のアドバタイズ最大数をサポートできるのは、統計の多重化と、いくつかの再構成を同時に行うことができるようなパケットバッファを十分に所有していることに基づきます。 シスコでは、AIP での MTU サイズをおよそ 9000 バイトに制限して、アドバタイズされるアクティブ VC 値を最大 2000 までサポートします。

  • 処理するパケット数を最少化することによって、ルータの性能を向上させます。 ルータの性能の損失のほとんどは、「伝送したバイト」よりも「処理したパケット」に関係します。 ルータは一般的に、割り込みモードで伝送パケットを処理します。 CPU の速度が速いと必ずしも割り込み中心の操作が速くなるというわけではありませんが、MTU が大きいと性能が高くなる場合があります。

関連 RFC

次の表に、データグラム サイズに関する Request For Comment(RFC)を一覧表示します。

注: 表にあるすべてのリンクは、RFC1483 です leavingcisco.com

Request For Comment(RFC) 説明
RFC 791 leavingcisco.com IP フラグメント化の手順を定義する。
RFC 1191 および leavingcisco.com RFC 1435 leavingcisco.com インターネットで IP フラグメント化を減少させる重要なメカニズムであるパス MTU ディスカバリを定義する。 ATM は、イーサネットや FDDI のような他のテクノロジーとはまったく異なるデフォルト MTU サイズを使用するため、このメカニズムは重要です。
RFC 1209 leavingcisco.com 9180 オクテットの SMDS における IP MTU を指定する。 RFC 2225 に定義されているように、インターネット技術特別調査委員会(IETF)はこの値と RFC を使用して、ATM AAL5 上の IP の MTU を 9180 オクテットに設定しました。 leavingcisco.com
RFC 1626 および leavingcisco.com RFC 2225 leavingcisco.com 相手先選択接続 (SVC) に ATM シグナリング プロトコルを使用して、ATM インターフェイスが AAL CPCS-SDU サイズの取り決めを試みる必要のあるほかのアイテムを指定します。

IP フラグメンテーション

RFC 791 leavingcisco.com IP フラグメンテーションについて次のように定義し、手順を説明しています。「合計長が最大伝送単位以下である場合は、このデータグラムをデータグラム処理の次の段階に送信する。 それ以外の場合は、データグラムを 2 つのフラグメントに分割し、1 番めのフラグメントを最大サイズにして、2 番めのフラグメントを残りのデータグラムにする。」

debug ip packet {host access-list} コマンド出力は、2 台のホスト 192.168.1.51 と 192.168.1.254 間で ping をキャプチャします。 ルータは、各パケットに 2 つのフラグメントを受信したことを報告します。 1 つは長さが 1500 バイトで、もう 1 つは長さが 48 バイトです。

注意 注意: debug コマンドを発行する前に、「debug コマンドの重要な情報」を参照してください。

*Mar 28 09:59:27.002: IP: s=192.168.1.51 (ATM4/0.3), d=192.168.1.254, len 1500, rcvd 4 
 *Mar 28 09:59:27.002: IP: recv fragment from 192.168.1.51 offset 0 bytes  
 *Mar 28 09:59:27.002: IP: s=192.168.1.51 (ATM4/0.3), d=192.168.1.254, len  48, rcvd 4 
 *Mar 28 09:59:27.002: IP: recv fragment from 192.168.1.51 offset 1480 bytes

ルータはエコー応答で応答して 2 つのフラグメントを送信中であることを報告します。

*Mar 28 09:59:27.002: ICMP: echo reply sent, src 192.168.1.254, dst 192.168.1.51 
  *Mar 28 09:59:27.002: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), 
  len 1528, sending 
  *Mar 28 09:59:27.002: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), 
  len 1500, sending fragment    
  *Mar 28 09:59:27.006: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), 
  len 48, sending last fragment

ジャンボ フレーム サポート

Cisco Catalyst 5000 と 6000 スイッチのギガビット イーサネット インターフェイスは、MTU が 9,216 バイトの巨大フレームをサポートします。 Catalyst 6000 ファミリ ATM モジュール(WS-X6101)における巨大フレームは、リリース ノートのとおり、Cisco IOS ソフトウェア リリース 12.1(10)E 以降でサポートされています。

MTU のサイズをサブインターフェイスで設定しても、Catalyst 6000 ファミリ ATM モジュールで転送可能な最大フレーム サイズには影響しません。 CLI を使用して MTU のサイズを変更したときに、モジュールが起動して変更がなかった場合は、最大フレーム サイズ(9218 バイト)が初期化されます。

巨大フレームをブリッジするには、set port jumbo mod/port コマンドを使用して、この機能をスーパーバイザ エンジンの ATM モジュールで有効にします。

12.1(10)E より前の Cisco IOS ソフトウェア リリースでは、Catalyst ATM モジュールがコマンドラインで MTU コマンドを受け付けます。最大値は 9218 バイトです。 ただし、巨大フレーム サポートをしない場合は、この構成変更は誤りです。 巨大フレームがサポートされていなかったのは、VC でサポートされていたバッファの最大数が不足していたためです。

ATM#show interface atm0 
   ATM0 is down, line protocol is down 
    Hardware is Catalyst 5000 ATM 
    MTU 1584 bytes, sub MTU 0, BW 156250 Kbit, DLY 80 usec, rely 255/255, 
    load 1/255 
    Encapsulation ATM, loopback not set, keepalive not supported    
    Encapsulation(s): AAL5, PVC mode 
    4096 maximum active VCs, 1024 VCs per VP, 0 current VCCs 
    VC idle disconnect time: 300 seconds 
    Signaling vc = 1, vpi = 0, vci = 5 
    UNI Version = 3.1, Link Side = user 
    PHY Type : SINGLE PHY;    Link Status: DOWN 
   [snip]

LANE バージョン 1 仕様には、SETUP メッセージに AAL パラメータ Information Element(IE)を含ませることが必要です。 この IE では、発呼側または発信元 ATM インターフェイスは、順方向最大 CPCS-SDU サイズおよび逆方向最大 CPCS-SDU サイズを指定する必要があります。 サポートされている AAL5 SDU 最大オクテット値は、1516、4544、9234、および 18190 です。 Cisco IOS ソフトウェア リリース 12.1(10)E 以降、LEC は最大 9218 バイトのフレームを転送できます。

巨大フレームのサポートは、すでに 8540 拡張ギガビット イーサネット ラインカードのロードマップに含まれています。 8510 のギガビット イーサネット カードにおけるこのようなサポートは調査中です。 8540 の ATM ルータ モジュール 2(ARM2)は、設定可能な MTU のサイズをサポートします。

トラブルシューティング

データグラムのサイズに問題の症状がある場合には、トラブルシューティングの範囲を狭めるために、次に示す手順に従います。

  1. 正確な MTU がメイン インターフェイスとサブインターフェイスにあることを確認する。

  2. ある一定のパケットサイズよりも大きい PING が失敗した場合は、問題がトラフィック シェーピングに関係している場合がある。 「ATM VC の VBR-nrt サービス カテゴリとトラフィック シェーピングについて」を参照してください。 パケットが発信元ルータを出たことを確認するか、または次に示すコマンドを使用して送信先ルータを入力するか、あるいはその両方を行います。

    • debug ip packet (ホスト アクセスリストのみ)

      注意 注意: このデバッグは、実働出力で大量に出力を作成します。 このデバッグを有効にする場合は、特に注意してください。

    • debug atm packet interface atm mod/port vpi vci

    • debug atm errors

  3. show interface atm の出力で、巨大カウンタの 0 以外の値をチェックします。 巨大カウンタは PING を行うとカウントアップしますか。

  4. show buffers コマンドを実行して、ミスと失敗カウンタで 0 以外の値を検索します。 特にルータを PING したり、システム バッファを使用する場合には、カウンタがカウントアップされているかどうかを判定します。 詳細については「バッファのチューニング」を参照してください。

     7500#show buffers
       Buffer elements: 
        499 in free list (500 max allowed) 
        913677 hits, 0 misses, 0 created
       Public buffer pools: 
       Small buffers, 104 bytes (total 480, permanent 480): 
          474 in free list (20 min, 1000 max allowed)      
          1036212 hits, 0 misses, 0 trims, 0 created      
          0 failures (0 no memory) 
       Middle buffers, 600 bytes (total 360, permanent 360): 
          358 in free list (20 min, 800 max allowed)      
          635809 hits, 0 misses, 0 trims, 0 created      
          0 failures (0 no memory) 
       Big buffers, 1524 bytes (total 360, permanent 360):      
          360 in free list (10 min, 1200 max allowed) 
          23457 hits, 0 misses, 0 trims, 0 created 
          0 failures (0 no memory)      
       VeryBig buffers, 4520 bytes (total 40, permanent 40): 
          40 in free list (5 min, 1200 max allowed)      
          8969 hits, 0 misses, 0 trims, 0 created      
          0 failures (0 no memory) 
       Large buffers, 5024 bytes (total 40, permanent 40): 
          40 in free list (3 min, 120 max allowed)      
          0 hits, 0 misses, 0 trims, 0 created 
          0 failures (0 no memory) 
       Huge buffers, 18024 bytes (total 4, permanent 0): 
          3 in free list (3 min, 52 max allowed) 
          0 hits, 1 misses, 427 trims, 431 created      
          0 failures (0 no memory)
  5. show ip interface atm コマンドを実行して、Cisco Express Forwarding(CEF)が有効になっているかどうかを判断します。 有効であれば、隣接関係エントリを参照して送信先への MTU のサイズを検査します。

    router#show adj atm 5/0.1 interface 
       Protocol Interface    Address 
       IP ATM5/0.1    point2point(6) 
           0 packets, 0 bytes 
           00040000 
           AAAA030000000800 
           CEF expires: 00:02:49 
           refresh: 00:00:49 
           ATM-PVC never 
           Fast adjacency enabled 
           IP redirect enabled 
           IP mtu 4470 (0x0) 
           Fixup disabled

既知の問題 - MTU およびブリッジング

Cisco bug ID CSCdv42095登録ユーザ専用)は、MTU がブリッジ インターフェイスで 1502 バイトよりも小さく設定された場合に、1498 バイトよりも大きいパケットで失敗する PING の問題を解決します。 最大パケットのサイズは、MTU と同じ数に最大 ATM カプセル化のバイト数を加えた数にまで変更できます。 回避策として MTU を 1502 に設定します。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 10479