このドキュメントでは、Simple Network Management Protocol(SNMP)を使用して Cisco ルータから MAC および IP アドレスのアカウンティング情報を取得する方法の例を示します。
このドキュメントに特有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
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 (登録ユーザ専用)を参照してください。
詳細は次のドキュメントを参照してください。
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 を使用してチェックポイント データベースからデータを取得して、正確なアカウンティング データを取得します。
チェックポイントを設定しアクティブ データベースからチェックポイント データベースにデータをコピーするには、次の 2 段階のプロセスが必要です。
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
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 」(登録ユーザ専用)を参照してください。
詳細は次のドキュメントを参照してください。