Groupe de travail Réseau	K. McCloghrie, Hughes LAN Systems	
Request For Comments : 1156	M. Rose, Performance Systems International	
RFC rendue obsolète : RFC 1066	mai 1990	
Traduction Claude Brière de L’Isle		

Base de données d’informations de gestion pour la gestion de réseau des internets fondés sur TCP/IP

Table des matières

1	Statut du présent mémoire
2	Déclaration de politique de l’IAB
3	Introduction
4	Objets
4.1	Groupes d’objets
4.2	Format de définitions
5	Définitions d’objet
5.1	Groupe System
5.2	Groupe Interfaces
5.2.1	Tableau des interfaces
5.3	Groupe Address Translation
5.4	Groupe IP
5.4.1	Tableau des adresses IP
5.4.2	Tableau d’acheminement IP
5.5	Groupe ICMP
5.6	Groupe TCP
5.7	Groupe UDP
5.8	Groupe EGP
5.8.1	Tableau des voisins EGP
6	Définitions
7	Remerciements
8	Références
Considérations pour la sécurité
Adresse des auteurs

1	Statut du présent mémoire

La présente RFC est une nouvelle version de la RFC 1066, avec des modifications aux sections "Statut du présent mémoire", "Déclaration de politique de l’IAB", et "Introduction" plus quelques corrections typographiques mineures. Le contenu technique du document est inchangé par rapport à la RFC 1066.

Le présent mémoire donne la version initiale de la Base de données d’informations de gestion (MIB, Management Information Base) à utiliser avec les protocoles de gestion de réseau dans les internets fondés sur TCP/IP à court terme. En particulier, conjointement avec ses RFC sœurs qui décrivent la structure des informations de gestion ainsi que le protocole de gestion de réseau initial, ces documents fournissent une architecture et un système simple et pratique pour la gestion des internets fondés sur TCP/IP et en particulier l’Internet.

Le présent mémoire spécifie un protocole normalisé pour la communauté de l’Internet. Les mises en œuvre de TCP/IP dans l’Internet qui disposent de la gestion de réseau sont invitées à adopter et mettre en œuvre la présente spécification.

Le Bureau des activités de l’Internet recommande que toutes les mises en œuvre IP et TCP disposent de la gestion de réseau. Cela implique la mise en œuvre du MIB Internet (RFC-1156) et d’au moins un des deux protocoles de gestion recommandés, SNMP (RFC-1157) ou CMOT (RFC-1095). Il vaut de noter que, pour l’instant, SNMP est une norme de l’Internet à part entière et que CMOT est un projet de norme. Voir aussi les RFC sur les exigences pour les hôtes et les routeurs pour des informations plus spécifiques sur l’applicabilité de cette norme.

Prière de se référer à la dernière édition de la RFC "Normes officielles de protocoles de l’IAB" pour des informations actuelles sur l’état et le statut des normes de protocole de l’Internet. La distribution du présent mémoire n’est soumise à aucune restriction.

2	Déclaration de politique de l’IAB

Cette spécification du MIB est la première édition d’un document évolutif qui définit les variables nécessaires pour la surveillance et le contrôle des divers composants de l’Internet. Tous les groupes des variables définies ne sont pas obligatoires pour tous les composants de l’Internet.

Par exemple, le groupe EGP est obligatoire pour les routeurs qui utilisent EGP mais pas pour les hôtes qui ne devraient pas fonctionner avec EGP. De même, le groupe TCP est obligatoire pour les hôtes qui fonctionnent avec TCP mais pas pour les routeurs qui ne fonctionnent pas avec ce protocole. Ce qui EST obligatoire, cependant, est que toutes les variables d’un groupe soient prises en charge si un élément du groupe est pris en charge.

Il est prévu que des groupes et des variables de MIB supplémentaires soient définis au fil du temps pour s’accommoder des besoins de surveillance et de contrôle de nouveaux composants de l’Internet ou du changement d’anciens composants. Le groupe de travail continuera d’améliorer la présente spécification.

3	Introduction
Comme mentionné dans la RFC 1052, Recommandations de l’IAB pour le développement des normes de gestion de réseau de l’Internet [1], Le Bureau des activités de l’Internet (IAB, Internet Activities Board) a demandé au groupe de travail de l’ingénierie de l’Internet (IETF, Internet Engineering Task Force) de créer deux groupes de travail dans le domaine de la gestion de réseau. Un groupe était chargé de la poursuite de la spécification et de la définition des éléments à inclure dans la base de données d’informations de gestion. L’autre était chargé de définir les modifications au protocole simple de gestion de réseau (SNMP, Simple Network Management Protocol) pour s’accommoder des besoins à court terme des communautés de fabricants et opérateur de réseaux. À long terme, l’utilisation du cadre de gestion de réseau de l’OSI était à examiner en prenant pour base les cadres du CMIS/CMIP [2,3] de l’ISO. Deux documents ont été produits pour définir les informations de gestion : la RFC 1065, qui a défini la structure des informations de gestion (SMI) [4], et la RFC 1066, qui a défini la base de données d’informations de gestion (MIB) [5]. Ces deux documents ont été conçus de façon à être compatibles à la fois avec SNMP et le cadre de gestion de réseau OSI.

Cette stratégie a été assez heureuse à court terme : la technologie de gestion de réseau fondée sur Internet a été mise en chantier, par les deux communautés de la recherche et de l’industrie, en quelques mois. Il en est résulté que des portions de la communauté de l’Internet sont devenues accessibles à la gestion de réseau en peu de temps.

Comme exposé dans la RFC 1109, Rapport du second groupe ad hoc de révision de la gestion de réseau [6], les exigences encadrant SNMP et la gestion de réseau OSI étaient plus différentes qu’on ne le pensait a priori. À ce titre, l’exigence de la compatibilité entre le SMI/MIB et les deux cadres a été suspendue.

L’IAB avait conçu SNMP, la SMI, et la MIB initiale de l’Internet comme étant des "protocoles standard" avec le statut de "recommandé". Par cette action, l’IAB recommande que toutes les mises en œuvre IP et TCP soient accessibles à la gestion de réseau et que les mises en œuvre accessibles à la gestion de réseau adoptent et mettent en œuvre la SMI, la MIB, et SNMP.

À ce titre, le cadre actuel de gestion de réseau pour les internets fondés sur TCP/IP comporte : la structure et l’identification des informations de gestion pour les Internets fondés sur TCP/IP, qui décrivent comment les objets gérés contenus dans la MIB sont définis, sont établies dans la RFC 1155 [7] ; la base de données d’informations de gestion pour la gestion de réseau des internets fondés sur TCP/IP, qui décrit les objets gérés contenus dans la MIB est établie dans le présent mémoire  ; et le protocole simple de gestion de réseau, qui définit le protocole utilisé pour gérer ces objets, est établi dans la RFC 1157 [8].

L’IAB a aussi enjoint au groupe de travail d’être "extrêmement attentif à la nécessité de garder SNMP simple," et a recommandé que le groupe de travail sur le MIB prenne comme point de départ les définitions de MIB qui se trouvaient dans la RFC 1024, Systèmes de gestion d’entité de haut niveau (HEMS, High-Level Entity Management Systems) [9], dans la spécification SNMP initiale [10], et dans les mémoires sur CMIS/CMIP [11,12].

Et donc, la liste des objets gérés définie ici a été déduite en ne prenant que les éléments qui sont considérés comme essentiels. Comme de tels éléments sont essentiels, il n’est pas nécessaire de permettre que la mise en œuvre des objets individuels soit facultative. Au lieu de cela, toute mise en œuvre conforme contiendra tous les objets applicables (voir ci-dessous) définis dans le présent mémoire.

Cette approche qui ne retient que les objets essentiels N’EST PAS restrictive, car le SMI défini dans le mémoire conjoint fournit trois mécanismes d’extensibilité : un, l’ajout de nouveaux objets standard par la définition de nouvelles versions de MIB ; deux, l’ajout d’objets largement disponibles mais non standard à travers le sous-arbre multilatéral ; et trois, l’ajout d’objets privés au moyen du sous-arbre entreprises. De tels objets supplémentaires peuvent être utilisés non seulement pour des éléments spécifiques d’un fabricant, mais aussi pour l’expérimentation en tant que nécessaire pour approfondir les connaissances sur les autres objets qui seraient essentiels.

Le principal critère pour qu’un objet soit considéré comme essentiel est d’être contenu dans toutes les définitions de MIB référencées ci-dessus. Quelques autres objets ont été inclus, mais seulement lorsque le groupe de travail MIB a estimé qu’ils étaient vraiment essentiels. La liste détaillée des critères auxquels devaient satisfaire les inclusions potentielles dans ce MIB (initial) était :

1)	Un objet doit être essentiel pour la gestion des fautes ou de la configuration.

2)	Seuls les objets à faible contrôle sont permis (par faible, on veut dire qu’y toucher ne peut causer que des dommages limités). Ce critère reflète le fait que les protocoles de gestion actuels ne sont pas suffisamment sécurisés pour faire des opérations de contrôle plus puissantes.

3)	Il doit être d’utilisation courante et d’une utilité évidente .

4)	Il a été essayé de limiter le nombre des objets à environ une centaine pour faciliter aux fabricants la pleine instrumentation de leur logiciel.

5)	Pour éviter des variables redondantes, il a été exigé qu’aucun objet ne soit inclus si il peut être déduit d’autre éléments de MIB.

6)	Les objets spécifiques d’une mise en œuvre (par exemple, BSD UNIX) ont été exclus.

7)	Il y a eu accord pour éviter les sections de code critiques lourdement instrumentées. La ligne directrice générale a été d’un compteur par section critique et par couche.

4	Objets

On accède aux objets gérés via une mémoire d’informations virtuelle, appelée la base de données d’informations de gestion (MIB, Management Information Base). Les objets dans la MIB sont définis à l’aide de la notation de syntaxe abstraite n° 1 (ASN.1, Abstract Syntax Notation One) [13].

Les mécanismes utilisés pour décrire ces objets sont spécifiés dans le mémoire conjoint. En particulier, chaque objet a un nom, une syntaxe, et un codage. Le nom est un identifiant d’objet, un nom alloué administrativement, qui spécifie un type d’objet. Le type d’objet joint à une instance d’objet sert à identifier de façon univoque une instanciation spécifique de l’objet. Pour le confort de lecteur humain, on utilise souvent une chaîne textuelle, appelée un OBJECT DESCRIPTOR, pour désigner aussi le type d’objet.

La syntaxe d’un type d’objet définit la structure des données abstraite correspondant à ce type d’objet. Le langage ASN.1 est utilisé à cette fin. Cependant, le mémoire conjoint restreint délibérément les constructions ASN.1 qui peuvent être utilisées. Ces restrictions sont explicitement faites dans un souci de simplification.

Le codage d’un type d’objet est simplement la façon dont le type d’objet est représenté en utilisant la syntaxe du type d’objet. La façon dont le type d’objet est représenté lors de sa transmission sur le réseau est implicitement liée à la notion de sa syntaxe et de son codage. Le présent mémoire spécifie l’utilisation des règles de codage de base de l’ASN.1 [14].

4.1	Groupes d’objets

Comme cette liste des objets gérés ne contient que les éléments essentiels, il n’est pas besoin de permettre que des objets individuels soient facultatifs. Les objets sont rangés dans les groupes suivants :
- Système
- Interfaces
- Traduction d’adresse
- IP
- ICMP
- TCP
- UDP
- EGP

Il y avait deux raisons pour définir ces groupes : un, de fournir le moyen d’allouer des identifiants d’objet ; deux, de fournir une méthode pour que les mises en œuvre d’agents gérés sachent quels objets elles doivent mettre en œuvre. Cette méthode est la suivante : si la sémantique d’un groupe est applicable à une mise en œuvre, elle doit alors mettre en œuvre tous les objets de ce groupe. Par exemple, une mise en œuvre ne doit mettre en œuvre le groupe EGP que si et seulement si elle met en œuvre le protocole EGP.

4.2	Format de définitions

La section suivante contient la spécification de tous les types d’objet contenus dans la MIB. Suivant les conventions du mémoire conjoint, les types d’objet sont définis en utilisant les champs suivants :

OBJET :
Nom textuel, appelé OBJECT DESCRIPTOR (descripteur d’objet), pour le type d’objet, avec son OBJECT IDENTIFIER (identifiant d’objet) correspondant.

Syntaxe :
La syntaxe abstraite pour le type d’objet, présentée à l’aide de l’ASN.1. Cela doit se résoudre en une instance du type ASN.1 ObjectSyntax défini dans le SMI.

Définition :
Une description textuelle de la sémantique du type d’objet. Les mises en œuvre devraient s’assurer que leur interprétation du type d’objet satisfait à cette définition car cette MIB est destinée à être utilisée dans des environnements de matériels d’origines diverses. À ce titre, il est vital que les types d’objet aient une signification cohérente dans toutes les machines.

Accès :
lecture-seule, lecture-écriture, écriture-seule, ou non-accessible.

Statut :
Obligatoire, facultatif, ou obsolète.

5	Définitions d’objet

RFC1156-MIB

DEFINITIONS ::= BEGIN

IMPORTS
	mgmt, OBJECT-TYPE, NetworkAddress, IpAddress,
	Compteur, Gabarit, TimeTicks
	FROM RFC1155-SMI;

mib	OBJECT IDENTIFIER	 ::= { mgmt 1 }	
system	OBJECT IDENTIFIER	::= { mib 1 }	
interfaces	OBJECT IDENTIFIER	::= { mib 2 }	
at	OBJECT IDENTIFIER	::= { mib 3 }	
ip	OBJECT IDENTIFIER	::= { mib 4 }	
icmp	OBJECT IDENTIFIER	::= { mib 5 }	
tcp	OBJECT IDENTIFIER	::= { mib 6 }	
udp	OBJECT IDENTIFIER	::= { mib 7 }	
egp	OBJECT IDENTIFIER	::= { mib 8 }	

END

5.1	Groupe System

La mise en œuvre du groupe System est obligatoire pour tous les systèmes.

OBJET :	sysDescr { system 1 }
Syntaxe :	OCTET STRING (chaîne d’octets)
Définition : 	Description textuelle de l’entité. Cette valeur devrait inclure le nom complet et l’identification de la version du type de matériel du système, le logiciel du système d’exploitation, et le logiciel de réseautage. Il est obligatoire que cela ne contienne que des caractères ASCII imprimables.
Accès :	lecture-seule.
Statut :	obligatoire

OBJET :	sysObjectID { system 2 }
Syntaxe :	OBJECT IDENTIFIER
Définition : 	Identification d’autorité du fabricant du sous-système de gestion de réseau contenu dans l’entité. Cette valeur est allouée au sein du sous-arbre enterprises du SMI (1.3.6.1.4.1) et fournit un moyen facile et sans ambiguïté pour déterminer "quelle sorte de boîte" est gérée. Par exemple, si au fabricant "Flintstones, Inc." a été alloué les sous-arbre 1.3.6.1.4.1.42, il peut allouer l’identifiant 1.3.6.1.4.1.42.1.1 à son "Routeur Fred".
Accès :	lecture-seule.
Statut :	obligatoire

OBJET :	sysUpTime { system 3 }
Syntaxe :	TimeTicks
Définition : 	Temps écoulé (en centièmes de seconde) depuis la dernière réinitialisation de la portion de système de gestion de réseau.
Accès :	lecture-seule.
Statut :	obligatoire.

5.2	Groupe Interfaces

La mise en œuvre du groupe Interfaces est obligatoire pour tous les systèmes.

OBJET : 	ifNumber { interfaces 1 }
Syntaxe :	ENTIER (entier)
Définition : 	Nombre des interfaces réseau (sans considération de leur état actuel) sur lesquelles le système peut envoyer/recevoir des datagrammes IP.
Accès :	lecture-seule.
Statut :	obligatoire.

5.2.1	Tableau des interfaces

OBJET :	ifTable { interfaces 2 }
Syntaxe :	SEQUENCE OF IfEntry
Définition : 	Liste des entrées d’interface. Le nombre des entrées est donné par la valeur de ifNumber.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	ifEntry { ifTable 1 }
Syntaxe : 	IfEntry ::= SEQUENCE {
	ifIndex
	ENTIER,
	ifDescr
	OCTET STRING,
	ifType
	ENTIER,
	ifMtu
	ENTIER,
	ifSpeed
	Gabarit,
	ifPhysAddress
	OCTET STRING,
	ifAdminStatus
	ENTIER,
	ifOperStatus
	ENTIER,
	ifLastChange
	TimeTicks,
	ifInOctets
	Compteur,
	ifInUcastPkts
	Compteur,
	ifInNUcastPkts
	Compteur,
	ifInDiscards
	Compteur,
	ifInErrors
	Compteur,
	ifInUnknownProtos
	Compteur,
	ifOutOctets
	Compteur,
	ifOutUcastPkts
	Compteur,
	ifOutNUcastPkts
	Compteur,
	ifOutDiscards
	Compteur,
	ifOutErrors
	Compteur,
	ifOutQLen
	Gabarit
	}
Définition : 	Entrée d’interface contenant des objets au niveau sous-réseau et en dessous pour une interface particulière.
Accès :	lecture-écriture.
Statut :	obligatoire.

Nous considérons maintenant les composants individuels de chaque entrée d’interface :

OBJET :	ifIndex { ifEntry 1 }
Syntaxe :	ENTIER
Définition : 	Une valeur unique pour chaque interface. Sa gamme de valeurs va de 1 à la valeur de ifNumber. La valeur de chaque interface doit rester constante au moins d’une réinitialisation du système de gestion de réseau de l’entité à la prochaine réinitialisation.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifDescr { ifEntry 2 }
Syntaxe :	OCTET STRING
Définition : 	Chaîne de texte contenant des informations sur l’interface. Cette chaîne devrait comporter le nom du fabricant, le nom du produit et la version du matériel d’interface. La chaîne est destinée à la présentation à l’homme ; elle ne doit pas contenir autre chose que des caractères ASCII imprimables.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifType { ifEntry 3 }
Syntaxe :	ENTIER {
	other(1),	-- aucun de ceux qui suivent
	regular1822(2),
	hdh1822(3),
	ddn-x25(4),
	rfc877-x25(5),
	ethernet-csmacd(6),
	iso88023-csmacd(7),
	iso88024-tokenBus(8),
	iso88025-tokenRing(9),
	iso88026-man(10),
	starLan(11),
	proteon-10MBit(12),
	proteon-80MBit(13),
	hyperchannel(14),
	fddi(15),
	lapb(16),
	sdlc(17),
	t1-carrier(18),
	cept(19), 	-- équivalent européen du T-1
	basicIsdn(20),	primaryIsdn(21),
	-- série propriétaire
	propPointToPointSerial(22)
	}
Définition : 	Le type d’interface, distingué selon le ou les protocoles physique/liaison/réseau immédiatement "en dessous" de IP dans la couche de protocoles.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifMtu { ifEntry 4 }
Syntaxe :	ENTIER
Définition : 	Taille du plus grand datagramme IP qui peut être envoyé/reçu sur l’interface, spécifié en octets.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifSpeed { ifEntry 5 }
Syntaxe :	Gabarit
Définition : 	Estimation de la bande passante actuelle de l’interface en bits par seconde. Pour les interfaces dont la bande passante ne varie pas ou celles pour lesquelles aucune estimation précise ne peut être faite, cet objet devrait contenir la bande passante nominale.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifPhysAddress { ifEntry 6 }
Syntaxe :	OCTET STRING
Définition : 	Adresse de l’interface à la couche de protocole immédiatement "en dessous" de IP dans la couche de protocoles. Pour les interfaces qui n’ont pas une telle adresse (par exemple, une ligne de série), cet objet devrait contenir une chaîne d’octets de longueur zéro.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifAdminStatus { ifEntry 7 }
Syntaxe :	ENTIER {
	up(1),	-- prêt à passer les paquets
	down(2),
	testing(3)	-- un mode d’essai quelconque
	}
Définition : 	État souhaité de l’interface. L’état testing(3) indique qu’aucun paquet opérationnel ne peut être passé.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	ifOperStatus { ifEntry 8 }
Syntaxe :	ENTIER {
	up(1),	-- prêt à passer les paquets
	down(2),
	testing(3)	-- un mode d’essai quelconque
	}
Définition : 	État de fonctionnement actuel de l’interface. L’état testing(3) indique qu’aucun paquet opérationnel ne peut être passé.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifLastChange { ifEntry 9 }
Syntaxe :	TimeTicks
Définition : 	Valeur de sysUpTime au moment où l’interface est entrée dans son état de fonctionnement actuel. Si elle0 est entrée dans l’état actuel avant la dernière réinitialisation du sous-système local de gestion de réseau, cet objet contient alors une valeur de zéro.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifInOctets { ifEntry 10 }
Syntaxe : 	Compteur
Définition : 	Nombre total d’octets reçus sur l’interface, y compris les caractères de tramage.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ifInUcastPkts  { ifEntry 11 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets en envoi individuel (sous réseau) livrés à un protocole de couche supérieure.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ifInNUcastPkts { ifEntry 12 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets non en envoi individuel (c’est-à-dire en diffusion de sous-réseau ou en diffusion groupée de sous-réseau) livrés à un protocole de couche supérieure.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ifInDiscards { ifEntry 13 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets entrants qu’on a choisi d’éliminer bien qu’aucune erreur n’ait été détectée pour empêcher leur livraison à un protocole de couche supérieure. Une raison possible pour l’élimination de tels paquets pourrait être de libérer de l’espace mémoire.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ifInErrors { ifEntry 14 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets entrants qui contenaient des erreurs les empêchant d’être livrables à un protocole de couche supérieure.
Accès : lecture-seule.
Statut : obligatoire.

OBJET :	ifInUnknownProtos { ifEntry 15 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets reçus via l’interface qui ont été éliminés à cause d’un protocole inconnu ou non pris en charge.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ifOutOctets { ifEntry 16 }
Syntaxe :	Compteur
Définition : 	Nombre d’octets transmis hors de l’interface, y compris les caractères de tramage.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET :	ifOutUcastPkts { ifEntry 17 }
Syntaxe : 	Compteur
Définition : 	Nombre total de paquets dont les protocoles de couche supérieure ont demandé qu’ils soient transmis à une adresse de sous réseau en envoi individuel, y compris ceux qui ont été éliminés ou non envoyés.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ifOutNUcastPkts { ifEntry 18 }
Syntaxe : 	Compteur
Définition : 	Nombre total de paquets dont les protocoles de niveau supérieur ont demandé qu’ils soient transmis à une adresse non en envoi individuel (c’est-à-dire, une diffusion ou diffusion groupée de sous-réseau) y compris ceux qui ont été éliminés ou non envoyés.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET : 	ifOutDiscards { ifEntry 19 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets sortants qu’il a été choisi d’éliminer bien qu’aucune erreur n’ait été détectée pour empêcher qu’ils soient transmis. Une raison possible de l’élimination de tels paquets pourrait être de libérer de l’espace mémoire.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET :	ifOutErrors { ifEntry 20 }
Syntaxe : 	Compteur
Définition : 	Nombre de paquets sortants qui n’ont pu être transmis à cause d’erreurs.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET : 	ifOutQLen { ifEntry 21 }
Syntaxe : 	Gabarit
Définition : 	Longueur de la file d’attente des paquets sortants (en paquets).
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.3	Groupe Address Translation

La mise en œuvre du groupe Address Translation (traduction d’adresse) est obligatoire pour tous les systèmes.

Le groupe Address Translation contient un tableau qui est l’union à travers toutes les interfaces des tableaux de traduction pour convertir une NetworkAddress (par exemple, une adresse IP) en une adresse spécifique du sous-réseau. Par manque d’un meilleur terme, le présent document se réfère à une telle adresse spécifique du sous-réseau comme une adresse "physique".
Des exemples de tels tableaux de traduction sont : pour un support en diffusion qui utilise ARP, le tableau de traduction est équivalent à la mémoire cache ARP ; ou, sur un réseau X.25 où une traduction non algorithmique en adresses X.121 est nécessaire, le tableau de traduction contient les équivalences des NetworkAddress en adresses X.121.

OBJET : 	atTable { at 1 }
Syntaxe : 	SEQUENCE OF AtEntry
Définition : 	Les tableaux de traduction d’adresse contiennent les équivalences de NetworkAddress en adresses "physiques". Certaines interfaces n’utilisent pas de tableaux de traduction pour déterminer les équivalences d’adresse (par exemple, DDN-X.25 a une méthode algorithmique) ; si toutes les interfaces sont de ce type, le tableau de traduction d’adresses est alors vide, c’est à dire, a zéro entrée.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	atEntry { atTable 1 }
Syntaxe : 	AtEntry ::= SEQUENCE {
	atIfIndex
	ENTIER,
	atPhysAddress
	OCTET STRING,
	atNetAddress
	NetworkAddress
	}
Définition : 	Chaque entrée contient une équivalence NetworkAddress à adresse "physique".
Accès :	lecture-écriture.
Statut :	obligatoire.

Considérons maintenant les composants individuels de chaque entrée du tableau de traduction d’adresse :

OBJET :	atIfIndex { atEntry 1 }
Syntaxe :	ENTIER
Définition : 	Interface sur laquelle cette équivalence d’entrée est effective. L’interface identifiée par une valeur particulière de cet index est la même interface que celle identifiée par la même valeur de ifIndex.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	atPhysAddress { atEntry 2 }
Syntaxe :	OCTET STRING
Définition :	Adresse "physique" dépendante du support.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	atNetAddress { atEntry 3 }
Syntaxe :	NetworkAddress
Définition : 	NetworkAddress (par exemple, adresse IP) correspondant à l’adresse "physique" dépendant du support.
Accès :	lecture-écriture.
Statut :	obligatoire.

5.4	Groupe IP

La mise en œuvre du groupe IP est obligatoire pour tous les systèmes.

OBJET :	ipForwarding { ip 1 }
Syntaxe :	ENTIER {
	gateway(1),	-- l’entité transmet les datagrammes
	host(2)	-- l’entité NE TRANSMET PAS les datagrammes
	}
Définition : 	Indique si cette entité agit comme routeur IP par rapport à la transmission des datagrammes reçus par l’entité, mais non adressés à elle. Les routeurs IP transmettent les datagrammes ; les hôtes ne le font pas (sauf ceux acheminés de source via l’hôte).
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipDefaultTTL { ip 2 }
Syntaxe :	ENTIER
Définition : 	Valeur par défaut insérée dans le champ Time-To-Live (durée de vie) de l’en-tête IP des datagrammes originaires de cette entité, chaque fois qu’une valeur de TTL n’est pas fournie par le protocole de couche transport.
Accès :	lecture-écriture.
Statut :	obligatoire.

OBJET :	ipInReceives { ip 3 }
Syntaxe :	Compteur
Définition : 	Nombre total de datagrammes d’entrée reçus des interfaces, y compris ceux reçus par erreur.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipInHdrErrors { ip 4 }
Syntaxe :	Compteur
Définition : 	Nombre de datagrammes entrants éliminés du fait d’erreurs dans leurs en-têtes IP, y compris de mauvaises sommes de contrôle, discordance de numéro de version, autres erreurs de format, durée de vie dépassée, erreurs découvertes dans le traitement de leurs options IP, etc.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipInAddrErrors { ip 5 }
Syntaxe :	Compteur
Définition : 	Nombre de datagrammes entrants éliminés parce que l’adresse IP du champ destination de leur en-tête IP n’est pas une adresse valide pour la réception à cette entité. Ce compte inclut les adresses invalides (par exemple, 0.0.0.0) et les adresses de classes non acceptées (par exemple, classe E). Pour les entités qui ne sont pas des routeurs IP et donc ne transmettent pas les datagrammes, ce compteur inclut les datagrammes éliminés parce que l’adresse de destination n’est pas une adresse locale.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipForwDatagrams { ip 6 }
Syntaxe :	Compteur
Définition : 	Nombre de datagrammes entrants pour lesquels cette entité n’était pas la destination IP finale, suite auxquels a été faite une tentative de trouver une route pour les transmettre à cette destination finale. Dans les entités qui n’agissent pas comme routeur IP, ce compteur n’inclura que les paquets acheminés de source via cette entité, et dont le traitement de l’option Source-Route a réussi.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipInUnknownProtos { ip 7 }
Syntaxe :	Compteur
Définition : 	Nombre de datagrammes adressés localement bien reçus mais éliminés à cause d’un protocole inconnu ou non accepté.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipInDiscards { ip 8 }
Syntaxe :	Compteur
Définition : 	Nombre de datagrammes IP entrants pour lesquels aucun problème n’a été rencontré pour empêcher la poursuite de leur traitement, mais qui ont été éliminés (par exemple, par manque d’espace mémoire). Noter que ce compteur n’inclut aucun datagramme éliminé lors de l’attente du réassemblage.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipInDelivers { ip 9 }
Syntaxe :	Compteur
Définition : 	Nombre total de datagrammes entrants bien livrés aux protocoles d’utilisateur IP (y compris ICMP).
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	ipOutRequests { ip 10 }
Syntaxe : 	Compteur
Définition :
Nombre total de datagrammes IP que les protocoles d’utilisateur IP locaux (y compris ICMP) ont fournis à IP dans des demandes de transmission. Noter que ce compteur n’inclut aucun datagramme compté dans ipForwDatagrams.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ipOutDiscards { ip 11 }
Syntaxe : 	Compteur
Définition : 	Nombre de datagrammes IP entrants pour lesquels aucun problème n’a été rencontré pour empêche leur transmission à leur destination, mais qui ont été éliminés (par exemple, par manque d’espace mémoire). Noter que ce compteur inclura des datagrammes comptés dans ipForwDatagrams si un tel paquet satisfait aux critères (discrétionnaires) d’élimination.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET :	ipOutNoRoutes { ip 12 }
Syntaxe : 	Compteur
Définition : 	Nombre de datagrammes IP éliminés parce qu’aucune route n’a pu être trouvée pour les transmettre à leur destination. Noter que ce compteur inclut tout paquet compté dans ipForwDatagrams qui satisfait ce critère "no-route".
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipReasmTimeout { ip 13 }
Syntaxe : 	ENTIER
Définition : 	Nombre maximum de secondes pendant lesquelles le fragments reçus sont détenus en attente de réassemblage à cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ipReasmReqds { ip 14 }
Syntaxe : 	Compteur
Définition :	Nombre de fragments IP reçus qui ont besoin d’être réassemblés à cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipReasmOKs { ip 15 }
Syntaxe : 	Compteur
Définition : 	Nombre de datagrammes IP réassemblés avec succès.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipReasmFails { ip 16 }
Syntaxe : 	Compteur
Définition : 	Nombre de défaillances détectées par l’algorithme de réassemblage IP (quelle que soit la cause : temporisation dépassée, erreurs, etc.). Noter que ceci n’est pas nécessairement un compte des fragments IP éliminés car certains algorithmes (notamment ceux de la RFC 815) peuvent perdre la trace du nombre de fragments en les combinant à mesure de leur réception.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipFragOKs { ip 17 }
Syntaxe : 	Compteur
Définition :	Nombre de datagrammes IP fragmentés avec succès à cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ipFragFails { ip 18 }
Syntaxe : 	Compteur
Définition : 	Nombre de datagrammes IP éliminés parce qu’il était nécessaire de les fragmenter à cette entité mais cela n’a pas été possible, par exemple, parce que leur fanion "Ne pas fragmenter" était mis.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipFragCreates { ip 19 }
Syntaxe : 	Compteur
Définition : 	Nombre de fragments de datagrammes IP qui ont été générés par suite de la fragmentation à cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.4.1	Tableau des adresses IP

Le tableau Ip Address contient les informations d’adressage IP de cette entité.

OBJET :	ipAddrTable { ip 20 }
Syntaxe : 	SEQUENCE OF IpAddrEntry
Définition : 	Tableau des informations d’adressage pertinentes pour les adresses IP de cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipAddrEntry { ipAddrTable 1 }
Syntaxe : 	IpAddrEntry ::= SEQUENCE {
	ipAdEntAddr
	IpAddress,
	ipAdEntIfIndex
	ENTIER,
	ipAdEntNetMask
	IpAddress,
	ipAdEntBcastAddr
	ENTIER
	}
Définition : 	Informations d’adressage pour une des adresses IP de cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipAdEntAddr  { ipAddrEntry 1 }
Syntaxe : 	IpAddress
Définition :	Adresse IP à laquelle appartiennent les informations d’adressage de l’entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipAdEntIfIndex  { ipAddrEntry 2 }
Syntaxe : 	ENTIER
Définition : 	Valeur d’indice qui identifie de façon univoque l’interface à laquelle cette entrée est applicable. L’interface identifiée par une valeur particulière de cet indice est celle identifiée par la même valeur de ifIndex.
Accès : 	lecture-seule.
Statut :	obligatoire.

OBJET : 	ipAdEntNetMask  { ipAddrEntry 3 }
Syntaxe : 	IpAddress
Définition : 	Gabarit de sous-réseau associé à l’adresse IP de cette entrée. La valeur du gabarit est une adresse IP avec tous les bits réseau mis à 1 et tous les bits d’hôte mis à 0.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	ipAdEntBcastAddr { ipAddrEntry 4 }
Syntaxe : 	ENTIER
Définition : 	Valeur du bit de moindre poids dans l’adresse de diffusion IP utilisée pour envoyer des datagrammes sur l’interface (logique) associée à l’adresse IP de cette entrée. Par exemple, lorsque l’adresse de diffusion Internet standard toute en uns est utilisée, la valeur sera 1.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.4.2	Tableau d’acheminement IP
Le tableau des acheminements IP contient une entrée pour chaque route actuellement connue de cette entité. Noter que l’action à entreprendre en réponse à une demande de lecture d’une entrée qui n’existe pas est spécifique du protocole de gestion de réseau utilisé.

OBJET : 	ipRoutingTable { ip 21 }
Syntaxe : 	SEQUENCE OF IpRouteEntry
Définition : 	Tableau d’acheminement IP de cette entité.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteEntry { ipRoutingTable 1 }
Syntaxe : 	IpRouteEntry ::= SEQUENCE {
	ipRouteDest
	IpAddress,
	ipRouteIfIndex
	ENTIER,
	ipRouteMetric1
	ENTIER,
	ipRouteMetric2
	ENTIER,
	ipRouteMetric3
	ENTIER,
	ipRouteMetric4
	ENTIER,
	ipRouteNextHop
	IpAddress,
	ipRouteType
	ENTIER,
	ipRouteProto
	ENTIER,
	ipRouteAge
	ENTIER
	}
Définition : 	Route pour une destination particulière.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

On considère maintenant les composants individuels de chaque route du tableau des acheminements IP :

OBJET : 	ipRouteDest { ipRouteEntry 1 }
Syntaxe : 	IpAddress
Définition : 	Adresse IP de destination de cette route. Une entrée d’une valeur de 0.0.0.0 est considérée comme route par défaut. Plusieurs de ces routes par défaut peuvent apparaître dans le tableau, mais l’accès à de telles entrées multiples dépend des mécanismes d’accès au tableau définis par le protocole de gestion de réseau utilisé.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteIfIndex  { ipRouteEntry 2 }
Syntaxe : 	ENTIER
Définition : 	Valeur d’indice qui identifie de façon univoque l’interface locale par laquelle le prochain bond de cette route devrait être effectué. L’interface identifiée par une valeur particulière de cet indice est celle identifiée par la même valeur de ifIndex.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteMetric1 { ipRouteEntry 3 }
Syntaxe : 	ENTIER
Définition : 	Métrique de l’acheminement principal pour cette route. La sémantique de cette métrique est déterminée par le protocole d’acheminement spécifié dans la valeur ipRouteProto de la route. Si cette métrique n’est pas utilisée, sa valeur devrait être réglée à -1.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteMetric2 { ipRouteEntry 4 }
Syntaxe : 	ENTIER
Définition : 	Métrique d’acheminement de remplacement pour cette route. La sémantique de cette métrique est déterminée par le protocole d’acheminement spécifié dans la valeur ipRouteProto de la route. Si cette métrique n’est pas utilisée, sa valeur devrait être réglée à -1.
Accès : lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteMetric3 { ipRouteEntry 5 }
Syntaxe : 	ENTIER
Définition : 	Métrique d’acheminement de remplacement pour cette route. La sémantique de cette métrique est déterminée par le protocole d’acheminement spécifié dans la valeur ipProto de la route. Si cette métrique n’est pas utilisée, sa valeur devrait être réglée à -1.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteMetric4 { ipRouteEntry 6 }
Syntaxe : 	ENTIER
Définition : 	Métrique d’acheminement de remplacement pour cette route. La sémantique de cette métrique est déterminée par le protocole d’acheminement spécifié dans la valeur ipProto de la route. Si cette métrique n’est pas utilisée, sa valeur devrait être réglée à -1.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET :	ipRouteNextHop { ipRouteEntry 7 }
Syntaxe : 	IpAddress
Définition : 	Adresse IP du prochain bond de cette route.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteType { ipRouteEntry 8 }
Syntaxe : 	ENTIER {
	other(1),	-- aucune des suivantes
	invalid(2),	-- route invalidée
	direct(3),	-- route vers un (sous-) réseau directement connecté
	remote(4),	-- route vers un hôte/réseau/sous-réseau non local
	}
Définition : 	Le type de route.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

OBJET : 	ipRouteProto { ipRouteEntry 9 }
Syntaxe : 	ENTIER {
	other(1),	-- aucune des suivantes
	local(2),	-- informations hors protocole, par exemple, entrées configurées manuellement.
	netmgmt(3),	-- établi via un protocole de gestion de réseau
	icmp(4),	-- obtenu via ICMP, par exemple, Redirect ; les valeurs restantes sont toutes des protocoles d’acheminement de routeur
	egp(5),
	ggp(6),
	hello(7),
	rip(8),
	is-is(9),
	es-is(10),
	ciscoIgrp(11),
	bbnSpfIgp(12),
	oigp(13)
	}
Définition : 	Mécanisme d’acheminement via lequel cette route a été apprise. L’inclusion de valeurs pour les protocoles d’acheminement de routeurs n’est pas destinée à impliquer que les hôtes devraient prendre en charge ces protocoles.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	ipRouteAge { ipRouteEntry 10 }
Syntaxe : 	ENTIER
Définition : 	Nombre de secondes depuis la dernière mise à jour de cette route ou qu’elle a été jugée correcte. Noter qu’aucune sémantique de "trop vieux" ne peut être déduite sauf par la connaissance du protocole d’acheminement par lequel la route a été apprise.
Accès : 	lecture-écriture.
Statut : 	obligatoire.

5.5	Groupe ICMP

La mise en œuvre du groupe ICMP est obligatoire pour tous les systèmes.

Le groupe ICMP contient les statistiques ICMP d’entrée et de sortie.

Noter que les compteurs individuels pour les (sous-) codes de message ICMP ont été omis de cette (version de) MIB pour simplifier.

OBJET :	icmpInMsgs { icmp 1 }
Syntaxe :	Compteur
Définition : 	Nombre total de messages ICMP reçus par l’entité. Noter que ce compteur inclut tous ceux comptés par icmpInErrors.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	icmpInErrors { icmp 2 }
Syntaxe :	Compteur
Définition : 	Nombre de messages ICMP reçus par l’entité mais déterminés erronés (mauvaise somme de contrôle ICMP, mauvaise longueur, etc.).
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	icmpInDestUnreachs { icmp 3 }
Syntaxe :	Compteur
Définition :	Nombre de messages ICMP Destination injoignable reçus.
Accès :	lecture-seule.
Statut :	obligatoire.

OBJET :	icmpInTimeExcds { icmp 4 }
Syntaxe :	Compteur
Définition :	Nombre de messages ICMP Temps excédé reçus.
Accès :	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInParmProbs { icmp 5 }
Syntaxe :	Compteur
Définition : 	Nombre de messages ICMP Problème de paramètre reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInSrcQuenchs { icmp 6 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Source éteinte reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInRedirects { icmp 7 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Rediriger reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInEchos { icmp 8 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Echo (demande d’) reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInEchoReps { icmp 9 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse d’écho reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInTimestamps { icmp 10 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Horodatage (demande) reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInTimestampReps { icmp 11 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse d’horodatage reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInAddrMasks { icmp 12 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Demande de gabarit d’adresse reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpInAddrMaskReps { icmp 13 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse de gabarit d’adresse reçus.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutMsgs { icmp 14 }
Syntaxe : 	Compteur
Définition : 	Nombre total de messages ICMP que l’entité a tenté d’envoyer. Noter que ce compteur inclut tous ceux comptés par icmpOutErrors.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	icmpOutErrors { icmp 15 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP que cette entité n’a pas envoyé à cause des problèmes découverts au sein d’ICMP tels que le manque de mémoire. Cette valeur ne devrait pas inclure des erreurs découvertes en-dehors de la couche ICMP telles que l’incapacité de IP de router les datagrammes. Dans certaines mises en œuvre il peut n’y avoir aucun type d’erreur qui contribue à la valeur de ce compteur.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutDestUnreachs { icmp 16 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Destination injoignable envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutTimeExcds { icmp 17 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Temps excédé envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutParmProbs { icmp 18 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Problèmes de paramètre envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutSrcQuenchs { icmp 19 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Source éteinte envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutRedirects { icmp 20 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Rediriger.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	icmpOutEchos { icmp 21 }
Syntaxe :	Compteur
Définition : 	Nombre de messages ICMP Echo (demande) envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	icmpOutEchoReps { icmp 22 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse d’écho envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutTimestamps { icmp 23 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Horodatage (demande) envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutTimestampReps { icmp 24 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse d’horodatage envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET :	icmpOutAddrMasks { icmp 25 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Demande de gabarit d’adresse envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	icmpOutAddrMaskReps { icmp 26 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages ICMP Réponse de gabarit d’adresse envoyés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.6	Groupe TCP

La mise en œuvre du groupe TCP est obligatoire pour tous les systèmes qui mettent en œuvre le protocole TCP.

Noter que les instances des types d’objet qui représentent les informations sur une connexion TCP particulière sont transitoires ; elles ne persistent que le temps de la connexion en question.

OBJET : 	tcpRtoAlgorithm { tcp 1 }
Syntaxe : 	ENTIER {
	other(1),	-- aucune des suivantes
	constant(2),	-- rto constant
	rsre(3),	-- MIL-STD-1778, Appendice B
	vanj(4)	-- algorithme de Van Jacobson [15]
	}
Définition : 	Algorithme utilisé pour déterminer la valeur de temporisation utilisée pour retransmettre les octets non acquittés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpRtoMin { tcp 2 }
Syntaxe : 	ENTIER
Définition : 	Valeur minimum permise par une mise en œuvre TCP pour la temporisation de retransmission, mesurée en millisecondes. Une sémantique plus raffinée pour les objets de ce type dépend de l’algorithme utilisé pour déterminer la temporisation de retransmission. En particulier, lorsque l’algorithme de retransmission est rsre(3), un objet de ce type a la sémantique de la quantité LBOUND décrite dans la RFC 793.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpRtoMax { tcp 3 }
Syntaxe : 	ENTIER
Définition : 	Valeur maximum permise par une mise en œuvre TCP pour la temporisation de retransmission, mesurée en millisecondes. Une sémantique plus raffinée pour les objets de ce type dépend de l’algorithme utilisé pour déterminer la temporisation de retransmission. En particulier, lorsque l’algorithme de retransmission est rsre(3), un objet de ce type a la sémantique de la quantité LBOUND décrite dans la RFC 793.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpMaxConn { tcp 4 }
Syntaxe : 	ENTIER
Définition : 	Limite du nombre total de connexions TCP que l’entité peut accepter. Dans les entités où le nombre maximum de connexions est dynamique, cet objet devrait contenir la valeur "-1".
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpActiveOpens { tcp 5 }
Syntaxe : 	Compteur
Définition : 	Nombre de transitions directes des connexions TCP à l’état SYN-SENT à partir de l’état CLOSED.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpPassiveOpens { tcp 6 }
Syntaxe : 	Compteur
Définition : 	Nombre de transitions directes des connexions TCP à l’état SYN-RCVD à partir de l’état LISTEN.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpAttemptFails { tcp 7 }
Syntaxe : 	Compteur
Définition : 	Nombre de transitions directes des connexions TCP à l’état CLOSED à partir de l’état SYN-SENT ou SYN-RCVD, plus le nombre de transitions directes des connexions TCP à l’état LISTEN à partir de l’état SYN-RCVD.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpEstabResets { tcp 8 }
Syntaxe : 	Compteur
Définition : 	Nombre de transitions directes des connexions TCP à l’état CLOSED à partir de l’état ESTABLISHED ou CLOSE-WAIT.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpCurrEstab { tcp 9 }
Syntaxe : 	Gabarit
Definition : 	Nombre de connexions TCP pour qui l’état en cous est ESTABLISHED ou CLOSE-WAIT.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpInSegs { tcp 10 }
Syntaxe : 	Compteur
Définition : 	Nombre total de segments reçus, y compris ceux reçus par erreur. Ce compte inclut les segments reçus sur les connexions actuellement établies.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpOutSegs { tcp 11 }
Syntaxe : 	Compteur
Définition : 	Nombre total de segments envoyés, incluant ceux des connexions actuelles mais excluant ceux qui ne contiennent que les octets retransmis.
Accès : 	lecture-seule.
Statut : 	obligatoire.
OBJET :	tcpRetransSegs { tcp 12 }
Syntaxe : 	Compteur
Définition : 	Nombre total de segments retransmis – c’est-à-dire, nombre des segments TCP transmis qui contiennent un ou plusieurs octets précédemment transmis.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnTable { tcp 13 }
Syntaxe : 	SEQUENCE OF TcpConnEntry
Définition : 	Tableau contenant des informations spécifiques de la connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnEntry { tcpConnTable 1 }
Syntaxe : 	TcpConnEntry ::= SEQUENCE {
	tcpConnState
	ENTIER,
	tcpConnLocalAddress
	IpAddress,
	tcpConnLocalPort
	ENTIER (0..65535),
	tcpConnRemAddress
	IpAddress,
	tcpConnRemPort
	ENTIER (0..65535)
	}
Définition : 	Informations sur une connexion TCP actuelle particulière. Un objet de ce type est transitoire, en ce qu’il cesse d’exister lorsque (ou peu après que) la connexion passe à l’état CLOSED.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnState { tcpConnEntry 1 }
Syntaxe : 	ENTIER {
	closed(1),
	listen(2),
	synSent(3),
	synReceived(4),
	established(5),
	finWait1(6),
	finWait2(7),
	closeWait(8),
	lastAck(9),
	closing(10),
	timeWait(11)
	}
Définition : 	État de cette connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnLocalAddress { tcpConnEntry 2 }
Syntaxe : 	IpAddress
Définition : 	Adresse IP locale pour cette connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnLocalPort { tcpConnEntry 3 }
Syntaxe : 	ENTIER (0..65535)
Définition : 	Numéro d’accès local pour cette connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnRemAddress { tcpConnEntry 4 }
Syntaxe : 	IpAddress
Définition : 	Adresse IP distante pour cette connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	tcpConnRemPort { tcpConnEntry 5 }
Syntaxe : 	ENTIER (0..65535)
Définition : 	Numéro d’accès distant pour cette connexion TCP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.7	Groupe UDP

La mise en œuvre du groupe UDP est obligatoire pour tous les systèmes qui mettent en œuvre le protocole UDP.

OBJET : 	udpInDatagrams { udp 1 }
Syntaxe : 	Compteur
Définition : 	Nombre total de datagrammes UDP livrés aux utilisateurs UDP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	udpNoPorts { udp 2 }
Syntaxe : 	Compteur
Définition : 	Nombre total de datagrammes UDP reçus pour lesquels il n’y avait pas d’application à l’accès de destination.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	udpInErrors { udp 3 }
Syntaxe : 	Compteur
Définition : 	Nombre de datagrammes UDP reçus qui n’ont pu être livrés pour des raisons autres que le manque d’une application à l’accès de destination.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	udpOutDatagrams { udp 4 }
Syntaxe : 	Compteur
Définition : 	Nombre total de datagrammes UDP envoyés à partir de cette entité.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.8	Groupe EGP

La mise en œuvre du groupe EGP est obligatoire pour tous les systèmes qui mettent en œuvre le protocole EGP.

OBJET : 	egpInMsgs { egp 1 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages EGP reçus sans erreur.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	egpInErrors { egp 2 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages EGP reçus qui se sont révélés erronés.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	egpOutMsgs { egp 3 }
Syntaxe : 	Compteur
Définition : 	Nombre total de messages EGP générés localement.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	egpOutErrors { egp 4 }
Syntaxe : 	Compteur
Définition : 	Nombre de messages EGP générés localement non envoyés du fait de limitations de ressources au sein d’une entité EGP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

5.8.1	Tableau des voisins EGP

Le tableau Egp Neighbor contient des informations sur les voisins EGP de l’entité.

OBJET : 	egpNeighTable { egp 5 }
Syntaxe : 	SEQUENCE OF EgpNeighEntry
Définition : 	Tableau des voisins EGP.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	egpNeighEntry { egpNeighTable 1 }
Syntaxe : 	EgpNeighEntry ::= SEQUENCE {
	egpNeighState
	ENTIER,
	egpNeighAddr
	IpAddress
	}
Définition : 	Informations sur les relations de l’entité avec un voisin EGP particulier.
Accès : 	lecture-seule.
Statut : 	obligatoire.

Considérons maintenant les composants individuels de chaque entrée de voisin EGP :

OBJET : 	egpNeighState { egpNeighEntry 1 }
Syntaxe : 	ENTIER {
	idle(1),
	acquisition(2),
	down(3),
	up(4),
	cease(5)
	}
Définition : 	État EGP du système local par rapport à ce voisin EGP de l’entrée. Chaque état EGP est représenté par une valeur qui est supérieure de un à la valeur numérique associée au dit état dans la RFC 904.
Accès : 	lecture-seule.
Statut : 	obligatoire.

OBJET : 	egpNeighAddr { egpNeighEntry 2 }
Syntaxe : 	IpAddress
Définition : 	Adresse IP du voisin EGP de cette entrée.
Accès : 	lecture-seule.
Statut : 	obligatoire.

6	Définitions

RFC1156-MIB

DEFINITIONS ::= BEGIN

IMPORTS
	mgmt, OBJECT-TYPE, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks
	FROM RFC1155-SMI;

mib	OBJECT IDENTIFIER	::= { mgmt 1 }
system	OBJECT IDENTIFIER	::= { mib 1 }
interfaces	OBJECT IDENTIFIER	::= { mib 2 }
at	OBJECT IDENTIFIER	::= { mib 3 }
ip	OBJECT IDENTIFIER	::= { mib 4 }
icmp	OBJECT IDENTIFIER	::= { mib 5 }
tcp	OBJECT IDENTIFIER	::= { mib 6 }
udp	OBJECT IDENTIFIER	::= { mib 7 }
egp	OBJECT IDENTIFIER	::= { mib 8 }

-- types d’objet
	-- groupe System
TYPE-D’OBJET	sysDescr
	SYNTAX 	OCTET STRING
	ACCESS 	read-only
	STATUS 	mandatory
	::= { system 1 }

TYPE-D’OBJET	sysObjectID
	SYNTAX	OBJECT IDENTIFIER
	ACCESS	read-only
	STATUS	mandatory
	::= { system 2 }

TYPE-D’OBJET	sysUpTime
	SYNTAX 	TimeTicks
	ACCESS 	read-only
	STATUS 	mandatory
	::= { system 3 }

	-- groupe Interfaces
TYPE-D’OBJET	ifNumber 
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { interfaces 1 }

	-- tableau Interfaces
TYPE-D’OBJET	ifTable
	SYNTAX	SEQUENCE OF IfEntry
	ACCESS	read-write
	STATUS	mandatory
	::= { interfaces 2 }

TYPE-D’OBJET	ifEntry
	SYNTAX	IfEntry
	ACCESS	read-write
	STATUS	mandatory
	::= { ifTable 1 }

	IfEntry	::= SEQUENCE {
	ifIndex
	INTEGER,
	ifDescr
	OCTET STRING,
	ifType
	INTEGER,
	ifMtu
	INTEGER,
	ifSpeed
	Gauge,
	ifPhysAddress
	OCTET STRING,
	ifAdminStatus
	INTEGER,
	ifOperStatus
	INTEGER,
	ifLastChange
	TimeTicks,
	ifInOctets
	Counter,
	ifInUcastPkts
	Counter,
	ifInNUcastPkts
	Counter,
	ifInDiscards
	Counter,
	ifInErrors
	Counter,
	ifInUnknownProtos
	Counter,
	ifOutOctets
	Counter,
	ifOutUcastPkts
	Counter,
	ifOutNUcastPkts
	Counter,
	ifOutDiscards
	Counter,
	ifOutErrors
	Counter,
	ifOutQLen
	Gauge
	}

TYPE-D’OBJET	ifIndex
	SYNTAX	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 1 }

TYPE-D’OBJET	ifDescr
	SYNTAX 	OCTET STRING
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 2 }

TYPE-D’OBJET	ifType
	SYNTAX 	INTEGER {
	other(1), 	-- aucune des suivantes
	regular1822(2),
	hdh1822(3),
	ddn-x25(4),
	rfc877-x25(5),
	ethernet-csmacd(6),
	iso88023-csmacd(7),
	iso88024-tokenBus(8),
	iso88025-tokenRing(9),
	iso88026-man(10),
	starLan(11),
	proteon-10MBit(12),
	proteon-80MBit(13),
	hyperchannel(14),
	fddi(15),
	lapb(16),
	sdlc(17),
	t1-carrier(18),
	cept(19),
	basicIsdn(20),
	primaryIsdn(21),
	-- série propriétaire
	propPointToPointSerial(22)
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 3 }

TYPE-D’OBJET	ifMtu
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 4 }

TYPE-D’OBJET	ifSpeed
	SYNTAX 	Gauge
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 5 }

TYPE-D’OBJET	ifPhysAddress
	SYNTAX 	OCTET STRING
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 6 }

TYPE-D’OBJET	ifAdminStatus
	SYNTAX 	INTEGER {
	up(1),	-- prêt à passer les paquets
	down(2),
	testing(3)	-- dans certains modes d’essai
	}
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ifEntry 7 }

TYPE-D’OBJET	ifOperStatus
	SYNTAX 	INTEGER {
	up(1),	-- prêt à passer les paquets
	down(2),
	testing(3) 	-- dans certains modes d’essai
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 8 }

TYPE-D’OBJET	ifLastChange
	SYNTAX 	TimeTicks
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 9 }

TYPE-D’OBJET	ifInOctets
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 10 }

TYPE-D’OBJET	ifInUcastPkts
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::=  { ifEntry 11 }

TYPE-D’OBJET	ifInNUcastPkts
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 12 }

TYPE-D’OBJET	ifInDiscards
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 13 }

TYPE-D’OBJET	ifInErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 14 }

TYPE-D’OBJET	ifInUnknownProtos
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 15 }

TYPE-D’OBJET	ifOutOctets
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 16 }

TYPE-D’OBJET	ifOutUcastPkts
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 17 }

TYPE-D’OBJET	ifOutNUcastPkts
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 18 }

TYPE-D’OBJET	ifOutDiscards
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 19 }

TYPE-D’OBJET	ifOutErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 20 }

TYPE-D’OBJET	ifOutQLen
	SYNTAX 	Gauge
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ifEntry 21 }

	-- groupe Address Translation
TYPE-D’OBJET	atTable
	SYNTAX 	SEQUENCE OF AtEntry
	ACCESS 	read-write
	STATUS 	mandatory
	::= { at 1 }

TYPE-D’OBJET	atEntry
	SYNTAX 	AtEntry
	ACCESS 	read-write
	STATUS 	mandatory
	::= { atTable 1 }

	AtEntry 	::= SEQUENCE {
	atIfIndex
	INTEGER,
	atPhysAddress
	OCTET STRING,
	atNetAddress
	NetworkAddress
	}

TYPE-D’OBJET	atIfIndex
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { atEntry 1 }

TYPE-D’OBJET	atPhysAddress
	SYNTAX 	OCTET STRING
	ACCESS 	read-write
	STATUS 	mandatory
	::= { atEntry 2 }

TYPE-D’OBJET	atNetAddress
	SYNTAX 	NetworkAddress
	ACCESS 	read-write
	STATUS 	mandatory
	::= { atEntry 3 }

	-- groupe IP
TYPE-D’OBJET	ipForwarding
	SYNTAX 	INTEGER {
	gateway(1), 	-- l’entité transmet les datagrammes
	host(2) 	-- l’entité NE TRANSMET PAS les datagrammes
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 1 }

TYPE-D’OBJET	ipDefaultTTL
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ip 2 }

TYPE-D’OBJET	ipInReceives
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 3 }

TYPE-D’OBJET	ipInHdrErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 4 }

TYPE-D’OBJET	ipInAddrErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 5 }

TYPE-D’OBJET	ipForwDatagrams
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 6 }

TYPE-D’OBJET	ipInUnknownProtos
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 7 }

TYPE-D’OBJET	ipInDiscards
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 8 }

TYPE-D’OBJET	ipInDelivers
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 9 }

TYPE-D’OBJET	ipOutRequests
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 10 }

TYPE-D’OBJET	ipOutDiscards
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 11 }

TYPE-D’OBJET	ipOutNoRoutes
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 12 }

TYPE-D’OBJET	ipReasmTimeout
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 13 }

TYPE-D’OBJET	ipReasmReqds
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 14 }

TYPE-D’OBJET	ipReasmOKs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 15 }

TYPE-D’OBJET	ipReasmFails
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 16 }

TYPE-D’OBJET	ipFragOKs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 17 }

TYPE-D’OBJET	ipFragFails
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 18 }

TYPE-D’OBJET	ipFragCreates
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 19 }

	-- tableau IP Interface
TYPE-D’OBJET	ipAddrTable
	SYNTAX 	SEQUENCE OF IpAddrEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ip 20 }

TYPE-D’OBJET	ipAddrEntry
	SYNTAX 	IpAddrEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ipAddrTable 1 }

	IpAddrEntry 	::= SEQUENCE {
	ipAdEntAddr
	IpAddress,
	ipAdEntIfIndex
	INTEGER,
	ipAdEntNetMask
	IpAddress,
	ipAdEntBcastAddr
	INTEGER
	}

TYPE-D’OBJET	ipAdEntAddr
	SYNTAX 	IpAddress
	ACCESS 	read-only
	STATUS 	mandatory
	::=  { ipAddrEntry 1 }

TYPE-D’OBJET	ipAdEntIfIndex
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::=  { ipAddrEntry 2 }

TYPE-D’OBJET	ipAdEntNetMask
	SYNTAX 	IpAddress
	ACCESS 	read-only
	STATUS 	mandatory
	::=  { ipAddrEntry 3 }

TYPE-D’OBJET	ipAdEntBcastAddr
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ipAddrEntry 4 }

	-- tableau IP Routing
TYPE-D’OBJET	ipRoutingTable
	SYNTAX 	SEQUENCE OF IpRouteEntry
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ip 21 }

TYPE-D’OBJET	ipRouteEntry
	SYNTAX 	IpRouteEntry
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRoutingTable 1 }

	IpRouteEntry 	::= SEQUENCE {
	ipRouteDest
	IpAddress,
	ipRouteIfIndex
	INTEGER,
	ipRouteMetric1
	INTEGER,
	ipRouteMetric2
	INTEGER,
	ipRouteMetric3
	INTEGER,
	ipRouteMetric4
	INTEGER,
	ipRouteNextHop
	IpAddress,
	ipRouteType
	INTEGER,
	ipRouteProto
	INTEGER,
	ipRouteAge
	INTEGER
	}

TYPE-D’OBJET	ipRouteDest
	SYNTAX 	IpAddress
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 1 }

TYPE-D’OBJET	ipRouteIfIndex
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 2 }

TYPE-D’OBJET	ipRouteMetric1
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 3 }

TYPE-D’OBJET	ipRouteMetric2
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 4 }

TYPE-D’OBJET	ipRouteMetric3
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 5 }

TYPE-D’OBJET	ipRouteMetric4
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 6 }

TYPE-D’OBJET	ipRouteNextHop
	SYNTAX 	IpAddress
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 7 }

TYPE-D’OBJET	ipRouteType
	SYNTAX 	INTEGER {
	other(1),	-- aucun de ceux qui suivent
	invalid(2),	-- route invalidée
	direct(3), 	-- route vers un (sous-) réseau directement connecté
	remote(4), 	-- route vers un hôte/réseau/sous-réseau non local
	}
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 8 }

TYPE-D’OBJET	ipRouteProto
	SYNTAX 	INTEGER {
	other(1), 	-- aucune des suivantes
	local(2), 	--  information non protocolaires, par exemple, entrées configurées manuellement
	netmgmt(3), 	-- établies via un protocole de gestion de réseau
	icmp(4), 	--  obtenues via ICMP, par exempl, Redirect
	-- celles qui suivent sont des protocoles d’acheminement de routeur
	egp(5),
	ggp(6),
	hello(7),
	rip(8),
	is-is(9),
	es-is(10),
	ciscoIgrp(11),
	bbnSpfIgp(12),
	oigp(13)
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { ipRouteEntry 9 }

TYPE-D’OBJET	ipRouteAge
	SYNTAX 	INTEGER
	ACCESS 	read-write
	STATUS 	mandatory
	::= { ipRouteEntry 10 }

	-- groupe ICMP

TYPE-D’OBJET	icmpInMsgs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 1 }

TYPE-D’OBJET	icmpInErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 2 }

TYPE-D’OBJET	icmpInDestUnreachs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 3 }

TYPE-D’OBJET	icmpInTimeExcds
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 4 }

TYPE-D’OBJET	icmpInParmProbs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 5 }

TYPE-D’OBJET	icmpInSrcQuenchs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 6 }

TYPE-D’OBJET	icmpInRedirects
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 7 }

TYPE-D’OBJET	icmpInEchos
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 8 }

TYPE-D’OBJET	icmpInEchoReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 9 }

TYPE-D’OBJET	icmpInTimestamps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 10 }

TYPE-D’OBJET	icmpInTimestampReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 11 }

TYPE-D’OBJET	icmpInAddrMasks
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 12 }

TYPE-D’OBJET	icmpInAddrMaskReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 13 }

TYPE-D’OBJET	icmpOutMsgs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 14 }

TYPE-D’OBJET	icmpOutErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 15 }

TYPE-D’OBJET	icmpOutDestUnreachs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 16 }

TYPE-D’OBJET	icmpOutTimeExcds
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 17 }

TYPE-D’OBJET	icmpOutParmProbs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 18 }

TYPE-D’OBJET	icmpOutSrcQuenchs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 19 }

TYPE-D’OBJET	icmpOutRedirects
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 20 }

TYPE-D’OBJET	icmpOutEchos
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 21 }

TYPE-D’OBJET	icmpOutEchoReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 22 }

TYPE-D’OBJET	icmpOutTimestamps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 23 }

TYPE-D’OBJET	icmpOutTimestampReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 24 }

TYPE-D’OBJET	icmpOutAddrMasks
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 25 }

TYPE-D’OBJET	icmpOutAddrMaskReps
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { icmp 26 }

	-- groupe TCP

TYPE-D’OBJET	tcpRtoAlgorithm
	SYNTAX 	INTEGER {
	other(1), 	-- aucun de ceux qui suivent
	constant(2), 	-- rto constant
	rsre(3), 	-- MIL-STD-1778, Appendice B
	vanj(4) 	-- algorithme de Van Jacobson [15]
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 1 }

TYPE-D’OBJET	tcpRtoMin
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 2 }

TYPE-D’OBJET	tcpRtoMax
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 3 }

TYPE-D’OBJET	tcpMaxConn
	SYNTAX 	INTEGER
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 4 }

TYPE-D’OBJET	tcpActiveOpens
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 5 }

TYPE-D’OBJET	tcpPassiveOpens
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 6 }

TYPE-D’OBJET	tcpAttemptFails
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 7 }

TYPE-D’OBJET	tcpEstabResets
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 8 }

TYPE-D’OBJET	tcpCurrEstab
	SYNTAX 	Gauge
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 9 }

TYPE-D’OBJET	tcpInSegs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 10 }

TYPE-D’OBJET	tcpOutSegs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 11 }

TYPE-D’OBJET	tcpRetransSegs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 12 }

	-- tableau des connexions TCP

TYPE-D’OBJET	tcpConnTable
	SYNTAX 	SEQUENCE OF TcpConnEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcp 13 }

TYPE-D’OBJET	tcpConnEntry
	SYNTAX 	TcpConnEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnTable 1 }

	TcpConnEntry	::= SEQUENCE {
	tcpConnState
	INTEGER,
	tcpConnLocalAddress
	IpAddress,
	tcpConnLocalPort
	INTEGER (0..65535),
	tcpConnRemAddress
	IpAddress,
	tcpConnRemPort
	INTEGER (0..65535)
	}

TYPE-D’OBJET	tcpConnState
	SYNTAX 	INTEGER {
	closed(1),
	listen(2),
	synSent(3),
	synReceived(4),
	established(5),
	finWait1(6),
	finWait2(7),
	closeWait(8),
	lastAck(9),
	closing(10),
	timeWait(11)
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnEntry 1 }

TYPE-D’OBJET	tcpConnLocalAddress
	SYNTAX 	IpAddress
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnEntry 2 }

TYPE-D’OBJET	tcpConnLocalPort
	SYNTAX 	INTEGER (0..65535)
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnEntry 3 }

TYPE-D’OBJET	tcpConnRemAddress
	SYNTAX 	IpAddress
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnEntry 4 }

TYPE-D’OBJET	tcpConnRemPort
	SYNTAX 	INTEGER (0..65535)
	ACCESS 	read-only
	STATUS 	mandatory
	::= { tcpConnEntry 5 }

	-- groupe UDP

TYPE-D’OBJET	udpInDatagrams
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { udp 1 }

TYPE-D’OBJET	udpNoPorts
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { udp 2 }

TYPE-D’OBJET	udpInErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { udp 3 }

TYPE-D’OBJET	udpOutDatagrams
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { udp 4 }

	-- groupe EGP

TYPE-D’OBJET	egpInMsgs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egp 1 }

TYPE-D’OBJET	egpInErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egp 2 }

TYPE-D’OBJET	egpOutMsgs
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egp 3 }

TYPE-D’OBJET	egpOutErrors
	SYNTAX 	Counter
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egp 4 }

	-- tableau EGP Neighbor

TYPE-D’OBJET	egpNeighTable
	SYNTAX 	SEQUENCE OF EgpNeighEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egp 5 }

TYPE-D’OBJET	egpNeighEntry
	SYNTAX 	EgpNeighEntry
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egpNeighTable 1 }

	EgpNeighEntry 	::= SEQUENCE {
	egpNeighState
	INTEGER,
	egpNeighAddr
	IpAddress
	}

TYPE-D’OBJET	egpNeighState
	SYNTAX 	INTEGER {
	idle(1),	acquisition(2),
	down(3),
	up(4),
	cease(5)
	}
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egpNeighEntry 1 }

TYPE-D’OBJET	egpNeighAddr 
	SYNTAX 	IpAddress
	ACCESS 	read-only
	STATUS 	mandatory
	::= { egpNeighEntry 2 }

	END

7	Remerciements

Le projet initial de ce mémo a été fortement influencé par les MIB HEMS [9] et SNMP [10].

Sa forme définitive est le résultat des suggestions, dicussions, et des compromis réalisés par les membres du groupe de travail MIB de l’IETF :

Karl Auerbach, Epilogue Technology	Keith McCloghrie, The Wollongong Group	
K. Ramesh Babu, Excelan	Dave Mackie, 3Com/Bridge	
Lawrence Besaw, Hewlett-Packard	Craig Partridge, BBN (chair)	
Jeffrey D. Case, University of Tennessee at Knoxville	Jim Robertson, 3Com/Bridge	
James R. Davin, Proteon	Marshall T. Rose, The Wollongong Group	
Mark S. Fedor, NYSERNet	Greg Satz, cisco	
Robb Foster, BBN	Martin Lee Schoffstall, Rensselaer Polytechnic Institute	
Phill Gross, The MITRE Corporation	Lou Steinberg, IBM	
Bent Torp Jensen, Convergent Technology	Dean Throop, Data General	
Lee Labarre, The MITRE Corporation	Unni Warrier, Unisys	
Dan Lynch, Advanced Computing Environments		

8	Références

[1]	V. Cerf, "Recommandations de l’IAB pour le développement des normes de gestion de réseau de l’Internet", RFC 1052, NRI, avril 1988.

[2]	Systèmes de traitement de l’information – Interconnexion des systèmes ouverts - "Définition des services d’informations de gestion", Organisation Internationale de normalisation, Draft Proposal 9595/2, décembre 1987.

[3]	Systèmes de traitement de l’information – Interconnexion des systèmes ouverts, "Spécification du protocole d’informations de gestion", Organisation internationale de normaalisation, Draft Proposal 9596/2, décembre 1987.

[4]	M. Rose et K. McCloghrie, "Structure et identification des informations de gestion pour les internets fondés sur TCP/IP", RFC 1065, TWG, août 1988.

[5]	C. Partridge et G. Trewitt, "Système de gestion des entités de haut niveau (HEMS)", RFC 1021-1024, BBN et Stanford, octobre 1987.

[6]	V. Cerf,  "Rapport du second groupe ad hoc de révision de la gestion de réseau", RFC 1109, NRI, août 1989.

[7]	M. Rose et K. McCloghrie, "Structure et identification des informations de gestion pour les internets fondés sur TCP/IP", RFC 1155, Performance Systems International, Hughes LAN Systems, mai 1990.

[8]	J. Case, M. Fedor, M. Schoffstall, et J. Davin, "Protocole simple de gestion de réseau", RFC 1157, University of Tennessee at Knoxville, Performance Systems International, Performance Systems International, et MIT Laboratory for Computer Science, mai 1990.

[9]	C. Partridge et G. Trewitt, "Définitions des variables de HEMS", RFC 1024, BBN et Stanford, octobre 1987.

[10]	J. Case, M. Fedor, M. Schoffstall et J. Davin, "Protocole simple de gestion de réseau", RFC 1067, University of Tennessee At Knoxville, NYSERNet, Rensselaer Polytechnic, Proteon, août 1988.

[11]	L. LaBarre,  "Structure and Identification of Management Information for the Internet", Internet Engineering Task Force working note, Network Information Center, SRI International, Menlo Park, California, April 1988.

[12]	LaBarre, L., "Transport Layer Management Information: TCP", Internet Engineering Task Force working note in preparation. Network Information Center, SRI International, Menlo Park, California, (non publiée).

[13]	Systèmes de traitement de l’information – Interconnexion des systèmes ouverts, "Spécification de la notation de syntaxe abstraite n°1 (ASN.1)", Organisation internationale de normalisation, Norme internationale 8824, décembre 1987.

[14]	Systèmes de traitement de l’information – Interconnexion des systèmes ouverts, "Spécification des règles de codége de base pour la notation de syntaxe abstraite n°1 (ASN.1)", Organisation internationale de normalisation, Norme internationale 8825, décembre 1987.

[15]	Jacobson, V., "Congestion Avoidance and Control", SIGCOMM, 1988, Stanford, California.

Considérations pour la sécurité

Les questions de sécurité ne sont pas abordées dans le présent mémoire.

Adresse des auteurs

Keith McCloghrie	Marshall T. Rose	
The Wollongong Group	PSI, Inc.	
1129 San Antonio Road	PSI California Office	
Palo Alto, CA 04303	P.O. Box 391776	
	Mountain View, CA 94039	
Téléphone : (415) 962-7160	Téléphone : (415) 961-3380	
mél : sytek!kzm@HPLABS.HP.COM	mél : mrose@PSI.COM