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

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

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

概要

このドキュメントでは、簡易ネットワーク管理プロトコル(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® ソフトウェア リリース 12.0 以降、Cisco ルータでサポートされています。MIB のサポートに関する詳細は、 MIB Locator leavingcisco.com登録ユーザ専用)を参照してください。

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

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

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

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

ネットワーク管理システム(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