Chapitre 2 : Etude du protocole SNMP (Simple Network Management Protocol)
appliquée à un logiciel de gestion
2.1 Introduction
L’évolution des réseaux pose un problème majeur pour l’administrateur. Il est important
d’utiliser les nouvelles bases pour pouvoir gérer et superviser le plus facilement possible les
réseaux étendu.
Dans ce chapitre, nous présentons le principe de la supervision défini par la norme ISO7498/4
et le protocole SNMP appliqué aux logiciels de gestion du réseau.
2.2 Principe de la supervision
La supervision se définit comme une technique utilisant au mieux les ressources informatiques
pour obtenir des informations sur l'état des réseaux et de leurs composants.
Un tel processus est réalisé à plusieurs niveaux d'un parc de machines : Au niveau
interconnexions (Réseau), au niveau de la machine elle-même (Système) et au niveau des
services offerts par cette machine (Applications).
Supervision réseau : Le rôle est de s'assurer du bon fonctionnement des communications et de
la performance des liens (débit, latence, taux d'erreurs). C'est dans ce cadre que l'on va vérifier
par exemple si une adresse IP est toujours joignable, ou si tel port est ouvert sur telle machine,
ou faire des statistiques sur la latence du lien réseau.
Supervision système : La surveillance de la machine elle-même et en particulier ses ressources.
Si l'on souhaite par exemple contrôler la mémoire utilisée ou la charge processeur ou analyser
les fichiers de logs système.
Supervision applicative : c'est elle qui va nous permettre de vérifier le fonctionnement d'une
application lancée sur une machine.
2.3 La norme ISO 7498/4
Le concept de supervision a été normalisé par l’ISO (International Organization for
Standardization). Voici les différentes fonctions qui ont été défini par l’ISO :
Gestion des performances
Elle doit pouvoir évaluer les performances des ressources du système et leur efficacité. Elle
comprend les procédures de collecte de données et de statistiques.
Les performances du réseau sont évaluées à partir de quatre paramètres qui sont :
- le temps de réponse
- le débit
- le taux d’erreur par bit
- la disponibilité
Gestion des configurations (Management Configuration)
La gestion de configuration permet d’identifier, de paramétrer et de contrôler les différents
objets du réseau.
Les procédures requises pour gérer une configuration sont :
- la collecte d’information
Notes de cours Pr. Djoufack 1
- le contrôle d’état
- la sauvegarde historique de configurations de l’état du système.
Gestion de la comptabilité (Accounting Management)
Son rôle est de connaître les charges des objets gérés ainsi que leurs coûts de communication.
Gestion des anomalies (Fault Management)
La gestion des fautes permet la détection, la localisation et la correction d’anomalies passagères
ou persistantes. Elle doit également permettre le rétablissement du service à une situation
normale.
Gestion de la sécurité (Security Management)
La gestion de la sécurité contrôle l’accès aux ressources en fonction des politiques de droits
d’utilisation établies.
2.4 Le protocole SNMP (Simple Network Management Protocol)
2.4.1 Présentation
Il est actuellement le protocole le plus utilisé pour la gestion des équipements de réseaux. Le
SNMP est né pour répondre aux difficultés de surveillance et de maintien des réseaux
informatiques, un protocole d’administration, intitulé SNMPv1 (Simple Network Management
Protocol) a été finalisé en 1990.
Les buts du protocole SNMP sont :
- de connaître l'état global d'un équipement (actif, inactif, partiellement opérationnel...)
- d’analyser les différents métriques afin d'anticiper les problèmes futurs (engorgement
réseau...) ;
- de modifier la configuration des équipements ;
- de détecter et d’analyser les problèmes du réseau par interrogation ou remontée
d’alarmes ;
- de surveiller ses performances et ;
- de réaliser des statistiques.
2.4.2 Les différentes versions de SNMP
Le SNMPv1 est la première version. Dans cette première version, le protocole est défini par un
standard IETF (Internet Engineering Task Force) intitulé RFC 1157 (Request For Comments)
« A Simple Network Management Protocol (SNMP) » datant de mai 1990. Le but de cette
architecture est de faciliter son utilisation, d’être suffisamment extensible pour être compatible
dans le futur et qu’elle soit indépendante de l’architecture et des mécanismes des hôtes ou
serveurs particuliers. (IETF, 1990). La sécurité de SNMPv1 est basée sur des noms de
communautés qui sont utilisés comme des mots de passe pour accéder à une arborescence de
données de l’équipement appelée MIB (Management Information Base). Le nom de la
communauté est transmis en clair dans le message SNMP.
La première version n’étant pas sécurisée, le protocole SNMP a ainsi évolué en une deuxième
version finalisée en janvier 1996, intitulée SNMPv2C (RFC 1901 à 1908).
La sécurité de cette version est encore faible car elle s’appuie sur le modèle de SNMPv1 en
réutilisant les noms de communauté, d’où la lettre C de SNMPv2C. Cependant, elle comble des
Notes de cours Pr. Djoufack 2
lacunes de la version 1, en particulier au niveau de la définition des objets, du traitement des
notifications et du protocole lui-même.
Une troisième version finale, intitulé SNMPv3, a et approuvée comme projet de norme en avril
1999. Elle est devenue un standard en décembre 2002 (RFC 3410 à 3 418). Elle a pour but
principal d’assurer la sécurité des échanges.
2.4.3 Architecture du SNMP
L'environnement de gestion SNMP est constitué de plusieurs composantes :
- Le Manager (station de supervision) exécute les applications de gestion qui contrôlent
les éléments réseaux, la plupart du temps le manager est un simple poste de travail
- Les agents SNMP : ce sont les équipements (réseau ou serveur) qu'il faut superviser
- La MIB (Management Information Base), ce sont les informations dynamiques
instanciées par les différents agents SNMP et remontées en temps réel au superviseur.
- Le Protocole, qui effectue la relation entre le Manager et les éléments actifs.
Rôles des composants de l’architecture SNMP
Le manager
Le Manager se trouvera sur une machine d'administration (un poste de travail en général). Il
reste un client avant tout, étant donné que c'est lui qui envoie les différentes requêtes aux agents.
Il devra disposer d'une fonction serveur, car il doit également rester à l'écoute des alertes que
les différents équipements sont susceptibles d'émettre à tout moment.
Le Manager dispose d'un serveur qui reste à l'écoute sur le port UDP 162 ainsi que d'éventuels
signaux d'alarme appelés des "traps".
L’agent SNMP
L'agent est un programme qui fait partie de l'élément actif du réseau. L'activation de cet agent
permet de recueillir la base de données d'informations et la rend disponible aux interrogations.
Notes de cours Pr. Djoufack 3
Les principales fonctions d'un agent SNMP :
- Collecter des informations de gestion sur son environnement local.
- Récupérer des informations de gestion.
- Signaler un évènement au gestionnaire.
Par ailleurs même si la principale fonction de l'agent est de rester à l'écoute des éventuelles
requêtes du Manager et y répondre s’il y est autorisé, il doit également être capable d'agir de sa
propre initiative, s'il a été configuré. Par exemple, il pourra émettre une alerte si le débit d'une
interface réseau, atteint une valeur considérée par l'administrateur comme étant critique.
Plusieurs niveaux d'alertes peuvent ainsi être définis, selon la complexité de l'agent
(température du processeur, occupation disque dur, etc...)
MIB
Le Manager SNMP utilise cette base de données pour demander à l'agent des renseignements
spécifiques. Cette base de données commune partagée entre l'agent et le Manager est appelée
Management Information Base (MIB). Généralement ces MIB contiennent l'ensemble des
valeurs statistiques et de contrôle définis pour les éléments actif du réseau. SNMP permet
également l'extension de ces valeurs standards avec des valeurs spécifiques à chaque agent,
grâce à l'utilisation de MIB privées.
En résumé, les fichiers MIB sont l'ensemble des requêtes que le Manager peut effectuer vers
l'agent. L'agent collecte ces données localement et les stocke, tel que défini dans la MIB. Ainsi
le Manager doit être conscient de la structure (que celle-ci soit de type standard ou privée) de
la MIB afin d'interroger l'agent au bon endroit.
La structure d’une MIB est une arborescence hiérarchique dont chaque nœud est défini par un
nombre ou un Object IDentifier (OID). Chaque identifiant est unique et représente les
caractéristiques spécifiques du périphérique géré. Lorsqu'un OID est interrogé, la valeur de
retour n'est pas un type unique (texte,entier,compteur,tableau...). Un OID est donc une séquence
de chiffres séparés par des points. Une MIB est un arbre très dense, il peut y avoir des milliers
d'OID dans la MIB.
La figure ci-dessous, présente un exemple de structure MIB.
Notes de cours Pr. Djoufack 4
Ainsi, pour interroger les différentes variables d'activité sur un appareil, il faudra explorer son
arborescence MIB. Celle-ci est généralement fournie par le constructeur mais il est aussi
possible d'utiliser un explorateur de MIB tel que « Getif MIB Browser ». Ensuite, pour accéder
aux variables souhaitées, on utilisera l'OID (Object Identification) qui désigne l'emplacement
de la variable à consulter dans la MIB.
Les requêtes SNMP
Les échanges s’effectuent à deux niveaux : entre le composant administré (processus agent) et
sa base d’information (MIB, Management Information Base) d’une part, et d’autre part, entre
le composant et le programme d’administration (processus manager).
Le mécanisme de base du protocole SNMP est constitué d’échanges de type requête/réponse
appelé PDU (Protocol Data Unit). En fonction de la version du protocole SNMP utilisé,
différentes commandes sont possibles.
La structure des paquets utilisés par le protocole SNMP V1, est définie dans la RFC 1157. Les
requêtes SNMP vont contenir une liste d’OID (Object identifier) à collecter sur l’agent SNMP.
Notes de cours Pr. Djoufack 5
Les types de requêtes du manager SNMP vers l’agent SNMP sont :
• Get Request : Le manager interroge un agent sur les valeurs d’un ou de plusieurs objets d’une
MIB.
• Get Next Request : Le manager interroge un agent pour obtenir la valeur de l’objet suivant
dans l’arbre des objets de l’agent. Cette interrogation permet de balayer des objets indexés de
type tableau.
• Get Bulk Request : Introduite avec la version 2 du protocole SNMP, cette requête permet de
mixer la commande GET et GETNEXT pour obtenir des blocs entiers de réponses de la part de
l’agent.
• Set Request : Le manager positionne ou modifie la valeur d’un objet dans l’agent. Les
réponses ou informations de l’agent vers le manager sont :
• Get Response : L’agent répond aux interrogations du manager.
• Trap : L’équipement génère un envoi vers son manager pour signaler un événement, un
changement d’état ou un défaut. L’agent n’attend pas d’acquittement de la part du manager.
• Notification : Introduite avec la version 2 du protocole SNMP. L’équipement génère un envoi
vers son manager pour signaler un événement, un changement d’état ou un défaut.
L’agent n’attend pas d’acquittement de la part du manager.
• Inform : Introduite avec la version 2 du protocole SNMP. L’équipement génère un envoi
vers son manager pour signaler un événement, un changement d’état ou un défaut. L’agent
attend un acquittement de la part du manager et il y aura une retransmission en cas de non
réponse.
2.5 Les logiciels de supervision « Open Source »
Les logiciels « Open Source » sont définis particulièrement comme des « logiciels libres »,
c’est-à-dire que ce sont des logiciels qui rassemblent les applications livrées avec leurs codes
sources, que l’on peut donc modifier a volonté pour l’adapter à ses besoin.
Avant de dire qu’un logiciel est libre, il faudrait tenir compte des 9 aspects suivants :
- la libre distribution ;
- la mise à disposition du code source ;
- la possibilité de distribuer ses travaux dérivés ;
- le respect du code source originel ;
Notes de cours Pr. Djoufack 6
- l’absence de la discrimination envers les personnes ;
- l’absence de la limitation sur le domaine d’application du logiciel ;
- la distribution de la licence ;
- la non-spécificité a un produit ;
- elle ne doit pas contaminer les travaux des autres.
Les logiciels de supervision dits « Open Source », les plus utilisées sont :
le logiciel NAGIOS ;
le logiciel CACTI ;
Le logiciel CENTREON ;
Le logiciel GNS3.
Notes de cours Pr. Djoufack 7