Cisco インターフェイスとモジュール : Cisco 多用途インターフェイス プロセッサ

CPU利用率99%で動作する VIP および Rx サイドバッファリングについて

2002 年 3 月 1 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 7 月 7 日) | フィードバック

目次


概要

Rx サイドバッファリングは、出力インターフェイスが輻輳状態のときに発生するプロセスです。出力インターフェイスのキューイング方式は First in, First out(FIFO; 先入れ先出し)です。受信側 VIP は、すぐにパケットをドロップせずに、出力インターフェイスがバッファを利用できるようになるまで、共有 RAM(SRAM)にパケットをバッファリングします。

Cisco 7500 アーキテクチャの基本

各インターフェイス プロセッサ(レガシー IP または VIP)は、1 つの CyBus(CyBus)と呼ばれる高速拡張システム バスと接続します。Route/Switch Processor(RSP)は、2 つの CyBus に接続します。

パケット バッファの種類

次のように、さまざまな種類のパケット バッファがあります。

  • dynamic RAM(DRAM; ダイナミック ランダムアクセス メモリ)内のシステム バッファ:このバッファはプロセススイッチングされたパケットに使われます。show interfaces(input queues および output queues)および show buffers コマンドで確認できます。Cisco 7500 は頻繁にプロセススイッチングを行わないため、システム バッファに問題があれば、大量のパケットがプロセス レベルで処理されていることを意味します。これは、次のような種々の要素が原因になります。

    • ブロードキャスト ストーム

    • ネットワーク内のルーティング更新を引き起こすような不安定性

    • DoS (Denial of Service) 攻撃

    • ファスト スイッチング パスでサポートされていない機能(たとえば X.25)

    • オプション付き IP パケット

  • パケット メモリ(MEMD)バッファ:MEMD サイズは RSP7000、RSP1、RSP2、および RSP4 で 2 MB で固定されています。RSP8 では、MEMD サイズは 8 MB です。OIR(online insertion and removal:ホットスワップ)、マイクロコードのリロード、最大伝送ユニット(MTU)の変更、または Cybus complex が行われると、MEMD はブートアップ時にすべてのインターフェイス間で分配されます。MEMD バッファの状態は show controllers cbus コマンドでチェックできます。

    MEMD が割り当てられると、次のストラクチャが生成されます。

    • ローカル フリー キュー(lfreeq) は各インターフェイスに割り当てられ、このインターフェイス上で受信されるパケットに使われます。

    • グローバル フリー キュー(gfreeq) も各インターフェイスに割り当てられ、インターフェイスはいくつかの制限内でそのキューまでフォールバックします。

    • 送信キュー(txqueue または txq) は各インターフェイスに割り当てられ、このインターフェイスを介して送信されるパケットに使われます。

    • 送信アキュムレータ(txacc) は、出力インターフェイスの送信キュー(txqueue)上のエレメント数を表します。送信アキュムレータ(txacc)= 送信制限(txlimit)のとき、すべてのバッファが解放されます。送信アキュムレータ(txacc)= 0 の場合、キューはいっぱいであり、これ以上のキューイングは不可能です。

  • パケット メモリには、 VIP インターフェイスで送受信されるパケットに使われるパケット バッファ(パーティクル)があります。次は、パケット フローを図示したものです。

この項では、ディストリビューティッドスイッチングが有効になっている VIP に焦点を当てています。Rx リングバッファリングはたいていの場合、パケットがこのタイプのスイッチングパスをたどるときに発生するからです。次のようなシナリオが可能です。

出力インターフェイスが輻輳状態にない場合。

  • パケットはポート アダプタ(PA)で受信され、パケット メモリ内のパケット バッファに移されます。

  • VIP がパケットをディストリビューティッドスイッチングができない場合、スイッチング決定を行う RSP にパケットをフォワーディングします。

  • VIP がスイッチング決定を行い、出力インターフェイスが同一 VIP 上にある場合、パケットは出力インターフェイスに送られます。パケットは Cybus を越えないため、VIP で「ローカルにスイッチングされる」と言われます。

  • VIP がスイッチング決定を行い、発信インターフェイスが別のスロットにある場合、VIP はパケットを CyBus を経由して発信インターフェイスの txqueue(MEMD 内)にコピーしようとします。

  • その後、パケットは CyBus を経由して出力(V)IP にコピーされ、回線に送信されます。

出力インターフェイスが輻輳状態にある場合、次の2 つの可能性があります。

  • 出力インターフェイスでキューイングが設定されている場合、VIP はパケットを MEMD 内の txqueue に転送し、パケットはキューイング コードによってキューからすぐに取り出されます。

    • RSP ベースのキューイングが設定されている場合、パケットは DRAM 内のシステム バッファにコピーされます。

    • VIP ベースのキューイングが使われている場合、パケットは出力側 VIP の SRAM にコピーされます。

  • 出力インターフェイスのキューイング方式が FIFO の場合、すぐにパケットをドロップする代わりに(これは出力インターフェイスが輻輳状態にあるときに FIFO で通常起こることです)、出力インターフェイスが再びある程度のバッファを利用できるようになるまで、受信側 VIP が SRAM にパケットをバッファリングします。これは Rx サイドバッファリングと呼ばれます。

show controllers vip accumulator コマンドを使って、次の Rx 側バッファリングの状態をチェックします。

  • ルータに存在する出力インターフェイスの数

  • それらのインターフェイスに対して VIP が Rx バッファリングしたパケットの数

  • VIP が Rx バッファリングした理由

  • VIP がドロップしたパケットの数、およびその理由

CPU 利用率99%で動作する VIP

Rx サイドバッファリングにより、最終的に VIP が 99% の CPU 利用率で動作します。VIP は出力インターフェイスの txqueue の状態を継続的に監視し、バッファの解放が行われるとすぐに、CyBus を経由して txqueue にパケットをコピーします。

Rx バッファリングが発生した場合、VIP が 99% で動作していても VIP 自体は何ら危険がありません。VIP が過負荷になっていないことを意味します。VIP がより優先度の高いもの(たとえば、スイッチングすべき別のパケット)を受信した場合、高 CPU 稼働率の影響は受けません。

これを示す簡単なテストが行われています。シリアル 2/0/0 のクロック レートは 128 Kbps で、回線レートでトラフィックを受信しています。トラフィックは、クロック レートが 64 Kbps でキューイング方式 FIFO のシリアル 10/0 にスイッチチングされます。パケットのドロップのみが行われます。

次の show controllers cbus コマンドは、シリアル 10/0 の MEMD 内の xqueue が輻輳状態であることを示します。

router#show controller cbus 

 

 MEMD at 40000000, 8388608 bytes (unused 697376, recarves 6, lost 0)

 

 RawQ 48000100, ReturnQ 48000108, EventQ 48000110

 

 BufhdrQ 48000130 (21 items), LovltrQ 48000148 (15 items, 2016 bytes)

 

 IpcbufQ 48000158 (24 items, 4096 bytes)

 

 IpcbufQ_classic 48000150 (8 items, 4096 bytes)

 

 3570 buffer headers (48002000 - 4800FF10)

 

 pool0: 8 buffers, 256 bytes, queue 48000138

 

 pool1: 2940 buffers, 1536 bytes, queue 48000140

 

 pool2: 550 buffers, 4512 bytes, queue 48000160

 

 pool3: 4 buffers, 4544 bytes, queue 48000168

 

 slot2: VIP2, hw 2.11, sw 22.20, ccb 5800FF40, cmdq 48000090, vps 8192

 

 software loaded from system

 

 IOS (tm) VIP Software (SVIP-DW-M), Version 12.0(11)S3, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)

 

 ROM Monitor version 122.0

 

 Mx Serial(4), HW Revision 0x3, FW Revision 1.45

 

 Serial2/0/0, applique is V.35 DCE

 

 received clockrate 2015232

 

 gfreeq 48000140, lfreeq 480001D0 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 16, maxrxcurr 293

 

 txq 48001A00, txacc 48001A02 (value 294), txlimit 294

 

 Serial2/0/1, applique is V.35 DTE

 

 received clockrate 246

 

 gfreeq 48000140, lfreeq 480001D8 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48001A08, txacc 48001A0A (value 6), txlimit 6

 

 Serial2/0/2, applique is Universal (cable unattached)

 

 received clockrate 246

 

 gfreeq 48000140, lfreeq 480001E0 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48001A10, txacc 48001A12 (value 6), txlimit 6

 

 Serial2/0/3, applique is Universal (cable unattached)

 

 received clockrate 246

 

 gfreeq 48000140, lfreeq 480001E8 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48001A18, txacc 48001A1A (value 6), txlimit 6

 

 slot10: FSIP, hw 1.12, sw 20.09, ccb 5800FFC0, cmdq 480000D0, vps 8192

 

 software loaded from system

 

 Serial10/0, applique is V.35 DTE

 

 gfreeq 48000140, lfreeq 48000208 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 1, maxrxcurr 1

 

 txq 48000210, txacc 480000B2 (value 2), txlimit 294 

 

 Serial10/1, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000218 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000220, txacc 480000BA (value 6), txlimit 6

 

 Serial10/2, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000228 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000230, txacc 480000C2 (value 6), txlimit 6

 

 Serial10/3, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000238 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000240, txacc 480000CA (value 6), txlimit 6

 

 Serial10/4, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000248 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000250, txacc 480000D2 (value 6), txlimit 6

 

 Serial10/5, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000258 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000260, txacc 480000DA (value 6), txlimit 6

 

 Serial10/6, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000268 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000270, txacc 480000E2 (value 6), txlimit 6

 

 Serial10/7, applique is Universal (cable unattached)

 

 gfreeq 48000140, lfreeq 48000278 (1536 bytes)

 

 rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0

 

 txq 48000280, txacc 480000EA (value 6), txlimit 6

 

 router#

 

 

value 2 は、2 つのバッファのみが残されていることを意味します。Rx バッファリングは、txacc が「4」未満のときに MEMD 内にパケットをキューイングしません。

VIP の show controllers vip 2 tech-support コマンドから、VIP が CPU 利用率 99% で動作していることがわかります。

router#show controllers vip 2 tech-support 

 

 show tech-support from Slot 2: 

 

 

 

 

 

 ------------------ show version ------------------

 

 

 

 Cisco Internetwork Operating System Software

 

 IOS (tm) VIP Software (SVIP-DW-M), Version 12.0(11)S3, EARLY DEPLOYMENT RELEASE 
SOFTWARE (fc1) Copyright (c) 1986-2000 by cisco Systems, Inc. Compiled Tue 18-Jul-00 22:03 by htseng Image text-base: 0x600108F0, data-base: 0x602E0000 ROM: System Bootstrap, Version 11.1(4934) [pgreenfi 122], INTERIM SOFTWARE VIP-Slot2 uptime is 1 week, 23 hours, 27 minutes System returned to ROM by power-on Running default software cisco VIP2 (R4700) processor (revision 0x02) with 32768K bytes of memory. Processor board ID 00000000 R4700 CPU at 100Mhz, Implementation 33, Rev 1.0, 512KB L2 Cache 4 Serial network interface(s) Configuration register is 0x0 ... ------------------ show process cpu ------------------ CPU utilization for five seconds: 99%/97%; one minute: 70%; five minutes: 69%

VIP は 128 Kbps しか受信していないにもかかわらず、CPU 利用率99% で動作しています。これは、CPU 利用率が秒当たりのパケット数と関連性がないことを意味します。なぜならば、VIP 2 はこれよりも多くのパケットをスイッチングできるからです。CPU 利用率 99% は Rx サイドバッファリングからの単なるサインです。

次のコマンドを実行し、どの Rx サイドバッファリングが実行中であるかをチェックします。

router#show controllers vip 2 accumulator

 

 show vip accumulator from Slot 2:

 

 Buffered RX packets by accumulator:

 

 

 

 ...

 

 

 

 Serial10/0:

 

 MEMD txacc 0x00B2: 544980 in, 2644182 drops (126 paks, 378/376/376 bufs) 1544kbps

 

 No MEMD acc: 544980 in, 2644182 limit drops, 0 no buffer

 

 No MEMD buf: 0 in, 0 limit drops, 0 no buffer
...

 

 

 

 

 

 Interface x:

 

 MEMD txacc a: b in, c drops (d paks, e/f/g bufs) h kbps

 

 No MEMD acc: i in, j limit drops, k no buffer

 

 No MEMD buf: l in, m limit drops, n no buffer 
キー
説明
a
MEMD 内の txacc のアドレスです。システム内の各 txacc に 1 つの Rx サイドバッファ キューがあります(最大 4096)。
b
Rx バッファリングが行われたパケットの数。
c
VIP がドロップしたパケットの数。十分なパケット メモリ バッファがある場合、VIP は最大 1 秒のトラフィックを Rx バッファリングできます。しかし、インターフェイスが継続的に輻輳状態にある場合、ドロップを回避することは不可能です。
d
現在 Rx バッファリングされているパケットの数。
e
現在 Rx バッファリングされているパーティクルの数。パケットには複数のパーティクルが含まれる場合があります。
f
ソフト リミット:VIP メモリが少ない場合の最大パーティクル数。
g
ハード リミット:いつでも使用できる最大パーティクル数。
h
出力インターフェイスのスピード(kbps)。
i
MEMD で txacc が使用できなかったために Rx バッファリングされたパケットの数。これは、出力キューが輻輳状態であった(tx-queue でフリーバッファがない)ことを意味します。この問題は、出力インターフェイスの帯域幅を増やすことで解決できます(可能な場合)。
j
MEMD acc がないために送信できなかったパケットの数、およびパーティクルのソフト リミットまたはハード リミットに達したためにドロップされたパケットの数。
k
VIP が Rx バッファリングを希望しているが、パケット メモリ内のフリー バッファがないためにドロップするパケット数。Cisco IOS(R) ソフトウェア リリース 12.0(13)S および 12.1(4) 以降は、show controller vip [all/slot#] packet-memory-drops コマンドを使ってドロップしたパケット数を調べることもできます。この場合、パケット メモリのアップグレードが役立ちます。
l
MEMD 内の tx-queue に送ることができるが、パケットを格納するための MEMD バッファを割り当てることができない場合のパケット数。この場合、MEMD 内に新しいフリー バッファができるまで、VIP はパケットを Rx バッファリングします。
m
MEMD バッファがないために Rx バッファリングされ、ソフト リミット(f)またはハード リミット(g)に達したためにドロップされたパケットの数。この場合、RSP8 は MEMD メモリが多いため役立ちます(RSP1、RSP2、RSP4、および RSP7000 の 2MB に対して RSP8 は8MB)。一部のインターフェイス(ATM、POS、または FDDI など)では MTU を減らすことも役立ちます。これらのインターフェイスでは MTU が通常 4470 バイトであり、バッファを大きくする必要があるために、割り当て可能な MEMD バッファはわずかです。
n
MEMD バッファがないために VIP が Rx バッファリングを試行するが、パケット メモリ バッファがないために Rx バッファリングできないパケット数。この場合、パケット メモリのアップグレードが役立ちます。Cisco IOS ソフトウェア リリース 12.0(13)S および 12.1(4) 以降は、show controllers vip [all / slot#] packet-memory-drops コマンドを使って、パケットがドロップした理由をもっとよく理解することもできます。.
Rx サイドバッファリングの例

例 1:この例では、スロット 2 の VIP が 128Kbps でトラフィックを受信し、それをシリアル 10/0(64Kbps)にルーティングします。

Serial10/0:

 

 MEMD txacc 0x00B2: 544980 in, 2644182 drops (126 paks, 378/376/376 bufs) 1544kbps

 

 No MEMD acc: 544980 in, 2644182 limit drops, 0 no buffer

 

 No MEMD buf: 0 in, 0 limit drops, 0 no buffer 

544980 個のパケットが正常に Rx バッファリングされ、 2644182 個のパケットがドロップされました。

126 個のパケットが現在 Rx バッファリングされており、378 個のパーティクルを使用中です。

MEMD の tx-queue 内にフリー バッファがないために、すべてのパケットが Rx バッファリングされました。これは、出力インターフェイスが輻輳状態であることを意味します。ドロップは、Rx バッファリングされたパケットの最大数に達したためです。一般的な解決策は、出力インターフェイスの帯域幅を増やすか、出力インターフェイスの輻輳状態を少なくするためにいくつかのトラフィックを再ルーティングするか、重要なトラフィックのドロップが少なくなるようなキューイングを有効にすることです。

例 2ドロップなしの Rx サイドバッファリング

ATM1/0:

 

 MEMD txacc 0x0082: 203504 in, 0 drops (0 paks, 0/81/37968 bufs) 155520kbps

 

 No MEMD acc: 85709 in, 0 limit drops, 0 no buffer

 

 No MEMD buf: 117795 in, 0 limit drops, 0 no buffer 

この例では、ATM 1/0 が輻輳状態であるために 85709 個のパケットが Rx バッファリングされましたが、ドロップされたパケットはありません。

VIP が MEMD バッファを獲得できないために、117795 個のパケットが Rx バッファリングされました。パケットは 1 つもドロップされていません。一般的な解決策は、より多くの MEMD バッファを割り当てることができるように MTU をいくらか減らすことです。RSP8 も役立ちます。

例 3ローカル スイッチング

SRP0/0/0:

 

  local txacc 0x1A02: 2529 in, 0 drops (29 paks, 32/322/151855 bufs) 622000kbps 

ローカル txacc は、パケットが受信されたインターフェイスと同じ VIP 上にこの出力インターフェイスがあることを意味します。そのパケットはローカルにスイッチングされますが、出力インターフェイス(この場合 srp 0/0/0)は輻輳状態です。2529 個のパケットが Rx バッファリングされ、ドロップしたパケットはありません。

例 4フォワーディング キュー

router#show controllers vip 0 accumulator

 

 Buffered RX packets by accumulator:

 

  Forward queue 0 : 7 in, 0 drops (0 paks, 0 bufs)

 

  Forward queue 8 : 3 in, 0 drops (0 paks, 0 bufs)

 

  Forward queue 9 : 5 in, 0 drops (0 paks, 0 bufs) 

いくつかのパケットは分散スイッチングできません。この場合、VIP はパケットを RSP のraw キューにフォワーディングする必要があります。RSP はその後、スイッチング決定を行います。パケットをすぐに MEMD にコピーできない場合、VIP はそれを Rx バッファリングし、入力インターフェイスごとにいくつのパケットが Rx バッファリングされたか記録をとります。

フォワーディング キュー 0〜7 は第 1 ポート アダプタ(PA)用、8〜15 は第 2 PA 用です。

フォワーディング キュー番号
Rx バッファリングされたパケットが受信された場所
0
1番目の ポート アダプタ(PA)の第 1 プラグホール
8
2番目のPA の第 1 プラグホール
9
2番目のPA の第 2 プラグホール

 


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

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


関連情報


Document ID: 12810