II.7.3
L'interopérabilité de SNMP
Dans l'état actuel des spécifications, SNMPv2
est incompatible avec SNMPv1 dans deux domaines clés : les formats
des messages et les opérations de protocole. Les messages SNMPv2
utilisent des formats d'en-tête de PDU (Protocol Data Unit)
différents de ceux des messages SNMPv1. SNMPv2 emploie aussi deux
opérations de protocole non spécifiées dans SNMPv1. En
outre, le RFC 1908 définit deux stratégies de coexistences
SNMPv1/SNMPv2 : les agents proxy et les systèmes d'administration
réseau bilingues.
Le format des messages
SNMPv1
Les messages SNMPv1 sont composés de deux
parties : un en-tête de message et une PDU (Protocol Data Unit)
L'en-tête des messages SNMPv1
Les en-têtes des messages SNMPv1 contiennent deux
champs : Numéro de version et Nom de la communauté
(Community Name). Voici la description de ces champs :
Ø Numéro de version. Spécifie la
version de SNMP
Ø Nom de la communauté. Définit
un environnement d'accès pour un groupe de NMS. Les NMS de la
communauté sont dits exister à l'intérieur du même
domaine administratif. Les noms de la communauté font office de forme
faible d'authentification, car les dispositifs qui ne connaissent pas le nom
correct de la communauté sont exclus des opérations SNMP.
Les PDU SNMPv1
Les PDU de SNMPv1 contiennent une commande spécifique
(Get, Set, etc.) et des opérandes qui indiquent les instances d'objet
impliquées dans la transaction. Les champs des PDU sont variables en
longueur, comme prescrit par ASN.1.
Type de la PDU
|
ID de la requête
|
Statut de l'erreur
|
Indice de l'erreur
|
Liaison des variables
|
Les champs de la PDU de SNMPv1, présentés sont
les suivants :
Ø Type de la PDU. Spécifie le type de la
PDU transmise.
Ø ID de la requête (request ID). Associe
des requêtes SNMP à des réponses.
Ø Statut de l'erreur. Indique une des erreurs
et des types d'erreurs. Seules les opérations de réponses
définissent ce champ.
Ø Indice de l'erreur. Associe une erreur
à une instance d'objet particulière. Seules les opérations
de réponse définissent ce champ. Les autres opérations
définissent ce champ à zéro.
Ø Liaison des variables. Sert de champ de
données à la PDU SNMPv1. Chaque liaison de variable associe une
instance d'objet particulière a sa valeur courante (a l'exception des
requêtes Get et GetNext pour lesquelles la valeur est ignorée).
Le format de la PDU Trap
Entreprise
|
Adresse de l'agent
|
Type de trap générique
|
Code de trap spécifique
|
Indication d'heure
|
Liaison des variables
|
Les champs de la PDU Trap sont les suivants :
Ø Entreprise. Identifie le type de l'objet
administré qui génère le message trap.
Ø Adresse de l'agent. Fournit l'adresse de
l'objet administré qui génère le message trap
Ø Type de trap générique.
Contient un entier représentant l'une des valeurs de trap
prédéfinit en standard (ou trap générique) pour
SNMP.
Ø Code de trap spécifique. Contient un
entier représentant l'une des valeurs de trap pour un constructeur ou
une entreprise particulière (ou trap spécifique).
Ø Indication d'heure. Spécifie la
quantité de temps qui s'est écoulée entre la
dernière réinitialisation réseau et la
génération du trap
Ø Liaison des variables. Le champ
données du PDU Trap de SNMPv1. Chaque liaison de variable associe une
instance d'objet particulière à sa valeur courante.
Le format des
messages SNMPv2
Les messages SNMPv2 sont composés d'un en-tête et
d'une PDU.
L'en-tête des messages
SNMPv2
Les en-têtes des messages SNMPv2 contiennent deux
champs : Numéro de version et Nom de la communauté
(Community Name). Voici la description de ces champs :
Ø Numéro de version. Spécifie la
version de SNMP
Ø Nom de la communauté. Définit
un environnement d'accès pour un groupe de NMS. Les NMS de la
communauté sont dits exister à l'intérieur du même
domaine administratif. Les noms de la communauté font office de forme
faible d'authentification, car les dispositifs qui ne connaissent pas le nom
correct de la communauté sont exclus des opérations SNMP.
Les PDU SNMPv2
SNMPv2 spécifie deux formats de PDU selon
l'opération de protocole de SNMP. Les champs des PDU sont variables en
longueur, comme prescrit par ASN.1.
Type de la PDU
|
ID de la requête
|
Non repeaters
|
Liaison des variables
|
Les champs de la PDU de SNMPv2 sont les suivants :
Ø Type de la PDU. Spécifie le type de la
PDU transmise (Get, GetNext, Inform, Response, Set ou Trap).
Ø ID de la requête. Associe des
requêtes SNMP à des réponses.
Ø Statut de l'erreur. Indique une des erreurs
et des types d'erreurs. Seules les opérations de réponse
définissent ce champ.
Ø Indice de l'erreur. Associe une erreur
à une instance d'objet particulière. Seules les opérations
de réponse définissent ce champ. Les autres opérations
définissent ce champ à zéro.
Ø Liaison des variables. Sert de champ de
données de la PDU SNMPv2. Chaque liaison de variable associe une
instance d'objet particulière à sa valeur courante (à
l'exception des requêtes Get et GetNext pour lesquelles la valeur est
ignorée).
Le format de la PDU GetBulk
Type de la PDU
|
ID de la requête
|
Non repeaters
|
Liaison des variables
|
Les champs de la PDU GetBulk de SNMPv2 sont les
suivants :
Ø PDU type. Identifie la PDU comme étant
une opération GetBulk.
Ø Request ID. Associe des requêtes SNMP
à des réponses.
Ø Non repeaters. Spécifie le nombre
d'instances d'objet du champ Liaisons de variables qui ne doivent pas
être récupérées plusieurs fois à partir du
début de la requête. Ce champ est utilisé lorsque certaines
des instances d'objets scalaires ne comprennent qu'une variable.
Ø Max répétitions. Définit
le nombre maximal de fois où d'autres variables situées
au-delà de celle spécifiées dans le champ Non repeaters
doivent être récupérées.
Ø Liaison des variables. Sert de champ de
données de la PDU SNMPv2. Chaque liaison de variables associe une
instance d'objet particulière à sa valeur courante (à
l'exception des requêtes Get et GetNext pour lesquelles la valeur est
ignorée).
|