IP : Cisco Express Forwarding(CEF)

Cisco Express Forwarding(CEF)におけるプレフィク スの不一致に関するトラブルシューティング

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


目次


概要

この資料では、分散型Cisco Express Forwarding(CEF)が稼働するCisco 7500および12000シリーズ ルータ上で新しく使用可能になったConsistency Checkerについて説明します。 Cisco IOS で導入される整合性検査プログラムか。 ラインカードの転送情報および Route Processor (RP)が同期を失うときソフトウェア リリース 12.0(15)S および検出する他のリリース トレインは、設計されています。 Checkerが問題を検知すると、IOSは次のようなログ メッセージを出力します。

%FIB-4-RPPREFIXINCONST2: RP missing prefix for 
133.160.0.0/16 (present in routing table)

 %FIB-4-RPPREFIXINCONST2: RP missing prefix for 
 133.160.0.0/16 (present in routing table)

 %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.17.0/32

この資料では、CEFで発生する不一致のトラブルシューティング方法について説明します。

前提条件

要件

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

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco IOS ソフトウェア Release 12.0(15)S と それ以降

  • Cisco 7500 および 12000 シリーズ ルータ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

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

CEF 転送テーブル

Consistency Checkerが何をチェックするのかを理解するためには、まず、CEFフォワーディング テーブルについて良く知っておく必要があります。

CEFは、ルータが入力インターフェイスから出力インターフェイスにパケットを転送するための高速スイッチング メカニズムです。 CEF では、ルータ メモリに保管された次の 2 種類のデータ構造(テーブル)が使用されます。

  • Forwarding Information Base(FIB) - 転送先の決定に使用する情報のデータベースです。 概念的にはルーティング テーブルまたはルート キャッシュと似ていますが、実装方法が異なります。

  • Adjacency(隣接関係) - ネットワーク上の2つのノードが、リンク レイヤを通して互いにシングル ホップで到達できる場合、それらのノードは隣接しているといいます。

FIBテーブルは、次のいずれかの状況が発生すると更新されます。

  • ネクスト ホップに対応するAddress Resolution Protocol(ARP)キャッシュ エントリが変更、削除、またはタイムアウトしたとき。

  • プレフィクスに対応するルーティング テーブル エントリが変更または削除されたとき。

  • ネクスト ホップに対応するルーティング テーブル エントリが変更または削除されたとき。

Cisco 7500および12000シリーズ ルータは、分散型CEF(dCEF)をサポートしています。dCEFでは、ライン カードはRPと同じFIBテーブルおよび隣接関係テーブルのローカル コピーを使用して、パケットの転送先を決定します。 これらのテーブルは、RPとライン カードの間で常に同期している必要があります。 RPのテーブルに変更があった場合には、その変更をライン カードに転送する必要があります。

Inter-Process Communication(IPC)は、分散型パケット転送をサポートするルータが使用するプロトコルです。 CEFアップデートは、IPCメッセージ内のeXternal Data Representation(XDR)情報として符号化されます。 次のダイアグラムは CEF データ構造 分配メカニズムを説明します。

/image/gif/paws/14540/cefincon-1.gif

不一致とは何か?

不一致には次の2タイプがあります。

  • ライン カード上の情報の欠落(特定のプレフィクスの欠落など)

  • ライン カード上の情報の食い違い(異なるネクスト ホップIPアドレスなど)

    router#show ip cef 24.20.84.32
    24.16.0.0/13, version 833173, cached adjacency to POS6/0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 4.24.234.153, 0 dependencies, recursive
    next hop 4.24.234.153, POS6/0 via 4.24.234.152/30
    valid cached adjacency
    router#execute-on all show ip cef 24.20.84.32
    ========= Line Card (Slot 1) =======
    24.16.0.0/13, version 408935, cached adjacency 0.0.0.0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 157.130.213.1, 0 dependencies, recursive
    next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30
    valid cached adjacency
    ========= Line Card (Slot 2) =======
    24.16.0.0/13, version 13719, cached adjacency 0.0.0.0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 157.130.213.1, 0 dependencies, recursive
    next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30
    valid cached adjacency

CEFの不一致は、次の例のように、show cef linecardコマンド出力の [CEF-ver] カラムの値が異なることで示されます。

7505-2A#show cef linecard                                                        
CEF table version 35, 11 routes                                               
Slot CEF-ver    MsgSent    XDRSent  Window   LowQ   MedQ  HighQ Flags         
1          0          0          0 LC wait      0      0      0 disabled      
2         31         95        422      24      0      0      0 up, sync      
3         34        105        544      24      0      0      0 up, sync

次の条件が成立していれば、show ip cef summaryコマンドの出力では、RPでもLCでも、ルート数および隣接の数が同じになるはずです。

  • すべてのライン カードが [up, sync] ステートである。

  • RPおよびLCのXDRキューが空白である(RPに関してはshow cef linecardコマンド出力の [LowQ/MedQ/HighQ] カラム、ライン カードに関してはshow cef linecardコマンド出力の [RP messages to be processed] データ)。

注: 例外として、Cisco 12000シリーズEngine 2 LCでは、パケット スイッチングASIC(PSA)によって追加のルートがインストールされ、それによってACLが実装されます。

IOS 12.0(22)Sには、show ip cef inconsistency nowコマンドを実行して問題の有無を調べることができる、CEF Consistency Checker v2(IOS 12.1Eに含まれる)が組み込まれる予定です。

Inconsistency Checker の概要

RPおよびライン カード上のルーティング データベースが更新されていくにつれ、これらのデータベースの分散メカニズムの非同期性に起因して、両者に食い違いが生じることがあります。 CEFは、独立的に運用できる各種の受動的(パッシブ)および能動的(アクティブ)なConsistency Checkerをサポートしています。 次の表で、これらの機能について説明します。

検出メカニズム 動作対象 説明
Lc-detect ラインカード ライン カード上で動作し、FIBテーブルから欠落しているIPプレフィクスがないかどうかをチェックします。 IPプレフィクスが欠落していると、ライン カードはそれらのアドレスにパケットを転送できません。 この場合、Lc-detectは、確認のためRPにIPプレフィクスを送信します。 RPに該当するエントリがあれば、不一致とみなされ、エラー メッセージが表示されます。 さらにRPはライン カードに対し、そのIPプレフィクスが不一致であることを確認する信号を送り返します。
Scan-lc ラインカード ライン カード上で動作し、FIBテーブルを設定された時間だけスキャンして、次の n 個のプレフィクスをRPに送信します。 RPは正確な突き合わせを行います。 欠落しているプレフィクスが見つかると、RPは不一致を報告します。 最後に、RPはライン カードに対し、確認メッセージを送り返します。
Scan-rp ルート プロセッサ (scan-lcとは逆に)RP上で動作し、FIBテーブルを設定された時間だけスキャンして、次の n 個のプレフィクスをライン カードに送信します。 ライン カードが正確な突き合わせを行います。 欠落しているプレフィクスが見つかると、ライン カードは不一致を報告し、最後にRPに対し、確認信号を送信します。
Scan-rib ルート プロセッサ すべてのRP上で動作し(非分散型)、RIBをスキャンして、それらのプレフィクス エントリがRPのFIBテーブルにあるかどうかを確認します。

イネーブルに設定したConsistency Checkerおよび関連する変数を設定するには、次のコマンドを使用します。

  • ip cef table consistency-check type <type> [period <seconds>] [count <count>] - Checkerの一般的なパラメータを制御します。

  • ip cef table consistency-check - サポートされているタイプをイネーブルまたはディセーブルにし、スキャンを実行する時間、およびスキャン対象のプレフィクスを制御します(lc-detectを除く)。 Consistency Checkerは、デフォルトではディセーブルに設定されています。

トラブルシューティング:CEF の不一致

不一致は本来、発生してはならないものです。不一致が発見された場合は、詳しく調査する必要があります。 次のCEF debugコマンドおよびshowコマンドを使用して、トラブルシューティングを行います。

特定の show コマンドは、Output Interpreter Tool登録ユーザ専用)によってサポートされています。このツールを使用すると、show コマンド出力の分析を表示できます。

注: debug コマンドを使用する前に、『debug コマンドに関する重要な情報』を参照してください。

  • show ip cef inconsistency records detail - 検出メカニズムの統計情報を表示します。 また、確認された何種類かの(現在は4種類の)不一致について、詳細情報を記録します。

  • show ip cef inconsistency - ステータスのサマリーを表示します。

    Table consistency checkers (settle time 15s)
         lc-detect: running
          0/0/0 queries sent/ignored/received
         scan-lc: running [100 prefixes checked every 60s]
          0/0/1053 queries sent/ignored/received 
         scan-rp: running [100 prefixes checked every 60s]
          1053/0/0 queries sent/ignored/received
         scan-rib: running [1000 prefixes checked every 60s]
          81/0/81 queries sent/ignored/received
        Inconsistencies: 0 confirmed, 0/4 recorded
  • show ip cef inconsistency records - 記録されている不一致をダンプするには、recordsキーワードを使用します。

  • show ip cef inconsistency records detail および execute-on slot <problem slot>

    router#exec slot 2 show ip cef inconsistency records detail
      ========= Line Card (Slot 2) =======
    
      Table consistency checkers (settle time 65s)
        lc-detect: running
         0/0/0 queries sent/ignored/received
        scan-lc: running [100 prefixes checked every 60s] 
         1289156/0/0 queries sent/ignored/received
        scan-rp: running [100 prefixes checked every 60s] 
         0/0/1068308 queries sent/ignored/received
        scan-rib: running [1000 prefixes checked every 60s] 
         0/0/0 queries sent/ignored/received
      Inconsistencies: 340 confirmed, 1/4 recorded
      Test table insert mode: normal
      Test table remove mode: normal
      -------- Inconsistency record 0 --------
      Prefix entry for 192.168.3.10/32 present on RP, missing on slot 2
      Detected at 00:01:46.736 by scan-rp
      Event log entries relevant for 192.168.3.10:
      +00:00:00.000: *.*.*.*/*          New FIB table           [OK]
        0x403FA4E8 0x403FA530 0x4009C1FC 0x4009C1E8
      +00:00:03.092: *.*.*.*/*          Flush ADJ table        [OK]
        0x404000B0 0x4040EEC0 0x4040F100 0x40401F64 0x404021AC 0x4040229C
      0x404029C8 0x4009C1FC 0x4009C1E8
      +00:00:03.100: *.*.*.*/*          Flush FIB table        [OK]
        0x404039D0 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC
    0x4009C1E8
      +00:00:03.124: *.*.*.*/*          New FIB table          [OK]
        0x404039D8 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC
    0x4009C1E8
      First event occurred at 00:00:07.600 (2w5d ago) 
      Last event occurred at 00:00:10.724 (2w5d ago)

注: inconsistencyレコードにSNMPでアクセスすることはできません。 この機能は、今後のIOSリリースで追加される可能性があります。

トラブルシューティングのためのコマンド

  • clear cef linecard <slot>ライン カードからIPプレフィクスが欠落している場合、このコマンドを使用して、ライン カードのFIBにそのプレフィクスを再インストールします。

  • clear ip route <prefix>RPからプレフィクスが欠落している場合、このコマンドを使用して、RPのFIBにそのプレフィクスを再インストールします。

Consistency Checkerで問題が検出された場合、その問題を正確にトラブルシューティングするには、次のコマンド出力が必要になります。

  • show ip cef <problem prefix>RP上のFIBのエントリを表示します。

  • exec all show ip cef <problem prefix>ライン カード上のCEF FIBの値を表示します。

  • show tech cefCEFに関するテクニカル サポート情報を提供します。

  • show ip cef inconsistency records detailRP上のCEF FIB不一致に関する詳細情報を表示します。

  • exec slot show ip cef inconsistency records detailライン カード上のCEF FIB不一致に関する詳細情報を表示します。

  • no ip cef table consistency-checkCheckerをオフにします。

  • debug ip cef table consistency-checkersクエリーおよびチェック イベントをデバッグします。

Consistency Checker のリセット方法

CEFの不一致をクリアするには、clear ip cef inconsistencyコマンドを使用します。 Consistency Checkerをオフにするには、no ip cef table consistency-checkコマンドを使用します。 Consistency Checkerをオフにしても、報告された問題が解決されるわけではないので注意してください。 システムは引き続き不一致のある状態で稼働しているので、不測の事態が引き起こされる可能性があります。

誤った不整合性

CEF Consistency Checkerの最初のバージョンでは、稀にですが、実際には不一致が発生していないにもかかわらず不一致が報告されることがあります。 この問題は、(特に大規模な更新が行われる際に)CEFデータベースを更新するとき、およびRPからライン カードへ新しい情報を配布するときの、一時的なタイミングのずれによって生じます。 このようなメッセージは、非常に限られた確率でしか発生しないためCPUへの悪影響はありませんが、作業の妨げになります。不一致に関する問題をトラブルシューティングするとき以外は、CEF Consistency Checkerをディセーブルにしておくことを推奨します。

更新プロセス中に実体のないプレフィクス不一致をできるだけ検出させないようにするには、検出を遅延させる時間(settle-time)を調節します。 ip cef table consistency-check [settle-time <time>]コマンドを使用します。 このコマンドは現在であるイベントログに頼ります; さもなければ、settle-time は効果的に 0 です。

RP上で欠落している隣接プレフィクス(ARPエントリの/32)の誤った検出を防ぐために、65秒のデフォルト値が選ばれています。 ARP deleteは、RP上で次の2ステップで行われます。

  1. 隣接が不完全であることがマークされ、隣接プレフィクスが削除されます。

  2. 1分間のadjacency walkerによって隣接が削除され、ライン カードにも同じ動作を行うように通知されます。

隣接プレフィクスがライン カードに存在していてRPにない場合、このプロセスによって、最大60秒のずれが生じます。

注: Consistency Checkerバージョン2.0では、実体のない不一致の問題は解決されています。

既知の問題

次の表に、CEF Consistency Checkerに関する既知のバグを示します。 このリストは徹底的であるために意味されません。

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

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


関連情報


Document ID: 14540