SNMP
Généralement, nous ne nous préoccupons de l'état de notre machine que quand un problème survient. Ce n'est pas le cas d'un administrateur réseau, qui doit être informé des disfonctionnements des éléments dont il a la charge, pour pouvoir agir avant qu'il ne soit trop tard. Certaines informations comme par exemple la température du processeur, la vitesse de rotation des ventilateurs nous sont précieuses pour garantir un fonctionnement optimum, mais nous pouvons aussi surveiller la manière dont se comporte le système, ou diverses applications sensibles.
Il existe différents moyens de consulter les informations concernant l'état d'une machine, informations le plus souvent stockées sous formes de fichiers (log files) :
- sous Linux, deux répertoires peuvent nous fournir de précieux renseignements :
- /var/log qui contient tous les journaux tenus par votre machine
- /proc qui est un espace RAM dans lequel nous pouvons observer de nombreux compteurs, indicateurs, variables, drapeaux, etc.
- sous Windows, nous pouvons consulter les différents observateurs d'évènements.
Nous pouvons consulter ces informations sur chaque machine, mais si nous avons un parc important de machines, comment les surveiller toutes ? Et nous désirons aussi consulter à distance l'état de certains composants du réseau qui ne possèdent pas d'interface, comme les switches, les routeurs, etc.
Afin de pouvoir surveiller et configurer l'ensemble de ces composants à distance, via le réseau, nous utiliserons le protocole SNMP, qui est exactement conçu pour répondre à tous ces besoins.
Définition de SNMP
Angl : Simple Network Management Protocol.
Le protocole SNMP permet l'administration des noeud d'un réseau (serveur, stations, routeur, bridge, etc.) depuis un hôte central.
SNMP permet aussi de configurer des équipements distants, de surveiller les performances du réseau, de détecter des incidents, etc.
Caractéristiques générales de SNMP
Le S de SNMP signifie Simple. Il est un compromis entre les fonctionnalités multiples et le coût. En effet, surveiller un réseau est coûteux en temps (planification, support, administration, etc.), en bande passante (les requêtes SNMP utilisent le réseau), en personnel (c'est bien de surveiller le réseau, mais si personne ne consulte ces informations, elles sont inutiles). SNMP propose un ensemble simple (ou réduit) de fonctionnalités afin de réduire ce coût.
SNMP doit pouvoir fonctionner dans un environnement matériel et logiciel multi-vendeur.
Il doit pouvoir supporter les évolutions rapides des technologies, et permettre à ces dernières de coexister avec d'anciennes technologies déjà en place.
SNMP est un protocole ouvert, de fait et non de normalisation. Il répond à un besoin immédiat, et ne pouvait attendre les longues procédures de normalisations de l'ISO.
SNMP utilise le protocole UDP pour transporter ses informations, il est basé sur le modèle à 4 couches de la suite TCP/IP. Le pendant de SNMP basé sur le modèle OSI est CMIP (Common Management Information Protocol)., et le CMIS (Common Management Information Service) qui permet de communiquer entre les services.
Nous pouvons aussi retrouver CMOT(Common Management Over TCP/IP), qui est une forme de SNMP approuvé par l'ISO,
SNMP implémente 5 fonctionnalités de base, que nous pouvons retenir par le mot mnémotechnique suivant : FCAPS
- Fautes (Fault) : une faute est par exemple un bug dans le code. Nous devons différencier les fautes des erreurs : une erreur est par exemple un problème matériel tel qu'une erreur de redondance cyclique ou un problème dans un câble. Les erreurs ne sont pas prises en compte ici.
- Configuration : la configuration peut être intimement liée aux points sécurité (community) et performance (tuning). La configuration reprend aussi les patchs du firmware.
- Authentification (Accounting) : nous pouvons ici quantifier l'utilisation des différents composants du réseau.
- Performance : les deux points importants sont le monitoring et le tuning.
- Sécurité : une notion de community, sorte de mot de passe, permet depuis la version 2 de sécuriser SNMP, mais nous retrouvons ici aussi les notions de cryptage, et tout ce qui touche à la sécurité en général.
Principes de SNMP
SNMP comporte des agents (présents sur tout matériel réseau à surveiller implémentant SNMP), et un ou plusieurs postes de gestion NMS (Network Management System).
Le protocole SNMP est le langage que les agents et les NMS utilisent pour communiquer. C'est un protocole de type question/réponse asynchrone. C'est un protocole de niveau application, qui est encapsulé dans des trames UDP.
Les agent sont des serveurs, c'est à dire qu'ils écoutent un port particulier : le port UDP 161. Ils répondront à une requête est émise sur ce port par une entité autorisée. Nous pouvons configurer un agent pour qu'il puisse éventuellement émettre des alertes de sa propre initiative. Par exemple, si le débit sur une interface réseau atteint une valeur que nous aurons défini comme critique. Selon la complexité de l'agent, il pourra émettre différentes alertes : température du processeur, le taux d'occupation des disques durs, charge de travail du processeur, etc.
Un NMS interroge les agents pour observer leur fonctionnement, capture et centralise les informations qu'il présente à l'administrateur. Un NMS peut envoyer à ses agents des commandes afin de leur faire exécuter certaines tâches. Enfin, un NMS dispose lui aussi de fonctions serveur pour écouter, sur le port UDP 162, des éventuels signaux d'alarme.
SNMP utilise trois notions importantes :
- la structure des informations de gestion (SMI)
- la base d'informations de gestion (MIB)
- le protocole lui-même (les commandes SNTP).
La SMI (Structure of Management Information) définit comment représenter les informations (objets de gestion) dans la MIB. C'est une notation standard de description, basée sur ASN1 (Abstract Syntax Notation One).
La MIB (Management Information Base) contient l'ensemble des variables relatives aux matériels et aux logiciels supportés par le réseau, et définit les objets de gestion dans l'environnement TCP/IP.
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 26/10/2005, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/reseaux-snmp.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
Useful links
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.