Principe de fonctionnement du protocole SNMP
Le système de gestion de réseau est basé sur trois éléments principaux : un superviseur, des nœuds (ou nodes) et des agents. Dans la terminologie SNMP, le synonyme manager est plus souvent employé que superviseur. Le superviseur est la console qui permet à l’administrateur réseau d’exécuter des requêtes de management. Les agents sont des entités qui se trouvent au niveau de chaque interface, connectant l’équipement managé (nœud) au réseau et permettant de récupérer des informations sur différents objets.
Switchs, hubs, routeurs et serveurs sont des exemples d’équipements contenant des objets manageables. Ces objets manageables peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performance et autres objets qui sont directement liés au comportement en cours de l’équipement en question. Ces objets sont classés dans une sorte de base de donnée appelée MIB (« Management Information Base »). SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB.
L’architecture de gestion du réseau proposée par le protocole SNMP est donc fondé sur trois principaux éléments :
Les équipements managés (managed devices) sont des éléments du réseau (ponts, hubs, routeurs ou serveurs), contenant des « objets de gestion » (managed objects) pouvant être des informations sur le matériel, des éléments de configuration ou des informations statistiques ;
Les agents, c’est-à-dire une application de gestion de réseau résidant dans un périphérique et chargé de transmettre les données locales de gestion du périphérique au format SNMP ;
Les systèmes de management de réseau (network management systems notés NMS), c’est-à-dire une console à travers laquelle les administrateurs peuvent réaliser des tâches d’administration.
SNMP en pratique
Concrêtement, dans le cadre d’un réseau, SNMP est utilisé :
pour administrer les équipements
pour surveiller le comportement des équipements.
Une requête SNMP est un paquet UDP usuellement à destination du port 161. Les schémas de sécurité dépendent des versions de SNMP (v1,v2 ou v3). Dans la version 1 et 2, une requête SNMP contient un nom appelé communauté, utilisé comme un mot de passe. Il y a un nom de communauté différent pour obtenir les droits en lecture et pour obtenir les droits en écriture. Dans bien des cas, les colossales lacunes de sécurité que comportent les versions 1 et 2 de SNMP limitent l’utilisation de SNMP à la lecture des informations. Un grand nombre de logiciels libres et payants utilisent SNMP pour interroger régulièrement les équipements et produire des graphes rendant compte de l’évolution des réseaux ou des systèmes informatiques (MRTG, cacti, Nagios,...).
Le protocole SNMP définit aussi un concept de trap. Une fois défini, si un certain évènement se produit, comme par exemple le dépassement d’un seuil, l’agent envoit un paquet UDP à un serveur. Ce processus d’alerte est utilisé dans les cas où il est possible de définir simplement un seuil d’alerte. Dans nombre de cas, hélas, une alerte réseau ne devrait être déclenchée qu’en corrélant plusieurs événements.
Autres utilisations
Le protocole SNMP peut aussi être utilisé dans le domaine industriel. Dans ce cas, SNMP sert à transporter des informations ne concernant pas le réseau informatique. SNMP transporte alors des informations applicatives industrielles.
Dans ce cas, SNMP ressemble à une sorte de base de données arborescente.