IP : IP アプリケーション サービス

インターフェイス インデックス パーシステンス

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

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
ifIndex パーシステンス機能ができる前の問題
ifIndex パーシステンスの概要
ifIndex パーシステンス値の操作
      設定
      制約事項
      IfIndex パーシステンスの確認
      活性挿抜(online insertion and removal; OIR、(ホットスワップ))
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

インターフェイス インデックス(ifIndex)値は、SNMP ベースのネットワーク管理アプリケーションで最も一般的に使用される識別子の 1 つです。 ifIndex は、物理インターフェイスや論理インターフェイスに関連付けられる一意の識別番号です。 ほとんどのソフトウェアでは ifIndex がインターフェイスの名前になります。 関連 RFC では、特定の ifIndex 値とインターフェイスの対応関係をリブート後も保持することは求められていませんが、デバイス インベントリ、課金、障害検出などのアプリケーションはこの対応関係に依存しています。

RFC1213(MIB2)では、初期の ifIndex に関して次のように定義されています。

各インターフェイスは ifIndex オブジェクトの一意の値によって識別され、ifIndex の記述はその値を次のように制約します。 1 から ifNumber の値までがその値の範囲になります。 各インターフェイスの値は、少なくともエンティティのネットワーク管理システムが一度初期化されてから次に初期化されるまでの間は保持される必要があります。

ただし、最新の IETF RFC 2863(The Interfaces Group MIB)によると、ifIndex の定義はネットワーク インターフェイスの動的な追加と削除を可能にするためのデバイス数の増加に対応するように変更されています。 RFC 2863 で採用されたソリューションは、ifIndex の値を ifNumber の値より低くするという要件を削除し、ifNumber を現在の定義で保持することでした。

前提条件

要件

このドキュメントに適用される特定の前提条件はありません。

使用するコンポーネント

IOS プラットフォームおよびイメージにおけるこの機能の最新のサポート状況については、Feature Navigator ToolInterface Index Persistence を検索してください。

この機能のサポートは、次のプラットフォームにおいて Cisco IOS リリース 12.1(5)T から開始されました(その後、Cisco IOS リリース 12.2 に導入されました)。

  • Cisco 800 シリーズ

  • Cisco 1400 シリーズ

  • Cisco 1600 シリーズ(1600R シリーズを含む)

  • Cisco 1700 シリーズ

  • Cisco 2500 シリーズ

  • Cisco 2600 シリーズ

  • Cisco 2800 シリーズ

  • Cisco 3600 シリーズ(Cisco 3620、3640、3660 を含む)

  • Cisco 3800 シリーズ

  • Cisco 4500 シリーズ

  • Cisco AS5300

  • Cisco AS5400

  • Cisco AS5800

  • Cisco 7100 シリーズ

  • Cisco 7200 シリーズ(Cisco 7202、7204、7206 を含む)

  • Cisco 7500 シリーズ(Cisco RSP7000 を含む)

Cisco IOS リリース 12.0S では、インターフェイス インデックス パーシステンスのサポートは次のプラットフォームにおいて Cisco IOS リリース 12.0(11)S から開始されました。

  • Cisco 7200 シリーズ

  • Cisco 7500 シリーズ

  • Cisco 12000 GSR ファミリ

注:CatOS デバイスの場合、物理インターフェイスと VLAN インターフェイスの ifIndex は自動的に保持されますが、EtherChannel インターフェイスの ifIndex は保持されません。 この機能はデフォルトでオンになっており、オフにする方法はありません。 MSFC の IOS ソフトウェアでは ifIndex パーシステンスはサポートされていません。 Catalyst 6000 IOS(ネイティブ モードとも呼ばれます)は 12.1(13)E から ifIndex パーシステンスをサポートしています。

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

表記法

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

ifIndex パーシステンス機能ができる前の問題

インターネットに接続されたルータ固有のシリアル インターフェイスの統計情報が(MRTG などの)シンプルな監視ソフトウェアによってポーリングされている状況について考えます。

例として、再初期化の前には次のような状態が想定されます。

物理ポート ifIndex

イーサネット ポート

1

トークンリング ポート

2

シリアル ポート

3


したがって、管理アプリケーションはシリアル ポートに対応する ifIndex 3 にポーリングしていることになります。

ルータの再初期化(リブート、リロードなど)が実行されると、これらの状態は次のように変化します。

物理ポート ifIndex

イーサネット ポート

3

トークンリング ポート

1

シリアル ポート

2


管理アプリケーションは引き続き ifIndex 3 にポーリングしていますが、現在このインデックスはイーサネット ポートに対応しています。 したがって、ルータがリブートされたことなどがトラップによって管理アプリケーションに警告されない場合、ポーリングされた統計情報は完全に間違っている可能性があります。

ifIndex パーシステンスの概要

Cisco IOS リリースでは、リブート後も保持可能な ifIndex 値のサポートが追加されています。 インターフェイス インデックス パーシステンス機能を利用すると、トラフィック フローや SNMP 統計情報の入力インターフェイスと出力インターフェイスを一意に識別できるので、ネットワーク管理データを収集して処理するときの精度が大幅に向上します。 インターフェイス インデックス パーシステンス機能では各インターフェイスが(ISP カスタマーなどの)既知のエンティティに関連付けられるので、ネットワーク管理データをさらに有効に活用できます。

IfIndex パーシステンス機能を利用すると、IF-MIB によって生成された ifDescr(または ifName)オブジェクト値と ifIndex オブジェクト値の間のマッピングがリブート後も保持されます。

この機能は特に次の点で便利です。

  • SNMP: インターフェイス カウンタの監視

  • Netflow: インターフェイスの ifIndex のレポート

  • RMON: インターフェイスごとのイベントとアラーム

  • EXPRESSION/EVENT MIB: インターフェイス カウンタに基づく新しい MIB 変数の作成

ifIndex パーシステンス値の操作

設定

Router(config)# snmp-server ifindex persist
Router(config-if)# snmp-server ifindex persist

設定の詳細については、http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121newft/121t/121t5/dt5ifidx.htm#20001 を参照してください。

制約事項

インターフェイス固有の ifIndex パーシステンス コマンド([no] snmp ifindex persistence)をサブインターフェイスに対して使用することはできません。 インターフェイスに適用されたコマンドは、そのインターフェイスに関連付けられているすべてのサブインターフェイスにも自動的に適用されます。

IfIndex パーシステンスの確認

ifIndex が正しく有効になっていることを確認するには、nvram の ifIndex-table の内容を確認します。

Router # dir nvram:ifIndex-table
Directory of nvram:/ifIndex-table

    2  -rw-           0         <no date>  ifIndex-table

126968 bytes total (114116 bytes free)
     

長さが 0 と表示されている場合は、copy running starting がまだ実行されていないことを示しています(このコマンドは nvram に ifIndex の割り当てをコピーします)。 このコマンドを実行した後は、次のように表示されます。

Router # dir nvram:ifIndex-table
Directory of nvram:/ifIndex-table

    2  -rw-           283        <no date>   ifIndex-table

126968 bytes total (114088 bytes free)
   

ファイルの形式は、次のとおりです。

名前

説明

size

INTEGER32

この行のサイズ

ifIndex

INTEGER32

このインターフェイスの ifIndex

enablePersistence

INTEGER32

パーシステンスが有効になっている場合は 1

ifDescr

OCTET STRING

インターフェイスの説明


このファイルを FTP サーバにコピーしてバイナリ ファイルの内容を表示することはできますが、 このファイルを編集することはできません(変更はいっさいサポートされません)。 一部のプラットフォームでは、このファイルが圧縮された形式で保存される場合があります。

活性挿抜(online insertion and removal; OIR、(ホットスワップ))

イーサネット カードを挿入または取り外す場合の例を次に示します。

  1. カードを取り外して、同じタイプのカードと交換した場合

    新しいハードウェアの ifDescr が古いハードウェアの ifDescr と一致している限り、同じ ifIndex が新しいカードに割り当てられます。

  2. カードを取り外して、ほぼ同じタイプのカードと交換した場合

    4 ポート搭載のイーサネット カードを 8 ポート搭載のイーサネット カードと交換した場合、8 ポート搭載カードの最初の 4 つのポートに 4 ポート搭載イーサネット カードのインターフェイスと同じ ifIndex 値が割り当てられます。 残り 4 つのポートには新しい ifIndex 値が割り当てられます。

  3. カードを取り外して、異なるタイプのカードと交換した場合

    新しいタイプのカード(新しい ifDescr を持つカードなど)を取り付けると、新しい ifIndex 値が割り当てられます。 以前の ifIndex は使用されないので、ifIndex の割り当てに差異が生じます。

  4. カードを取り外して、同じルータの別のスロットにそのカードを取り付けた場合

    別のスロットにカードを取り付けると、新しい ifDescr になるので、新しい ifIndex 値が割り当てられます。 以前の ifIndex は使用されないので、ifIndex の割り当てに差異が生じます。

    注:例 2、3、および 4 で新しく割り当てられた ifIndex 値を保持するには、copy running starting コマンドを実行する必要があります。


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

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


関連情報