IP : 簡易ネットワーク管理プロトコル(SNMP)

SNMP を使用して MAC アドレスと IP アドレスのアカウンティング情報を取得する方法

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


目次


概要

このドキュメントでは、簡易ネットワーク管理プロトコル(SNMP)を使用して Cisco ルータから MAC アドレスと IP アドレスのアカウンティング情報を取得する方法の例を紹介します。

前提条件

要件

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

使用するコンポーネント

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

表記法

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

MAC アドレスのアカウンティング

MAC アドレスのアカウンティング機能を使用すると、LAN インターフェイスの発信元 MAC アドレスと宛先 MAC アドレスに基づいた IP トラフィックのアカウンティング情報がわかります。 この機能では、ある特定の MAC アドレスとの間で IP パケットを送受信する LAN インターフェイスについて、パケット数とバイト数の合計を計算します。 また、最後に送受信したパケットのタイムスタンプも記録します。

コマンド ラインを使用して、次の情報を得ることができます。

router_10.64.7.2#show running
<snip>
...
interface FastEthernet2/0
ip address 10.64.7.2 255.255.255.248
ip accounting mac-address input
ip accounting Mac-address output
...
 <snip>
...
snmp-server community public RO
SNMP-server community private RW
...
<snip>
 

router_10.64.7.2#show interfaces mac

FastEthernet2/0 

  Input  (486 free)

    0000.0c75.4120(24 ):  19349 packets, 1608842 bytes, last: 5360ms ago

    00e0.1e3f.6989(33 ):  19272 packets, 1597208 bytes, last: 1276ms ago

    ... 

    0040.0550.bc5c(245):  207 packets, 44890 bytes, last: 174440ms ago

                   Total:  1091720 packets, 178475402 bytes

  Output  (506 free)

    0040.ca19.c776(34 ):  3744 packets, 400075 bytes, last: 81804ms ago

    ... 

    0090.bf1f.e000(208):  229537 packets, 64266576 bytes, last: 0ms ago

                   Total:  266111 packets, 70376527 bytes

 router_10.64.7.2#

あるいは、次のように SNMP を使用して CISCO-IP-STAT-MIB から上記の情報を得ることもできます。

% snmpwalk 10.64.7.2 public .1.3.6.1.4.1.9.9.84.1.2.1
enterprises.9.9.84.1.2.1.1.3.9.1.0.0.12.117.65.32 = Counter32: 19349
...
enterprises.9.9.84.1.2.1.1.3.9.2.1.0.94.0.0.5 = Counter32: 19040
enterprises.9.9.84.1.2.1.1.4.9.1.0.0.12.117.65.32 = Counter32: 1608842
...
enterprises.9.9.84.1.2.1.1.4.9.2.1.0.94.0.0.5 = Counter32: 1485120 

注:

public = RO community string 
1.3.6.1.4.1.9.9.84.1.2.1 = cipMacTable 
1.3.6.1.4.1.9.9.84.1.2.1.1.3 = cipMacSwitchedPkts 
1.3.6.1.4.1.9.9.84.1.2.1.1.4 = cipMacSwitchedBytes

上記の snmpwalk コマンドの出力例から 1 つ見てみましょう。

  • 出力の前半、つまり、cipMacSwitchedPkts です。

    enterprises.9.9.84.1.2.1.1.3.9.1.0.0.12.117.65.32 = Counter32: 19349

    9 は ifIndex であり、1 は cipMacDirection です。

    input(1), 
    output(2) 

    ということは、0.0.12.117.65.32 が MAC アドレス(0000.0c75.4120)です。 MAC アドレスは 10 進数では 0.0.12.117.65.32 です(これを 16 進数に変換すると 0000.0c75.4120 になります)。

    パケット数は 19349 です。

  • SNMP の出力の後半、つまり、cipMacSwitchedBytes です。

    enterprises.9.9.84.1.2.1.1.4.9.1.0.0.12.117.65.32 = Counter32: 1608842

    9 は ifIndex であり、1 は cipMacDirection です。

    input(1),
    output(2) 

    ということは、0.0.12.117.65.32 が MAC アドレス(0000.0c75.4120)です。

    バイト数は 1608842 です。 これは、次の show interfaces mac コマンドの出力のエントリに対応しています。

    router_10.64.7.2#show interfaces mac
    FastEthernet2/0 
      Input  (486 free)
        0000.0c75.4120(24 ):  19349 packets, 1608842 bytes, last: 5360ms ago
    ...
    

CISCO-IP-STAT-MIB Cisco IOS 以来の Ciscoルータでサポートされますか。 ソフトウェア リリース 12.0。 MIB のサポートに関する詳細は、「MIB Locator 」(登録ユーザ専用)を参照してください。leavingcisco.com

詳細は次のドキュメントを参照してください。

IP アドレスのアカウンティング

IP のアカウンティングを有効にすると、発信元 IP アドレスと宛先 IP アドレスに基づいて Cisco IOS ソフトウェアでスイッチされたバイトとパケットの数がわかります。 通過したトラフィックだけが発信のみを基準として測定されます。 ソフトウェアが生成したトラフィックや、ソフトウェアで終了したトラフィックは、アカウンティング統計情報に含まれません。

このソフトウェアでは、アカウンティングの集計精度を維持するために、 アクティブ データベースとチェックポイント データベースの 2 つのアカウンティング データベースを管理しています。 OLD-CISCO-IP-MIB.my には lipCkAccountingTable(チェックポイント データベース)と lipAccountingTable(アクティブ データベース)の 2 つのテーブルがあります。 アクティブ データベースは actCheckPoint によってチェックポイント データベースにコピーされます。 その結果、showip アカウンティングコマンドはクリアされます。

ネットワーク管理システム(NMS)では、MIB の lipCkAccountingTable を使用して、チェックポイント データベース内の安定したデータを分析できます。 実行中の(アクティブな)データベースはチェックポイント データベースにコピーされます。 チェックポイント データベースがすでにアクティブ データベースからデータを取得していた場合は、ルータがアクティブ データベースの最新のコピーをチェックポイント データベースの既存のデータに付加します。 チェックポイント データベースは、actCheckPoint が設定されるか、このデータベースの内容が clear ip accounting [checkpoint] コマンドで削除されるまで、アクティブ データベースから取得したデータを保存します。

MIB actCheckPoint により、チェックポイント データベースがアクティブになります。 この変数が読み込まれ、読み込まれた値と同じ値に設定される必要があります。 読み込んで設定された値は、set 要求が成功した後に増加されます。 ルータでの設定は次のようになります。

<snip>
...
interface FastEthernet2/0
ip address 10.64.7.2 255.255.255.248
ip accounting output-packets
...
<snip>

SNMP を使用して IP アドレスのアカウンティング情報を取得する方法

チェックポイントを使用し、SNMP を使用してチェックポイント データベースからデータを取得して、正確なアカウンティング データを取得します。

チェックポイントを設定しアクティブ データベースからチェックポイント データベースにデータをコピーするには、次の 2 段階のプロセスが必要です。

  1. actCheckPoint の値(1.3.6.1.4.1.9.2.4.11)を読み込みます。

    % snmpget -v 1 10.64.7.2 public .1.3.6.1.4.1.9.2.4.11.0
         enterprises.9.2.4.11.0 = 0
    
  2. actCheckPoint を今読み込んだ値に設定します。

    % snmpset 10.64.7.2 private .1.3.6.1.4.1.9.2.4.11.0 i 0
         enterprises.9.2.4.11.0 = 0
    

    注:  設定が成功すると、actCheckPoint の値が 1 増えます。

    % snmpget -v 1 10.64.7.2 public .1.3.6.1.4.1.9.2.4.11.0
    enterprises.9.2.4.11.0 = 1
    

このとき、IP チェックポイント アカウンティング テーブルは実際には削除されていません。 テーブルをチェックポイントすると、ライブ テーブルがチェックポイント テーブルにコピーされ、ライブ テーブルが再初期化されます。 上記のようにチェックポイントを実行すると、IP アカウンティング テーブルは削除されるか再初期化されます。 IP チェックポイント アカウンティング テーブルを取得するには、lipCkAccountingTable に対して snmpwalk を実行します。

注: 1.3.6.1.4.1.9.2.4.9 が lipCkAccountingTable です。

% snmpwalk 10.64.7.2 public .1.3.6.1.4.1.9.2.4.9
enterprises.9.2.4.9.1.1.10.64.7.26.172.17.111.59 = IpAddress: 10.64.7.26
enterprises.9.2.4.9.1.1.172.17.110.208.172.17.110.223 = IpAddress: 172.17.110.208
enterprises.9.2.4.9.1.2.10.64.7.26.172.17.111.59 = IpAddress: 172.17.111.59
enterprises.9.2.4.9.1.2.172.17.110.208.172.17.110.223 = IpAddress: 172.17.110.223
enterprises.9.2.4.9.1.3.10.64.7.26.172.17.111.59 = 29
enterprises.9.2.4.9.1.3.172.17.110.208.172.17.110.223 = 57
enterprises.9.2.4.9.1.4.10.64.7.26.172.17.111.59 = 2436
enterprises.9.2.4.9.1.4.172.17.110.208.172.17.110.223 = 5700
enterprises.9.2.4.9.1.5.10.64.7.26.172.17.111.59 = 0
enterprises.9.2.4.9.1.5.172.17.110.208.172.17.110.223 = 0

router_10.64.7.2 からは、次の情報が得られます。

router_10.64.7.2#show ip account
    Source         Destination              Packets               Bytes
172.17.110.208  172.17.110.223                   25                2500
10.64.7.26       172.17.111.59                   13                1092

アカウンティング データの経過時間は 0 です。

要するに、actCheckPoint を設定すると lipCkAccountingTable のデータが消去されます。 つまり、新しいデータベースが起動されます。

OLD-CISCO-IP-MIB は、Cisco IOS ソフトウェア リリース 10.x 以降、Cisco ルータでサポートされています。 MIB のサポートに関する詳細は、「MIB Locator 」(登録ユーザ専用)を参照してください。leavingcisco.com

詳細は次のドキュメントを参照してください。

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

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


関連情報


Document ID: 13503