Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Introducción a iflndex

Consulta de objetos

Sondeo de objetos basado en ifIndex

Consulta de objetos en caso de tabla no indexada por ifIndex o tabla indexada con referencias cruzadas

Correlación de BRIDGE-MIB con IF-MIB

Información Relacionada

Introducción

Al sondear objetos SNMP (Simple Network Management Protocol), a veces debe saber exactamente qué está sondeando. Para entender completamente esto, debe saber correlacionar el objeto que se está sondeando con lo que quiere sondear. Este documento abarca los fundamentos de cómo utilizar índices en el SNMP para agrupar objetos en tablas.

Prerequisites

Requirements

Quienes lean este documento deben tener conocimiento de los siguientes temas:

- Conocimiento general de SNMP

- Software utilizado para consultar dispositivos Cisco a través de SNMP

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- UCD SNMP versión 4.2

- Cisco Catalyst 5509 con software Cisco IOS® versión 5.5(7)

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Convenciones

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Introducción a iflndex

Una de las primeras cosas que hay que aprender, cuando se trata de SNMP, es ifIndex. Ésta es una clave principal de todos los objetos. Considéralo de una manera en que todas las interfaces (físicas y lógicas) se descomponen y se les asigna un valor. Este valor se asigna durante el arranque de un dispositivo y es posible que no se cambie. Si es necesario sondear alguna información para esa interfaz en particular, debe utilizar ese valor asignado.

IfIndex se define en IF-MIB (RFC 1213 ) de esta manera:

InterfaceIndex ::= TEXTUAL-CONVENTION

DISPLAY-HINT "d"

STATUS       current

DESCRIPTION

"A unique value, greater than zero, for each interface

or interface sub-layer in the managed system.  It is

recommended that values are assigned contiguously

starting from 1.  The value for each interface sub-

layer must remain constant at least from one re-

initialization of the entity's network management

system to the next re-initialization."

SYNTAX       Integer32 (1..2147483647)

Para cualquier MIB, una manera rápida de decir qué índice organiza una tabla es ver la entrada de la tabla:

ifEntry OBJECT-TYPE

SYNTAX      IfEntry

MAX-ACCESS  not-accessible

STATUS      current

DESCRIPTION

"An entry containing management information applicable

to a particular interface."

INDEX   { ifIndex }

::= { ifTable 1 }

Dado un MIB y una entrada de tabla, puede determinar cómo se indexa la tabla. La siguiente sección proporciona ejemplos de ifIndex.

Consulta de objetos

Sondeo de objetos basado en ifIndex

Cuando ejecuta el comando snmpwalk para sondear un objeto basado en ifIndex (ifName) para el puerto 7/4 en el switch, obtiene este resultado:

sj-cse-568: snmpwalk 172.16.99.60 public ifname

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.1 = sc0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = sl0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.3 = VLAN-1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.4 = VLAN-1002

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.5 = VLAN-1004

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.6 = VLAN-1005

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.7 = VLAN-1003

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.8 = 7/1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.9 = 7/2

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.10 = 7/3

!--- This is the relevant line:

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.11 = 7/4

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.12 = 7/5

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.13 = 7/6

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.14 = 7/7

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.15 = 7/8

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.16 = 7/9

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.17 = 7/10

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.18 = 7/11

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.19 = 7/12

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.20 = ATM8/0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.22 = /A

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.23 = /B

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.24 = Nu0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.25 = LEC/ATM8/0.10

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.532 = 3/1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.533 = 3/2

!--- Output suppressed.

En ese resultado de una encuesta de ifName (ifDescr en los routers), observe que hay un número asociado a cada fila, después de ifName. Este es el ifIndex que se asigna a la interfaz real en la misma fila. Esto significa que a la segunda fila de la encuesta, el puerto 7/4, se le asigna un ifIndex de 11. Si desea información sobre el puerto 7/4 de un objeto ifIndexed, utilice un índice de 11. Esto significa agregar un .11 al final de un identificador de objeto MIB (OID), para recuperar la instancia de ese objeto que corresponde a los mismos valores ifIndex.

Consulta de objetos en caso de tabla no indexada por ifIndex o tabla indexada con referencias cruzadas

A veces, las tablas no se indexan por ifIndex, como con BRIDGE-MIB. Este resultado examina cómo se indexa:

dot1dBasePortEntry OBJECT-TYPE

SYNTAX  Dot1dBasePortEntry

ACCESS  not-accessible

STATUS  mandatory

DESCRIPTION

"A list of information for each port of the

bridge."

REFERENCE

"IEEE 802.1D-1990: Section 6.4.2, 6.6.1"

INDEX  { dot1dBasePort }

::= { dot1dBasePortTable 1 }

Ese resultado muestra que dot1dBasePortEntry está indexado por dot1dBasePort. ¿Cómo se traduce esto de nuevo en ifIndex? BRIDGE-MIB tiene acceso a un objeto denominado dot1dBasePortIfIndex. El objeto se define de esta manera:

dot1dBasePortIfIndex OBJECT-TYPE

SYNTAX  INTEGER

ACCESS  read-only

STATUS  mandatory

DESCRIPTION

"The value of the instance of the ifIndex object,

defined in MIB-II, for the interface corresponding

to this port."

::= { dot1dBasePortEntry 2 }

Ese resultado muestra cómo correlacionar de BRIDGE-MIB a IF-MIB. El siguiente ejemplo muestra cómo encaja todo.

Nota: BRIDGE-MIB se genera por vlan, por lo tanto la comunidad "public@vlan-id" se debe utilizar para entornos que no sean vlan1.

Correlación de BRIDGE-MIB con IF-MIB

Cuando ejecuta una snmpwalk en el BRIDGE-MIB, obtiene el siguiente ejemplo de salida para un Índice. Utilice dot1dBasePortIfIndex (.1.3.6.1.2.1.17.1.4.1.2) para volver a asignarlo a ifIndex. Una vez que tenga ifIndex, utilícelo para sondear otros objetos basados en ifIndex.

sj-cse-568: snmpwalk 172.16.99.60 public .1.3.6.1.2.1.17.1.4.1.2

17.1.4.1.2.203 = 671

17.1.4.1.2.204 = 672

17.1.4.1.2.205 = 673

17.1.4.1.2.206 = 674

17.1.4.1.2.207 = 675

17.1.4.1.2.208 = 676

17.1.4.1.2.209 = 677

17.1.4.1.2.210 = 678

17.1.4.1.2.211 = 679

17.1.4.1.2.212 = 680

17.1.4.1.2.213 = 681

17.1.4.1.2.214 = 682

17.1.4.1.2.215 = 683

17.1.4.1.2.216 = 684

17.1.4.1.2.257 = 581

17.1.4.1.2.385 = 8

17.1.4.1.2.386 = 9

17.1.4.1.2.387 = 10

17.1.4.1.2.388 = 11

17.1.4.1.2.389 = 12

17.1.4.1.2.390 = 13

17.1.4.1.2.391 = 14

17.1.4.1.2.392 = 15

17.1.4.1.2.393 = 16

17.1.4.1.2.394 = 17

17.1.4.1.2.395 = 18

17.1.4.1.2.396 = 19

17.1.4.1.2.449 = 22

La línea de texto en negrita (17.1.4.1.2.388 = 11) muestra que .388 es un índice. Como ha sondeado el objeto dot1dBasePortIfIndex desde BRIDGE-MIB, .388 es el dot1dBasePortIfIndex. El 11 en la línea de salida es en realidad el ifIndex. Si recopila la información de esta encuesta y de la anterior, puede determinar que el puerto 7/4 tiene un ifIndex de 11 y un dot1dBasePortIfIndex (Index para BRIDGE-MIB) de .388.

Información Relacionada

- Soporte Técnico - Cisco Systems