L'amministrazione di molti sistemi interconnessi viene affrontata dal protocollo SNMP, che riconosce due tipi di stazioni, Netwoek Manager Stations (manager) e Network Elements. (elemento).
L'amministrazione di rete TCP/IP consiste di tre componenti:
La prima versione era SNMPv1, la vesrione corrente e' SNMPv2.
SNMP definisce cinque tipi di messaggi:
I primi tre messaggi sono inviati dal manager al porto UDP 161 dell'elemento. Il messaggio trap e' inviato dall'elemento al porto UDP 162 del manager.
Il formato dei messaggi e' il seguente:
La Testata Comune e' presente in tutti i messaggi SNMP. I primi quattro tipi di messaggi sono seguiti dalla Testata Get/Set e dalle Variabili da ootenere o settare. Il quinto tipo e' un messaggio di Trap, con la Testata Comune seguita dalla Testata di Trap e dalle Variabili di cui avviene il rapporto.
Il tipo PDU identifica il tipo di messaggio e il suo valore puo' essere:
Il campo Community e' una stringa di caratteri che costituisce una password in chiaro tra manager ed elemento. Il suo valore piu' comune e' public.
L'ID Richiesta identifica una transazione specifica. Il campo Stato Errore e' un intero inviato dall'elemento a notifica di un errore e puo' avere i valori:
Il campo Indice Errore specifica il numero della variabile errata nella Lista Variabili.
I dati usati da SNMP sono di tipi definiti:
E' un identificatore assegnato da un'organizzazione autorevole.
Ogni identificatore e' una sequenza di interi separati da punti che descrive un oggetto in una struttura ad albero simile ad un filesystem UNIX. Ogni nodo dell'albero e' anche identificato da un nome, per maggiore leggibilita'
Gli identificatori sono parte del MIB e definiti nello Assigned Numbers RFC, oltre che definiti da ciascuna azienda che intenda usare SNMP.
Il MIB e' diviso in gruppi, ciascuno con un nome.
Un gruppo contiene variabili, che possono essere variabili sempilci o tabelle.
Una variabile semplice e' riferita appendendo uno ".0" all'identificatore di variabile.
Una tabella e' acceduta tramite uno o piu' indici, i quali sono variabili semplici. I campi di una tabella sono mantenuti in ordine lessicogrrafico e la tabella e' scandita secondo l'ordine colonne-righe (questo e' compiuto dall'operazione get-next).
Contiene sette variabili semplici descriventi proprieta' globali del sistema.
Contiene una sola variabile semplice descrivente il numero di interfacce del sistema.
Contiene inoltre una tabella che definisce la caratteristiche di ciascuna interfaccia.
Il gruppo Address Translation e' obbligatorio per tutti i sistemi ma deprecato da MIB-II, secondo il quale ogni gruppo di protocollo deve contenere le sue tabelle di traduzione indirizzi.
Il gruppo at contiene una singola tabella con tre colonne.
Il gruppo ip definisce numerose variabili descriventi il comportamento caratteristico dell'implementazione del protocollo IP, e tre tabelle.
La tabella degli indirizzi contiene una riga per ciascun indirizzo IP definito del sistema.
La tabella di routing contiene una visiuale della tabella di routing di sistema.
La tabella di traduzione indirizzi e' una visuale sulla cache ARP.
Questo gruppo consiste di quattro contatori generali e 22 contatori per i tipi diversi di messaggi ICMP.
Contiene semplici variabili descriventi proprieta' del protocollo TCP e contatori sul numero di transizioni tra stati TCP effettuate.
Contiene inoltre la tabella di connessioni TCP, con una riga per ciascuna connessione attiva.
Nella testata del messaggio di Trap, il campo Enterprise contiene l'identificativo MIB dell'elemento trasmittente la Trap. Il campo Indirizzo Agente contiene il suo indirizzo IP.
Il campo Tipo Trap puo' avere uno dei valori:
Il campo Codice Specifico contiene un codice determinato dalla particola re implementazione di SNMP. Il campo Time Stamp contiene un valore TimeTicks, tipicamente dall'istante del boot della stazione agente.
La specifica formale di SNMP e' data nel linguaggio formale chiamato Abstract Syntax Notation 1 e la codifica dei bit nei messaggi SNMP segue le regole dette Basic Encoding Rules (BER).