目录

简介

先决条件

要求

使用的组件

规则

MAC 地址计数

IP 地址记帐

如何使用SNMP获取IP地址记帐信息

相关信息

简介

本文档举例说明如何使用简单网络管理协议(SNMP)从思科路由器获取MAC和IP地址记帐信息。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

MAC 地址计数

MAC地址记帐功能根据LAN接口上的源MAC地址和目的MAC地址提供IP流量的记帐信息。此功能统计LAN接口接收/发送或发自某一特定MAC地址的IP信息包总数和字节数。它还记录接收或发送的最后一个数据包的时间戳。

从命令行中，您会得到以下结果：

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命令输出中的一个示例为例。

- 对于输出的前半部分，即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地址以十进制表示：0.0.12.117.65.32（十六进制表示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 IOS®软件版本12.0起，Cisco路由器支持CISCO-IP-STAT-MIB。有关MIB支持的详细信息，请参阅MIB定位器 (仅注册客户)。

更多信息请参见：

- MAC地址记帐和优先级记帐。

- SNMP对象导航器

IP 地址记帐

通过启用IP 记帐，用户可以根据源和目的地IP地址，查看通过Cisco IOS软件交换的字节数量和信息包数量。只测量中转IP流量，且仅基于出站流量；计费统计数据不包括软件生成的数据流、或在软件中终止的数据流。

为确保计费合计值准确无误，软件使用两个计费数据库：活动和检查点数据库。OLD-CISCO-IP-MIB.my中有两个表，分别是lipCkAccountingTable（检查点数据库）和lipAccountingTable（活动数据库）。 actCheckPoint将活动数据库复制到检查点数据库。因此，会清除show ip accounting命令。

网络管理系统(NMS)可以使用来自MIB的lipCkAccountingTable来分析检查点数据库中的稳定数据。正在运行或活动的数据库将复制到检查点数据库。如果检查点数据库已经有早先从激活数据库获得的数据，路由器会将激活数据库的最新副本添加到查点数据库的现有数据中。检查点数据库存储从活动数据库检索到的数据，直到设置actCheckPoint，或者直到您通过发出clear ip accounting [checkpoint]命令删除此数据库的内容。

MIB actCheckPoint激活检查点数据库。必须读此变量，然后设置相同的值。在成功设置请求后，读取并设置的值将递增。路由器上的配置如下：

<snip>

...

interface FastEthernet2/0

ip address 10.64.7.2 255.255.255.248

ip accounting output-packets

...

<snip>

如何使用SNMP获取IP地址记帐信息

使用检查点并使用SNMP从检查点数据库检索数据，以获得准确的记帐数据。

要设置检查点并将数据从活动数据库复制到检查点数据库，需要执行两步过程：

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检查点记帐表，请snmpwalk lipCkAccountingTable。

注意： 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中的数据。换句话说，这从一个全新的数据库开始。

自Cisco IOS软件版本10.x起，Cisco路由器支持OLD-CISCO-IP-MIB。有关MIB支持的详细信息，请参阅MIB定位器 (仅注册客户)。

更多信息请参见：

- 配置 IP 服务

- SNMP对象导航器

相关信息

- 简单网络管理协议支持资源

- 技术支持 - Cisco Systems