IP : Protocole SNMP (Simple Network Management Protocol)

Présentation des valeurs d'index de table dans SNMP

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

En interrogeant des objets du protocole de gestion de réseau simple (SNMP), vous devez parfois connaître exactement l'élément interrogé. Afin de comprendre parfaitement cela, vous devez savoir comment corréler l'objet qui est interrogé avec ce que vous voulez interroger. Ce document couvre les principes fondamentaux de la méthode d'utilisation des index dans le SNMP pour grouper des objets en tables.

Conditions préalables

Conditions requises

Les lecteurs de ce document devraient avoir connaissance des sujets suivants :

  • La connaissance générale du SNMP

  • Logiciel utilisé pour questionner des périphériques de Cisco par l'intermédiaire du SNMP

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Version 4.2 SNMP UCD

  • Cisco Catalyst 5509 avec la version de logiciel 5.5(7) de ½ du ¿  de Cisco IOSïÂ

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions de documents, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Obtenir commencé par l'ifIndex

Une des premières choses à apprendre, quand vous traitez le SNMP, est ifIndex. C'est une clé primaire de tous les objets. Considérez-le une manière dont toutes les interfaces (physiques et logiques) sont décomposé et avez assigné une valeur. Cette valeur est assignée pendant l'amorce d'un périphérique, et elle ne peut être changée. Si n'importe quel besoin d'informations d'être voté pour cette interface spécifique, il doit utiliser cette valeur assignée.

IfIndex est défini dans l'IF-MIB (RFC 1213leavingcisco.com ) de cette manière :

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)

Pour n'importe quel MIB, un moyen rapide de dire quel index organise une table est de regarder l'entrée de table :

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 }

Donné un MIB et une entrée de table, vous pouvez déterminer comment la table est indexée. La section suivante fournit des exemples d'ifIndex.

Objets de vote

Objets de vote basés sur l'ifIndex

Quand vous émettez la commande de snmpwalk de voter un objet basé sur ifIndex (ifName) pour le port 7/4 sur le commutateur, vous obtenez cette sortie :

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.

Dans cette sortie d'un balayage de l'ifName (ifDescr sur des Routeurs), notez qu'il y a un nombre relié à chaque ligne, après ifName. C'est l'ifIndex qui est assigné à l'interface réelle dans la même ligne. Ceci signifie que la deuxième ligne du balayage, le port 7/4, est assignée un ifIndex de 11. Si vous voulez les informations sur le port 7/4 d'un objet ifIndexed, utilisez un index de 11. Ceci signifie additionner un .11 à l'extrémité d'un identifiant d'objet MIB (OID), pour récupérer l'exemple de cet objet qui correspond aux mêmes valeurs d'ifIndex.

Le vote objecte si le Tableau n'est pas indexé par l'ifIndex ou est croix répertoriée

Parfois, des tables ne sont pas indexées par l'ifIndex, comme avec le MIB DE PONT. Cette sortie examine comment elle est indexée :

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 }

Cette sortie prouve que dot1dBasePortEntry est indexé par dot1dBasePort. Comment est-ce que cela se traduit de nouveau à l'ifIndex ? Le MIB DE PONT accède à un objet appelé le dot1dBasePortIfIndex. L'objet est défini de cette manière :

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 }

Cette sortie affiche comment corréler du MIB DE PONT à IF-MIB. L'exemple suivant affiche comment il toutes les adaptations ensemble.

Remarque: Le MIB DE PONT est construit par VLAN, par conséquent la communauté « public@vlan-id » doit être utilisée pour les environnements non-vlan1.

Corréler le MIB DE PONT à IF-MIB

Quand vous émettez un snmpwalk sur le MIB DE PONT, vous obtenez la prochaine sortie témoin pour un index. Employez dot1dBasePortIfIndex (.1.3.6.1.2.1.17.1.4.1.2) pour le tracer de nouveau à l'ifIndex. Une fois que vous avez l'ifIndex, employez-le pour voter d'autres objets basés sur l'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 ligne de texte en gras (17.1.4.1.2.388 = 11) prouve que .388 est un index. Puisque vous avez voté l'objet dot1dBasePortIfIndex du MIB DE PONT, .388 est le dot1dBasePortIfIndex. Les 11 dans la ligne de sortie est réellement l'ifIndex. Si vous recueillez les informations de ce balayage et du balayage précédent, vous pouvez déterminer que le port 7/4 a un ifIndex de 11 et un dot1dBasePortIfIndex (index pour le MIB DE PONT) de .388.


Informations connexes


Document ID: 40700