この文書は、show controller frfab queue および show controller tofab queue コマンド出力の解釈方法について説明しています。 また、これらの特別なキューに関連する、Cisco 12000 シリーズ インターネット ルータのベース アーキテクチャの詳しい概要についても示しています。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
このドキュメントに関する固有の要件はありません。
このドキュメントの情報は、次のハードウェアに基づくものです。
Cisco 12000 シリーズ インターネット ルータ
Cisco IOS© ソフトウェアのすべてのバージョン
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。
Cisco 12000 シリーズ インターネット ルータ上の Line Card(LC; ラインカード)にはそれぞれ、次の 2 種類のメモリが搭載されています。
ルートかプロセッサメモリ(ダイナミックRAM - DRAM): このメモリは主に Cisco IOSソフトウェアを実行し、ネットワークルーティングテーブル(転送情報ベース保存することを内蔵プロセッサが- FIB、隣接関係)を可能にします。
パケットメモリ(同期ダイナミックRAM - SDRAM): ラインカードのパケット メモリは、ラインカード プロセッサによるスイッチングの決定を待つデータ パケットを一時的に保存します。
この資料は 2 つのバンクに分けられるパケットメモリに専ら焦点を合わせます: ToFab および FrFab (からのファブリックの方におよびファブリック)。 ToFab メモリは、LC 上のいずれかのインターフェイスに到着し、ファブリックに向かうパケットのために使用されます。FrFab メモリは、ファブリック側から、LC 上のインターフェイスを出て行くパケットのために使用されます。
Tofab および Frfab キューは、Cisco 12000 シリーズ インターネット ルータでの ignored パケットのトラブルシューティングを効率的に行うために理解しなければならない、最も重要な概念です。 詳細については、「トラブルシューティング:Cisco 12000 シリーズ インターネット ルータでの ignored パケットとメモリ不足による廃棄」を参照してください。
注: 「ToFab」(ファブリックに向かう)と「Rx」(ルータで受信される)は同じことを 2 つの異なる用語で表現したものです。「FrFab」(ファブリックから来る)と「Tx」(ルータから送信される)も同様です。 たとえば、ToFab Buffer Management ASIC(BMA; バッファ管理 ASIC)は RxBMA とも呼ばれます。 この文書では、ToFab または FrFab を表記法として使用しますが、この文書以外では Rx または TX の名称が使用される場合があります。
パケット メモリへのアクセスは Buffer Management ASIC(BMA; バッファ管理 ASIC)を通じて行われます。 BMA はパケットのバッファリングとバッファ キュー管理機能をラインカードに提供します。 パケットはすべて BMA を 2 回通過します。1 回は入ってくるとき、もう 1 回は出て行くときです。 つまり、パケットは Physical Layer Interface Module(PLIM; 物理層インターフェイス モジュール)に到達し、SDRAM バッファでほんの短い時間待機した後、バッファから読み出されて Fabric Interface ASIC(FIA; ファブリック インターフェイス ASIC)モジュールに送られます。 ここでパケットはシスコ セルに分割されてスイッチ ファブリックに送信されます。 続いて、スイッチ ファブリックから送信されたシスコ セルが出力ラインカードのファブリック インターフェイス ASIC で受信されます。 それらは、および最終的に送出されてネットワーク再構成されましたり、SDRAM バッファに、そして PLIM に行きます。
Cisco IOS ソフトウェアには、SDRAM をさまざまなサイズのバッファに分割するバッファ分割アルゴリズムが実装されています。 GRP やその他のソースがラインカードに分割を指示し、それを受けてラインカードが分割を実行します。 カーブには異なる型があります。 たとえば、簡単 な カーブは同じサイズのバッファが含まれていて各プールが複雑 な カーブは異なるサイズの複数のプールを作成するが、同サイズのバッファのプールを作成します。
同じサイズのバッファはすべて 1 つのプールに関連付けられます。 Inter-Process Communication(IPC; プロセス間通信)に使用する際は必ず 1 つのプールが割り当てられます。 対応する Queue Static RAM(QSRAM)はそれぞれ、キューのヘッド、テール、長さ、長さのしきい値、SDRAM 内の対応するバッファ アドレス、および次のキュー要素によって更新されます。
次の一連の状況を通じて、ラインカードでのバッファ分割が行われます。
Maintenance BUS(MBUS; メンテナンス バス)経由でのブートロード - バッファを分割し、Cisco IOS ソフトウェア イメージのダウンロードを保持するための単純な分割コール。
Cisco IOS ソフトウェア イメージの配置 - Inter-Process Communication(IPC; プロセス間通信)を可能にするための、LC の単純な分割コール。これにより、GRP は IPC を使用して初期分割仕様を LC に指示できるようになります。 分割に使用できる SDRAM はすべて再分割されます。
IPC の起動後 - IPC を使用して、GRP は LC の複雑な分割を何回もコールし、すべての SDRAM を動的に再分割できます。
1 つのインターフェイスの MTU (最大伝送ユニット)のマニュアル設定か変更はメモリを再び切り分けます。 FrFab キューは全システムの最大MTU に ToFab キューが特定のラインカードの最大MTU に切り分けられる一方、切り分けられます。
注: ラインカード(ToFab キュー)のための最大MTU を変更するかその時だけ、または全システム(FrFab キュー)のための最大MTU を変更すれば再び切り分けます。 たとえば、1500 から 4470 に MTU を変更することは既にそのラインカード(ToFab キュー)または全体的に見るとシステム(FrFab キュー)の MTU 4470 のインターフェイスがあっている場合何も変更しません。
次の例の見てみて下さい:
Router#attach 1Entering Console for 1 Port Packet Over SONET OC-48c/STM-16 in Slot: 1Type "exit" to end this sessionPress RETURN to get started!LC-Slot1>enableLC-Slot1#show controllers tofab queuesCarve information for ToFab buffersSDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100268332800 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAMpagesize, 2 carve(s) max buffer data size 4544 bytes, min buffer data size 80 bytes 262140/262140 buffers specified/carved 240637152/240637152 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 4 non-IPC free queues: 115254/115254 (buffers specified/carved), 43.96%, 80 byte data size 1 201 115454 115254 262143 81202/81202 (buffers specified/carved), 30.97%, 608 byte data size 2 115455 196656 81202 262143 41910/41910 (buffers specified/carved), 15.98%, 1568 byte data size 3 196657 238566 41910 262143 23574/23574 (buffers specified/carved), 8.99%, 4544 byte data size 4 238567 262140 23574 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 131 130 200 262143 Raw Queue: 31 0 0 0 65535 ToFab Queues: Dest Slot 0 0 0 0 262143 1 0 0 0 262143 2 0 0 0 262143 3 0 0 0 262143 4 0 0 0 262143 5 0 0 0 262143 6 0 0 0 262143 7 0 0 0 262143 8 0 0 0 262143 9 0 0 0 262143 10 0 0 0 262143 11 0 0 0 262143 12 0 0 0 262143 13 0 0 0 262143 14 0 0 0 262143 15 0 0 0 262143 Multicast 0 0 0 262143
ずっとこのラインカードが作動中であるので、そして 4 つのプールがあること 2 つのカーブがずっとあることがわかります: 80、608、1568、および 4544。
この場合このラインカードに属する 1 つのインターフェイスの MTU を変更して下さい:
Router(config)#interface pos1/0Router(config-if)#mtu ?<64-18020> MTU size in bytesRouter(config-if)#mtu 2000
この場合 LC に接続し、変更したものがチェックして下さい:
LC-Slot1#show control tofab queueCarve information for ToFab buffers SDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100 268332800 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAMpagesize, 3 carve(s) max buffer data size 4112 bytes, min buffer data size 80 bytes 262142/262142 buffers specified/carved 247054400/247054400 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 4 non-IPC free queues: 91680/91680 (buffers specified/carved), 34.97%, 80 byte data size 1 202 201 91680 262143 65485/65485 (buffers specified/carved), 24.98%, 608 byte data size 2 91884 91883 65485 262143 49769/49769 (buffers specified/carved), 18.98%, 1568 byte data size 3 157366 207134 49769 262143 55008/55008 (buffers specified/carved), 20.98%, 2048 byte data size 4 207135 262142 55008 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 118 117 200 262143 Raw Queue: 31 206 205 0 65535 ToFab Queues: Dest Slot 0 0 0 0 262143 1 0 0 0 262143 2 0 0 0 262143 3 0 0 0 262143 4 0 0 0 262143 5 0 0 0 262143 6 0 0 0 262143 7 206 205 0 262143 8 0 0 0 262143 9 0 0 0 262143 10 0 0 0 262143 11 0 0 0 262143 12 0 0 0 262143 13 0 0 0 262143 14 0 0 0 262143 15 0 0 0 262143 Multicast 0 0 0 262143
このとき 3 つのカーブがあり、非 IPC キューのための最大バッファサイズは 4544 の代りに 2048 バイトです。
FrFab キューは変更されません:
LC-Slot1#show controllers frfab queues Carve information for FrFab buffers SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100 264646400 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAMpagesize, 3 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 251927/251927 buffers specified/carved 209883344/209883344 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 6 non-IPC free queues: 123349/123349 (buffers specified/carved), 48.96%, 80 byte data size 1 210 209 123349 262143 75519/75519 (buffers specified/carved), 29.97%, 608 byte data size 2 123552 123551 75519 262143 37759/37759 (buffers specified/carved), 14.98%, 1568 byte data size 3 199069 236827 37759 262143 2516/2516 (buffers specified/carved), 0.99%, 2048 byte data size 4 236828 239343 2516 262143 7551/7551 (buffers specified/carved), 2.99%, 4544 byte data size 5 239344 246894 7551 262143 5033/5033 (buffers specified/carved), 1.99%, 9248 byte data size 6 246895 251927 5033 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 52 51 200 262143 Multicast Raw Queue: 29 0 0 0 62981 Raw Queue: 31 52 51 0 251928 Interface Queues: 0 210 209 0 262143
最大バッファサイズは 9248 バイトです。 この場合、別のカードの 1 つの他のインターフェイスの 10000 の MTU を設定して下さい:
Router(config-if)#interface pos5/0 Router(config-if)#mtu ? <64-18020> MTU size in bytes Router(config-if)#mtu 10000 LC-Slot1#show contr frfab queues Carve information for FrFab buffers SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100 264646400 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAMpagesize, 4 carve(s) max buffer data size 10064 bytes, min buffer data size 80 bytes 257309/257309 buffers specified/carved 213496016/213496016 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 128556/128556 (buffers specified/carved), 49.96%, 80 byte data size 1 204 203 128556 262143 77133/77133 (buffers specified/carved), 29.97%, 608 byte data size 2 128758 128757 77133 262143 38566/38566 (buffers specified/carved), 14.98%, 1568 byte data size 3 205890 244455 38566 262143 7713/7713 (buffers specified/carved), 2.99%, 4544 byte data size 4 244456 252168 7713 262143 5141/5141 (buffers specified/carved), 1.99%, 10064 byte data size 5 252169 257309 5141 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 24 23 200 262143 Multicast Raw Queue: 29 0 0 0 64327 Raw Queue: 31 24 23 0 257310 Interface Queues: 0 205 204 0 262143
このとき FrFab キューのための 4 つのカーブがあり、最大バッファサイズは 10064 バイトに変更しました。
注: ポイントツーポイントプロトコル (PPP) カプセル化で設定される Packet over SONET(PoS) ラインカードで Maximum Receive Unit (MRU) ネゴシエーションは行われますが、MTU サイズを調節しません。 さらに、PPP 接続は MTU がインターフェイスで変更されるときリセットされません。
このメモリは、パケット バッファから成る複数のプールに分割されます。 レシーブ メモリがどのように切り分けられるか見るために、ラインカードに接続し、後で示されるように show controller tofab queue コマンドを、実行できます:
Router#attach ?<0-15> slot number of linecard to connect <cr>Router#attach 1Entering Console for 1 Port SONET based SRP OC-12c/STM-4 in Slot: 1 Type "exit" to end this session Press RETURN to get started! LC-Slot1>enableLC-Slot1# LC-Slot1#show controllers tofab queuesCarve information for ToFab buffers SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100 33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 40606/40606 buffers specified/carved 33249088/33249088 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 20254/20254 (buffers specified/carved), 49.87%, 80 byte data size 1 17297 17296 20254 65535 12152/12152 (buffers specified/carved), 29.92%, 608 byte data size 2 20548 20547 12152 65535 6076/6076 (buffers specified/carved), 14.96%, 1568 byte data size 3 32507 38582 6076 65535 1215/1215 (buffers specified/carved), 2.99%, 4544 byte data size 4 38583 39797 1215 65535 809/809 (buffers specified/carved), 1.99%, 9248 byte data size 5 39798 40606 809 65535 IPC Queue: 100/100 (buffers specified/carved), 0.24%, 4112 byte data size 30 72 71 100 65535 Raw Queue: 31 0 17302 0 65535 ToFab Queues: Dest Slot 0 0 0 0 65535 1 0 0 0 65535 2 0 0 0 65535 3 0 0 0 65535 4 0 0 0 65535 5 0 17282 0 65535 6 0 0 0 65535 7 0 75 0 65535 8 0 0 0 65535 9 0 0 0 65535 10 0 0 0 65535 11 0 0 0 65535 12 0 0 0 65535 13 0 0 0 65535 14 0 0 0 65535 15 0 0 0 65535 Multicast 0 0 0 65535 LC-Slot1#
上記の例で見られる主なフィールドの説明を次に示します。
SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100 -受信 パケット メモリおよび始まるアドレス位置のサイズ。
max buffer data size 9248 bytes, min buffer data size 80 bytes - バッファ サイズの最大値と最小値。
40606/40606 buffers specified/carved - Cisco IOS ソフトウェアによって分割するよう指定されたバッファと、実際に分割されたバッファの数。
non-IPC free queues - 非 IPC バッファ プールはパケット バッファ プールです。 ラインカードに到達したパケットには、パケットのサイズに応じて、これらのバッファ プールの中からいずれか 1 つのバッファが割り当てられます。 3 つのただ非IPCフリーキューを持っていることは可能性のあるです; ボードがイーサネットである場合、1.5k まで 4k プール、プールだけありません。 これは、ToFab キューが最大でそのラインカードの Maximum Transmission Unit(MTU; 最大伝送ユニット)に分割されるためです。 出力例では、サイズがそれぞれ 80、608、1568、4544、および 9248 バイトである 5 つのパケット バッファ プールが示されています。 各プールの詳細を次に示します。
20254/20254 (buffers specified/carved), 49.87%, 80 byte data size - 受信パケット メモリの 49.87 % が 20254 個の 80 バイト バッファに分割されています。
Qnum - キュー番号。
#Qelem -バッファ 番号そのキューに現在割り当てられる。 これがフリー キューであれば、これらのバッファはシステムで使用されます。 ToFab キューまたは送信キューであれば、これらのバッファはシステムで使用されません。 バックアップされたキューを確認するためにチェックする列です。
Head と Tail - ヘッドおよびテール メカニズムによってキューが正しく移動していることが保証されます。
IPC Queue - LC から GRP へのプロセス間通信メッセージのために確保されたキュー。
Raw Queue。着信パケットに IPC 以外のフリー キューからバッファが割り当てられた場合、raw キュー上にキューイングされます。 raw キューは、割り込みの間に LC CPU によって First In, First Out(FIFO; 先入れ先出し)方式で処理されます。 「Raw Queue」行の #Qelem カラムの数が非常に多い場合は、CPU 処理待ちのパケットが多すぎて CPU が負荷に追いつくことができず、それらのパケットはやがて無視されるようになります。 ただし、このような状況に陥るのは非常にまれです。
ToFab キュー-仮想出力キュー; 宛先スロットごとに 1 つずつと、マルチキャスト トラフィック用に 1 つあります。 上の例では、最後の部分に 15 個の仮想出力キューが示されています。 これは 15 スロット シャーシとして最初に設計されていた 12012 ルータです、; キュー 13 〜 15 は使用されません。
入力ラインカードの CPU によってパケット スイッチングが決定されると、パケットは宛先のスロットに対応する仮想出力キューにキューイングされます。 4 番目のカラムの数字は、仮想出力キューに現在キューイングされているパケットの数を示します。
ステップ 1 - パケットが Physical Layer Interface Module(PLIM; 物理層インターフェイス モジュール)に到達します。 パケットが受信され処理されると、「First In, First Out(FIFO; 先入れ先出し)バースト メモリ」と呼ばれる小さなメモリ(およそ 2 x Maximum Transmission Unit(MTU; 最大伝送ユニット)のバッファ)に Direct Memory Access(DMA; ダイレクト メモリ アクセス)により転送されます。 このメモリ量は LC のタイプによって異なります(128 KB ~ 1 MB)。
ステップ 2 -パケットが FIFO メモリに完全にあるとき、PLIM の application-specific integrated circuit (ASIC)によっては Buffer Management ASIC (BMA)が接触し、バッファをパケットを置くことを頼みます。 BMA はパケットのサイズを受け取り、それに応じてバッファを割り当てます。 BMA が適正なサイズのバッファを取得できなかった場合、パケットは廃棄され、着信インターフェイスの「ignored」カウンタが増えます。 他の一部のプラットフォームとは異なり、フォールバック メカニズムはありません。
ステップ 3 - この処理の間に、FIFO バースト メモリに別のパケットが受信される場合があります。FIFO バースト メモリのサイズが 2 x MTU であるのはこのためです。 適切なキューに使用可能な空きバッファがある場合、パケットは BMA によって該当するサイズのフリー キュー リストに格納されます。 このバッファは raw キューに置かれます。raw キューはラインカードのスイッチング エンジンのタイプに応じて Salsa ASIC または R5K CPU によって検査されます。
ステップ 4 - エンジン 0 LC では、R5K CPU が DRAM 内にあるローカルの Distributed Cisco Express Forwarding(dCEF)テーブルを参照してパケットの宛先を決定します。 続いてパケットは、raw キューのバッファから宛先スロットに対応する ToFabric キューのバッファに移動します。 宛先が dCEF テーブルに登録されていなければ、パケットは廃棄されます。 パケットが制御パケット(ルーティング更新など)の場合は GRP のキューにキュイングされ、GRP によって処理されます。 12016 ルータには、17 個の ToFab キューがあります(ユニキャスト用に 16 個とマルチキャスト用に 1 個)。
ステップ 5 - ToFab BMA によってバッファが適切な ToFab キューにキューイングされます。 この時点で、バッファが属するプールの #Qelem カウンタが 1 減り、ToFab キュー カウンタが 1 増えます。
注: ToFab キューはラインカードごとに 1 つずつあります(これには GRP も含まれます)。 これらのキューは仮想出力キュー(VOQ)として知られています。 これらは head-of-line blocking (HoLB; 行頭ブロッキング)を避けるために重要です。
ステップ 6 - Fabric Interface ASIC(FIA; ファブリック インターフェイス ASIC)によって出力キューが空でないことが確認されます。 FIA はパケットを 48 バイトのセルに分割するようセットアップされています。 パケットに 8 バイトのヘッダーが追加されて、56 バイトのシスコ セルがスイッチ ファブリックに送信されます。
送信パケット メモリには、スイッチ ファブリックから来て物理インターフェイスへの送信を待っているパケットが格納されます。 このメモリも、さまざまなサイズのプールに分割されます。
送信パケット メモリを表示するには、GRP からラインカードに attach し、show controller frfab queue コマンドを実行します。 FrFab 出力には、ToFab 出力のフィールドに加えて、Interface Queues セクションがあります。 その出力内容は発信 LC 上のインターフェイスのタイプと数によって異なります。
1 つそのような物ラインカードの各インターフェイスのために存在 する キュー。 特定のインターフェイスから送出されるパケットが、対応するインターフェイス キューにキューイングされます。
LC-Slot1#show controller frfab queue========= Line Card (Slot 2) =======Carve information for FrFab buffers SDRAM size: 16777216 bytes, address: 20000000, carve base: 2002D100 16592640 bytes carve size, 0 SDRAM bank(s), 0 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 20052/20052 buffers specified/carved 16581552/16581552 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 9977/9977 (buffers specified/carved), 49.75%, 80 byte data size 1 101 10077 9977 65535 5986/5986 (buffers specified/carved), 29.85%, 608 byte data size 2 10078 16063 5986 65535 2993/2993 (buffers specified/carved), 14.92%, 1568 byte data size 3 16064 19056 2993 65535 598/598 (buffers specified/carved), 2.98%, 4544 byte data size 4 19057 19654 598 65535 398/398 (buffers specified/carved), 1.98%, 9248 byte data size 5 19655 20052 398 65535 IPC Queue: 100/100 (buffers specified/carved), 0.49%, 4112 byte data size 30 77 76 100 65535 Raw Queue: 31 0 82 0 65535 Interface Queues: 0 0 0 0 65535 1 0 0 0 65535 2 0 0 0 65535 3 0 0 0 65535
上記の例で見られる主なフィールドの説明を次に示します。
非IPCフリーキュー: これらのキューは異なるサイズのパケットバッファプールです。 パケットがファブリックを経由して受信されると、適切なサイズのバッファがこれらのキューのいずれかから取得され、パケットがその中にコピーされます。このバッファは該当する出力インターフェイス キューに置かれます。
注: ルータ全体で必要とされる数のプールが作成されます。 そのため、FrFab キューの最大の分割サイズはシステム全体で最も大きい MTU になります。 これは特定のラインカードの最大MTU に切り分けられる ToFab キューのために異なっています。
IPC キュー: GRP からの LC に Inter-Process Communication メッセージ専用。
インターフェイスキュー: これらのキューはインターフェイスのために、ないスロット 番号のためです。 最後の数(Tx-queue-limit は 65535)あります。 この番号管理はエンジンの Tx-queue limit コマンドによってあらゆるキューの最大長 0 ラインカード調整され。 輻輳時には、このコマンドを使用して、特定のポート用のインターフェイス キューに設定された数を超えるパケットが出力 LC にバッファリングされる事態を回避できます。 このコマンドには必ず、このインターフェイス用のすべての FrFab キューが含まれないような小さい数を設定してください。 ただし、この調整では、発信 LC でどのパケットが廃棄されるかを制御することはできません。 詳細については、「トラブルシューティング:Cisco 12000 シリーズ インターネット ルータでの ignored パケットとメモリ不足による廃棄」を参照してください。
この時点で、シスコ セルはすでに FIA によってスイッチ ファブリックに送信されています。
ステップ 1 - これらのシスコ セルは FrFab FIA の FIFO へ DMA により転送されてから、FrFab BMA のバッファへと転送されます。 実際にセルをパケットに再構成するのは frFab BMA です。
FrFab BMA はパケットを再構成する際、セルが格納されているバッファをどのようにして知るのでしょうか。 これは着信ラインカードのスイッチング エンジンによって決定されます。 ボックス上にあるキューはすべて同じサイズ、同じ順序であるため、スイッチング エンジンは送信 LC に、ルータに到達したときと同じ番号のキューにパケットを入れるよう指示します。
frFab BMA SDRAM キューの状態を表示するには、LC で show controller frfab queue コマンドを使用します。
ステップ 2 - このステップは基本的に ToFab BMA の出力と同じです。 到着したパケットは、それぞれの対応するフリー キューからデキューされるパケットとして配置されます。 これらのパケットは FrFab キューに置かれ、出力処理のためにインターフェイス キュー(物理ポートごとに 1 つずつある)か、raw キューにキューイングされます。 rawQ で多くが起こりません: ポートごとのマルチキャスト複製、Modified Deficit Round Robin(MDRR) - Distributed Weighted Fair Queuing (DWFQ)と同じ概念、および出力専用アクセス レート (CAR)。 送信キューがいっぱいの場合は、パケットが廃棄され、出力廃棄カウンタの値が増分されます。
ステップ 3 - PLIM の TX 部分がパケットを送信 して準備ができているまで FrFab BMA は待っています。 FrFab BMA は Media Access Control(MAC; メディア アクセス制御)を(シスコ セルのヘッダーに含まれる情報に基づいて)実際に書き換えてから、そのパケットを PLIM 回路内の小さなバッファ(2 x MTU)へ DMA により転送します。 PLIM は、必要に応じて Asynchronous Transfer Mode(ATM; 非同期転送モード)の Segmentation And Reassembly(SAR)と Synchronous Optical Network(SONET; 同期光ファイバ ネットワーク)のカプセル化を行い、パケットを送信します。