I comandi di base previsti dal
protocollo SNMP necessari a controllare un qualsiasi dispositivo di rete sono tre:
- comando read è utilizzato da un NMS (Network Management System) per esaminare lo stato e le configurazioni dei managed device;
- comando write è utilizzato da un NMS per modificare il valore dei managed object memorizzati nei managed device, ad esempio per cambiare un parametro di configurazione;
- comando trap è utilizzato dai managed device per inviare messaggi in maniera asincrona all'NMS, ad esempio in corrispondenza del verificarsi di certe tipologie di eventi.
I messaggi scambiati mediante il
protocollo SNMP sono detti
Protocol Data Units (PDU); nella versione
SNMPv2 dello standard sono sette:
- GetRequest, inviato da un NMS a un SNMP agent, contiene il nome dei managed object dei quali si vuole conoscere il valore;
- SetRequest, inviato da un NMS a un SNMP agent, contiene i nuovi valori da attribuire ai managed object specificati nel messaggio;
- GetNextRequest restituisce il managed object successivo del MIB, consentendo di scorrere tutte le variabili disponibili in un managed device;
- GetBulkRequest consente di ottimizzare le invocazioni multiple di GetNextRequest, richiedendo in un unico messaggio informazioni su più managed object;
- Trap è utilizzato per inviare notifiche asincrone dai managed device agli NMS;
- InformRequest consente di inviare messaggi fra due NMS, aggiungendo al meccanismo corrispondente al PDU trap un messaggio di acknowledge, necessario per assicurarsi della corretta ricezione del messaggio stesso da parte del destinatario, dal momento che viene utilizzato il protocollo UDP che non fornisce la sicurezza della consegna;
- Response è il PDU inviato in risposta ai messaggi precedenti (tranne nel caso del Trap, per il quale non è prevista una risposta).
Nella precedente versione del
protocollo SNMP, detta
SNMPv1, i PDU
GetBulkRequest e
InformRequest non erano disponibili; quest'ultimo veniva implementato mediante il
PDU Trap, mentre
Response era chiamato
GetResponse.