Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Introduzione a ifIndex

Polling di oggetti

Polling di oggetti in base a ifIndex

Polling di oggetti se la tabella non è indicizzata da ifIndex o è indicizzata incrociata

Correlazione tra BRIDGE-MIB e IF-MIB

Informazioni correlate

Introduzione

Quando si esegue il polling di oggetti SNMP (Simple Network Management Protocol), a volte è necessario sapere esattamente cosa viene sottoposto a polling. Per comprendere appieno questa condizione, dovete sapere come correlare l'oggetto interpellato a quello che desiderate intervistare. In questo documento viene illustrato come utilizzare gli indici in SNMP per raggruppare gli oggetti in tabelle.

Prerequisiti

Requisiti

Questo documento è utile per conoscere i seguenti argomenti:

- Conoscenze generali di SNMP

- Software utilizzato per interrogare i dispositivi Cisco tramite SNMP

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- UCD SNMP versione 4.2

- Cisco Catalyst 5509 con software Cisco IOS® versione 5.5(7)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Introduzione a ifIndex

Una delle prime cose da imparare, quando si tratta di SNMP, è ifIndex. Questa è una chiave primaria di tutti gli oggetti. Si consideri un modo per suddividere e assegnare un valore a tutte le interfacce (fisiche e logiche). Questo valore viene assegnato durante l'avvio di un dispositivo e non può essere modificato. Se è necessario eseguire il polling di informazioni per l'interfaccia specifica, è necessario utilizzare il valore assegnato.

IfIndex è definito in IF-MIB (RFC 1213 ) nel modo seguente:

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)

Per ogni MIB, un modo rapido per identificare l'indice che organizza una tabella consiste nell'esaminare la voce della tabella:

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 }

Dati un MIB e una voce di tabella, è possibile determinare la modalità di indicizzazione della tabella. Nella sezione successiva vengono forniti esempi di ifIndex.

Polling di oggetti

Polling di oggetti in base a ifIndex

Quando si esegue il comando snmpwalk per eseguire il polling di un oggetto basato su ifIndex (ifName) per la porta 7/4 sullo switch, viene visualizzato questo output:

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.

In questo output generato da un poll di ifName (ifDescr sui router), si noti che a ogni riga è associato un numero, dopo ifName. ifIndex assegnato all'interfaccia effettiva nella stessa riga. Ciò significa che alla seconda riga del polling, port 7/4, viene assegnato ifIndex il valore 11. Se si desidera ottenere informazioni sulla porta 7/4 da un oggetto ifIndexed, utilizzare un indice di 11. Ciò significa aggiungere .11 alla fine di un identificatore di oggetto MIB (OID) per recuperare l'istanza dell'oggetto corrispondente agli stessi valori ifIndex.

Polling di oggetti se la tabella non è indicizzata da ifIndex o è indicizzata incrociata

A volte le tabelle non vengono indicizzate da ifIndex, ad esempio con BRIDGE-MIB. In questo output viene esaminata la modalità di indicizzazione:

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 }

Tale output mostra che dot1dBasePortEntry è indicizzato in base a dot1dBasePort. Come si traduce tutto questo in ifIndex? BRIDGE-MIB accede a un oggetto denominato dot1dBasePortIfIndex. L'oggetto viene definito nel modo seguente:

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 }

Questo output mostra come correlare da BRIDGE-MIB a IF-MIB. Nell'esempio seguente viene illustrato l'adattamento di tutte le caratteristiche.

Nota: BRIDGE-MIB è stato creato per ciascuna vlan, quindi per gli ambienti non vlan1 deve essere utilizzato "public@vlan-id".

Correlazione tra BRIDGE-MIB e IF-MIB

Quando si esegue una snmpwalk su BRIDGE-MIB, si ottiene l'output di esempio successivo per un indice. Utilizzare dot1dBasePortIfIndex (.1.3.6.1.2.1.17.1.4.1.2) per eseguirne il mapping a ifIndex. Una volta ottenuto ifIndex, utilizzarlo per eseguire il polling di altri oggetti in base a 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 riga di testo in grassetto (17.1.4.1.2.388 = 11) indica che .388 è un indice. Poiché è stato eseguito il polling dell'oggetto dot1dBasePortIfIndex da BRIDGE-MIB, .388 è dot1dBasePortIfIndex. L'11 nella riga di output è in realtà l'ifIndex. Se si raccolgono le informazioni da questo e dal sondaggio precedente, è possibile determinare che la porta 7/4 ha un ifIndex di 11 e un dot1dBasePortIfIndex (Indice per BRIDGE-MIB) di 0,388.

Informazioni correlate

- Supporto tecnico – Cisco Systems