Groupe de travail Réseau	S. Waldbusser	
Request for Comments : 2819	Lucent Technologies	
STD : 59	mai 2000	
RFC rendue obsolète : 1757		
Catégorie : Norme 	Traduction Claude Brière de L’Isle	

Base de données d’informations de gestion (MIB) de surveillance de réseau à distance

Statut de ce mémoire
Le présent document spécifie un protocole Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et des suggestions pour son amélioration. Prière de se reporter à l’édition actuelle du STD 1 "Normes des protocoles officiels de l’Internet" pour connaître l’état de normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Notice de copyright
Copyright (C) The Internet Society (2000). Tous droits réservés.

Résumé
Le présent mémoire définit une portion 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. En particulier, il définit des objets pour gérer les appareils de surveillance à distance du réseau.

Le présent mémoire rend obsolète la RFC 1757. Le présent mémoire étend cette spécification en documentant la MIB RMON en format SMIv2 tout en restant sémantiquement identique à la MIB existante fondée sur SMIv1.

Table des matières

1.	Cadre de gestion SNMP
2.	Généralités
2.1	Objectifs de la gestion de réseau à distance
2.2	Conventions textuelles
2.3	Structure de la MIB
2.3.1	Groupe de statistiques Ethernet
2.3.2	Groupe de contrôle d'historique
2.3.3	Groupe d'historique Ethernet
2.3.4	Groupe d'alarme
2.3.5	Groupe d'hôtes
2.3.6	Groupe HostTopN
2.3.7	Groupe de matrices
2.3.8	Groupe de filtres
2.3.9	Groupe de capture de paquets
2.3.10	Groupe d'événements
3.	Contrôle des appareils de surveillance de réseau à distance
3.1	Partage de ressources entre plusieurs stations de gestion
3.2	Ajout de rangées parmi plusieurs stations de gestion
4.	Conventions
5.	Définitions
6.	Considérations pour la sécurité
7.	Remerciements
8	Adresse de l’auteur
9.	Références
10.	Propriété intellectuelle
11.	Déclaration complète de droits de reproduction

1.	Cadre de gestion SNMP

Le cadre de gestion SNMP consiste actuellement en cinq composants majeurs :

o	Une architecture globale, décrite dans la RFC 2571 [1].

o	Des mécanismes de description et de dénomination des objets et événements pour les besoins de la gestion. La première version de cette structure des informations de gestion (SMI, Structure of Management Information) est appelée SMIv1 et est décrite dans le STD 16, RFC 1155 [2], RFC 1212 [3] et RFC 1215 [4]. La seconde version, appelée SMIv2, est décrite dans le STD 58, RFC 2578 [5], RFC 2579 [6] et RFC 2580 [7].

o	Des protocoles de messages pour le transfert des informations de gestion. La première version du protocole de messages SNMP est appelée SNMPv1 et est décrite dans le STD 15, RFC 1157 [8]. Une seconde version du protocole de messages SNMP, qui n'est pas un protocole en cours de normalisation de l'Internet, est appelé SNMPv2c et est décrite dans la RFC 1901 [9] et la RFC 1906 [10]. La troisième version du protocole de messages est appelée SNMPv3 et est décrite dans la RFC 1906 [10], la RFC 2572 [11] et la RFC 2574 [12].

o	Des opérations de protocole pour accéder aux informations de gestion. Le premier ensemble d'opérations de protocole et des formats de PDU associés est décrit dans le STD 15, RFC 1157 [8]. Un second ensemble d'opérations de protocole et des formats de PDU associés est décrit dans la RFC 1905 [13].

o	D'un ensemble d'applications fondamentales décrites dans la RFC 2573 [14] et le mécanisme de contrôle d'accès fondés sur la vue décrit dans la RFC 2575 [15].

On trouvera une introduction plus détaillée au cadre de gestion SNMP actuel dans la RFC 2570 [22].

On accède aux objets gérés via une mémoire d'informations virtuelle, appelée la base d'informations de gestion ou MIB. Les objets de la MIB sont définis à l'aide des mécanismes définis dans le SMI.

Le présent mémoire spécifie un module de MIB conforme à SMIv2. Une MIB conforme à SMIv1 peut être produite moyennant les traductions appropriées. La MIB traduite en résultant doit être sémantiquement équivalente, sauf lorsque des objets ou événements sont omis parce qu'aucune traduction n'est possible (utilisation de Counter64). Certaines informations lisibles par la machine de SMIv2 seront converties en descriptions textuelles dans SMIv1 durant le processus de traduction. Cependant, cette perte d'informations lisibles par la machine n'est pas considérée comme changeant la sémantique de la MIB.

2.	Généralités

Les appareils de surveillance à distance du réseau (RMON, Remote Monitoring), souvent appelés moniteurs ou sondes, sont des appareils qui existent pour les besoins de la gestion du réseau. Souvent ces sondes distantes sont des appareils autonomes auxquels des ressources internes significatives sont consacrées pour les seuls besoins de la gestion d'un réseau. Une organisation peut employer un grand nombre de ces appareils, un par segment de réseau, pour gérer son internet. De plus, ces appareils peuvent être utilisés par un fournisseur de service de gestion de réseau pour accéder à un réseau client, souvent éloigné géographiquement.

Les objets définis dans le présent document sont destinés à servir d'interface entre un agent RMON et une application de gestion RMON et ne sont pas destinés à une manipulation directe par l'homme. Bien que certains usagers puissent tolérer l'affichage direct de certains de ces objets, peu tolèreront la complexité d'une manipulation de ces objets pour accomplir la création des rangées. Ces fonctions devraient être traitées par l'application de gestion.

Bien que la plupart des objets de ce document conviennent pour la gestion de tous les types de réseau, il y en a certains qui sont spécifiques de la gestion des réseaux Ethernet. Ce sont les objets des tableaux etherStatsTable, etherHistoryTable, et certains attributs des objets filterPktStatus et capturBufferPacketStatus. La conception de cette MIB permet à des objets similaires d'être définis pour d'autres types de réseaux. Il est prévu que les versions futures du présent document et des documents additionnels définissent des extensions pour les autres types de réseau.

Il y a un certain nombre de documents d'accompagnement de la MIB RMON. La MIB d'anneau à jeton RMON [19] donne des objets spécifiques de la gestion des réseaux en anneau à jetons. La MIB RMON-2 [20] étend RMON en fournissant l'analyse RMON jusqu'à la couche d'application. La MIB SMON [21] étend RMON en fournissant une analyse RMON pour les réseaux commutés.

2.1	Objectifs de la gestion de réseau à distance

o	Fonctionnement hors ligne
Il y a parfois des conditions où la station de gestion n'est pas en contact constant avec ses appareils de surveillance à distance. C'est parfois par conception pour essayer de baisser les coûts de communication (en particulier lorsque ce sont des communications sur un WAN ou une liaison téléphonique), ou par accident lorsque des défaillances du réseau affectent les communications entre la station de gestion et le sondeur.

Pour cette raison, cette MIB permet qu'une sonde soit configurée pour effectuer des diagnostics et collecter des statistiques en continu, même lorsque les communications avec la station de gestion ne sont plus possibles ou efficaces. La sonde peut alors tenter de notifier à la station de gestion quand survient une condition exceptionnelle. Et donc, même dans des circonstances où la communication entre station de gestion et sonde n'est pas continue, fautes, performances et informations de configuration peuvent continuer d'être accumulées et communiquées à la station de gestion de façon pratique et efficace.

o	Surveillance active
Étant données les ressources disponibles sur le moniteur, il est éventuellement utile qu'il fonctionne en continu et enregistre les performances du réseau. Le moniteur est toujours disponible au début de toute défaillance. Il peut notifier la défaillance à la station de gestion et peut mémoriser un historique des informations statistiques de la défaillance. Cet historique des informations peut être repassé par la station de gestion pour tenter d'effectuer un diagnostic plus poussé de la cause du problème.

o	Détection et rapport de problème
Le moniteur peut être configuré pour reconnaître les conditions, et plus particulièrement les conditions d'erreur, et les vérifier en continu. Lorsqu'une de ces conditions survient, l'événement peut être enregistré, et les stations de gestion peuvent en être notifiées de différentes façons.

o	Données à valeur ajoutée
Parce qu'un appareil de surveillance à distance représente une ressource réseau dédiée exclusivement à des fonctions de gestion de réseau, et parce qu'il est localisé directement sur la portion surveillée du réseau, l'appareil de surveillance de réseau à distance a l'opportunité d'ajouter une valeur significative aux données qu'il collecte. Par exemple, en mettant en évidence les hôtes qui génèrent le plus de trafic ou d'erreur sur le réseau, la sonde peut donner à la station de gestion les informations précises dont elle a besoin pour résoudre une classe de problèmes.

o	Gestionnaires multiples
Une organisation peut avoir plusieurs stations de gestion pour différentes unités de l'organisation, pour différentes fonctions (par exemple ingénierie et opérations), et afin d'essayer d'assurer la récupération d'une situation désastreuse. Comme les environnements avec plusieurs stations de gestion sont courants, les appareils de surveillance de réseau à distance doivent traiter avec plus que leur propre station de gestion, qui utilisent éventuellement les ressources en concurrence avec lui.

2.2	Conventions textuelles

Deux nouveaux types de données sont introduits comme convention textuelle dans ce document de MIB, OwnerString (chaîne propriétaire)et EntryStatus (état d'entrée).

2.3	Structure de la MIB

Les objets sont rangés dans les groupes suivants :
- statistiques Ethernet
- contrôle d'historique
- historique Ethernet
- alarme
- hôte
- hostTopN (les N hôtes de tête)
- matrice
- filtre
- capture de paquet
- événement

Ces groupes sont les unités de base de la conformité. Si un appareil de surveillance à distance met en œuvre un groupe, il doit alors mettre en œuvre tous les objets de ce groupe. Par exemple, un agent géré qui met en œuvre le groupe hôte doit mettre en œuvre les objets hostControlTable, hostTable et hostTimeTable. Cette section ne donne qu'une vue d'ensemble des informations de regroupement et de conformité pour cette MIB, et les références qui font autorité pour de telles informations sont contenues dans les macros MODULE-COMPLIANCE et OBJECT-GROUP exposées plus loin.

Tous les groupes de cette MIB sont facultatifs. Les mises en œuvre de cette MIB doivent aussi mettre en œuvre le groupe de système de MIB-II [16] et IF-MIB [17]. MIB-II peut aussi rendre obligatoire la mise en œuvre de groupes supplémentaires.

Ces groupes sont définis comme fournissant les moyens d'allouer des identifiants d'objet, et comme fournissant une méthode aux mises en œuvre d'agent géré pour savoir quels objets elles doivent mettre en œuvre.

2.3.1	Groupe de statistiques Ethernet
Le groupe de statistiques Ethernet contient des statistiques mesurées par la sonde pour chaque interface Ethernet surveillée sur cet appareil. Ce groupe comporte l'objet etherStatsTable.

2.3.2	Groupe de contrôle d'historique
Le groupe de contrôle d'historique contrôle l'échantillon statistique périodique des données provenant des divers types de réseaux. Ce groupe comporte l'objet historyControlTable.

2.3.3	Groupe d'historique Ethernet
Le groupe d'historique Ethernet enregistre des échantillons statistiques périodiques d'un réseau Ethernet et les mémorise pour une restitution ultérieure. Ce groupe comporte l'objet etherHistoryTable.

2.3.4	Groupe d'alarme
Le groupe d'alarme prend périodiquement des échantillons statistiques à partir de variables dans la sonde et les compare aux seuils configurés précédemment. Si la variable surveillée franchit un seuil, un événement est généré.

Un mécanisme d'hystérésis est mis en œuvre pour limiter la génération des alarmes. Ce groupe comporte l'objet alarmTable et exige la mise en œuvre du groupe d'événements.

2.3.5	Groupe d'hôtes
Le groupe d'hôtes contient des statistiques associées à chaque hôte découvert sur le réseau. Ce groupe découvre des hôtes sur le réseau en établissant une liste des adresses MAC de source et de destination vues dans les bons paquets reçus au hasard du réseau. Ce groupe comporte les objets hostControlTable, hostTable, et hostTimeTable.

2.3.6	Groupe HostTopN
Le groupe hostTopN est utilisé pour préparer les rapports qui décrivent les hôtes qui sont en tête d'une liste ordonnée par une de leurs statistiques. Les statistiques disponibles sont des échantillons de l'une de leurs statistiques de base sur un intervalle spécifié par la station de gestion. Et donc, ces statistiques sont fondées sur le débit. La station de gestion choisit aussi combien de ces hôtes font l'objet d'un rapport. Ce groupe comporte les objets hostTopNControlTable et hostTopNTable, et exige la mise en œuvre du groupe des hôtes.

2.3.7	Groupe de matrices
Le groupe des matrices mémorise des statistiques pour les conversations entre des ensembles de deux adresses. Lorsque l'appareil détecte une nouvelle conversation, il crée une nouvelle entrée dans ses tableaux. Ce groupe comporte les objets matrixControlTable, matrixSDTable et matrixDSTable.

2.3.8	Groupe de filtres
Le groupe des filtres permet aux paquets d'être confrontés à une équation de filtrage. Ces paquets confrontés forment un flux de données qui peut être capturé ou peut générer des événements. Ce groupe comporte les objets filterTable et channelTable.

2.3.9	Groupe de capture de paquets
Le groupe capture de paquets permet de capturer les paquets après leur écoulement sur un canal. Ce groupe comporte les objets bufferControlTable et captureBufferTable, et exige la mise en œuvre du groupe de filtre.

2.3.10	Groupe d'événements
Le groupe des événements contrôle la génération et la notification des événements à partir de cet appareil. Ce groupe comporte les objets eventTable et logTable.

3.	Contrôle des appareils de surveillance de réseau à distance

Du fait de la nature complexe des fonctions disponibles dans ces appareils, ces fonctions exigent souvent une configuration par l'utilisateur. Dans de nombreux cas, la fonction exige que les paramètres soient établis pour une opération de collecte de données. L'opération ne peut être traitée qu'après que ces paramètres soient pleinement établis.

De nombreux groupes fonctionnels de cette MIB ont un ou plusieurs tableaux dans lesquels établir les paramètres de contrôle, et un ou plusieurs tableaux de données dans lesquels placer le résultat de l'opération. Les tableaux de contrôle sont normalement de nature lecture-écriture, alors que les tableaux de données sont normalement en lecture seule. Comme les paramètres du tableau de contrôle décrivent souvent les données résultantes dans le tableau des données, nombre de ces paramètres ne peuvent être modifiés que lorsque l'entrée de contrôle est invalide. Et donc, la méthode de modification de ces paramètres est d'invalider l'entrée de contrôle, ce qui cause sa suppression et celle de toutes les entrées de données associées, et ensuite la création d'une nouvelle entrée de contrôle avec les paramètres appropriés. La suppression de l'entrée de contrôle donne aussi une méthode utile pour réclamer les ressources utilisées par les données associées.

Certains objets dans cette MIB fournissent un mécanisme pour exécuter une action sur l'appareil de surveillance à distance. Ces objets peuvent exécuter une action par suite d'un changement de l'état de l'objet. Pour les objets de cette MIB, une demande d'établissement d'un objet à la même valeur que celle qu'il détient actuellement ne causera donc aucune action.

Pour faciliter le contrôle par plusieurs gestionnaires, les ressources doivent être partagées entre ces gestionnaires. Ces ressources sont normalement les ressources de mémoire et de calcul qu'exige une fonction.

3.1	Partage de ressources entre plusieurs stations de gestion

Lorsque plusieurs stations de gestion souhaitent utiliser des fonctions qui sont en compétition pour une quantité de ressources finie sur un appareil, on a besoin d'une méthode pour faciliter ce partage des ressources. Les conflits potentiels incluent :
o	deux stations de gestion souhaitent utiliser simultanément des ressources qui ensemble excèderaient la capacité de l'appareil,
o	une station de gestion utilise une quantité significative des ressources pendant une longue période,
o	une station de gestion utilise des ressources puis a une défaillance, en oubliant de libérer les ressources afin que d'autres puissent les utiliser.

Un mécanisme est fourni pour chaque fonction initiée par une station de gestion dans cette MIB pour éviter ces conflits et pour aider à les résoudre lorsqu'ils surviennent. Chaque fonction a une étiquette qui identifie l'initiateur (propriétaire) de la fonction. Cette étiquette est établie par l'initiateur pour faire face aux possibilités suivantes :
o	une station de gestion peut reconnaître les ressources qu'elle possède et dont elle n'a plus besoin ;
o	un opérateur de réseau peut trouver la station de gestion qui possède la ressource et négocier sa libération ;
o	un opérateur de réseau peut décider unilatéralement de libérer des ressources qu'un autre opérateur de réseau a réservées ;
o	à l'initialisation, une station de gestion peut reconnaître des ressources qu'elle a réservées dans le passé. Avec ces informations, elle peut libérer les ressources si elle n'en a plus besoin.

Les stations de gestion et sondes devraient prendre en charge tous les formats de la chaîne de propriétaire dictés par la politique locale de l'organisation. Il est suggéré que ce nom contienne un ou plusieurs des éléments suivants : adresse IP, nom de la station de gestion, nom du gestionnaire des réseaux, localisation, ou numéro de téléphone. Ces informations vont aider les utilisateurs à partager plus efficacement les ressources.

Il y a souvent une fonctionnalité par défaut que l'appareil ou l'administrateur de la sonde (souvent l'administrateur de réseau) souhaite établir. Les ressources associées à cette fonctionnalité sont alors possédées par l'appareil lui-même ou par l'administrateur de réseau, et sont destinées à une longue durée de vie. Dans ce cas, l'appareil ou l'administrateur, va régler l'objet propriétaire pertinent à une chaîne commençant par 'monitor'. La modification sans discernement de la configuration possédée par le moniteur par les stations de gestion du réseau est déconseillée. En fait, une station de gestion du réseau ne devrait modifier ces objets que sous la direction de l'administrateur de la sonde.

Les ressources d'une sonde sont rares et sont normalement allouées lorsque des rangées de contrôle sont créées par une application. Comme de nombreuses applications peuvent utiliser simultanément une sonde, l'allocation sans discernement de ressources à des applications particulières va très vraisemblablement causer une pénurie de ressource dans la sonde.

Lorsque une station de gestion du réseau souhaite utiliser une fonction dans un moniteur, elle est invitée à examiner d'abord le tableau de contrôle de cette fonction pour trouver une instance avec des paramètres similaires à partager. Ceci est particulièrement vrai pour les instances possédées par le moniteur, qui peuvent être supposées ne changer que rarement. Si une station de gestion décide de partager une instance possédée par une autre station de gestion, elle devrait comprendre que la station de gestion qui possède cette instance peut à tout moment la modifier ou la supprimer.

On peut noter qu'une application de gestion devrait avoir la plus grande confiance en une rangée possédée par un moniteur parce qu'elle ne devrait être changée que très rarement. Une rangée possédée par l'application de gestion est d'une durée de vie moins longue parce qu'un administrateur de réseau va plus vraisemblablement réallouer les ressources d'une rangée qui est utilisée par un utilisateur que celles d'une rangée possédée par un moniteur qui est potentiellement utilisée par de nombreux utilisateurs. Une rangée possédée par une autre application serait même de durée de vie encore plus courte parce que une autre application peut supprimer ou modifier cette rangée à son entière discrétion.

3.2	Ajout de rangées parmi plusieurs stations de gestion

L'ajout de nouvelles rangées est réalisé en utilisant la méthode décrite dans la RFC 1905 [13]. Dans cette MIB, les rangées sont souvent ajoutées à un tableau afin de configurer une fonction. Cette configuration implique habituellement des paramètres qui contrôlent les opérations de la fonction. L'agent doit vérifier ces paramètres afin de s'assurer qu'ils sont appropriés étant données les restrictions définies dans cette MIB ainsi que dans toutes restrictions spécifiques de la mise en œuvre telles que le manque de ressources. L'agent de mise en œuvre peut être dans l'embarras pour déterminer quand vérifier ces paramètres et quand signaler à la station de gestion que les paramètres sont invalides. Il y a deux opportunités :
o	lorsque la station de gestion établit chaque objet paramètre,
o	lorsque la station de gestion établit l'entrée d'état d'objet comme valide.

Si cette dernière est choisie, il n'apparaîtra pas clairement à la station de gestion quels paramètres étaient invalides et ont causé l'émission de l'erreur badValue. Et donc, chaque fois que possible, la mise en œuvre devrait choisir la première solution car elle donne plus d'informations à la station de gestion.

Un problème peut survenir lorsque plusieurs stations de gestions tentent simultanément d'établir des informations de configuration en utilisant SNMP. Lorsque cela implique l'ajout d'une nouvelle rangée conceptuelle dans le même tableau de contrôle, les gestionnaires peuvent entrer en collision, en essayant de créer la même entrée. Pour se garder de telles collisions, chacune de ces entrées de contrôle contient un objet d'état avec une sémantique particulière qui aide à l'arbitrage entre les gestionnaires. Si une tentative est faite à l'aide du mécanisme d'ajout de rangée pour créer un tel objet d'état et que cet objet existe déjà, une erreur est retournée. Lorsque plus d'un gestionnaire tentent simultanément de créer la même rangée conceptuelle, seul le premier peut réussir. Les autres recevront une erreur.

Lorsque un gestionnaire souhaite créer une nouvelle entrée de contrôle, il a besoin de choisir un indice pour cette rangée. Il peut choisir cet indice de différentes façons, en espérant minimiser les chances que cet indice soit déjà utilisé par un autre gestionnaire. Si l'indice est utilisé, le mécanisme mentionné précédemment va protéger contre les collisions. Des exemples de schémas pour choisir des valeurs d'indice incluent le choix aléatoire ou l'examen du tableau de contrôle à la recherche du premier indice inutilisé. Comme les valeurs d'indice peuvent être toute valeur valide dans la gamme et qu'elles sont choisies par le gestionnaire, l'agent doit permettre qu'une rangée soit créée avec toute valeur d'indice non utilisée si il a les ressources pour créer une nouvelle rangée.

Certains tableaux dans la présente MIB font référence à d'autres tableaux au sein de cette MIB. Lors de la création ou de la suppression d'entrées dans ces tableaux, il est généralement admissible de faire coexister des références en miroir. Il n'y a pas d'ordre défini pour créer ou supprimer les entrées dans ces tableaux.

4.	Conventions

Les conventions suivantes sont utilisées dans toute la MIB RMON et ses documents d'accompagnement.

Bons paquets
Les bons paquets sont des paquets sans erreur qui ont une longueur de trame valide. Par exemple, sur Ethernet, les bons paquets sont des paquets sans erreur qui ont entre 64 octets et 1518 octets de long. Ils suivent la forme définie dans le document IEEE 802.3, section 3.2.all.

Mauvais paquets
Les mauvais paquets sont des paquets qui ont une trame appropriée et sont donc reconnus comme paquets, mais qui contiennent des erreurs au sein du paquet ou ont une longueur invalide. Par exemple, sur Ethernet, les mauvais paquets ont un préambule et SFD valides, mais ont un mauvais CRC, ou sont plus courts que 64 octets ou plus longs que 1518 octets.

5.	Définitions

DÉFINITIONS DE MIB-RMON ::= DÉBUT

IMPORTS
IDENTITÉ-DE-MODULE, IDENTITÉ-D'OBJET, TYPE-DE-NOTIFICATION, mib-2, Counter32, Integer32, TimeTicks 
DE SNMPv2-SMI

CONVENTION-TEXTUELLE, DisplayString
DE SNMPv2-TC

CONFORMITÉ-DE-MODULE, GROUPE-D'OBJET, GROUPE-DE-NOTIFICATION
DE SNMPv2-CONF ;

 --  MIB de surveillance de réseau à distance

IDENTITÉ-DE-MODULE rmonMibModule
LAST-UPDATED "200005110000Z"  	-- 11 mai 2000
ORGANIZATION "IETF RMON MIB Working Group"
CONTACT-INFO
         "Steve Waldbusser
         téléphone : +1-650-948-6500
         Fax :   +1-650-745-0671
         mél : waldbusser@nextbeacon.com"
DESCRIPTION
"Les appareils de surveillance de réseau à distance, souvent appelés moniteurs ou sondes, sont des instruments qui existent pour les besoins de la gestion d'un réseau. Cette MIB définit les objets de gestion des appareils de surveillance de réseau à distance."

REVISION "200005110000Z"    -- 11 May, 2000
DESCRIPTION
"Reformatée en format SMIv2. Cette version est publiée comme RFC 2819."

REVISION "199502010000Z" – 1er février 1995
DESCRIPTION
"Correction des bogues, éclaircissements et changements mineurs sur la base de l'expérience des mises en œuvre, publiée comme RFC1757 [18].

Deux changements ont été apportés aux définitions d'objets :
1)	Un nouveau bit d'état a été défini pour l'objet captureBufferPacketStatus, qui indique que l'ordre des paquets au sein de la mémoire tampon de capture peut n'être pas identique à l'ordre des paquets reçus du réseau. Ce bit ne peut être utilisé que pour les paquets transmis par la sonde. Les anciennes applications NMS peuvent ignorer en toute sécurité le bit d'état, qui peut être utilisé par les agents plus récents.

2)	Le piège packetMatch a été retiré. Ce piège n'avait jamais été en fait "approuvé" et n'a pas été repris dans le présent document pas plus que les pièges risingAlarm et fallingAlarm. Le piège packetMatch ne pouvait pas être mis au ralenti, ce qui causait une perturbation du trafic réseau normal dans certaines circonstances. Un NMS devrait configurer un seuil risingAlarm sur l'instance channelMatches appropriée si un piège est souhaité pour un événement packetMatch. Noter que l'enregistrement des événements packetMatch est toujours accepté ; seule la génération du piège pour de tels événements a été supprimée.

De plus, divers éclaircissements sur des définitions d'objets individuels ont été ajoutés pour aider les mises en œuvre d'agent et de NMS :
-	définition globale de "bons paquets et "mauvais paquets"
-	texte plus détaillé sur la création et modification des rangées conceptuelles
-	instructions pour les sondes au sujet des changements et interruptions d'interface
-	éclaircissements sur certaines définitions de compteur Ethernet
-	formule recommandée pour le calcul de l'utilisation du réseau
-	éclaircissements du comportement de canal et de captureBuffer pour certaines conditions inhabituelles
-	exemples de dénomination d'instance appropriée pour chaque tableau".

REVISION "199111010000Z" 	-- 1 novembre 1991
DESCRIPTION
"Version originale de cette MIB, publiée comme RFC1271."
::= { rmonConformance 8 }

IDENTIFIANT D'OBJET rmon    ::= { mib-2 16 }

-- conventions textuelles

OwnerString 	::= TEXTUAL-CONVENTION
STATUT	actuel
DESCRIPTION
"Ce type de données est utilisé pour modéliser un nom alloué administrativement au propriétaire d'une ressource. Les mises en œuvre doivent accepter les valeurs composées de séquences ASCII NVT bien formées. De plus, les mises en œuvre devraient accepter les valeurs composées de séquences UTF-8 bien formées.

Il est suggéré que ce nom contienne un ou plusieurs des éléments suivants : adresse IP, nom de la station de gestion, nom du gestionnaire de réseau, localisation, ou numéro de téléphone. Dans certains cas, l'agent sera lui-même le propriétaire d'une entrée. Dans ces cas, cette chaîne devra être établie en commençant par "moniteur".

Le contrôle d'accès SNMP est articulé entièrement en termes de contenus de vues de la MIB ; l'accès à une instance d'objet SNMP particulière ne dépend que de sa  présence ou de son absence dans une vue de MIB particulière et jamais de sa valeur ou de la valeur des instances d'objet qui s'y rapportent. Et donc, les objets de ce type ne supportent la résolution de l'affirmation de ressource qu'entre des gestionnaires qui coopèrent ; ils ne réalisent pas de fonction de contrôle d'accès par rapport aux parties qui ne coopèrent pas."
SYNTAXE	OCTET STRING (SIZE (0..127))

EntryStatus	::= TEXTUAL-CONVENTION
STATUT	actuel
DESCRIPTION
"C'est l'état d'une entrée de tableau.
Régler cet objet à la valeur invalid(4) a pour effet d'invalider l'entrée correspondante. C'est-à-dire qu'elle dissocie effectivement la transposition identifiée de ladite entrée. C'est une question spécifique de la mise en œuvre que de décider si l'agent retire ou non une entrée invalidée du tableau. En conséquence, les stations de gestion doivent être prêtes à recevoir des agents des informations de tableaux qui correspondent à des entrées actuellement non utilisées. Une bonne interprétation de telles entrées requiert l'examen de l'objet EntryStatus pertinent.

Un instance existante de cet objet ne peut être établie pour createRequest(2). Cet objet ne peut être réglé à createRequest(2) que lorsque cette instance est créée. Lorsque cet objet est créé, l'agent peut souhaiter créer des instances d'objet supplémentaires avec des valeurs par défaut pour compléter une rangée conceptuelle dans ce tableau. Parce que la création de ces objets par défaut est entièrement à la discrétion de l'agent, le gestionnaire ne doit pas supposer qu'un de ces objets va être créé, mais il peut se servir de tous ceux qui sont créés.
Immédiatement après avoir achevé l'opération de création, l'agent doit régler cet objet à underCreation(3).

Lorsque elle est dans l'étatCreation(3), il est permis qu'une entrée existe dans un état éventuellement incomplet, ou même incohérent, normalement pour lui permettre d'être modifiée dans plusieurs PDU. Lorsque elle est dans cet état, une entrée n'est pas pleinement active. Les entrées doivent exister dans l'état underCreation(3) jusqu'à ce que la station de gestion ait fini de configurer l'entrée et règle cet objet à valid(1) ou l'interrompe, en réglant cet objet à invalid(4). Si l'agent détermine qu'une entrée a été dans l'état underCreation(3) pendant un temps anormalement long, il peut décider que la station de gestion est défaillante. Si l'agent prend cette décision, il peut régler cet objet à invalid(4) pour réclamer l'entrée. Un agent prudent comprendra que la station de gestion peut devoir attendre une entrée humaine et pourvoira à cette possibilité dans sa détermination de cette période anormalement longue.

Une entrée dans l'état valid(1) est pleinement configurée et cohérente et représente pleinement la configuration ou le fonctionnement qu'une telle rangée est destinée à représenter. Par exemple, elle pourrait être une fonction statistique qui est configurée et active, ou un filtre qui est disponible dans la liste des filtres traités par le processus de capture de paquets.

Un gestionnaire est limité aux changements d'état d'une entrée suivants :

de 
/vers	valid	createRequest	underCreation	invalid	
valid	Oui	Non	Oui	Oui	
createRequest	N/A	N/A	N/A	N/A	
underCreation	Oui	Non	Oui	Oui	
invalid	Non	Non	Non	Oui	
nonExistent	Non	Oui	Non	Oui	

Dans le tableau ci-dessus, il n'est pas applicable de passer de l'état createRequest à aucun des autres états parce que le gestionnaire ne trouvera jamais la variable dans cet état. L'état nonExistent n'est pas une valeur de l'énumération, elle signifie plutôt que la variable entryStatus n'existe pas du tout. Un agent peut permettre d'autres changements d'état supplémentaires à une variable entryStatus, pour autant que la sémantique des états soit respectée. Cette permission est accordée pour faciliter la mise en œuvre de l'agent et elle est faite en dépit du fait que les gestionnaires ne devraient jamais effectuer ces transitions d'état additionnelles."
SYNTAXE	INTEGER {
	valid(1),
	createRequest(2),
	underCreation(3),
	invalid(4)
	}

statistics	IDENTIFIANT D'OBJET ::= { rmon 1 }
history	IDENTIFIANT D'OBJET ::= { rmon 2 }
alarm	IDENTIFIANT D'OBJET ::= { rmon 3 }
hosts	IDENTIFIANT D'OBJET ::= { rmon 4 }
hostTopN	IDENTIFIANT D'OBJET ::= { rmon 5 }
matrix	IDENTIFIANT D'OBJET ::= { rmon 6 }
filter	IDENTIFIANT D'OBJET ::= { rmon 7 }
capture	IDENTIFIANT D'OBJET ::= { rmon 8 }
event	IDENTIFIANT D'OBJET ::= { rmon 9 }
rmonConformance	IDENTIFIANT D'OBJET ::= { rmon 20 }

-- Groupe de statistiques Ethernet

-- La mise en œuvre du groupe de statistiques Ethernet est facultative. Consulter la macro MODULE-COMPLIANCE pour voir les informations de conformité d'autorité pour la présente MIB.
Le groupe des statistique Ethernet contient les statistiques mesurées par la sonde pour chaque interface surveillée sur cet appareil. Ces statistiques prennent la forme de compteurs non synchronisés qui démarrent de zéro à la création d'une entrée valide.
-- Ce groupe n'a actuellement de statistiques définies que pour les interfaces Ethernet. Chaque etherStatsEntry contient des statistiques pour une interface Ethernet. La sonde doit créer une entrée etherStats pour chaque interface Ethernet surveillée sur l'appareil.

TYPE-D'OBJET	etherStatsTable
SYNTAXE	SEQUENCE OF EtherStatsEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une liste des entrées de statistiques Ethernet."
     ::= { statistics 1 }

TYPE-D'OBJET	etherStatsEntry
SYNTAXE	EtherStatsEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une collection de statistiques conservées pour une interface Ethernet particulière. Par exemple, une instance de l'objet etherStatsPkts pourrait être nommée etherStatsPkts.1"
INDEX	{ etherStatsIndex }
::= { etherStatsTable 1 }

EtherStatsEntry ::= SEQUENCE {
   etherStatsIndex	Integer32,
   etherStatsDataSource	IDENTIFIANT-D'OBJET ,
   etherStatsDropEvents	Counter32,
   etherStatsOctets	Counter32,
   etherStatsPkts	Counter32,
   etherStatsBroadcastPkts	Counter32,
   etherStatsMulticastPkts	Counter32,
   etherStatsCRCAlignErrors	Counter32,
   etherStatsUndersizePkts	Counter32,
   etherStatsOversizePkts	Counter32,
   etherStatsFragments	Counter32,
   etherStatsJabbers	Counter32,
   etherStatsCollisions	Counter32,
   etherStatsPkts64Octets	Counter32,
   etherStatsPkts65to127Octets	Counter32,
   etherStatsPkts128to255Octets	Counter32,
   etherStatsPkts256to511Octets	Counter32,
   etherStatsPkts512to1023Octets	Counter32,
   etherStatsPkts1024to1518Octets	Counter32,
   etherStatsOwner	OwnerString,
   etherStatsStatus	EntryStatus
 }

TYPE-D'OBJET	etherStatsIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"La valeur de cet objet identifie de façon univoque cette entrée etherStats."
     ::= { etherStatsEntry 1 }

TYPE-D'OBJET	etherStatsDataSource
SYNTAXE	IDENTIFIANT D'OBJET
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet identifie la source des données que cette entrée etherStats est configurée pour analyser. Cette source peut être toute interface Ethernet sur cet appareil. Afin d'identifier une interface particulière, cet objet doit identifier l'instance de l'objet ifIndex, défini dans la RFC 2233 [17], pour l'interface désirée. Par exemple, si une entrée devait recevoir des données de l'interface n° 1, cet objet serait mis à l'ifIndex.1.

Les statistiques dans ce groupe reflètent tous les paquets sur le segment de réseau local qui sont rattachés à l'interface identifiée.

Un agent peut ou non être capable de dire si des changements fondamentaux sont survenus au support de l'interface et nécessitent une invalidation de cette entrée. Par exemple, une carte Ethernet enfichable à chaud pourrait être retirée et remplacée par une carte d'anneau à jetons. Dans un pareil cas, si l'agent a connaissance d'un tel changement, il est recommandé qu'il invalide cette entrée.

Cet objet peut n'être pas modifié si l'objet etherStatsStatus associé est égal à valid(1)."
     ::= { etherStatsEntry 2 }

TYPE-D'OBJET	etherStatsDropEvents 
SYNTAXE	Counter32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total d'événements dans lesquels des paquets ont été abandonnés par la sonde à cause du manque de ressources. Noter que ce nombre n'est pas nécessairement le nombre de paquets abandonnés ; c'est seulement le nombre de fois où cette condition a été détectée."
     ::= { etherStatsEntry 3 }

TYPE-D'OBJET	etherStatsOctets 
SYNTAXE 	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total d'octets de données (y compris ceux des mauvais paquets) reçus sur le réseau (à l'exclusion des bits de tramage mais y compris les octets de FCS).
Cet objet peut être utilisé comme une estimation raisonnable de l'utilisation de l'Ethernet à 10 Mégabits. Si une précision supérieure est désirée, les objets etherStatsPkts et etherStatsOctets devraient être échantillonnés avant et après un intervalle commun. Les différences des valeurs échantillonnées sont respectivement Pkts et Octets, et le nombre de secondes dans l'intervalle est Interval. Ces valeurs sont utilisées pour calculer l'utilisation comme suit :

	Pkts * (9,6 + 6,.4) + (Octets * 0,8)
Utilisation = --------------------------------------------
	Interval * 10 000

Le résultat de cette équation est la valeur de Utilisation qui est le pourcentage d'utilisation du segment Ethernet sur une échelle de 0 à 100 pour cent."
     ::= { etherStatsEntry 4 }

TYPE-D'OBJET	etherStatsPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets, les paquets en diffusion, et les paquets en diffusion groupée) reçus."
     ::= { etherStatsEntry 5 }

TYPE-D'OBJET	etherStatsBroadcastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de bons paquets reçus qui ont été dirigés sur l'adresse de diffusion. Noter que cela n'inclut pas les paquets en diffusion groupée."
     ::= { etherStatsEntry 6 }

TYPE-D'OBJET	etherStatsMulticastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de bons paquets reçus qui ont été dirigés sur une adresse de diffusion groupée. Noter que ce nombre n'inclut pas les paquets dirigés sur l'adresse de diffusion."
     ::= { etherStatsEntry 7 }

TYPE-D'OBJET	etherStatsCRCAlignErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de bons paquets reçus qui avaient une longueur (à l'exclusion des bits de tramage, mais incluant les octets de FCS) comprise entre 64 et 1518 octets inclus, mais avaient soit une mauvaise séquence de vérification de trame (FCS, Frame Check Sequence) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame)."
     ::= { etherStatsEntry 8 }

TYPE-D'OBJET	etherStatsUndersizePkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets reçus qui faisaient moins de 64 octets de long (à l'exclusion des bits de tramage, mais incluant les octets de FCS) et étaient par ailleurs bien formés."
     ::= { etherStatsEntry 9 }

TYPE-D'OBJET	etherStatsOversizePkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets reçus qui étaient plus longs que 1518 octets (à l'exclusion des bits de tramage, mais incluant les octets de FCS) et étaient par ailleurs bien formés."
     ::= { etherStatsEntry 10 }

TYPE-D'OBJET	etherStatsFragments 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets reçus qui étaient longs de moins de 64 octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) et avaient soit une mauvaise séquence de vérification de trame (FCS) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame).

Noter qu'il est entièrement normal d'incrémenter etherStatsFragments. Cela parce que il compte à la fois les "runts" (qui sont des occurrences normales dues aux collisions) et les chocs de bruit."
     ::= { etherStatsEntry 11 }

TYPE-D'OBJET	etherStatsJabbers 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets reçus qui étaient plus longs que 1518 octets (à l'exclusion des bits de tramage, mais en incluant les octets de FCS), et avaient soit une mauvaise séquence de vérification de trame (FCS) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame).

Noter que cette définition de "jabber" est différente de la définition du paragraphe 8.2.1.5 (10BASE5) et du paragraphe 10.3.1.4 (10BASE2) de la norme IEEE-802.3. Ces documents définissent "jabber" comme la condition dans laquelle tout paquet excède 20 ms. La gamme admise pour détecter l'embrouillage est entre 20 et 150 ms."
     ::= { etherStatsEntry 12 }

TYPE-D'OBJET	etherStatsCollisions 
SYNTAXE	Counter32
UNITÉS	"Collisions"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"La meilleure estimation du nombre total de collisions sur ce segment Ethernet.

La valeur retournée va dépendre de la localisation de la sonde RMON. Le paragraphe 8.2.1.3 (10BASE-5) et le paragraphe 10.3.1.3 (10BASE-2) de la norme IEEE 802.3 déclarent qu'une station doit détecter une collision, dans le mode réception, si trois stations ou plus transmettent simultanément. Un accès de répéteur doit détecter une collision lorsque deux stations ou plus transmettent simultanément. Et donc une sonde placée sur un accès de répéteur pourrait enregistrer plus de collisions qu'une sonde connectée à une station n'en enregistrerait sur le même segment.

La localisation des sondes joue un bien moindre rôle quand on considère 10BASE-T. Le paragraphe 14.2.1.4 (10BASE-T) de la norme IEEE 802.3 définit une collision comme la présence simultanée de signaux sur les circuits DO et RD (émettant et recevant en  même temps). Une station 10BASE-T ne peut détecter les collisions qu'à l'émission. Et donc les sondes placées sur une station et un répéteur devraient rapporter le même nombre de collisions.

Noter aussi qu'une sonde RMON à l'intérieur d'un répéteur devrait idéalement rapporter les collisions entre le répéteur et un ou plusieurs autres hôtes (collisions d'émission comme défini dans IEEE 802.3k) plus les collisions de receveur observées sur tous les segments de coaxial auxquels le répéteur est connecté."
     ::= { etherStatsEntry 13 }

TYPE-D'OBJET	etherStatsPkts64Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient 64 octets de long (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 14 }

TYPE-D'OBJET	etherStatsPkts65to127Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient entre 65 et 127 octets de long inclus (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 15 }

TYPE-D'OBJET	etherStatsPkts128to255Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient entre 128 et 255 octets de long inclus (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 16 }

TYPE-D'OBJET	etherStatsPkts256to511Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient entre 256 et 511 octets de long inclus (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 17 }

TYPE-D'OBJET	etherStatsPkts512to1023Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient entre 512 et 1023 octets de long inclus (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 18 }

TYPE-D'OBJET	etherStatsPkts1024to1518Octets 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets (y compris les mauvais paquets) reçus qui faisaient entre 1024 et 1518 octets de long inclus (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherStatsEntry 19 }

TYPE-D'OBJET	etherStatsOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"L'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { etherStatsEntry 20 }

TYPE-D'OBJET	etherStatsStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Le statut de cette entrée etherStats."
     ::= { etherStatsEntry 21 }

-- Le groupe de contrôle d'historique

-- La mise en œuvre du groupe de contrôle de l'historique est facultative. Consulter la macro MODULE-COMPLIANCE pour les informations de conformité d'autorité pour cette MIB.
-- Le groupe de contrôle de l'historique contrôle l'échantillonnage statistique périodique des données de divers types de réseaux. Le tableau historyControlTable mémorise les entrées de configuration dont chacune définit une interface, une période d'interrogation, et d'autres paramètres. Une fois que les échantillons sont pris, leurs données sont mémorisées comme entrée dans un tableau spécifique du support. Chacune de ces entrées définit un échantillon, et est associée à la historyControlEntry qui a causé la prise de l'échantillon. Chaque compteur dans la etherHistoryEntry compte le même événement que celui dont il est la contrepartie de même nom dans la etherStatsEntry, sauf que ici chaque valeur est une somme cumulative durant une période d'échantillonnage.
--
-- Si la sonde garde trace de l'heure du jour, elle devrait commencer avec le premier échantillon de l'historique à une heure telle que lorsque commence la prochaine heure du jour, un échantillon soit commencé à cet instant. Cela tend à faire des rapports plus faciles à lire et permet la comparaison de rapports de différentes sondes à une heure relativement précise.
--
-- La sonde est invitée à ajouter pour l'initialisation deux entrées de contrôle d'historique par interface surveillée qui décrivent une période d'interrogation à court terme et à long terme. Les paramètres suggérés sont de 30 secondes pour la période d'interrogation à court terme et de 30 minutes pour la période de long terme.

TYPE-D'OBJET	historyControlTable 
SYNTAXE	SEQUENCE OF HistoryControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une liste des entrées de contrôle d'historique."
     ::= { history 1 }

TYPE-D'OBJET	historyControlEntry 
SYNTAXE	HistoryControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une liste des paramètres qui établissent un échantillonnage périodique des statistiques. Par exemple, une instance de l'objet historyControlInterval pourrait être nommée historyControlInterval.2"
INDEX { historyControlIndex }
     ::= { historyControlTable 1 }

HistoryControlEntry ::= SEQUENCE {
     historyControlIndex	Integer32,     historyControlDataSource	IDENTIFIANT D'OBJET,
     historyControlBucketsRequested	Integer32,
     historyControlBucketsGranted	Integer32,
     historyControlInterval	Integer32,
     historyControlOwner	OwnerString,
     historyControlStatus	EntryStatus
 }

TYPE-D'OBJET	historyControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Un indice qui identifie de façon univoque une entrée dans le tableau historyControl. Chacune de ces entrées définit un ensemble d'échantillons d'un intervalle particulier pour une interface de l'appareil."
     ::= { historyControlEntry 1 }

TYPE-D'OBJET	historyControlDataSource 
SYNTAXE	IDENTIFIANT D'OBJET
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet identifie la source des données pour lesquelles les données d'historique ont été collectées et placées dans un tableau spécifique du support au nom de cette historyControlEntry. Cette source peut être toute interface de cet appareil. Afin d'identifier une interface particulière, cet objet devra identifier l'instance de l'objet ifIndex, définie dans la RFC 2233 [17], pour l'interface désirée. Par exemple, si une entrée devait recevoir des données de l'interface n° 1, cet objet serait réglé à ifIndex.1.

Les statistiques de ce groupe reflètent tous les paquets sur le segment de réseau local rattaché à l'interface identifiée.

Un agent peut être capable ou non de dire si des changements fondamentaux sont survenus au support de l'interface et nécessitent une invalidation de cette entrée. Par exemple, une carte Ethernet enfichable à chaud pourrait avoir été retirée et remplacée par une carte d'anneau à jeton. Dans un tel cas, si l'agent a connaissance d'un tel changement, il est recommandé qu'il invalide cette entrée.

Cet objet ne peut pas être modifié si l'objet historyControlStatus associé est égal à valid(1)."
     ::= { historyControlEntry 2 }

TYPE-D'OBJET	historyControlBucketsRequested 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Le nombre requis d'intervalles de temps discrets sur lequel les données sont à sauvegarder dans la partie du tableau spécifique du support associée à cette entrée historyControlEntry.

Lorsque cet objet est créé ou modifié, la sonde devrait régler historyControlBucketsGranted aussi proche de cet objet que possible pour la mise en œuvre de sonde particulière et les ressources disponibles."
DEFVAL { 50 }
     ::= { historyControlEntry 3 }

TYPE-D'OBJET	historyControlBucketsGranted 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre d'intervalles d'échantillonnage discrets sur lequel les données doivent être sauvegardées dans la partie du tableau spécifique du support associée à cette historyControlEntry.

Lorsque l'objet historyControlBucketsRequested associé est créé ou modifié, la sonde devrait régler cet objet aussi proche que possible de la valeur requise pour la mise en œuvre de sonde particulière et les ressources disponibles. La sonde ne doit pas diminuer cette valeur sauf par suite d'une modification de l'objet historyControlBucketsRequested associé.

Il y a des cas où le nombre réel de comptages associés à cette entrée est inférieur à la valeur de cet objet. Dans ce cas, à la fin de chaque intervalle d'échantillonnage, un nouveau comptage sera ajouté au tableau spécifique du support.

Lorsque le nombre de comptages atteint la valeur de cet objet et qu'un nouveau comptage doit être ajouté au tableau spécifique du support, le plus ancien comptage associé à cette historyControlEntry doit être supprimé par l'agent afin que le nouveau comptage puisse être ajouté.

Lorsque la valeur de cet objet change pour une valeur inférieure à la valeur actuelle, des entrées sont supprimées du tableau spécifique du support associé à cette historyControlEntry. Suffisamment de ces plus anciennes entrées doivent être supprimées par l'agent afin que leur nombre reste inférieur ou égal à la nouvelle valeur de cet objet.

Lorsque la valeur de cet objet change pour une valeur supérieure à la valeur actuelle, le nombre d'entrées spécifiques du support associées peut être admis à croître."
     ::= { historyControlEntry 4 }

TYPE-D'OBJET	historyControlInterval 
SYNTAXE	Integer32 (1..3600)
UNITÉS	"Secondes"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"L'intervalle en secondes sur lequel les données sont échantillonnées pour chaque compteur dans la partie du tableau spécifique du support associée à cette historyControlEntry. Cet intervalle peut être réglé à tout nombre de secondes entre 1 et 3600 (1 heure).
Parce que les compteurs dans un seau peuvent déborder sans indication à leur valeur maximum, un gestionnaire prudent tiendra compte de la possibilité d'un débordement dans tous les compteurs associés. Il est important de considérer le temps minimum dans lequel tout compteur peut déborder sur un type de support particulier et régler l'objet historyControlInterval à une valeur inférieure à cet intervalle. Ceci est normalement le plus important pour les compteurs 'd'octets' dans tout tableau spécifique de support. Par exemple, sur un réseau Ethernet, le compteur etherHistoryOctets pourrait déborder en à peu près une heure à l'utilisation maximum d'Ethernet.
Cet objet ne peut pas être modifié si l'objet associé historyControlStatus est égal à valid(1)."
DEFVAL { 1800 }
     ::= { historyControlEntry 5 }

TYPE-D'OBJET	historyControlOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et est donc l'utilisateur des ressources qui lui sont allouées."
     ::= { historyControlEntry 6 }

TYPE-D'OBJET	historyControlStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"L'état de cette entrée historyControl. Chaque instance du tableau spécifique du support associé à cette historyControlEntry sera supprimée par l'agent si cette historyControlEntry n'est pas égale à valid(1)."
     ::= { historyControlEntry 7 }

-- Le groupe d'historique Ethernet

-- La mise en œuvre du groupe d'historique Ethernet est facultative. Consulter la macro MODULE-COMPLIANCE pour les informations de conformité d'autorité pour cette MIB.
--
-- Le groupe d'historique Ethernet enregistre des échantillons statistiques périodiques pour un réseau et les mémorise pour une restitution ultérieure. Une fois que les échantillons sont prélevés, leurs données sont mémorisées dans une entrée d'un tableau spécifique du support. Chacune de ces entrées définit un échantillon et est associée à la historyControlEntry qui a causé le prélèvement de l'échantillon. Ce groupe définit le tableau etherHistoryTable, pour les réseaux Ethernet.
--

TYPE-D'OBJET	etherHistoryTable 
SYNTAXE	SEQUENCE OF EtherHistoryEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une liste des entrées d'historique Ethernet."
     ::= { history 2 }

TYPE-D'OBJET	etherHistoryEntry SYNTAXE	EtherHistoryEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un échantillon d'historique des statistiques Ethernet sur une interface Ethernet particulière. Cet échantillon est associé à l'entrée historyControlEntry qui établit les paramètres pour une collecte régulière de ces échantillons. Par exemple, une instance de l'objet etherHistoryPkts pourrait être dénommée etherHistoryPkts.2.89"
INDEX	{ etherHistoryIndex , etherHistorySampleIndex }
     ::= { etherHistoryTable 1 }

EtherHistoryEntry ::= SEQUENCE {
     etherHistoryIndex	Integer32,
     etherHistorySampleIndex	Integer32,
     etherHistoryIntervalStart	TimeTicks,
     etherHistoryDropEvents 	Counter32,
     etherHistoryOctets 	Counter32,
     etherHistoryPkts 	Counter32,
     etherHistoryBroadcastPkts	Counter32,
     etherHistoryMulticastPkts	Counter32,
     etherHistoryCRCAlignErrors	Counter32,
     etherHistoryUndersizePkts	Counter32,
     etherHistoryOversizePkts	Counter32,
     etherHistoryFragments	Counter32,
     etherHistoryJabbers	Counter32,
     etherHistoryCollisions	Counter32,
     etherHistoryUtilization	Integer32
 }

TYPE-D'OBJET	etherHistoryIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Historique des parties de cette entrée. L'historique identifié par une valeur particulière de cet indice est le même historique que celui identifié par la même valeur de historyControlIndex."
     ::= { etherHistoryEntry 1 }

TYPE-D'OBJET	etherHistorySampleIndex 
SYNTAXE	Integer32 (1..2147483647)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Un indice qui identifie de façon univoque l'échantillon particulier que représente cette entrée parmi tous les échantillons associés à la même historyControlEntry. Cet indice commence à 1 et augmente de un à chaque prélèvement d'un nouvel échantillon."
     ::= { etherHistoryEntry 2 }

TYPE-D'OBJET	etherHistoryIntervalStart 
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"La valeur de sysUpTime au début de l'intervalle sur lequel a été mesuré cet échantillon. Si la sonde garde trace de l'heure, elle devrait débuter au premier échantillon de l'historique à un moment tel que lorsque commence la prochaine heure de la journée, un échantillon commence à cet instant. Noter que suivre cette règle peut exiger que la sonde retarde la collecte du premier échantillon de l'historique, car chaque échantillon doit être au même intervalle. Noter aussi que l'échantillon qui est actuellement collecté n'est pas accessible dans ce tableau avant la fin de cet intervalle."
     ::= { etherHistoryEntry 3 }

TYPE-D'OBJET	etherHistoryDropEvents 
SYNTAXE	Counter32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total d'événements dans lesquels des paquets ont été abandonnés par la sonde du fait du manque de ressources durant cet intervalle d'échantillonnage. Noter que ce nombre n'est pas nécessairement le nombre de paquets abandonnés, c'est juste le nombre de fois où cette condition a été détectée."
     ::= { etherHistoryEntry 4 }

TYPE-D'OBJET	etherHistoryOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total d'octets de données (y compris ceux de mauvais paquets) reçus sur le réseau (à l'exclusion des bits de tramage mais en incluant les octets de FCS)."
     ::= { etherHistoryEntry 5 }

TYPE-D'OBJET	etherHistoryPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de paquets (y compris les mauvais paquets) reçus durant cet intervalle d'échantillonnage."
     ::= { etherHistoryEntry 6 }

TYPE-D'OBJET	etherHistoryBroadcastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de bons paquets reçus durant cet intervalle d'échantillonnage qui ont été dirigés sur l'adresse de diffusion."
     ::= { etherHistoryEntry 7 }

TYPE-D'OBJET	etherHistoryMulticastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de bons paquets reçus durant cet intervalle d'échantillonnage qui ont été dirigés sur une adresse de diffusion groupée. Noter que ce nombre n'inclut pas de paquets adressés à l'adresse de diffusion."
     ::= { etherHistoryEntry 8 }

TYPE-D'OBJET	etherHistoryCRCAlignErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de paquets reçus durant cet intervalle d'échantillonnage qui avait une longueur (à l'exclusion des bits de tramage mais en incluant les octets de FCS) comprise entre 64 et 1518 octets inclus, mais avaient soit une mauvaise séquence de vérification de trame (FCS) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame)."
     ::= { etherHistoryEntry 9 }

TYPE-D'OBJET	etherHistoryUndersizePkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de paquets reçus durant cet intervalle d'échantillonnage qui faisaient moins de 64 octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) et étaient par ailleurs bien formés."
     ::= { etherHistoryEntry 10 }

TYPE-D'OBJET	etherHistoryOversizePkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de paquets reçus durant cet intervalle d'échantillonnage qui faisaient plus de 1518 octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) mais étaient par ailleurs bien formés."
     ::= { etherHistoryEntry 11 }

TYPE-D'OBJET	etherHistoryFragments 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre total de paquets reçus durant cet intervalle d'échantillonnage qui faisaient moins de 64 octets de long (à l'exclusion des bits de tramage mais en incluant les octets de FCS) et avaient soit une mauvaise séquence de vérification de trame (FCS) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame).

Noter qu'il est entièrement normal pour etherHistoryFragments de s'incrémenter. Cela parce il compte à la fois les bits fragments (qui sont des occurrences normales dues aux collisions) et les bits de bruit."
     ::= { etherHistoryEntry 12 }

TYPE-D'OBJET	etherHistoryJabbers 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Le nombre de paquets reçus durant cet intervalle d'échantillonnage qui faisaient plus de 1518 octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) et  avaient soit une mauvaise séquence de vérification de trame (FCS) avec un nombre entier d'octets (erreur de FCS) soit une mauvaise FCS avec un nombre non entier d'octets (erreur de verrouillage de trame).

Noter que cette définition de "jabber" (baragouin) est différente de celle des paragraphes 8.2.1.5 (10BASE5) et 10.3.1.4 (10BASE2) de IEEE-802.3. Ces documents définissent "jabber" comme la condition dans laquelle tout paquet excède 20 ms. La gamme admise pour détecter le "jabber" est entre 20 ms et 150 ms."
     ::= { etherHistoryEntry 13 }

TYPE-D'OBJET	etherHistoryCollisions 
SYNTAXE	Counter32
UNITÉS	"Collisions"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Meilleure estimation du nombre total de collisions sur ce segment Ethernet durant cet intervalle d'échantillonnage.

La valeur retournée va dépendre de la localisation de la sonde RMON. Les paragraphes 8.2.1.3 (10BASE-5) et 10.3.1.3 (10BASE-2) de la norme IEEE 802.3 déclarent qu'une station doit détecter une collision, en mode réception, si trois stations ou plus émettent simultanément. Un accès de répéteur doit détecter une collision lorsque deux stations ou plus émettent simultanément. Et donc une sonde placée sur un accès de répéteur pourrait enregistrer plus de collisions qu'une sonde connectée à une station sur le même segment.

La localisation de la sonde joue un bien plus petit rôle lorsque on considère 10BASE-T. Le paragraphe 14.2.1.4 (10BASE-T) de la norme IEEE 802.3 définit une collision comme la présence simultanée de signaux sur les circuits DO et RD (émettant et recevant au même moment). Une station 10BASE-T ne peut détecter les collisions que quand elle émet. Et donc les sondes placées sur une station et un répéteur devraient rapporter le même nombre de collisions.

Noter aussi qu'une sonde RMON placée à l'intérieur d'un répéteur devrait idéalement rapporter les collisions entre le répéteur et un ou plusieurs autres hôtes (collisions d'émission comme définies dans IEEE 802.3k) plus collisions de réception observées sur tout segment de coaxial sur lequel est connecté le répéteur."
     ::= { etherHistoryEntry 14 }

TYPE-D'OBJET	etherHistoryUtilization 
SYNTAXE	Integer32 (0..10000)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Meilleure estimation de l'utilisation moyenne du réseau de couche physique sur cette interface durant cet intervalle d'échantillonnage, en centièmes."
     ::= { etherHistoryEntry 15 }

-- Le groupe Alarme

-- La mise en œuvre du groupe Alarme est facultative. Le groupe Alarme exige la mise en œuvre du groupe événement. Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe Alarme prend périodiquement des échantillons statistiques de variables sur la sonde et les compare aux seuils qui ont été configurés. Le tableau des alarmes mémorise les entrées de configuration qui définissent chacune une variable, la période d'interrogation et les paramètres de seuil. Si un échantillon se trouve franchir les valeurs du seuil, un événement est généré. Seules les variables qui résolvent un type de primitive ASN.1 de INTEGER (INTEGER, Integer32, Counter32, Counter64, Gauge32, ou TimeTicks) peuvent être surveillées de cette façon.
--
-- Cette fonction a un mécanisme d'hystérèse pour limiter la génération des événements. Ce mécanisme génère un événement lorsque un seuil est franchi dans la direction appropriée. Il n'est pas généré d'autre événements pour ce seuil jusqu'à ce que le seuil opposé soit franchi.
--
-- Dans le cas de l'échantillonnage d'une valeur différentielle, une sonde peut mettre en œuvre ce mécanisme avec plus de précision si elle prend un échantillon différentiel deux fois par période, en comparant à chaque fois la somme des deux derniers échantillons au seuil. Cela permet la détection de franchissements de seuil qui s'étendent sur les limites de l'échantillonnage. Noter que cela n'exige aucune configuration particulière de la valeur du seuil. Il est suggéré que les sondes mettent en œuvre cet algorithme plus précis.

TYPE-D'OBJET	alarmTable 
SYNTAXE	SEQUENCE OF AlarmEntry
MAX-ACCESS	non accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées d'alarme."
     ::= { alarm 1 }

TYPE-D'OBJET	alarmEntry 
SYNTAXE	AlarmEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Une liste de paramètres qui établissent une vérification périodique des conditions d'alarme. Par exemple, une instance de l'objet alarmValue pourrait être appelée alarmValue.8"
INDEX	{ alarmIndex }
     ::= { alarmTable 1 }

AlarmEntry ::= SEQUENCE {
     alarmIndex	Integer32,
     alarmInterval	Integer32,
     alarmVariable	IDENTIFIANT D'OBJET,
     alarmSampleType	INTEGER,
     alarmValue	Integer32,
     alarmStartupAlarm	INTEGER,
     alarmRisingThreshold	Integer32,
     alarmFallingThreshold	Integer32,
     alarmRisingEventIndex	Integer32,
     alarmFallingEventIndex	Integer32,
     alarmOwner	OwnerString,
     alarmStatus	EntryStatus
}

TYPE-D'OBJET	alarmIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Un indice qui identifie de façon univoque une entrée dans le tableau d'alarme. Chacune de ces entrées définit un échantillon diagnostic à un intervalle particulier pour un objet sur l'appareil."
     ::= { alarmEntry 1 }

TYPE-D'OBJET	alarmInterval 
SYNTAXE	Integer32
UNITÉS	"Secondes"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"L'intervalle en secondes sur lequel les données sont échantillonnées et comparées aux seuils montants et descendants. Lors du réglage de cette variable, il faut veiller à ce que, dans le cas de l'échantillonnage d'une valeur différentielle, l'intervalle soit réglé assez court pour que la variable échantillonnée ait une probabilité très faible d'augmenter ou diminuer de plus de 2^31 - 1 durant un seul intervalle d'échantillonnage.

Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 2 }

TYPE-D'OBJET	alarmVariable 
SYNTAXE	IDENTIFIANT D'OBJET
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"L'identifiant d'objet de la variable particulière à échantillonner. Seules les variables qui se résolvent en un type de primitive ASN.1 de INTEGER (INTEGER, Integer32, Counter32, Counter64, Gauge, ou TimeTicks) peuvent être échantillonnées.

Comme le contrôle d'accès SNMP est entièrement articulé sur le contenu des vues de MIB, aucun mécanisme de contrôle d'accès n'existe qui pourrait restreindre la valeur de cet objet pour n'identifier que les objets qui existent dans une vue de MIB particulière. Comme il n'y a donc pas de moyen acceptable pour interdire l'accès en lecture qui pourrait être obtenu grâce au mécanisme d'alarme, la sonde doit seulement accorder l'accès à cet objet dans les vues qui ont l'accès en lecture à tous les objets vus par la sonde.

Durant une opération d'établissement, si le nom de la variable fournie n'est pas disponible dans la vue de MIB choisie, une erreur badValue doit être retournée. Si à un moment quelconque le nom de variable d'une entrée d'alarme établie n'est plus disponible dans la vue de MIB choisie, la sonde doit changer l'état de cette entrée d'alarme en invalid(4).

Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 3 }

TYPE-D'OBJET	alarmSampleType 
SYNTAXE	INTEGER {
	absoluteValue(1),
	deltaValue(2)
	}
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"La méthode d'échantillonnage de la variable choisie et de calcul de la valeur à comparer aux seuils. Si la valeur de cet objet est absoluteValue(1), la valeur de la variable choisie sera comparée directement aux seuils à la fin de l'intervalle d'échantillonnage. Si la valeur de cet objet est deltaValue(2), la valeur de la variable choisie au dernier échantillonnage sera soustraite de la valeur actuelle, et la différence comparée aux seuils.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 4 }

TYPE-D'OBJET	alarmValue 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Valeur de la statistique durant la dernière période d'échantillonnage. Par exemple, si le type d'échantillon est deltaValue, cette valeur sera la différence entre les échantillons du début et ceux de la fin de la période. Si le type d'échantillon est absoluteValue, cette valeur sera celle échantillonnée à la fin de la période.

C'est la valeur qui est comparée aux seuils montants et descendants.

Durant la période d'échantillonnage en cours, la valeur n'est pas rendue disponible jusqu'à la fin de la période, et elle restera disponible jusqu'à la fin de la prochaine période."
     ::= { alarmEntry 5 }

TYPE-D'OBJET	alarmStartupAlarm 
SYNTAXE	INTEGER {
	risingAlarm(1),
	fallingAlarm(2),
	risingOrFallingAlarm(3)
	}
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'alarme qui peut être envoyée lorsque cette entrées est réglée à valide pour la première fois. Si le premier échantillon après cette entrée devient valide est supérieur ou égal au seuil montant et si alarmStartupAlarm est égal à risingAlarm(1) ou à risingOrFallingAlarm(3), une seule alarme montante sera générée. Si le premier échantillon après que cette entrée devient valide est inférieur ou égal au seuil descendant et si alarmStartupAlarm est égal à fallingAlarm(2) ou risingOrFallingAlarm(3), une seule alarme descendante sera générée.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 6 }

TYPE-D'OBJET	alarmRisingThreshold 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Seuil pour la statistique des échantillons. Lorsque la valeur échantillonnée actuelle est supérieure ou égale à ce seuil, et que la valeur au dernier intervalle d'échantillonnage était inférieure à ce seuil, un seul événement sera généré. Un seul événement sera aussi généré si le premier échantillon après que cette entrée est devenue valide est supérieur ou égal à ce seuil et si le alarmStartupAlarm associé est égal à risingAlarm(1) ou à risingOrFallingAlarm(3).
Après la génération d'un événement montant, un autre événement semblable ne sera pas généré tant que la valeur échantillonnée ne sera pas tombée en dessous de ce seuil pour atteindre le seuil alarmFallingThreshold.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 7 }

TYPE-D'OBJET	alarmFallingThreshold 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Seuil pour la statistique des échantillons. Lorsque la valeur échantillonnée actuelle est inférieure ou égale à ce seuil, et que la valeur du dernier intervalle d'échantillonnage était supérieure à ce seuil, un seul événement sera généré. Un seul événement sera aussi généré si le premier échantillon après que cette entrée est devenue valide est inférieur ou égal à ce seuil et si l'alarme associée alarmStartupAlarm est égale à fallingAlarm(2) ou à risingOrFallingAlarm(3).
Après la génération d'un événement descendant, un autre événement de ce type ne sera pas généré jusqu'à ce que la valeur échantillonnée passe au dessus de ce seuil et atteigne alarmRisingThreshold.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 8 }

TYPE-D'OBJET	alarmRisingEventIndex 
SYNTAXE	Integer32 (0..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'indice de l'entrée d'événement eventEntry qui est utilisée lorsque un seuil montant est franchi. La eventEntry identifiée par une valeur particulière de cet indice est la même que celle identifiée par la même valeur de l'objet eventIndex. Si il n'y a pas d'entrée correspondante dans eventTable, aucune association n'existe alors. En particulier, si cette valeur est zéro, aucun événement associé ne sera généré, car zéro n'est pas un indice d'événement valide.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 9 }

TYPE-D'OBJET	alarmFallingEventIndex 
SYNTAXE	Integer32 (0..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'indice de l'entrée d'événement eventEntry qui est utilisée lorsque un seuil descendant est franchi. La eventEntry identifiée par une valeur particulière de cet indice est la même que celle identifiée par la même valeur de l'objet eventIndex.  Si il n'y a pas d'entrée correspondante dans eventTable, aucune association n'existe alors. En particulier, si cette valeur est zéro, aucun événement associé ne sera généré, car zéro n'est pas un indice d'événement valide.
Cet objet ne peut pas être modifié si l'objet alarmStatus associé est égal à valid(1)."
     ::= { alarmEntry 10 }

TYPE-D'OBJET	alarmOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et est donc l'utilisateur des ressources qui lui sont allouées."
     ::= { alarmEntry 11 }

TYPE-D'OBJET	alarmStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée d'alarme."
     ::= { alarmEntry 12 }

-- Le groupe Hôte

-- La mise en œuvre du groupe Hôte est facultative.
-- Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe Hôte découvre les nouveaux hôtes sur le réseau en tenant une liste des adresses MAC de source et de destination vues dans les bons paquets. Pour chacune de ces adresses, le groupe Hôte tient un ensemble de statistiques. Le tableau hostControlTable contrôle les interfaces sur lesquelles est effectuée cette fonction, et contient des informations sur le processus. Au nom de chaque entrée hostControlEntry, des données sont collectées sur une interface et placées dans les deux tableaux hostTable et hostTimeTable. Si l'appareil de surveillance se trouve lui-même un peu court en ressources, il peut supprimer des entrées en tant que de besoin. Il est suggéré que l'appareil supprime d'abord les entrées les moins récentes.

-- Le tableau hostTable contient des entrées pour chaque adresse découverte sur une interface particulière. Chaque entrée contient des données statistiques sur cet hôte. Ce tableau est indexé par l'adresse MAC de l'hôte, à travers laquelle un accès aléatoire peut être réalisé.

-- Le tableau hostTimeTable contient des données sous le même format que hostTable, et doit contenir le même ensemble d'hôtes, mais il est indexé en utilisant hostTimeCreationOrder (ordre selon l'heure de création de l'hôte) plutôt que hostAddress. hostTimeCreationOrder est un entier qui reflète l'ordre relatif dans lequel une entrée particulière a été découverte et donc introduite dans le tableau. Comme cet ordre, et donc l'indice, est celui des entrées qui sont actuellement dans le tableau, l'indice pour une entrée particulière peut changer si une entrée (antérieure) est supprimée. Et donc, l'association entre hostTimeCreationOrder et hostTimeEntry peut être cassée à tout moment.

-- Le tableau hostTimeTable a deux utilisations importantes. La première est le téléchargement rapide de ce tableau potentiellement grand. Parce que l'indice de ce tableau court de 1 à la taille du tableau, inclus, ses valeurs sont prévisibles. Cela permet un emballage très efficace des variables dans la PDU de SNMP et à un transfert de tableau d'avoir plusieurs paquets en instance. Cet avantage augmente considérablement le débit de transfert.

-- La seconde utilisation du tableau hostTimeTable est l'efficacité de la découverte par la station de gestion des nouvelles entrées ajoutées au tableau. Après que la station de gestion a téléchargé le tableau entier, elle sait que de nouvelles entrées vont être ajoutées immédiatement après la fin du tableau actuel. Elle peut donc détecter les nouvelles entrées et les restituer facilement.

-- Parce que l'association entre hostTimeCreationOrder et hostTimeEntry peut être cassée à tout moment, la station de gestion doit surveiller l'objet hostControlLastDeleteTime qui s'y rapporte. Lorsque la station de gestion détecte une suppression, elle doit supposer que de telles associations ont été brisées, et invalider toutes celles qu'elle a mémorisé localement. Cela inclut de redémarrer tout téléchargement du tableau hostTimeTable qui pourrait avoir été en cours, ainsi que de redécouvrir la fin de hostTimeTable afin d'y détecter les nouvelles entrées. Si la station de gestion ne détecte pas d'association brisée, elle peut continuer de se référer à un hôte particulier par son creationOrder tout en restituant entièrement involontairement les données associées à un autre hôte. Si cela arrive pendant le téléchargement du tableau d'hôte, la station de gestion peut échouer à télécharger toutes les entrées du tableau.

TYPE-D'OBJET	hostControlTable 
SYNTAXE	SEQUENCE OF HostControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de contrôle du tableau des hôtes."
     ::= { hosts 1 }

TYPE-D'OBJET	hostControlEntry 
SYNTAXE	HostControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste de paramètres qui règlent la découverte des hôtes sur une interface particulière et la collecte de statistiques sur ces hôtes. Par exemple, une instance de l'objet hostControlTableSize peut être dénommée hostControlTableSize.1"
INDEX	{ hostControlIndex }
     ::= { hostControlTable 1 }

HostControlEntry	::= SEQUENCE {
hostControlIndex	Integer32,
hostControlDataSource	IDENTIFIANT D'OBJET,
hostControlTableSize	Integer32,
hostControlLastDeleteTime	TimeTicks,
hostControlOwner	OwnerString,
hostControlStatus	EntryStatus
 }

TYPE-D'OBJET	hostControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau hostControl. Chacune de ces entrées définit une fonction de découverte des hôtes sur une interface particulière et place des statistiques sur eux dans le tableau hostTable et hostTimeTable au nom de cette entrée hostControlEntry."
     ::= { hostControlEntry 1 }

TYPE-D'OBJET	hostControlDataSource 
SYNTAXE	IDENTIFIANT D'OBJET
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet identifie la source des données pour cette instance de la fonction hôte. Cette source peut être toute interface sur cet appareil. Afin d'identifier une interface particulière, cet objet devra identifier l'instance de l'objet ifIndex, défini dans la RFC 2233 [17], pour l'interface désirée. Par exemple, si une entrée devait recevoir des données de l'interface n° 1, cet objet serait réglé à ifIndex.1.

Les statistiques de ce groupe reflètent tous les paquets sur le segment de réseau local rattachés à l'interface identifiée.

Un agent peut être capable ou non de dire si des changements fondamentaux sont survenus au support de l'interface et nécessitent une invalidation de cette entrée. Par exemple, une carte Ethernet enfichable pourrait être retirée et remplacée par une carte d'anneau à jetons. Dans un pareil cas, si l'agent a connaissance d'un tel changement, il est recommandé qu'il invalide cette entrée.
Cet objet ne peut pas être modifié si l'objet hostControlStatus associé est égal à valid(1)."
     ::= { hostControlEntry 2 }

TYPE-D'OBJET	hostControlTableSize 
SYNTAXE 	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre de hostEntries dans les tableaux hostTable et hostTimeTable associés à cette entrée hostControlEntry."
     ::= { hostControlEntry 3 }

TYPE-D'OBJET	hostControlLastDeleteTime 
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime lorsque la dernière entrée a été supprimée de la portion du hostTable associée à cette hostControlEntry. Si aucune suppression n'est survenue, cette valeur devra être zéro."
     ::= { hostControlEntry 4 }

TYPE-D'OBJET	hostControlOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et qui utilise donc les ressources qui lui sont allouées."
     ::= { hostControlEntry 5 }

TYPE-D'OBJET	hostControlStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée de hostControl. Si cet objet n'est pas égal à valid(1), toutes les entrées associées dans les tableaux hostTable, hostTimeTable et hostTopNTable devront être supprimées par l'agent."
     ::= { hostControlEntry 6 }

TYPE-D'OBJET	hostTable 
SYNTAXE	SEQUENCE OF HostEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées d'hôtes."
     ::= { hosts 2 }

TYPE-D'OBJET	hostEntry 
SYNTAXE	HostEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Collection de statistiques pour un hôte particulier qui a été découvert sur une interface de cet appareil. Par exemple, une instance de l'objet hostOutBroadcastPkts pourrait être dénommée hostOutBroadcastPkts.1.6.8.0.32.27.3.176".
INDEX	{ hostIndex, hostAddress }
     ::= { hostTable 1 }

HostEntry	::= SEQUENCE {
hostAddress	OCTET STRING,
hostCreationOrder	Integer32,
hostIndex	Integer32,
hostInPkts	Counter32,
hostOutPkts	Counter32,
hostInOctets	Counter32,
hostOutOctets	Counter32,
hostOutErrors	Counter32,
hostOutBroadcastPkts	Counter32,
hostOutMulticastPkts	Counter32
 }

TYPE-D'OBJET	hostAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de cet hôte."
     ::= { hostEntry 1 }

TYPE-D'OBJET	hostCreationOrder 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui définit l'ordre relatif du moment de création des hôtes capturés pour une entrée particulière de hostControlEntry. Cet indice devra être entre 1 et N, où N est la valeur de la taille hostControlTableSize associée. L'ordre des indices se fonde sur l'ordre d'insertion de chaque entrée dans le tableau, selon lequel les entrées ajoutées en premier ont une valeur d'indice plus faible que les entrées ajoutées ensuite.

Il est important de noter que l'ordre pour une entrée particulière peut changer lorsque une entrée (antérieure) est supprimée du tableau. Comme cet ordre peut changer, les stations de gestion devraient utiliser la variable hostControlLastDeleteTime de l'entrée hostControlEntry associée à la portion pertinente de hostTable. En observant cette variable, la station de gestion peut détecter les circonstances où une association antérieure entre une valeur de hostCreationOrder et une hostEntry ne tient plus."
     ::= { hostEntry 2 }

TYPE-D'OBJET	hostIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'ensemble des statistiques d'hôte collectées dont cette entrée fait partie. L'ensemble des hôtes identifiés par une valeur particulière de cet indice est associé à l'entrée hostControlEntry telle qu'identifiée par la même valeur de hostControlIndex."
     ::= { hostEntry 3 }

TYPE-D'OBJET	hostInPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre de bons paquets transmis à cette adresse depuis qu'elle a été ajoutée à hostTable."
     ::= { hostEntry 4 }

TYPE-D'OBJET	hostOutPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre de paquets, y compris les mauvais paquets, transmis par cette adresse depuis son ajout à hostTable."
     ::= { hostEntry 5 }

TYPE-D'OBJET	hostInOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre d'octets transmis à cette adresse depuis son ajout à hostTable (à l'exclusion des bits de tramage mais en incluant les octets de FCS), exceptés les octets dans de mauvais paquets."
     ::= { hostEntry 6 }

TYPE-D'OBJET	hostOutOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre des octets transmis par cette adresse depuis son ajout à hostTable (à l'exclusion des bits de tramage mais en incluant les octets de FCS), exceptés les octets dans de mauvais paquets."
     ::= { hostEntry 7 }

TYPE-D'OBJET	hostOutErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre des mauvais paquets transmis par cette adresse depuis l'ajout de cet hôte à hostTable."
     ::= { hostEntry 8 }

TYPE-D'OBJET	hostOutBroadcastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre de bons paquets transmis par cette adresse qui ont été dirigés sur l'adresse de diffusion depuis l'ajout de cet hôte à hostTable."
     ::= { hostEntry 9 }

TYPE-D'OBJET	hostOutMulticastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Nombre de bons paquets transmis par cette adresse qui ont été dirigés sur une adresse de diffusion groupée depuis l'ajout de cet hôte à hostTable. Noter que ce nombre n'inclut pas les paquets dirigés sur l'adresse de diffusion."
     ::= { hostEntry 10 }

-- Tableau de temps des hôtes

TYPE-D'OBJET	hostTimeTable 
SYNTAXE	SEQUENCE OF HostTimeEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est la liste des entrées du tableau des hôtes ordonnées selon l'heure."
     ::= { hosts 3 }

TYPE-D'OBJET	hostTimeEntry 
SYNTAXE	HostTimeEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une collection de statistiques pour un hôte particulier découvert sur une interface de cet appareil. Cette collection comporte l'ordre relatif de l'heure de création de cet objet. Par exemple, une instance de l'objet hostTimeOutBroadcastPkts pourrait être dénommée hostTimeOutBroadcastPkts.1.687"
INDEX	{ hostTimeIndex, hostTimeCreationOrder }
     ::= { hostTimeTable 1 }

HostTimeEntry	::= SEQUENCE {
hostTimeAddress	OCTET STRING,
hostTimeCreationOrder	Integer32,
hostTimeIndex	Integer32,
hostTimeInPkts	Counter32,
hostTimeOutPkts	Counter32,
hostTimeInOctets	Counter32,
hostTimeOutOctets	Counter32,
hostTimeOutErrors	Counter32,
hostTimeOutBroadcastPkts	Counter32,
hostTimeOutMulticastPkts	Counter32
 }

TYPE-D'OBJET	hostTimeAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de cet hôte."
     ::= { hostTimeEntry 1 }

TYPE-D'OBJET	hostTimeCreationOrder 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau hostTime parmi les entrées associées à la même entrée hostControlEntry. Cet indice devra être entre 1 et N, où N est la valeur de la taille de la hostControlTableSize associée. L'ordre des  indices se fonde sur l'ordre de chaque insertion d'entrée dans le tableau, dans lequel les entrées ajoutées en premier ont une valeur d'indice inférieure à celle des entrées ajoutées ensuite. Et donc, la station de gestion a la capacité d'apprendre les nouvelles entrées ajoutées à ce tableau sans télécharger le tableau entier.

Il est important de noter que l'indice d'une entrée particulière peut changer lorsque une entrée (antérieure) est supprimée du tableau. Comme cet ordre peut changer, les stations de gestion devraient utiliser la variable hostControlLastDeleteTime dans l'entrée hostControlEntry associée aux portions pertinentes du tableau hostTimeTable. En observant cette variable, la station de gestion peut détecter les circonstances où un téléchargement du tableau peut avoir manqué des entrées, et où une association précédente entre une valeur de hostTimeCreationOrder et hostTimeEntry peut n'avoir plus lieu."
     ::= { hostTimeEntry 2 }

TYPE-D'OBJET	hostTimeIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'ensemble des statistiques d'hôte collectées dont cette entrée fait partie. L'ensemble des hôtes identifiés par une valeur particulière de cet indice est associée à l'entrée hostControlEntry telle qu'identifiée par la même valeur de hostControlIndex."
     ::= { hostTimeEntry 3 }

TYPE-D'OBJET	hostTimeInPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des bons paquets transmis à cette adresse depuis son ajout à hostTimeTable."
     ::= { hostTimeEntry 4 }

TYPE-D'OBJET	hostTimeOutPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des paquets, y compris les mauvais paquets, transmis par cette adresse depuis son ajout à hostTimeTable."
     ::= { hostTimeEntry 5 }

TYPE-D'OBJET	hostTimeInOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des octets transmis à cette adresse depuis son ajout à hostTimeTable (à l'exclusion des bits de tramage mais en incluant les octets de FCS), excepté ces octets dans les mauvais paquets."
     ::= { hostTimeEntry 6 }

TYPE-D'OBJET	hostTimeOutOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des octets transmis par cette adresse depuis son ajout à hostTimeTable (à l'exclusion des bits de tramage mais en incluant les octets de FCS), excepté ces octets dans les mauvais paquets."
     ::= { hostTimeEntry 7 }

TYPE-D'OBJET	hostTimeOutErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des mauvais paquets transmis par cette adresse depuis l'ajout de cet hôte à hostTimeTable."
     ::= { hostTimeEntry 8 }

TYPE-D'OBJET	hostTimeOutBroadcastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des bons paquets transmis par cette adresse qui ont été dirigés sur l'adresse de diffusion depuis l'ajout de cet hôte à hostTimeTable."
     ::= { hostTimeEntry 9 }

TYPE-D'OBJET	hostTimeOutMulticastPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des bons paquets transmis par cette adresse qui ont été dirigés sur une adresse de diffusion groupée depuis l'ajout de cet hôte à hostTimeTable. Noter que ce nombre n'inclut pas de paquets dirigés sur l'adresse de diffusion."
     ::= { hostTimeEntry 10 }

-- Le groupe des "N" hôtes de tête

-- La mise en œuvre du groupe des "N" hôtes de tête est facultative. Le groupe des "N" hôtes de tête exige la mise en œuvre du groupe Hôtes.
-- Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
 --
-- Le groupe des "N" hôtes de tête est utilisé pour préparer les rapports qui décrivent les hôtes qui sont au sommet d'une liste ordonnée selon une de leurs statistiques. Les statistiques disponibles sont des échantillons d'une de leurs statistiques de base, sur un intervalle spécifié par la station de gestion. Et donc, ces statistiques se fondent sur le débit. La station de gestion choisit aussi combien de ces hôtes font l'objet de rapports.

-- Le tableau hostTopNControlTable est utilisé pour initier la génération de tels rapports. La station de gestion peut choisir les paramètres de tels rapports, comme l'interface, la statistique, le nombre d'hôtes, et l'heure de début et de fin de l'échantillonnage. Lors de la préparation du rapport, les entrées sont créées dans le tableau hostTopNTable associé à l'entrée hostTopNControlEntry pertinente. Ces entrées sont statiques pour chaque rapport une fois qu'il est prêt.

TYPE-D'OBJET	hostTopNControlTable 
SYNTAXE	SEQUENCE OF HostTopNControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de contrôle des N hôtes de tête."
     ::= { hostTopN 1 }

TYPE-D'OBJET	hostTopNControlEntry
SYNTAXE	HostTopNControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de paramètres qui contrôlent la création d'un rapport des N hôtes de tête conformément à plusieurs métriques. Par exemple, une instance de l'objet hostTopNDuration pourrait être dénommée hostTopNDuration.3"
INDEX	{ hostTopNControlIndex }
     ::= { hostTopNControlTable 1 }

HostTopNControlEntry	::= SEQUENCE {
hostTopNControlIndex	Integer32,
hostTopNHostIndex	Integer32,
hostTopNRateBase	INTEGER,
hostTopNTimeRemaining	Integer32,
hostTopNDuration	Integer32,
hostTopNRequestedSize	Integer32,
hostTopNGrantedSize	Integer32,
hostTopNStartTime	TimeTicks,
hostTopNOwner	OwnerString,
hostTopNStatus	EntryStatus
 }

TYPE-D'OBJET	hostTopNControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau hostTopNControl. Chacune de ces entrées définit un rapport sur les N premières préparé pour une interface."
     ::= { hostTopNControlEntry 1 }

TYPE-D'OBJET	hostTopNHostIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le tableau des hôtes pour lesquels un rapport sur les N premiers sera préparé au nom de cette entrée. Le tableau des hôtes identifié par une valeur particulière de cet indice est associé au même tableau d'hôtes qu'identifié par la même valeur de hostIndex.
Cet objet ne peut pas être modifié si l'objet hostTopNStatus associé est égal à valid(1)."
     ::= { hostTopNControlEntry 2 }

TYPE-D'OBJET	hostTopNRateBase 
SYNTAXE	INTEGER {
	hostTopNInPkts(1),
	hostTopNOutPkts(2),
	hostTopNInOctets(3),
	hostTopNOutOctets(4),
	hostTopNOutErrors(5),
	hostTopNOutBroadcastPkts(6),
	hostTopNOutMulticastPkts(7)
	}
MAX-ACCESS	lecture-création
STATUT	actuelDESCRIPTION
"C'est pour chaque hôte la variable sur laquelle la variable hostTopNRate est fondée.
Cet objet ne peut pas être modifié si l'objet hostTopNStatus associé est égal à valid(1)."
     ::= { hostTopNControlEntry 3 }

TYPE-D'OBJET	hostTopNTimeRemaining 
SYNTAXE	Integer32
UNITÉS	"Secondes"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le nombre des secondes qui restent dans le rapport actuellement collecté. Lorsque cet objet est modifié par la station de gestion, une nouvelle collection est commencée, éventuellement en interrompant un rapport actuellement en cours. La nouvelle valeur est utilisée comme durée demandée pour ce rapport, qui est chargé dans l'objet hostTopNDuration associé.

Lorsque cet objet est réglé à une valeur différente de zéro, toute entrée hostTopNEntries associée doit être rendue inaccessible par le surveillant. Lorsque la valeur de cet objet est différente de zéro, il décrémente de un par seconde jusqu'à ce qu'il atteigne zéro. Durant ce temps, toutes les hostTopNEntries associées devront rester inaccessibles. Au moment où cet objet atteint zéro, le rapport est rendu accessible dans le tableau hostTopNTable. Et donc, le tableau hostTopN ne doit être créé qu'à la fin de l'intervalle de collecte."
DEFVAL { 0 }
     ::= { hostTopNControlEntry 4 }

TYPE-D'OBJET	hostTopNDuration 
SYNTAXE	Integer32
UNITÉS	"Secondes"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des secondes pendant lesquelles ce rapport a été collecté durant le dernier intervalle d'échantillonnage, ou si ce rapport est actuellement en cours de collecte, le nombre de secondes pendant lesquelles ce rapport a été collecté durant cet intervalle d'échantillonnage.
Lorsque l'objet hostTopNTimeRemaining associé est établi, cet objet devra être réglé par la sonde à la même valeur et ne devra pas être modifié jusqu'au prochain établissement de hostTopNTimeRemaining.
Cette valeur devra être zéro si aucun rapport n'a été demandé pour cette entrée hostTopNControlEntry."
DEFVAL { 0 }
     ::= { hostTopNControlEntry 5 }

TYPE-D'OBJET	hostTopNRequestedSize 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'hôtes requis pour le tableau des N premiers.
Lorsque cet objet est créé ou modifié, la sonde devrait régler hostTopNGrantedSize aussi proche que possible de cet objet pour la mise en œuvre de sonde particulière et les ressources disponibles."
DEFVAL { 10 }
     ::= { hostTopNControlEntry 6 }

TYPE-D'OBJET	hostTopNGrantedSize 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'hôtes dans le tableau des N premiers. Lorsque l'objet hostTopNRequestedSize associé est créé ou modifié, la sonde devrait régler cet objet aussi proche que possible de la valeur demandée pour la mise en œuvre particulière et les ressources disponibles. La sonde ne doit pas diminuer cette valeur sauf par suite d'un réglage à l'objet hostTopNRequestedSize associé. Les hôtes ayant la plus forte valeur de hostTopNRate devront être placés par ordre décroissant dans ce tableau jusqu'à ce qu'il n'y ait plus de place ou jusqu'à ce qu'il n'y ait plus d'hôte."
     ::= { hostTopNControlEntry 7 }

TYPE-D'OBJET	hostTopNStartTime 
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime lorsque ce rapport sur les N premiers a été commencé pour la dernière fois. En d'autres termes, c'est l'heure à laquelle l'objet hostTopNTimeRemaining associé a été modifié pour commencer le rapport demandé."
     ::= { hostTopNControlEntry 8 }

TYPE-D'OBJET	hostTopNOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { hostTopNControlEntry 9 }

TYPE-D'OBJET	hostTopNStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée de hostTopNControl. Si cet objet n'est pas égal à valid(1), toutes les entrées hostTopNEntries associées devront être supprimées par l'agent."
     ::= { hostTopNControlEntry 10 }

TYPE-D'OBJET	hostTopNTable 
SYNTAXE	SEQUENCE OF HostTopNEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est la liste des N entrées d'hôte supérieures."
     ::= { hostTopN 2 }

TYPE-D'OBJET	hostTopNEntry 
SYNTAXE	HostTopNEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de statistiques sur un hôte qui fait partie du rapport des N premiers. Par exemple, une instance de l'objet hostTopNRate pourrait s'appeler hostTopNRate.3.10"
INDEX	{ hostTopNReport, hostTopNIndex }
     ::= { hostTopNTable 1 }

HostTopNEntry	::= SEQUENCE {
hostTopNReport	Integer32,
hostTopNIndex	Integer32,
hostTopNAddress	OCTET STRING,
hostTopNRate	Integer32
 }

TYPE-D'OBJET	hostTopNReport 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Cet objet identifie le rapport des N premiers dont fait partie cette entrée. L'ensemble des hôtes identifiés par une valeur particulière de cet objet fait partie du même rapport qu'identifié par la même valeur de l'objet hostTopNControlIndex."
     ::= { hostTopNEntry 1 }

TYPE-D'OBJET	hostTopNIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau hostTopN parmi celles qui sont dans le même rapport. Cet indice est entre 1 et N, où N est le nombre d'entrées du tableau. Les valeurs croissantes de hostTopNIndex devront être allouées aux entrées avec des valeurs décroissantes de hostTopNRate jusqu'à ce que l'indice N soit alloué à l'entrée avec la plus faible valeur de hostTopNRate ou qu'il n'y ait plus d'entrées de hostTopNEntries."
     ::= { hostTopNEntry 2 }

TYPE-D'OBJET	hostTopNAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de cet hôte."
     ::= { hostTopNEntry 3 }

TYPE-D'OBJET	hostTopNRate 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la quantité de changements dans la variable choisie durant cet intervalle d'échantillonnage. La variable choisie est cette instance d'hôte de l'objet choisi par hostTopNRateBase."
     ::= { hostTopNEntry 4 }

 -- Le groupe des matrices

-- La mise en œuvre du groupe des matrices est facultative. Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe des matrices comporte les tableaux matrixControlTable, matrixSDTable et matrixDSTable. Ces tableaux mémorisent des statistiques sur une conversation particulière entre deux adresses. Lorsque l'appareil détecte une nouvelle conversation, y compris celles vers une adresse qui n'est pas en envoi individuel, il crée une nouvelle entrée dans les deux tableaux de matrices. Il doit seulement créer de nouvelles entrées sur la base des informations reçues dans les bons paquets. Si l'appareil de surveillance se trouve lui-même à court de ressources, il peut supprimer des entrées en tant que de besoin. Il est suggéré que l'appareil supprime d'abord les entrées utilisées depuis le plus longtemps.

TYPE-D'OBJET	matrixControlTable 
SYNTAXE	SEQUENCE OF MatrixControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste d'entrées d'informations sur la matrice de trafic sur chaque interface."
     ::= { matrix 1 }

TYPE-D'OBJET	matrixControlEntry 
SYNTAXE	MatrixControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Informations sur la matrice de trafic d'une interface particulière. Par exemple, une instance de l'objet matrixControlLastDeleteTime pourrait s'appeler matrixControlLastDeleteTime.1"
INDEX	{ matrixControlIndex }
     ::= { matrixControlTable 1 }

MatrixControlEntry	::= SEQUENCE {
matrixControlIndex	Integer32,
matrixControlDataSource	IDENTIFIANT D'OBJET,
matrixControlTableSize	Integer32,
matrixControlLastDeleteTime	TimeTicks,
matrixControlOwner	OwnerString,
matrixControlStatus	EntryStatus
 }

TYPE-D'OBJET	matrixControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau matrixControl. Chacune de ces entrées définit une fonction qui découvre les conversations sur une interface particulière et place des statistiques sur elles dans les tableaux matrixSDTable et matrixDSTable au nom de cette matrixControlEntry."
     ::= { matrixControlEntry 1 }

TYPE-D'OBJET	matrixControlDataSource 
SYNTAXE	IDENTIFIANT D'OBJET
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet identifie la source des données à partir desquelles cette entrée crée une matrice de trafic. Cette source peut être toute interface de cet appareil. Afin d'identifier une interface particulière, cet objet devra identifier l'instance de l'objet ifIndex, défini dans la RFC 2233 [17], pour l'interface désirée. Par exemple, si une entrée devait recevoir des données de l'interface n° 1, cet objet serait réglé à ifIndex.1.
Les statistiques de ce groupe reflètent tous les paquets sur le segment de réseau local rattaché à l'interface identifiée.
Un agent peut être capable ou non de dire si des changements fondamentaux sont survenus au support et nécessitent une invalidation de cette entrée. Par exemple, une carte Ethernet enfichable peut avoir été retirée et remplacée par une carte d'anneau à jetons. Dans un tel cas, si l'agent a connaissance d'un tel changement, il est recommandé qu'il invalide cette entrée.
Cet objet ne peut pas être modifié si l'objet matrixControlStatus associé est égal à valid(1)."
     ::= { matrixControlEntry 2 }

TYPE-D'OBJET	matrixControlTableSize 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des matrixSDEntries du tableau matrixSDTable pour cette interface. Cela doit aussi être la valeur du nombre d'entrées dans la matrixDSTable pour cette interface."
     ::= { matrixControlEntry 3 }

TYPE-D'OBJET	matrixControlLastDeleteTime 
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime lorsque la dernière entrée a été supprimée de la portion du tableau matrixSDTable ou matrixDSTable associé à cette entrée de matrixControlEntry. Si aucune suppression n'est survenue, cette valeur devra être zéro."
     ::= { matrixControlEntry 4 }

TYPE-D'OBJET	matrixControlOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { matrixControlEntry 5 }

TYPE-D'OBJET	matrixControlStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée matrixControl. Si cet objet n'est pas égal à valid(1), toutes les entrées associées dans le tableau matrixSDTable et matrixDSTable devront être supprimées par l'agent."
     ::= { matrixControlEntry 6 }

TYPE-D'OBJET	matrixSDTable 
SYNTAXE	SEQUENCE OF MatrixSDEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de la matrice de trafic indexée par adresse MAC de source et de destination."
     ::= { matrix 2 }

TYPE-D'OBJET	matrixSDEntry 
SYNTAXE	MatrixSDEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une collection des statistiques des communications entre deux adresses sur une interface particulière. Par exemple, une instance de l'objet matrixSDPkts pourrait être dénommée matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
INDEX	{ matrixSDIndex, matrixSDSourceAddress, matrixSDDestAddress }
     ::= { matrixSDTable 1 }

MatrixSDEntry	::= SEQUENCE {
matrixSDSourceAddress	OCTET STRING,
matrixSDDestAddress	OCTET STRING,
matrixSDIndex	Integer32,
matrixSDPkts	Counter32,
matrixSDOctets	Counter32,
matrixSDErrors	Counter32
 }

TYPE-D'OBJET	matrixSDSourceAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de la source."
     ::= { matrixSDEntry 1 }

TYPE-D'OBJET	matrixSDDestAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de la destination."
     ::= { matrixSDEntry 2 }

TYPE-D'OBJET	matrixSDIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'ensemble des statistiques de matrices collectées dont cette entrée fait partie. L'ensemble des statistiques de matrices identifié par une valeur particulière de cet indice est associé à la même matrixControlEntry qui est identifiée par la même valeur de matrixControlIndex."
     ::= { matrixSDEntry 3 }

TYPE-D'OBJET	matrixSDPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des paquets transmis de l'adresse de source à l'adresse de destination (ce nombre inclut les mauvais paquets)."
     ::= { matrixSDEntry 4 }

TYPE-D'OBJET	matrixSDOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) contenus dans tous les paquets transmis de l'adresse de source à l'adresse de destination."
     ::= { matrixSDEntry 5 }

TYPE-D'OBJET	matrixSDErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des mauvais paquets transmis de l'adresse de source à l'adresse de destination."
     ::= { matrixSDEntry 6 }

 -- Tableaux de matrices de trafic de destination à source

TYPE-D'OBJET	matrixDSTable 
SYNTAXE	SEQUENCE OF MatrixDSEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de matrice de trafic indexées par adresse MAC de destination et de source."
     ::= { matrix 3 }

TYPE-D'OBJET	matrixDSEntry 
SYNTAXE	MatrixDSEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une collection de statistiques des communications entre deux adresses sur une interface particulière. Par exemple, une instance de l'objet matrixSDPkts pourrait être dénommée matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
INDEX	{ matrixDSIndex, matrixDSDestAddress, matrixDSSourceAddress }
     ::= { matrixDSTable 1 }

MatrixDSEntry	::= SEQUENCE {
matrixDSSourceAddress	OCTET STRING,
matrixDSDestAddress	OCTET STRING,
matrixDSIndex	Integer32,
matrixDSPkts 	Counter32,
matrixDSOctets	Counter32,
matrixDSErrors	Counter32
 }

TYPE-D'OBJET	matrixDSSourceAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de la source."
     ::= { matrixDSEntry 1 }

TYPE-D'OBJET	matrixDSDestAddress 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'adresse physique de la destination."
     ::= { matrixDSEntry 2 }
TYPE-D'OBJET	matrixDSIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'ensemble des statistiques de matrices collectées dont cette entrée fait partie. L'ensemble des statistiques de matrices identifié par une valeur particulière de cet indice est associé à la même matrixControlEntry qui est identifiée par la même valeur de matrixControlIndex."
     ::= { matrixDSEntry 3 }

TYPE-D'OBJET	matrixDSPkts 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des paquets transmis de l'adresse de source à l'adresse de destination (ce nombre inclut les mauvais paquets)."
     ::= { matrixDSEntry 4 }

TYPE-D'OBJET	matrixDSOctets 
SYNTAXE	Counter32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des octets (à l'exclusion des bits de tramage mais en incluant les octets de FCS) contenus dans tous les paquets transmis de l'adresse de source à l'adresse de destination."
     ::= { matrixDSEntry 5 }

TYPE-D'OBJET	matrixDSErrors 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des mauvais paquets transmis de l'adresse de source à l'adresse de destination."
     ::= { matrixDSEntry 6 }

 -- Le groupe des filtres

-- La mise en œuvre du groupe des filtres est facultative. Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe Filtres permet que les paquets soient capturés par une expression arbitraire de filtre. Un flux logique ou "canal" de données et d'événements est formé par les paquets qui correspondent à l'expression du filtre.
--
-- Ce mécanisme de filtre permet la création d'une expression logique arbitraire avec laquelle les paquets sont filtrés. Chaque filtre associé à un canal est comparé par l'opérateur logique OU avec les autres. Au sein d'un filtre, tous les bits vérifiés dans les données et les état sont ajoutés par l'opérateur logique ET par rapport aux autres bits dans le même filtre. Le NotMask permet aussi de vérifier l'inégalité. Finalement, l'objet channelAcceptType permet l'inversion de toute l'équation.
--
-- Si une station de gestion souhaite recevoir un piège pour avertir si les nouveaux paquets ont été capturés et sont disponibles au téléchargement, il est recommandé qu'elle établisse une entrée d'alarme qui surveille la valeur de l'instance pertinente de channelMatches.
--
-- Le canal peut être ouvert ou fermé, et peut aussi générer des événements lorsque les paquets y passent.

TYPE-D'OBJET	filterTable 
SYNTAXE	SEQUENCE OF FilterEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de filtre de paquets."
     ::= { filter 1 }

TYPE-D'OBJET	filterEntry 
SYNTAXE	FilterEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de paramètres pour un filtre de paquets appliqué à une interface particulière. Par exemple, une instance de l'objet filterPktData pourrait être dénommée filterPktData.12"
INDEX	{ filterIndex }
     ::= { filterTable 1 }

FilterEntry 	::= SEQUENCE {
filterIndex	Integer32,
filterChannelIndex	Integer32,
filterPktDataOffset	Integer32,
filterPktData   	OCTET STRING,
filterPktDataMask	OCTET STRING,
filterPktDataNotMask	OCTET STRING,
filterPktStatus	Integer32,
filterPktStatusMask	Integer32,
filterPktStatusNotMask	Integer32,
filterOwner	OwnerString,
filterStatus	EntryStatus
 }

TYPE-D'OBJET	filterIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau de filtre. Chacune de ces entrées définit un filtre qui est à appliquer à chaque paquet reçu sur une interface."
     ::= { filterEntry 1 }

TYPE-D'OBJET	filterChannelIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet identifie le canal dont ce filtre fait partie. Les filtres identifiés par une valeur particulière de cet objet sont associés au même canal qu'identifié par la même valeur de l'objet channelIndex."
     ::= { filterEntry 2 }

TYPE-D'OBJET	filterPktDataOffset 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le décalage à partir du début de chaque paquet où une correspondance des données du paquet sera tentée. Ce décalage est mesuré à partir du point dans le paquet de couche physique qui se trouve après les bits de tramage, s'il en est. Par exemple, dans une trame Ethernet, ce point est au début de l'adresse MAC de destination.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
DEFVAL	{ 0 }
     ::= { filterEntry 3 }

TYPE-D'OBJET	filterPktData 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Ce sont les données auxquelles le paquet entrant sera confronté. Pour chaque paquet reçu, ce filtre et les gabarits d'accompagnement filterPktDataMask et filterPktDataNotMask seront ajustés au décalage. Les seuls bits pertinents pour cet algorithme de correspondance sont ceux qui ont le bit filterPktDataMask correspondant égal à un. Les trois règles suivantes sont alors appliquées à chaque paquet :
(1)	Si le paquet est trop court et n'a pas de données qui correspondent à une partie de filterPktData, le paquet va échouer à cette correspondance de données.
(2)	Pour chaque bit pertinent du paquet avec le bit filterPktDataNotMask correspondant mis à zéro, si le bit provenant du paquet n'est pas égal au bit correspondant du filterPktData, le paquet va échouer à cette correspondance de données.
(3)	Si pour chaque bit pertinent du paquet avec le bit filterPktDataNotMask correspondant mis à un, le bit provenant du paquet est égal au bit correspondant de filterPktData, le paquet va échouer à cette correspondance de données.
Tous les paquets qui n'ont échoué à aucun des trois essais ci-dessus ont réussi à cette épreuve de correspondance des données. En particulier, un filtre de longueur zéro va laisser passer tous les paquets.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 4 }

TYPE-D'OBJET	filterPktDataMask 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le gabarit qui est appliqué au processus de correspondance. Après avoir ajusté ce gabarit au décalage, seuls les bits du paquet reçu qui correspondent aux bits établis dans ce gabarit sont pertinents pour le traitement ultérieur par l'algorithme de correspondance. Le décalage est appliqué à filterPktDataMask de la même façon qu'il est appliqué au filtre. Pour les besoins de l'algorithme de correspondance, si l'objet filterPktData associé est plus long que ce gabarit, celui-ci est conceptuellement étendu de bits '1' jusqu'à ce qu'il atteigne la longueur de l'objet filterPktData.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 5 }

TYPE-D'OBJET	filterPktDataNotMask 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le gabarit d'inversion qui est appliqué au processus de correspondance. Après avoir ajusté ce gabarit au décalage, les bits pertinents du paquet reçu qui correspondent aux bits évincés dans ce gabarit doivent tous être égaux à leurs bits correspondants dans l'objet filterPktData pour que le paquet soit accepté. De plus, au moins un de ces bits pertinents du paquet reçu qui correspondent aux bits établis dans ce gabarit doit être différent de son bit correspondant dans l'objet filterPktData.

Pour les besoins de l'algorithme de correspondance, si l'objet filterPktData associé est plus long que ce gabarit, celui-ci est étendu conceptuellement avec des bits '0' jusqu'à atteindre la longueur de l'objet filterPktData.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 6 }

TYPE-D'OBJET	filterPktStatus 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état auquel doit correspondre le paquet entrant. Les seuls bits pertinents pour cet algorithme de correspondance sont ceux qui ont le bit filterPktStatusMask correspondant égal à un. Les deux règles suivantes sont alors appliquées à chaque paquet :
(1)	Pour chaque bit pertinent de l'état de paquet qui a le bit filterPktStatusNotMask correspondant mis à zéro, si le bit de l'état de paquet n'est pas égal au bit correspondant de filterPktStatus, le paquet échoue alors à cette correspondance d'état.
(2)	Si pour chaque bit pertinent de l'état de paquet ayant le bit filterPktStatusNotMask correspondant mis à un, le bit de l'état de paquet est égal au bit correspondant de filterPktStatus, le paquet échoue alors à cette correspondance d'état.
Tous les paquets qui n'ont pas échoué à l'une ou l'autre des deux correspondances ci-dessus ont réussi la correspondance d'état. En particulier, un filtre d'état de longueur zéro va correspondre à l'état de tout paquet.

La valeur de l'état de paquet est une somme. Cette somme prend initialement la valeur zéro. Puis, pour chaque erreur, E, qui a été découverte dans ce paquet, 2 à la puissance E est ajouté à la somme. Les erreurs et les bits qui les représentent dépendent du type de support de l'interface d'où ce canal reçoit les paquets.

Les erreurs définies pour un paquet capturé à la sortie d'une interface Ethernet sont les suivantes :
N° de bit	Erreur	
0	Le paquet est plus long que 1518 octets	
1	Le paquet est plus court que 64 octets	
2	Le paquet a une erreur de CRC ou de verrouillage	

Par exemple, un fragment Ethernet aurait une valeur de 6 (2^1 + 2^2).

À mesure que cette MIB sera étendue à de nouveaux types de supports, cet objet aura de nouvelles erreurs définies pour des supports spécifiques.

Pour les besoins de cet algorithme de correspondance d'état, si l'état du paquet est plus long que cet objet filterPktStatus, cet objet est étendu conceptuellement avec des bits '0' jusqu'à ce qu'il atteigne la taille de l'état du paquet.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 7 }

TYPE-D'OBJET	filterPktStatusMask 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le gabarit qui est appliqué au processus de correspondance d'état. Seuls les bits du paquet reçu qui correspondent aux bits établis dans ce gabarit sont pertinents pour la suite du traitement de l'algorithme de correspondance d'état. Pour les besoins de l'algorithme de correspondance, si l'objet filterPktStatus associé est plus long que ce gabarit, celui-ci est étendu conceptuellement avec des bits '1' jusqu'à ce qu'il atteigne la taille de filterPktStatus. De plus, si un état de paquet est plus long que ce gabarit, celui-ci est étendu conceptuellement avec des bits '0' jusqu'à atteindre la taille de l'état du paquet.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 8 }

TYPE-D'OBJET	filterPktStatusNotMask 
SYNTAXE	Integer32
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le gabarit d'inversion qui est appliqué au processus de correspondance d'état. Les bits pertinents de l'état du paquet reçu qui correspondent aux bits évincés dans le gabarit doivent tous être égaux aux bits correspondants dans l'objet filterPktStatus pour que le paquet soit accepté. De plus, au moins un de ces bits pertinents de l'état du paquet reçu qui correspondent aux bits établis dans ce gabarit doit être différent de son bit correspondant dans l'objet filterPktStatus pour que le paquet soit accepté.

Pour les besoins de l'algorithme de correspondance, si l'objet filterPktStatus associé ou un état de paquet est plus long que ce gabarit, celui-ci est étendu conceptuellement avec des bits '0' jusqu'à atteindre la longueur du plus long de l'objet filterPktStatus et de l'état du paquet.
Cet objet ne peut pas être modifié si l'objet filterStatus associé est égal à valid(1)."
     ::= { filterEntry 9 }

TYPE-D'OBJET	filterOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { filterEntry 10 }

TYPE-D'OBJET	filterStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée de filtre."
     ::= { filterEntry 11 }

TYPE-D'OBJET	channelTable 
SYNTAXE	SEQUENCE OF ChannelEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de canal de paquets."
     ::= { filter 2 }

TYPE-D'OBJET	channelEntry 
SYNTAXE	ChannelEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"Ensemble de paramètres de canal de paquets appliqué à une interface particulière. Par exemple, une instance de l'objet channelMatches pourrait être dénommée channelMatches.3"
INDEX	{ channelIndex }
     ::= { channelTable 1 }

ChannelEntry	::= SEQUENCE {
channelIndex	Integer32,
channelIfIndex	Integer32,
channelAcceptType	INTEGER,
channelDataControl	INTEGER,
channelTurnOnEventIndex	Integer32,
channelTurnOffEventIndex	Integer32,
channelEventIndex	Integer32,
channelEventStatus	INTEGER,
channelMatches	Counter32,
channelDescription	DisplayString,
channelOwner	OwnerString,
channelStatus	EntryStatus
 }

TYPE-D'OBJET	channelIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel

DESCRIPTION
"C'est un indice qui définit de façon univoque une entrée sur le tableau des canaux. Chacune de ces entrées définit un canal, un flux logique de données et d'événements.

Il est suggéré qu'avant de créer un canal, une application examine toutes les instances de l'objet filterChannelIndex pour s'assurer qu'il n'y a pas de filtre préexistant qui pourrait être par inadvertance relié à ce canal."
     ::= { channelEntry 1 }

TYPE-D'OBJET	channelIfIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"La valeur de cet objet identifie de façon univoque l'interface de cet appareil de surveillance de réseau à distance auquel les filtres associés sont appliqués pour permettre des données dans ce canal. L'interface identifiée par une valeur particulière de cet objet est la même interface qu'identifiée par la même valeur de l'objet ifIndex, défini dans la RFC 2233 [17].

Les filtres de ce groupé sont appliqués à tous les paquets sur un segment de réseau local rattaché à l'interface identifiée.

Un agent peut être ou non capable de dire si des changements fondamentaux sont survenus au support de l'interface et nécessitent une invalidation de cette entrée. Par exemple, une carte Ethernet enfichable pourrait avoir été retirée et remplacée par une carte d'anneau à jetons. Dans un tel cas, si l'agent a connaissance d'un tel changement, il est recommandé qu'il invalide cette entrée.
Cet objet ne peut pas être modifié si l'objet channelStatus associé est égal à valid(1)."
     ::= { channelEntry 2 }

TYPE-D'OBJET	channelAcceptType 
SYNTAXE	INTEGER { acceptMatched(1), acceptFailed(2) }
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet contrôle l'action des filtres associés à ce canal. Si cet objet est égal à acceptMatched(1), les paquets seront acceptés sur ce canal si ils sont acceptés par les correspondances de données de paquet et d'état de paquet d'un filtre associé. Si cet objet est égal à acceptFailed(2), les paquets ne seront acceptés sur ce canal que si ils échouent soit à la correspondance de données de paquet soit à la correspondance d'état de paquet de chacun des filtres associés.
En particulier, un canal sans filtre associé ne correspondra à aucun paquet si il est réglé au cas acceptMatched(1) et correspondra à tous les paquets dans le cas acceptFailed(2).
Cet objet ne peut pas être modifié si l'objet channelStatus associé est égal à valid(1)."
     ::= { channelEntry 3 }

TYPE-D'OBJET	channelDataControl 
SYNTAXE	INTEGER { on(1), off(2) }
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Cet objet contrôle le flux de données à travers le canal. Si cet objet est on(1), les données, les états et les événements s'écoulent à travers ce canal. Si cet objet est off(2), données, états et événements ne s'écouleront pas par ce canal."
DEFVAL	{ off }
     ::= { channelEntry 4 }

TYPE-D'OBJET	channelTurnOnEventIndex 
SYNTAXE	Integer32 (0..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"La valeur de cet objet identifie l'événement qui est configuré pour changer le channelDataControl associé de désactivé à activé lorsque l'événement est généré. L'événement identifié par une valeur particulière de cet objet est le même événement qu'identifié par la même valeur de l'objet eventIndex. Si il n'y a pas d'entrée correspondante dans eventTable, aucune association n'existe alors. En fait, si aucun événement n'est prévu pour ce canal, channelTurnOnEventIndex doit être réglé à zéro, un indice d'événement non existant.
Cet objet ne peut pas être modifié si l'objet channelStatus associé est égal à valid(1)."
     ::= { channelEntry 5 }

TYPE-D'OBJET	channelTurnOffEventIndex 
SYNTAXE	Integer32 (0..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"La valeur de cet objet identifie l'événement qui est configuré pour changer le channelDataControl associé de désactivé à activé lorsque l'événement est généré. L'événement identifié par une valeur particulière de cet objet est le même événement que celui identifié par la même valeur de l'objet eventIndex. Si il n'y a pas d'entrée correspondante dans eventTable, aucune association n'existe alors. En fait, si aucun événement n'est prévu pour ce canal, channelTurnOffEventIndex doit être réglé à zéro, un indice d'événement non existant.
Cet objet ne peut pas être modifié si l'objet channelStatus associé est égal à valid(1)."
     ::= { channelEntry 6 }

TYPE-D'OBJET	channelEventIndex 
SYNTAXE	Integer32 (0..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"La valeur de cet objet identifie l'événement qui est configuré pour être généré lorsque le channelDataControl associé est activé et qu'un paquet correspond. L'événement identifié par une valeur particulière de cet objet est le même événement que celui identifié par la même valeur de l'objet eventIndex. Si il n'y a pas d'entrée correspondante dans eventTable, aucune association n'existe alors. En fait, si aucun événement n'est prévu pour ce canal, channelTurnOffEventIndex doit être réglé à zéro, un indice d'événement non existant.
Cet objet ne peut pas être modifié si l'objet channelStatus associé est égal à valid(1)."
     ::= { channelEntry 7 }

TYPE-D'OBJET	channelEventStatus 
SYNTAXE	INTEGER { eventReady(1), eventFired(2), eventAlwaysReady(3) }
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état d'événement de ce canal. Si ce canal est configuré pour générer des événements lorsque les paquets correspondent, un moyen pour contrôler le flux de ces événements est souvent nécessaire. Lorsque cet objet est égal à eventReady(1), un seul événement peut être généré, après lequel cet objet sera réglé par la sonde à eventFired(2). Dans l'état eventFired(2), aucun événement ne sera généré jusqu'à ce que l'objet soit modifié en eventReady(1) (ou eventAlwaysReady(3)). La station de gestion peut donc facilement répondre à la notification d'un événement en réactivant cet objet.

Si la station de gestion souhaite désactiver ce contrôle de flux et permettre la génération d'événements à volonté, cet objet peut être réglé à eventAlwaysReady(3). Désactiver le contrôle de flux est déconseillé car il peut en résulter un fort trafic réseau ou d'autres problèmes de performances."
DEFVAL	{ eventReady }
     ::= { channelEntry 8 }

TYPE-D'OBJET	channelMatches 
SYNTAXE	Counter32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des fois où ce canal a trouvé un paquet en correspondance. Noter que cet objet est mis à jour même lorsque channelDataControl est réglé à désactivé."
     ::= { channelEntry 9 }

TYPE-D'OBJET	channelDescription 
SYNTAXE	DisplayString (SIZE (0..127))
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est un commentaire descriptif de ce canal."
     ::= { channelEntry 10 }

TYPE-D'OBJET	channelOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { channelEntry 11 }

TYPE-D'OBJET	channelStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée de canal."
     ::= { channelEntry 12 }

-- Le groupe de capture de paquet

-- La mise en œuvre du groupe de capture de paquet est facultative. Le groupe de capture de paquet exige la mise en œuvre du groupe Filtre. Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe Capture de paquet permet de capturer les paquets qui correspondent à un filtre. Le tableau bufferControlTable contrôle les résultats de paquets capturés sur un canal qui est lui est associé. Les paquets capturés sont placés en entrées dans le tableau captureBufferTable. Ces entrées sont associées aux entrées bufferControlEntry au nom desquelles elles sont mémorisées.

TYPE-D'OBJET	bufferControlTable 
SYNTAXE	SEQUENCE OF BufferControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des entrées de contrôle de mémoire tampon."
     ::= { capture 1 }

TYPE-D'OBJET	bufferControlEntry 
SYNTAXE	BufferControlEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de paramètres qui contrôlent la collecte d'un flux de paquets qui ont passé des filtres de correspondance. Par exemple, une instance de l'objet bufferControlCaptureSliceSize pourrait être dénommé bufferControlCaptureSliceSize.3"
INDEX	{ bufferControlIndex }
     ::= { bufferControlTable 1 }

BufferControlEntry	::= SEQUENCE {
bufferControlIndex	Integer32,
bufferControlChannelIndex	Integer32,
bufferControlFullStatus	INTEGER,
bufferControlFullAction	INTEGER,
bufferControlCaptureSliceSize	Integer32,
bufferControlDownloadSliceSize	Integer32,
bufferControlDownloadOffset	Integer32,
bufferControlMaxOctetsRequested	Integer32,
bufferControlMaxOctetsGranted	Integer32,
bufferControlCapturedPackets	Integer32,
bufferControlTurnOnTime 	TimeTicks,
bufferControlOwner	OwnerString,
bufferControlStatus	EntryStatus
 }

TYPE-D'OBJET	bufferControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée du tableau bufferControl. La valeur de cet indice ne doit jamais être zéro. Chacune de ces entrées définit un ensemble de paquets qui sont capturés et contrôlés par un ou plusieurs filtres."
     ::= { bufferControlEntry 1 }

TYPE-D'OBJET	bufferControlChannelIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie le canal qui est la source des paquets pour ce tableau bufferControl. Le canal identifié par une valeur particulière de cet indice est le même que celui identifié par la même valeur de l'objet channelIndex.
Cet objet ne peut pas être modifié si l'objet bufferControlStatus associé est égal à valid(1)."
     ::= { bufferControlEntry 2 }

TYPE-D'OBJET	bufferControlFullStatus SYNTAXE	INTEGER { spaceAvailable(1), full(2) }
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Cet objet montre si la mémoire tampon a de la place pour accepter de nouveaux paquets ou si elle est pleine.

Si l'état est spaceAvailable(1), la mémoire tampon accepte normalement les nouveaux paquets. Si l'état est full(2) et si l'objet associé bufferControlFullAction est wrapWhenFull, la mémoire tampon accepte les nouveaux paquets en supprimant assez des plus anciens paquets pour faire de la place aux nouveaux quand ils arrivent. Autrement, si l'état est full(2) et si l'objet bufferControlFullAction est lockWhenFull, la mémoire tampon a alors arrêté de collecter des paquets.

Lorsque cet objet est réglé à full(2) la sonde ne doit pas la régler ensuite à spaceAvailable(1) sauf dans le cas d'un gain significatif de ressources tel qu'une augmentation de bufferControlOctetsGranted. En particulier, l'action en mode retour à zéro pour faire de la place aux paquets nouveaux arrivants ne doit pas affecter la valeur de cet objet."
     ::= { bufferControlEntry 3 }

TYPE-D'OBJET	bufferControlFullAction 
SYNTAXE	INTEGER { lockWhenFull(1), wrapWhenFull(2)	 -- FIFO }
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Contrôle l'action de la mémoire tampon lorsque elle atteint l'état plein. Dans l'état lockWhenFull(1) si un paquet est ajouté à la mémoire tampon et qu'il la remplit, bufferControlFullStatus sera réglé à full(2) et cette mémoire tampon va arrêter de capturer des paquets."
     ::= { bufferControlEntry 4 }

TYPE-D'OBJET	bufferControlCaptureSliceSize 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'octets de chaque paquet qui va être sauvegardé dans cette mémoire tampon de capture. Par exemple, si un paquet de 1500 octets est reçu par la sonde et que cet objet est réglé à 500, seuls 500 octets du paquet seront alors mémorisés dans la mémoire tampon de capture associée. Si cette variable est réglée à 0, la mémoire tampon de capture sauvegardera autant d'octets que possible.
Cet objet ne peut pas être modifié si l'objet bufferControlStatus associé est égal à valid(1)."
DEFVAL	{ 100 }
     ::= { bufferControlEntry 5 }

TYPE-D'OBJET	bufferControlDownloadSliceSize 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'octets de chaque paquet de cette mémoire tampon de capture qui seront retournés dans une restitution SNMP de ce paquet. Par exemple, si 500 octets d'un paquet ont été mémorisés dans la mémoire tampon de capture associée, le décalage bufferControlDownloadOffset associé est de 0, et cet objet est réglé à 100, l"objet captureBufferPacket qui contient le paquet ne va contenir que les 100 premiers octets du paquet.

Un gestionnaire prudent prendra en compte les problèmes d'interopérabilité ou de fragmentation qui peuvent survenir si la taille de tranche de téléchargement est réglée trop grand. En particulier, les mises en œuvre conformes à SNMP ne sont pas obligées d'accepter des messages dont la longueur excède 484 octets, bien qu'elles soient invitées à prendre en charge de plus grands datagrammes chaque fois que c'est faisable."
DEFVAL	{ 100 }
     ::= { bufferControlEntry 6 }

TYPE-D'OBJET	bufferControlDownloadOffset 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le décalage du premier octet de chaque paquet de cette mémoire tampon de capture qui sera retourné dans une restitution SNMP de ce paquet. Par exemple, si 500 octets d'un paquet ont été mémorisés dans la mémoire tampon de capture associée et si cet objet est réglé à 100, l'objet captureBufferPacket qui contient le paquet contiendra alors les octets commençant au 100ème octet du paquet."
DEFVAL	{ 0 }
     ::= { bufferControlEntry 7 }

TYPE-D'OBJET	bufferControlMaxOctetsRequested 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'octets qu'il est exigé de sauvegarder dans cette captureBuffer, y compris toute redondance spécifique de mise en œuvre. Si cette variable est réglée à -1, la mémoire tampon de capture va sauvegarder autant d'octets que possible.

Lorsque cet objet est créé ou modifié, la sonde devrait régler bufferControlMaxOctetsGranted aussi près que possible de cet objet pour la mise en œuvre particulière de sonde et les ressources disponibles. Cependant, si l'objet a la valeur particulière de -1, la sonde soit régler bufferControlMaxOctetsGranted à -1."
DEFVAL	{ -1 }
     ::= { bufferControlEntry 8 }

TYPE-D'OBJET	bufferControlMaxOctetsGranted 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre maximum d'octets qui peuvent être sauvegardés dans cette captureBuffer, y compris la redondance. Si cette variable est à -1, la mémoire tampon de capture sauvegardera autant d'octets que possible.

Lorsque l'objet bufferControlMaxOctetsRequested est créé ou modifié, la sonde devrait régler cet objet aussi proche que possible de la valeur demandée pour la mise en œuvre particulière de sonde et les ressources disponibles. Cependant, si l'objet demandé a la valeur particulière de -1, la sonde doit régler cet objet à -1.

La sonde ne doit pas diminuer cette valeur sauf par suite d'une modification de l'objet bufferControlMaxOctetsRequested associé.

Lorsque ce nombre maximum d'octets est atteint et qu'un nouveau paquet doit être ajouté à cette mémoire tampon de capture et que l'objet bufferControlFullAction correspondant est réglé à wrapWhenFull(2), suffisamment des plus anciens paquets associés à cette mémoire tampon de capture doivent être supprimés par l'agent afin que le nouveau paquet puisse être ajouté. Si le bufferControlFullAction correspondant est réglé à lockWhenFull(1), le nouveau paquet doit être éliminé. Dans l'un et l'autre cas, la sonde doit régler bufferControlFullStatus à full(2).

Lorsque la valeur de cet objet change pour une valeur inférieure à celle de la valeur actuelle, des entrées sont supprimées du tableau captureBufferTable associé à cette entrée bufferControlEntry. Suffisamment des plus anciennes entrées captureBufferEntries doivent être supprimées par l'agent pour que le nombre des octets utilisés reste inférieur ou égal à la nouvelle valeur de cet objet.

Lorsque la valeur de cet objet change pour une valeur supérieure à la valeur actuelle, le nombre des entrées captureBufferEntries associées doit pouvoir augmenter."
     ::= { bufferControlEntry 9 }

TYPE-D'OBJET	bufferControlCapturedPackets 
SYNTAXE	Integer32
UNITÉS	"Paquets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des paquets qui se trouvent actuellement dans cette captureBuffer."
     ::= { bufferControlEntry 10 }

TYPE-D'OBJET	bufferControlTurnOnTime 
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime lorsque cette mémoire tampon de capture a été mise sous tension pour la première fois."
     ::= { bufferControlEntry 11 }

TYPE-D'OBJET	bufferControlOwner 
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et utilise donc les ressources qui lui sont allouées."
     ::= { bufferControlEntry 12 }

TYPE-D'OBJET	bufferControlStatus 
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée de contrôle de mémoire tampon."
     ::= { bufferControlEntry 13 }

TYPE-D'OBJET	captureBufferTable 
SYNTAXE	SEQUENCE OF CaptureBufferEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des paquets capturés sur un canal."
     ::= { capture 2 }

TYPE-D'OBJET	captureBufferEntry 
SYNTAXE	CaptureBufferEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un paquet capturé sur un réseau rattaché. Par exemple, une instance de l'objet captureBufferPacketData pourrait être dénommé captureBufferPacketData.3.1783"
INDEX	{ captureBufferControlIndex, captureBufferIndex }
     ::= { captureBufferTable 1 }

CaptureBufferEntry	::= SEQUENCE {
captureBufferControlIndex	Integer32,
captureBufferIndex	Integer32,
captureBufferPacketID	Integer32,
captureBufferPacketData	OCTET STRING,
captureBufferPacketLength	Integer32,
captureBufferPacketTime	Integer32,
captureBufferPacketStatus	Integer32
 }

TYPE-D'OBJET	captureBufferControlIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'indice de l'entrée bufferControlEntry à laquelle ce paquet est associé."
     ::= { captureBufferEntry 1 }

TYPE-D'OBJET	captureBufferIndex 
SYNTAXE	Integer32 (1..2147483647)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau captureBuffer associé à une entrée bufferControlEntry particulière. Cet indice va commencer à 1 et s'accroître de un à chaque nouveau paquet ajouté avec le même indice captureBufferControlIndex. Si cette valeur devait atteindre 2 147 483 647, Le prochain paquet ajouté avec le même indice captureBufferControlIndex causera le retour de cette valeur à 1."
     ::= { captureBufferEntry 2 }

TYPE-D'OBJET	captureBufferPacketID 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui décrit l'ordre des paquets qui sont reçus sur une interface particulière. L'identifiant packetID d'un paquet capturé sur une interface est défini comme étant supérieur à l'identifiant packetID de tous les paquets capturés précédemment sur la même interface. Comme l'objet captureBufferPacketID a une valeur maximum positive de 2^31 - 1, tout objet captureBufferPacketID doit avoir la valeur de l'identifiant packetID du paquet associé modulo 2^31."
     ::= { captureBufferEntry 3 }

TYPE-D'OBJET	captureBufferPacketData 
SYNTAXE	OCTET STRING
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"Ce sont les données à l'intérieur du paquet, débutant au commencement du paquet plus tout décalage spécifié dans l'objet bufferControlDownloadOffset associé, y compris tous en-têtes de niveau liaison. La longueur des données dans cet objet est le minimum de longueur du paquet capturé moins le décalage, la longueur de la bufferControlCaptureSliceSize associée moins le décalage, et la bufferControlDownloadSliceSize associée. Si ce minimum est inférieur à zéro, cet objet devra avoir une longueur de zéro."
     ::= { captureBufferEntry 4 }

TYPE-D'OBJET	captureBufferPacketLength 
SYNTAXE	Integer32
UNITÉS	"Octets"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la longueur réelle du paquet (hors du réseau) mémorisé dans cette entrée, y compris les octets de FCS."
     ::= { captureBufferEntry 5 }

TYPE-D'OBJET	captureBufferPacketTime 
SYNTAXE	Integer32
UNITÉS	"Millisecondes"
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est le nombre des millisecondes écoulées depuis la mise sous tension de cette mémoire tampon de capture jusqu'à  la capture de ce paquet."
     ::= { captureBufferEntry 6 }

TYPE-D'OBJET	captureBufferPacketStatus 
SYNTAXE	Integer32
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est une valeur qui indique l'état d'erreur de ce paquet. La valeur de cet objet est définie de la même façon que filterPktStatus. La valeur est une somme. Cette somme prend initialement la valeur zéro. Puis, pour chaque erreur, E, qui a été découverte dans ce paquet, 2 élevé à la puissance représentant E est ajouté à la somme. Les erreurs définies pour un paquet capturé sur une interface Ethernet sont comme suit :
n° de bit	Erreur	
0	Le paquet fait plus de 1518 octets	
1	Le paquet fait moins de 64 octets	
2	Le paquet a une erreur de CRC ou de verrouillage	
3	Le premier paquet de cette mémoire tampon de capture après détection que certains paquets n'ont pas été traités correctement.	
4	L'ordre des paquets dans la mémoire tampon n'est qu'approximatif (il ne peut être établi que pour les paquets envoyés à partir de la sonde).	

Par exemple, un fragment Ethernet aurait une valeur de 6 (2^1 + 2^2).
À mesure que la présente MIB sera étendue à de nouveaux types de supports, d'autres erreurs spécifiques du support seront définies pour cet objet."
     ::= { captureBufferEntry 7 }

-- Le groupe événement

-- La mise en œuvre du groupe événement est facultative.
-- Consulter la macro MODULE-COMPLIANCE sur les informations de conformité d'autorité pour la présente MIB.
--
-- Le groupe événement contrôle la génération et la notification des événements de cet appareil. Chaque entrée du tableau eventTable décrit les paramètres de l'événement qui peut être déclanché. Chaque entrée d'événement est activée par une condition associée localisée ailleurs dans la présente MIB. Une entrée d'événement peut aussi être associée à une fonction d'une autre partie de la MIB qui sera exécutée lorsque l'événement sera généré. Par exemple, un canal peut être activé ou désactivé par le déclanchement d'un événement.
--
-- Chaque eventEntry peut facultativement spécifier une entrée d'enregistrement créée en son nom chaque fois que l'événement survient.
-- Chaque entrée peut aussi spécifier que la notification devrait survenir au moyen de messages de pièges SNMP. Dans ce cas, la signification du message de piège est donnée dans l'objet eventCommunity associé.  L'entreprise et les champs spécifiques de piège du piège sont déterminés par la condition qui déclanche l'événement. Deux pièges sont définis : risingAlarm et fallingAlarm. Si le tableau eventTable est déclanché par une condition spécifiée ailleurs, l'entreprise et les champs spécifiques de piège doivent être spécifiés pour les pièges générés pour cette condition.

TYPE-D'OBJET	eventTable 
SYNTAXE	SEQUENCE OF EventEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des événements à générer."
     ::= { event 1 }

TYPE-D'OBJET	eventEntry 
SYNTAXE	EventEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de paramètres qui décrivent un événement à générer lorsque certaines conditions sont satisfaites.  Par exemple, une instance de l'objet eventLastTimeSent pourrait être dénommée eventLastTimeSent.6"
INDEX { eventIndex }
     ::= { eventTable 1 }

EventEntry	::= SEQUENCE {
     eventIndex	Integer32,
     eventDescription	DisplayString,
     eventType	INTEGER,
     eventCommunity	OCTET STRING,
     eventLastTimeSent	TimeTicks,
     eventOwner	OwnerString,
     eventStatus	EntryStatus
 }

TYPE-D'OBJET	eventIndex 
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau des événements. Chacune de ces entrées définit un événement qui est à générer lorsque surviennent les conditions  appropriées."
     ::= { eventEntry 1 }

TYPE-D'OBJET	eventDescription 
SYNTAXE	DisplayString (SIZE (0..127))
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est un commentaire qui décrit cette entrée d'événement."
     ::= { eventEntry 2 }

TYPE-D'OBJET	eventType 
SYNTAXE	INTEGER {
	none(1),
	log(2),
	snmptrap(3),	 -- envoie un piège SNMP.
	logandtrap(4)
}
MAX-ACCESS	lecture-création
STATUT actuel
DESCRIPTION
"C'est le type de notification que va faire la sonde sur cet événement. Dans le cas d'un enregistrement, une entrée est faite dans le tableau des enregistrements pour chaque événement. Dans le cas de snmp-trap, un piège SNMP est envoyé à une ou plusieurs stations de gestion."
     ::= { eventEntry 3 }

TYPE-D'OBJET	eventCommunity
SYNTAXE	OCTET STRING (SIZE (0..127))
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"Si un piège SNMP doit être envoyé, il le sera à la communauté SNMP spécifiée par cette chaîne d'octets."
     ::= { eventEntry 4 }

TYPE-D'OBJET	eventLastTimeSent
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime au moment où cette entrée d'événement a généré un événement pour la dernière fois. Si cette entrée n'a pas généré d'événement, cette valeur sera zéro."
     ::= { eventEntry 5 }

TYPE-D'OBJET	eventOwner
SYNTAXE	OwnerString
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'entité qui a configuré cette entrée et qui utilise donc les ressources qui lui sont allouées. Si cet objet contient une chaîne commençant par 'monitor' et a des entrées associées dans le tableau des enregistrements, toutes les stations de gestion connectées devraient restituer ces entrées d'enregistrements, car elles peuvent avoir une signification pour toutes les stations de gestion connectées à cet appareil."
     ::= { eventEntry 6 }

TYPE-D'OBJET	eventStatus
SYNTAXE	EntryStatus
MAX-ACCESS	lecture-création
STATUT	actuel
DESCRIPTION
"C'est l'état de cette entrée d'événement. Si cet objet n'est pas égal à valid(1), toutes les entrées d'enregistrement associées devront être supprimées par l'agent."
     ::= { eventEntry 7 }

TYPE-D'OBJET	logTable
SYNTAXE	SEQUENCE OF LogEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est une liste des événements qui ont été enregistrés."
     ::= { event 2 }

TYPE-D'OBJET	logEntry
SYNTAXE	LogEntry
MAX-ACCESS	non-accessible
STATUT	actuel
DESCRIPTION
"C'est un ensemble de données qui décrivent un événement qui a été enregistré. Par exemple, une instance de l'objet logDescription pourrait être dénommée logDescription.6.47"
INDEX { logEventIndex, logIndex }
     ::= { logTable 1 }

LogEntry	::= SEQUENCE {
     logEventIndex	Integer32,
     logIndex	Integer32,
     logTime	TimeTicks,
     logDescription	DisplayString
 }

TYPE-D'OBJET	logEventIndex
SYNTAXE	Integer32 (1..65535)
MAX-ACCESS 	lecture seule
STATUT	actuel
DESCRIPTION
"C'est l'entrée d'événement qui a généré cette entrée d'enregistrement. L'enregistrement identifié par une valeur particulière de cet indice est associé à la même eventEntry qu'identifiée par la même valeur de eventIndex."
     ::= { logEntry 1 }

TYPE-D'OBJET	logIndex
SYNTAXE	Integer32 (1..2147483647)
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est un indice qui identifie de façon univoque une entrée dans le tableau des enregistrements parmi ceux générés par la même entrée eventEntries. Ces indices sont alloués en commençant à 1 et augmentés de un à chaque nouvelle entrée d'enregistrement. L'association entre les valeurs de logIndex et de logEntries est fixée pour la durée de vie de chaque logEntry. L'agent peut choisir de supprimer les plus anciennes instances de logEntry en tant que de besoin à cause d'un manque de mémoire. C'est une affaire spécifique de la mise en œuvre de décider quand doit survenir cette suppression."
     ::= { logEntry 2 }

TYPE-D'OBJET	logTime
SYNTAXE	TimeTicks
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est la valeur de sysUpTime lorsque cette entrée d'enregistrement a été créée."
     ::= { logEntry 3 }

TYPE-D'OBJET	logDescription
SYNTAXE	DisplayString (SIZE (0..255))
MAX-ACCESS	lecture seule
STATUT	actuel
DESCRIPTION
"C'est une description de l'événement qui a activé cette entrée d'enregistrement qui dépend de la mise en œuvre."
     ::= { logEntry 4 }

--  Pièges de surveillance à distance du réseau

IDENTITÉ-D'OBJET 	rmonEventsV2 
STATUT	actuel
DESCRIPTION 	"Point de définition pour les notifications RMON."
     ::= { rmon 0 }

TYPE-DE-NOTIFICATION	risingAlarm 
OBJETS	{ alarmIndex, alarmVariable, alarmSampleType, alarmValue, alarmRisingThreshold }
STATUS	actuel
DESCRIPTION
"C'est le piège SNMP qui est généré lorsque une entrée d'alarme franchit son seuil montant et génère un événement qui est configuré pour l'envoi de pièges SNMP."
     ::= { rmonEventsV2 1 }

TYPE-DE-NOTIFICATION	fallingAlarm
OBJETS	{ alarmIndex, alarmVariable, alarmSampleType, alarmValue, alarmFallingThreshold }
STATUT	actuel
DESCRIPTION
"C'est le piège SNMP qui est généré lorsque une entrée d'alarme franchit son seuil descendant et génère un événement qui est configuré pour l'envoi de pièges SNMP."
     ::= { rmonEventsV2 2 }
-- Informations de conformité

IDENTIFIANT D'OBJET	rmonCompliances	::= { rmonConformance 9 }
IDENTIFIANT D'OBJET	rmonGroups	::= { rmonConformance 10 }

-- Déclarations de conformité

CONFORMITÉ-DE-MODULE	rmonCompliance 
STATUT	actuel
DESCRIPTION
"Ce sont les exigences de conformité à la MIB RMON. Au moins un des groupes de ce module doit être mis en œuvre pour être conforme à la présente MIB RMON. Les mises en œuvre de la présente MIB doivent aussi mettre en œuvre le groupe système de MIB-II [16] et le IF-MIB [17]."
MODULE – le présent module

GROUPE	rmonEtherStatsGroup
DESCRIPTION
"Le groupe de statistiques Ethernet RMON est facultatif."

GROUPE	rmonHistoryControlGroup
DESCRIPTION
"Le groupe de contrôle d'historique RMON est facultatif."

GROUPE	rmonEthernetHistoryGroup
DESCRIPTION
"Le groupe d'historique Ethernet RMON est facultatif."

GROUPE	rmonAlarmGroup
DESCRIPTION
"Le groupe d'alarme RMON est facultatif."

GROUPE	rmonHostGroup
DESCRIPTION
"Le groupe d'hôte RMON est obligatoire lorsque rmonHostTopNGroup est mis en œuvre."

GROUPE	rmonHostTopNGroup
DESCRIPTION
"Le groupe de N hôtes de tête RMON est facultatif."

GROUPE	rmonMatrixGroup
DESCRIPTION
"Le groupe matrice RMON est facultatif."

GROUPE	rmonFilterGroup
DESCRIPTION
"Le groupe filtres RMON est obligatoire lorsque rmonPacketCaptureGroup est mis en œuvre."

GROUPE	rmonPacketCaptureGroup
DESCRIPTION
"Le groupe de capture de paquet RMON est facultatif."

GROUPE	rmonEventGroup
DESCRIPTION
"Le groupe d'événement RMON est obligatoire lorsque rmonAlarmGroup est mis en œuvre."
     ::= { rmonCompliances 1 }

GROUPE-D'OBJET	rmonEtherStatsGroup
OBJETS {
	etherStatsIndex, etherStatsDataSource,
	etherStatsDropEvents, etherStatsOctets, etherStatsPkts,
	etherStatsBroadcastPkts, etherStatsMulticastPkts,
	etherStatsCRCAlignErrors, etherStatsUndersizePkts,
	etherStatsOversizePkts, etherStatsFragments,
	etherStatsJabbers, etherStatsCollisions,
	etherStatsPkts64Octets, etherStatsPkts65to127Octets,
	etherStatsPkts128to255Octets,
	etherStatsPkts256to511Octets,
	etherStatsPkts512to1023Octets,
	etherStatsPkts1024to1518Octets,
	etherStatsOwner, etherStatsStatus
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe de statistiques Ethernet RMON."
         ::= { rmonGroups 1 }

GROUPE-D'OBJET	rmonHistoryControlGroup
OBJETS {
	historyControlIndex, historyControlDataSource,
	historyControlBucketsRequested,
	historyControlBucketsGranted, historyControlInterval,
	historyControlOwner, historyControlStatus
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe de contrôle d'historique RMON."
         ::= { rmonGroups 2 }

GROUPE-D'OBJET	rmonEthernetHistoryGroup
OBJETS {
	etherHistoryIndex, etherHistorySampleIndex,
	etherHistoryIntervalStart, etherHistoryDropEvents,
	etherHistoryOctets, etherHistoryPkts,
	etherHistoryBroadcastPkts, etherHistoryMulticastPkts,
	etherHistoryCRCAlignErrors, etherHistoryUndersizePkts,
	etherHistoryOversizePkts, etherHistoryFragments,
	etherHistoryJabbers, etherHistoryCollisions,
	etherHistoryUtilization
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe d'historique Ethernet RMON."
         ::= { rmonGroups 3 }

GROUPE-D'OBJET	rmonAlarmGroup
OBJETS {
	alarmIndex, alarmInterval, alarmVariable,
	alarmSampleType, alarmValue, alarmStartupAlarm,
	alarmRisingThreshold, alarmFallingThreshold,
	alarmRisingEventIndex, alarmFallingEventIndex,
	alarmOwner, alarmStatus
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe d'alarmes RMON."
         ::= { rmonGroups 4 }

GROUPE-D'OBJET	 rmonHostGroup
OBJETS {
	hostControlIndex, hostControlDataSource,
	hostControlTableSize, hostControlLastDeleteTime,
	hostControlOwner, hostControlStatus,
	hostAddress, hostCreationOrder, hostIndex,
	hostInPkts, hostOutPkts, hostInOctets,
	hostOutOctets, hostOutErrors, hostOutBroadcastPkts,
	hostOutMulticastPkts, hostTimeAddress,
	hostTimeCreationOrder, hostTimeIndex,
	hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets,
	hostTimeOutOctets, hostTimeOutErrors,
	hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe d'hôtes RMON."
::= { rmonGroups 5 }

GROUPE-D'OBJET	rmonHostTopNGroup
OBJETS {
	hostTopNControlIndex, hostTopNHostIndex,
	hostTopNRateBase, hostTopNTimeRemaining,
	hostTopNDuration, hostTopNRequestedSize,
	hostTopNGrantedSize, hostTopNStartTime,
	hostTopNOwner, hostTopNStatus,
	hostTopNReport, hostTopNIndex,
	hostTopNAddress, hostTopNRate
}
STATUT	actuel
DESCRIPTION
"C'est le groupe de 'N' hôtes de tête RMON."
         ::= { rmonGroups 6 }

GROUPE-D'OBJET	rmonMatrixGroup
OBJETS {
	matrixControlIndex, matrixControlDataSource,
	matrixControlTableSize, matrixControlLastDeleteTime,
	matrixControlOwner, matrixControlStatus,
	matrixSDSourceAddress, matrixSDDestAddress,
	matrixSDIndex, matrixSDPkts,
	matrixSDOctets, matrixSDErrors,
	matrixDSSourceAddress, matrixDSDestAddress,
	matrixDSIndex, matrixDSPkts,
	matrixDSOctets, matrixDSErrors
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe des matrices RMON."
         ::= { rmonGroups 7 }

GROUPE-D'OBJET	rmonFilterGroup
OBJETS {
	filterIndex, filterChannelIndex, filterPktDataOffset,
	filterPktData, filterPktDataMask,
	filterPktDataNotMask, filterPktStatus,
	filterPktStatusMask, filterPktStatusNotMask,
	filterOwner, filterStatus,
	channelIndex, channelIfIndex, channelAcceptType,
	channelDataControl, channelTurnOnEventIndex,
	channelTurnOffEventIndex, channelEventIndex,
	channelEventStatus, channelMatches,
	channelDescription, channelOwner, channelStatus
	}
STATUT	actuel
DESCRIPTION
"C'est le groupe des filtres RMON."
         ::= { rmonGroups 8 }

GROUPE-D'OBJET	rmonPacketCaptureGroup
OBJETS {
	bufferControlIndex, bufferControlChannelIndex,
	bufferControlFullStatus, bufferControlFullAction,
	bufferControlCaptureSliceSize,
	bufferControlDownloadSliceSize,
	bufferControlDownloadOffset,
	bufferControlMaxOctetsRequested,
	bufferControlMaxOctetsGranted,
	bufferControlCapturedPackets,
	bufferControlTurnOnTime,
	bufferControlOwner, bufferControlStatus,
	captureBufferControlIndex, captureBufferIndex,
	captureBufferPacketID, captureBufferPacketData,
	captureBufferPacketLength, captureBufferPacketTime,
	captureBufferPacketStatus
}
STATUT	actuel
DESCRIPTION
"C'est le groupe de capture de paquet RMON."
         ::= { rmonGroups 9 }

GROUPE-D'OBJET	rmonEventGroup 
OBJETS {
	eventIndex, eventDescription, eventType,
	eventCommunity, eventLastTimeSent,
	eventOwner, eventStatus,
	logEventIndex, logIndex, logTime,
	logDescription
         }
STATUT	actuel
DESCRIPTION
"C'est le groupe des événements RMON."
         ::= { rmonGroups 10 }

GROUPE-DE-NOTIFICATION	rmonNotificationGroup 
NOTIFICATIONS	{ risingAlarm, fallingAlarm }
STATUT	actuel
DESCRIPTION
"C'est le groupe des notifications RMON."
         ::= { rmonGroups 11 }
FIN

6.	Considérations pour la sécurité

Pour mettre en œuvre la présente MIB, une sonde doit capturer tous les paquets sur le réseau de rattachement local, y compris les paquets entre des tiers. Ces paquets sont analysés pour collecter les adresses réseau, les informations d'utilisation de protocole, et les statistiques de conversation. Les données de cette nature peuvent être considérées comme sensibles dans certains environnements. Dans de tels environnements, l'administrateur peut souhaiter interdire l'accès SNMP à la sonde.

La présente MIB comporte aussi des fonctions pour retourner le contenu des paquets capturés, qui comportent éventuellement des données sensibles d'utilisateur ou des mots de passe. Il est recommandé que l'accès SNMP à ces fonctions soit interdit.

Un certain nombre d'objets de gestion définis dans la présente MIB ont une clause MAX-ACCESS de lecture-écriture et/ou lecture-création. De tels objets peuvent être considérés comme sensibles ou vulnérables dans certains environnements de réseau. La prise en charge des opérations SET (établir) dans un environnement non sécurisé sans protection appropriée peut avoir un effet négatif sur les opérations du réseau.

Par lui-même, SNMPv1 n'est pas un environnement sécurisé. Même si le réseau lui-même est sûr (par exemple en utilisant IPSec), il n'y a quand même pas de contrôle sur qui dans le réseau sécurisé est autorisé à accéder et obtenir/établir (GET/SET) (lire/changer/créer/supprimer) les objets de cette MIB.

Il est recommandé que ceux qui mettent en œuvre cette MIB considèrent les caractéristiques de sécurité qui sont fournies par le cadre de travail SNMPv3. En particulier, l'utilisation du modèle de sécurité fondé sur l'usager de la RFC 2574 [12] et le modèle de contrôle d'accès fondé sur la vue RFC 2575 [15] est recommandée.

Il est de la responsabilité du consommateur/utilisateur de s'assurer que l'entité SNMP qui donne accès à une instance de la présente MIB, est configurée de façon appropriée pour ne donner accès aux objets qu'aux utilisateurs principaux qui ont des droits légitimes à les obtenir (GET) ou établir (SET) (changer/créer/supprimer).

7.	Remerciements

Le présent document a été produit par le groupe de travail Surveillance à distance du réseau de l’IETF.

8	Adresse de l’auteur

Steve Waldbusser
Téléphone : +1-650-948-6500
Fax :  +1-650-745-0671
mél : waldbusser@nextbeacon.com

9.	Références

[1]	D. Harrington, R. Presuhn et B. Wijnen, "Architecture de description des cadres de gestion SNMP", RFC 2571, avril 1999.

[2]	M. Rose et K. McCloghrie, "Structure et identification des informations de gestion pour les Internets fondés sur TCP/IP", STD 16, RFC 1155, mai 1990.

[3]	M. Rose et K. McCloghrie, "Brèves définitions de MIB", STD 16, RFC 1212, mars 1991.

[4]	M. Rose, "Convention pour la définition des Traps à utiliser avec SNMP", RFC 1215, mars 1991.

[5]	K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, M. Rose et S. Waldbusser, "Structure des informations de gestion, version 2 (SMIv2)", STD 58, RFC 2578, avril 1999.

[6]	K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, M. Rose et S. Waldbusser, "Conventions textuelles pour SMIv2", STD 58, RFC 2579, avril 1999.

[7]	K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, M. Rose et S. Waldbusser, "Déclarations de conformité pour SMIv2", STD 58, RFC 2580, avril 1999.

[8]	J. Case, M. Fedor, M. Schoffstall et J. Davin, "Protocole simple de gestion de réseau", STD 15, RFC 1157, mai 1990.

[9]	J. Case, K. McCloghrie, M. Rose et S. Waldbusser, "Introduction à SNMPv2 fondé sur la communauté", RFC 1901, janvier 1996.

[10]	J. Case, K. McCloghrie, M. Rose et S. Waldbusser, "Transposition de transport pour la version 2 du protocole simple de gestion de réseau (SNMPv2)", RFC 1906, janvier 1996.

[11]	J. Case, D. Harrington, R. Presuhn et B. Wijnen, "Traitement et répartition de messages pour le protocole simple de gestion de réseau (SNMP)", RFC 2572, avril 1999.

[12]	U. Blumenthal et B. Wijnen, "Modèle de sécurité fondé sur l’usager (USM) pour la version 3 du protocole simple de gestion de réseau  (SNMPv3)", RFC 2574, avril 1999.

[13]	J. Case, K. McCloghrie, M. Rose et S. Waldbusser, "Opérations de protocole pour la version 2 du protocole simple de gestion de réseau (SNMPv2)", RFC 1905, janvier 1996.

[14]	D. Levi, P. Meyer et B. Stewart, "Applications de SNMPv3", RFC 2573, avril 1999.

[15]	B. Wijnen, R. Presuhn et K. McCloghrie, "Modèle de contrôle d’accès fondé sur la vue (VACM) pour le protocole simple de gestion de réseau (SNMP)", RFC 2575, avril 1999.

[16]	K. McCloghrie et M. Rose, éditeurs, "Base de données d’informations de gestion pour la gestion de réseau des internets fondés sur TCP/IP : MIB-II", STD 17, RFC 1213, mars 1991.

[17]	K. McCloghrie et F. Kastenholz, "MIB de groupe d’interfaces utilisant SMIv2", RFC 2233, novembre 1997.

[18]	S. Waldbusser, "MIB de surveillance de réseau à distance", RFC 1757, février 1995.

[19]	S. Waldbusser, "Extensions d’anneau à jetons au MIB de surveillance de réseau à distance", RFC 1513, septembre 1993.

[20]	S. Waldbusser, "Version 2 de la base de données d’informations de gestion de surveillance de réseau à distance utilisant SMIv2", RFC 2021, janvier 1997.

[21]	R. Waterman, B. Lahaye, D. Romascanu et S. Waldbusser, "Extensions du MIB de surveillance de réseau à distance pour réseaux commutés, version 1.0", RFC 2613, juin 1999.

[22]	J. Case, R. Mundy, D. Partain et B. Stewart, "Introduction à la version 3 du cadre de travail de la gestion de réseau normalisée de l’Internet", RFC 2570, avril 1999.

10.	Propriété intellectuelle

L’IETF ne prend pas position sur la validité et la portée de tout droit de propriété intellectuelle ou autres droits qui pourrait être revendiqués au titre de la mise en œuvre ou l’utilisation de la technologie décrite dans le présent document ou sur la mesure dans laquelle toute licence sur de tels droits pourrait être ou n’être pas disponible ; pas plus qu’elle ne prétend avoir accompli aucun effort pour identifier de tels droits. Les informations sur les procédures de l’ISOC au sujet des droits dans les documents de l’ISOC figurent dans les BCP 78 et BCP 79.

Des copies des dépôts d’IPR faites au secrétariat de l’IETF et toutes assurances de disponibilité de licences, ou le résultat de tentatives faites pour obtenir une licence ou permission générale d’utilisation de tels droits de propriété par ceux qui mettent en œuvre ou utilisent la présente spécification peuvent être obtenues sur répertoire en ligne des IPR de l’IETF à http://www.ietf.org/ipr.

L’IETF invite toute partie intéressée à porter son attention sur tous copyrights, licences ou applications de licence, ou autres droits de propriété qui pourraient couvrir les technologies qui peuvent être nécessaires pour mettre en œuvre la présente norme. Prière d’adresser les informations à l’IETF à ietf-ipr@ietf.org.

11.	Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (2000). Tous droits réservés.

Ce document et les traductions de celui-ci peuvent être copiés et diffusés, et les travaux dérivés qui commentent ou expliquent autrement ou aident à sa mise en œuvre peuvent être préparés, copiés, publiés et distribués, partiellement ou en totalité, sans restriction d'aucune sorte, à condition que l'avis de copyright ci-dessus et ce paragraphe soit inclus sur toutes ces copies et œuvres dérivées. Toutefois, ce document lui-même ne peut être modifié en aucune façon, par exemple en supprimant le droit d'auteur ou les références à l'Internet Society ou d'autres organisations Internet, sauf si c'est nécessaire à l'élaboration des normes Internet, auquel cas les procédures pour les copyrights définis dans les processus de normes pour Internet doivent être suivies, ou si nécessaire pour le traduire dans des langues autres que l'anglais.

Les permissions limitées accordées ci-dessus sont perpétuelles et ne seront pas révoquées par la Société Internet ou ses successeurs ou ayants droit.

Ce document et les renseignements qu'il contient sont fournis "TELS QUELS" et L'INTERNET SOCIETY ET L'INTERNET ENGINEERING TASK FORCE DÉCLINENT TOUTE GARANTIE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER, TOUTE GARANTIE QUE L'UTILISATION DE L'INFORMATION ICI PRÉSENTE N'ENFREINDRA AUCUN DROIT OU AUCUNE GARANTIE IMPLICITE DE COMMERCIALISATION OU D'ADAPTATION A UN OBJET PARTICULIER.