La gestion de réseau via SNMP est basée sur un modèle agents/manager. Le poste de gestion central est ici le système depuis lequel l’administrateur surveille et gère les différents participants au réseau. Pour ce faire, un logiciel de gestion permettant l’interrogation SNMP de données ainsi que l’initiation de certaines actions est installé. Les agents, qui sont également des applications, viennent en contrepartie des différents composants réseau. Ils collectent les données pertinentes sur l’hôte cible et les transmettent au poste de gestion. Ils sont par ailleurs en mesure de procéder personnellement à des réglages et de déclencher certaines actions. Les applications agents de ce type sont déjà implémentées par défaut dans la plupart des systèmes Windows et Linux courants, sous la forme par exemple du Daemon snmpd (uniquement sous Linux).
Le protocole SNMP fixe sept types de messages possibles pour la communication entre le manager et l’agent :
- Requête GET : les requêtes GET sont les messages standard permettant de consulter un ensemble de données défini sur l’appareil souhaité dans le réseau.
- Requête GETNEXT : ce format de message est utilisé pour interroger les ensembles de données consécutifs, par ex. dans le cas de tableaux.
- Requête GETBULK : l’application de gestion peut envoyer une requête GETBULK (à partir de la version SNMPv2) afin d’interroger un nombre défini d’ensembles de données avec une seule et même requête. Une requête GETBULK correspond à plusieurs requêtes GETNEXT consécutives.
- Requête SET : les requêtes SET permettent au manager de modifier un ou plusieurs ensemble(s) de données de l’appareil souhaité dans le réseau ou de déclencher certaines actions. Un exemple de scénario type nécessitant plusieurs modifications simultanément : la configuration d’une adresse IP exigeant l’indication simultanée d’un masque de sous-réseau.
- Réponse GET : si le manager a demandé un ou plusieurs ensemble(s) de données, ou initié des modifications ou des actions, l’agent répond en envoyant des réponses GET. Ces paquets de réponses contiennent soit les données demandées ou une confirmation des modifications apportées, soit un message d’erreur lorsque les requêtes n'ont pas reçu de réponses convenables.
- Trap SNMP : les traps SNMP sont des messages envoyés par les agents sans instructions de la part du poste de gestion. Cela se produit lorsqu’un événement imprévu déterminé est survenu. Les traps peuvent communiquer de deux façons différentes sur le type d’événement survenu : la première possibilité, préservant les ressources, consiste à joindre un numéro d’identification unique. Le manager peut se référer à la base de données informative (MIB) déjà évoquée pour en connaître la signification. Avec la seconde possibilité, les traps SNMP fournissent des informations sur l’événement, mais contiennent également les données correspondantes sans avoir à afficher un numéro d’identification spécifique.
- Requête INFORM : les requêtes INFORM assurent généralement la même fonction que les traps SNMP. Contrairement à ces dernières, les paquets INFORM se démarquent toutefois par l’envoi d’un accusé de réception par le manager. Par conséquent, l’agent peut renvoyer le message si celui-ci n’a pas atteint le manager à la première tentative.
Comme nous l’avons déjà évoqué, le Simple Network Management Protocol impose l’utilisation du protocole de transport sans connexion UDP pour la transmission des paquets de messages énumérés. Ceci permet de garantir une surveillance du réseau qui préserve particulièrement les ressources. Pour l’envoi des différentes requêtes GET aux agents (ainsi que pour les réponses correspondantes), le SNMP utilise le port UDP161, tandis que les traps SNMP sont envoyés automatiquement à travers le port UDP 162.