Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konventionen

Erste Schritte mit ifIndex

Polling-Objekte

Polling-Objekte basierend auf ifIndex

Polling-Objekte, wenn die Tabelle nicht durch ifIndex indiziert oder durch Cross indiziert ist

Korrelation von BRIDGE-MIB zu IF-MIB

Zugehörige Informationen

Einführung

Beim Polling von SNMP-Objekten (Simple Network Management Protocol) müssen Sie manchmal genau wissen, was abgefragt wird. Um dies vollständig zu verstehen, müssen Sie wissen, wie Sie das Objekt, das abgefragt wird, mit dem korrelieren, was Sie abfragen möchten. In diesem Dokument werden die Grundlagen für die Verwendung von Indizes in SNMP zum Gruppieren von Objekten in Tabellen beschrieben.

Voraussetzungen

Anforderungen

Die Leser dieses Dokuments sollten folgende Themen kennen:

- Allgemeine Kenntnisse über SNMP

- Software für die Abfrage von Cisco Geräten über SNMP

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:

- UCD-SNMP Version 4.2

- Cisco Catalyst 5509 mit Cisco IOS® Softwareversion 5.5(7)

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Konventionen

Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.

Erste Schritte mit ifIndex

Eine der ersten Lerninhalte bei SNMP ist ifIndex. Dies ist ein Primärschlüssel aller Objekte. Stellen Sie sich vor, dass alle Schnittstellen (physisch und logisch) zerlegt und mit einem Wert versehen werden. Dieser Wert wird beim Hochfahren eines Geräts zugewiesen und kann nicht geändert werden. Wenn Informationen für diese Schnittstelle abgefragt werden müssen, muss dieser zugewiesene Wert verwendet werden.

IfIndex wird in der IF-MIB (RFC 1213 ) folgendermaßen definiert:

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)

Für jede MIB können Sie schnell feststellen, welche Indexorganisation eine Tabelle organisiert, indem Sie den Tabelleneintrag betrachten:

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 }

Mithilfe einer MIB und eines Tabelleneintrags können Sie festlegen, wie die Tabelle indiziert wird. Der nächste Abschnitt enthält Beispiele für ifIndex.

Polling-Objekte

Polling-Objekte basierend auf ifIndex

Wenn Sie den Befehl snmpwalk ausgeben, um ein ifIndex-basiertes Objekt (ifName) für Port 7/4 am Switch abzufragen, erhalten Sie folgende Ausgabe:

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 der Ausgabe einer Abfrage von ifName (ifDescr auf Routern) wird nach ifName an jede Zeile eine Zahl angefügt. Dies ist der ifIndex, der der tatsächlichen Schnittstelle in derselben Zeile zugewiesen wird. Dies bedeutet, dass der zweiten Zeile der Abfrage, Port 7/4, der ifIndex 11 zugewiesen wird. Wenn Sie Informationen zu Port 7/4 von einem ifIndexed-Objekt erhalten möchten, verwenden Sie einen Index von 11. Dies bedeutet, dass am Ende eines MIB-Objektbezeichners (OID) eine .11 hinzugefügt wird, um die Instanz dieses Objekts abzurufen, die den gleichen ifIndex-Werten entspricht.

Polling-Objekte, wenn die Tabelle nicht durch ifIndex indiziert oder durch Cross indiziert ist

Manchmal werden Tabellen nicht durch ifIndex indiziert, z. B. mit BRIDGE-MIB. In dieser Ausgabe wird die Indizierung untersucht:

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 }

Diese Ausgabe zeigt, dass dot1dBasePortEntry durch dot1dBasePort indiziert wird. Wie wird das zurück zu ifIndex? BRIDGE-MIB greift auf ein Objekt mit dem Namen dot1dBasePortIfIndex zu. Das Objekt wird folgendermaßen definiert:

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 }

Diese Ausgabe zeigt die Korrelation von BRIDGE-MIB zu IF-MIB. Das nächste Beispiel zeigt, wie alles zusammenpasst.

Hinweis: BRIDGE-MIB wird pro VLAN erstellt, daher muss Community "public@vlan-id" für Nicht-VLAN1-Umgebungen verwendet werden.

Korrelation von BRIDGE-MIB zu IF-MIB

Wenn Sie einen Snapwalk auf der BRIDGE-MIB ausgeben, erhalten Sie die nächste Beispielausgabe für einen Index. Verwenden Sie dot1dBasePortIfIndex (.1.3.6.1.2.1.17.1.4.1.2), um ifIndex wieder zuzuordnen. Wenn Sie den ifIndex haben, können Sie mithilfe dieser Methode andere Objekte auf der Grundlage von ifIndex abfragen.

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

Die fettgedruckte Textzeile (17.1.4.1.2.388 = 11) zeigt, dass .388 ein Index ist. Da Sie das dot1dBasePortIfIndex-Objekt von BRIDGE-MIB abgeblendet haben, ist .388 der dot1dBasePortIfIndex. Die 11 in der Ausgabelinie ist tatsächlich der ifIndex. Wenn Sie die Informationen aus dieser Umfrage und aus der vorherigen Umfrage sammeln, können Sie feststellen, dass Port 7/4 einen ifIndex von 11 und einen dot1dBasePortIfIndex (Index für BRIDGE-MIB) von 0,388 aufweist.

Zugehörige Informationen

- Technischer Support - Cisco Systems