本文档提供有关如何使用简单网络管理协议(SNMP)在ATM接口上收集网络管理数据的单一参考。 它专门关注Cisco路由器ATM接口。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
ATM包括三层堆栈:ATM适配层(AAL)、ATM层和物理层,如Sonet或T1。每层以稍有不同的方式计算数据包和二进制八位数。相应地,ATM接口在ifTable中出现多次,其中包含以下条目:
物理层,如Sonet
ATM信元层
AAL5层
任何子接口(取决于Cisco IOS软件级别)
以下是说明这些多层的ifTable数据的示例:
# snmpwalk -c public 192.168.1.1 ifDescr IF-MIB::ifDescr.1 = STRING: ATM0 IF-MIB::ifDescr.2 = STRING: Ethernet0 IF-MIB::ifDescr.3 = STRING: ATM0-atm layer IF-MIB::ifDescr.4 = STRING: ATM0.0-atm subif IF-MIB::ifDescr.5 = STRING: ATM0-aal5 layer IF-MIB::ifDescr.6 = STRING: ATM0.0-aal5 layer IF-MIB::ifDescr.7 = STRING: Null0 IF-MIB::ifDescr.8 = STRING: ATM0.1-atm subif IF-MIB::ifDescr.9 = STRING: ATM0.1-aal5 layer IF-MIB::ifDescr.10 = STRING: ATM0.11-atm subif IF-MIB::ifDescr.11 = STRING: ATM0.11-aal5 layer # snmpwalk -c public 192.168.1.1 ifType IF-MIB::ifType.1 = INTEGER: sonet(39) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.3 = INTEGER: atm(37) IF-MIB::ifType.4 = INTEGER: atmSubInterface(134) IF-MIB::ifType.5 = INTEGER: aal5(49) IF-MIB::ifType.6 = INTEGER: aal5(49) IF-MIB::ifType.7 = INTEGER: other(1) IF-MIB::ifType.8 = INTEGER: atmSubInterface(134) IF-MIB::ifType.9 = INTEGER: aal5(49) IF-MIB::ifType.10 = INTEGER: atmSubInterface(134) IF-MIB::ifType.11 = INTEGER: aal5(49)
请参阅SNMP计数器:有关SNMP计数器的更多详细信息,请参阅常见问题。
AAL5协议数据单元(PDU)包含:
八字节RFC 1483封装报头
原始第3层数据包
可变长填充
AAL5报尾的八个字节
可变长度填充使AAL5 PDU总大小为48字节的倍数。AAL5层的二进制八位数仅计数原始第3层数据包的字节和RFC1483报头的八个字节。此级别的数据包计数AAL5 PDU的数量。使用show ATM vc和show interface ATM命令行界面(CLI)计数器,或使用SNMP查看AAL5层信息,以查看以下输出:
# snmpwalk -c public 192.168.1.1 ifDescr | grep aal5 IF-MIB::ifDescr.5 = STRING: ATM0-aal5 layer IF-MIB::ifDescr.6 = STRING: ATM0.0-aal5 layer IF-MIB::ifDescr.9 = STRING: ATM0.1-aal5 layer IF-MIB::ifDescr.11 = STRING: ATM0.11-aal5 layer
AAL5 PDU进一步分割成多个48字节块,然后每个块都提供一个5字节的信元报头,以在ATM层形成一个53字节的ATM信元。
在思科园区ATM交换机上,ATM层的二进制八位数会计算ATM信元的总字节数,而数据包会计算信元数。
在思科路由器上,由于大多数ATM接口的驱动程序存在限制,ATM信元层SNMP计数器无法维护。路由器上ATM子接口的ATM信元层继承了此限制。有关信元计数器的详细信息,请参阅测量ATM PVC的利用率。
在物理层(例如,使用SONET或T1),主接口的SNMP计数器仍代表AAL5 PDU,与show interface ATM命令输出中相同。在本例中,以下是ifTable/ifXTable计数器:
#snmpwalk -c public 192.168.1.1 ifDescr.1 IF-MIB::ifDescr.1 = STRING: ATM0 #snmpwalk -c public 192.168.1.1 ifType.1 IF-MIB::ifType.1 = INTEGER: sonet(39)
非单播、广播和组播数据包计数器在Sonet和AAL5层没有意义;它们不存在或设置为0。
在物理层(例如,使用SONET或T1),可以使用ifTable和ifXTable获取二进制八位数和数据包计数。
ATM、帧中继和虚拟LAN(VLAN)等技术引入了不同类型的接口:虚拟接口或子接口。例如,在ATM接口上,您可能有多个永久虚电路(PVC)。 虽然主接口的整体利用率很重要,但单个子接口上的流量量也很重要。RFC 1573(后来被RFC 2233取代 )引入了子接口稀疏表的概念。稀疏表表示如果子接口的ifTable中的某行在对象不应用于子接口的列中可能没有值。
Cisco IOS软件在版本11.1的ifTable中实现了对子接口的支持。在Cisco IOS软件版本11.1中添加了帧中继和ATM LAN仿真(LANE)子接口支持。在版本12.0(1)T中为Cisco 12000、4x00/M添加了对其他ATM子接口的支持。72xx和75xx平台。每个子接口都用两个ifTable条目表示:一个用于atmSubInterface层(ATM层),一个用于AAL5层。至于主接口,数据包和二进制八位数计数器仅对AAL5层实体可用,因为大多数ATM路由器接口不支持信元层计数。
ifType atmSubInterface(互联网编号指派机构[IANA] ifType number = 134)是为ATM子接口定义的。atm子接口层是虚拟ATM层。与atmSubInterface层对应的接口MIB变量具有与主(物理)接口上的ATM层相同的语义。
以下一致性组适用于atmSubInterface层:
ifGeneralInformationGroup
ifFixedLengthGroup
ifHCFixedLengthGroup
创建ATM子接口时,为atmSubInterface和AAL5层设置这些变量的值:
ifIndex
ifDescr
ifName
ifType
这些变量的值对atmSubInterface和AAL5层的更新相同:
ifSpeed, ifHighSpeed — 在SNMP GET请求期间,使用ATM子接口上配置的带宽更新这些变量。如果子接口上没有配置单独的带宽,则使用主接口的带宽。
ifPhysAddress — 在每次SNMP GET请求期间,此变量会使用子接口的网络服务接入点(NSAP)地址进行更新,以考虑NSAP地址删除的可能性。
ifAdminStatus, ifOperStatus — 这些变量反映子接口的管理和运行状态,并且值由Cisco IOS软件和硬件接口描述符块(IDB)中可用的状态确定。
ifLastChange — 当子接口进入其当前运行状态时,此变量会使用sysUpTime进行更新。
由于当前接口驱动程序中缺少信元层计数器,因此无法为atmSubInterface层维护这些变量:
ifInOctets、ifOutOctets
ifHCInOctets、ifHCOutOctets
如果新ATM端口适配器(PA)的驱动程序提供信元层计数器,则可以实施计数器。
这些变量在ATM层未维护,因此不维护atmSubInterface层:
ifInUcastPkts、ifInNUcastPkts
ifOutUcastPkts、ifOutNUcastPkts
ifInBroadcastPkts、ifOutBroadcastPkts
ifInMulticastPkts、ifOutMulticastPkts
ifInDiscards
ifHCInUcastPkts、ifHCInMulticastPkts、ifHCInBroadcastPkts、
ifHCOutUcastPkts、ifHCOutMulticastPkts、ifHCOutBroadcastPkts
这些变量在atmSubInterface层不会更新,因为无法按VC收集这些统计信息:
ifInErrors
ifOutErrors
ifInUnknownProtos
ifOutDiscards
ifOutQLen
对于ATM子接口,这些变量硬连接到FALSE:
ifPromiscuousMode
ifConnectorPresent
对于每条AAL5 VC的计数器,请使用CISCO-AAL5-MIB,并参阅测量ATM PVC的利用率。如果AAL5 VC是ATM子接口上配置的唯一VC,则可以通过SNMP在ifTable/ifXTable中为该子接口使用AAL5层条目来获取相应的AAL5计数器。AAL5层子接口计数器的绝对值可能反映先前在此子接口上配置并随后被删除或替换的VC的过去状态。通常,这不是问题,因为您通常在计算中使用delta(两个计数器轮询之间的差)。
ATM接口支持在MIB II中定义的通用链路开启和关闭陷阱。此示例输出是在ATM(IMA)网络模块上的ATM反向多路复用中捕获的。它使用debug snmp packet命令查看陷阱的内容。
3640-1.1(config)# interface ATM 2/0 3640-1.1(config-if)# no shutdown 3640-1.1(config-if)# *Mar 1 20:17:24.222: SNMP: Queuing packet to 171.69.102.73 *Mar 1 20:17:24.222: SNMP: V1 Trap, ent products.110, addr 10.10.10.1, gentrap 3, spectrap 0 !--- The gentrap value "3" identifies the LinkUp generic trap. ifEntry.1.1 = 1 ifEntry.2.1 = ATM2/0 ifEntry.3.1 = 18 lifEntry.20.1 = up *Mar 1 20:17:24.290: SNMP: Queuing packet to 171.69.102.73 *Mar 1 20:17:24.290: SNMP: V1 Trap, ent ciscoSyslogMIB.2, addr 10.10.10.1, gentrap 6, spectrap 1 clogHistoryEntry.2.49 = LINK clogHistoryEntry.3.49 = 4 clogHistoryEntry.4.49 = UPDOWN clogHistoryEntry.5.49 = Interface ATM2/0, changed state to up clogHistoryEntry.6.49 = 7304420
发出show snmp命令确认路由器是否发送了陷阱PDU。
3640-1.1# show snmp Chassis: 10526647 55 SNMP packets input 0 Bad SNMP version errors 16 Unknown community name 0 Illegal operation for community name supplied 0 Encoding errors 37 Number of requested variables 0 Number of altered variables 2 Get-request PDUs 37 Get-next PDUs 0 Set-request PDUs 55 SNMP packets output 0 Too big errors (Maximum packet size 1500) 2 No such name errors 0 Bad values errors 0 General errors 39 Response PDUs 16 Trap PDUs
在Cisco IOS软件版本12.2之前,debug snmp packet命令的输出显示ATM子接口上locIfReason对象的NO_SACK_INSTANCE_EXCEPTION值。换句话说,对于ATM子接口,路由器会生成一个陷阱,默认情况下该陷阱包含以下信息:
sysUpTime.0 = 53181 snmpTrapOID.0 = snmpTraps.3 ifEntry.1.64 = 64 ifEntry.2.64 = ATM1/0.1-aal5 layer ifEntry.3.64 = 49 ifEntry.20.64 = NO_SUCH_INSTANCE_EXCEPTION
发生此异常是因为OLD-CISCO-INTERFACES-MIB不支持子接口。Cisco Bug ID CSCdp41317(仅注册客户)通过snmp-server trap link ietf命令解决此问题。此输出现在需要,并符合RFC 2233:
sysUpTime.0 = 46573 snmpTrapOID.0 = snmpTraps.4 ifEntry.1.64 = 64 ifEntry.7.64 = 1 ifEntry.8.64 = 1 ifEntry.2.64 = ATM1/0.1-aal5 layer ifEntry.3.64 = 49
RFC 1695 定义ATM-MIB,它提供ATM和AAL5相关对象,用于管理ATM接口、ATM虚拟链路、ATM交叉连接、AAL5实体和AAL5连接。此MIB将受管对象组织为八组:
ATM接口配置
ATM接口DS3 PLCP
ATM接口TC子层
ATM接口VPL配置
ATM接口VCL配置
ATM VP交叉连接
ATM VC交叉连接
ATM接口AAL5 VCC性能统计信息
Cisco IOS软件版本11.2及更高版本为路由器ATM接口中已提供的许多计数器提供标准ATM-MIB工具。ATM-MIB通过支持多个SNMP SET操作(有关详细信息,请参阅使用SNMP配置ATM虚拟连接 ),提供一些功能来更改设备上的ATM配置。 具有ATM接口的Cisco路由器不支持此ATM-MIB snmp集功能,但您可以将其用于Cisco ATM交换机。还有一些限制。例如,VC/VP与电路仿真服务(CES)端口适配器的伪ATM接口(ATM-P)交叉连接不支持ATM-MIB。
要查找每个产品支持的其他与ATM相关的MIB,请使用Cisco IOS MIB工具,以及特定ATM端口适配器或模块的数据表和配置指南。
以下是路由器通常支持的ATM相关MIB的列表:
以下是Cisco园区ATM交换机通常支持的ATM相关MIB的列表:
此外,请考虑与物理介质相关的MIB,如DS1-MIB、DS3-MIB和SONET-MIB。