La gestione della rete tramite SNMP si basa su un modello manager-agent. Dalla management station centrale l’amministratore osserva e coordina i diversi utenti di rete. A tal fine viene installato un management software che rende possibile la richiesta di dati da parte dell’SNMP e l’avvio di determinate azioni. Gli agent sono le applicazioni corrispondenti che rappresentano la controparte dei singoli componenti di rete: raccolgono i dati rilevanti su un host di destinazione e li inviano alla management station, ma possono anche effettuare delle impostazioni e avviare determinate azioni. Simili applicazioni agent sono già implementate nella maggior parte dei comuni sistemi Windows e Linux, ad esempio in forma di snmpd Daemon (solo Linux).
Per la comunicazione tra manager e agent il protocollo SNMP prevede sette possibili tipologie di messaggio:
- GET-request: le GET-request sono messaggi standard utilizzati per richiamare una determinata serie di dati sul dispositivo di rete desiderato.
- GETNEXT-request: questo formato di messaggio è necessario quando sono richieste serie di dati susseguenti, ad esempio tabelle.
- GETBULK-request: l’applicazione manager può inviare una GETBULK-request (da SNMPv2) per richiedere un numero definito di serie di dati con un’unica request. Tale richiesta è paragonabile a diverse GETNEXT-request successive.
- SET-request: le SET-request permettono al manager di modificare una o diverse serie di dati del dispositivo di rete desiderato o di avviare determinate azioni. Uno tipo di scenario in cui sono necessari degli adattamenti è la configurazione di un indirizzo IP, che richiede anche l’indicazione di una maschera di rete.
- GET-response: se il manager richiede una o diverse serie di dati o avvia modifiche o azioni, l’agent risponde con una GET-response. Questi pacchetti di risposta contengono i dati richiesti, ovvero la conferma degli adattamenti o un messaggio di errore nel caso in cui non sia possibile rispondere in modo corretto.
- Trap SNMP: il trap SNMP è un messaggio dell’agent che viene inviato alla manager station senza richiesta. Tale invio avviene di solito perché si è verificato un evento imprevisto. I trap possono comunicare la natura dell’evento in due modi: la prima possibilità per risparmiare risorse è aggiungere un numero identificativo unico; il manager potrà risalire al suo significato consultando la banca dati di informazioni (MIB) sopra menzionata. La seconda possibilità consiste in trap SNMP che non informano solo sull’evento, ma contengono anche i dati relativi senza indicare uno specifico numero di identificazione.
- INFORM-request: le INFORM-request hanno di base la stessa funzione dei trap SNMP. I pacchetti INFORM si distinguono dai trap per la conferma di ricezione da parte del manager. Di conseguenza se l’agent non è riuscito a contattare il manager al primo tentativo, può provare a rinviare il messaggio.
Come detto in precedenza, il Simple Network Management Protocol richiede l’utilizzo del protocollo di trasporto UDP senza connessione per la consegna dei pacchetti di messaggi. In questo modo è garantito un monitoraggio della rete particolarmente vantaggioso per le risorse. Per le diverse GET-request agli agent (e per le relative risposte) l’SNMP utilizza la porta UDP 161, mentre i trap SNMP automatici vengono inviati tramite la porta UDP 162.