SNMP – Simple Network Management Protocol

Il protocollo SNMP

Il protocollo SNMP è un protocollo di tipo connectionless che utilizza connessioni di tipo UDP sulle porte 161 e 162 e si utilizza per gestione e configurazione degli apparati collegati ad una rete. In estrema sintesi è un protocollo utilizzato per gestire tutte quelle operazioni relative al monitoraggio e all’amministrazione di una rete. Esso opera a livello Application e i software implementati sulla base di SNMP permettono di tenere sotto controllo tutti gli aspetti di una rete.

Il protocollo SNMP si basa su una rappresentazione astratta del sistema da gestire che consta di quattro elementi fondamentali:

  • Il sistema di gestione (il Manager o Management Application);
  • L’agente di gestione (l’Agent o Managed Agent) che si trova sul dispositivo da monitorare, e che a sua volta può avere diverse sub-agent;
  • I managed Objects;
  • Management Information Database (MIB)
Figura 38: Messaggio SNMP
Figura 38: Messaggio SNMP

Il sistema di gestione, ovvero il Manager, è l’applicazione che prende le decisioni di gestione sulla base dei dati che monitora e sovrintende alle comunicazioni tra gli oggetti managed e i managed agent che li controllano. Il Manager SNMP si occupa quindi di interrogare i Managed Agent e prendere decisioni sulla base dello stato del sistema monitorato in base ai dati ricevuti.

Figura 39: Interazione Manager - Agent in SNMP
Figura 39: Interazione Manager – Agent in SNMP

L’Agent Manager SNMP è il software che si occupa materialmente di registrare lo stato del sistema in base agli eventi monitorati e riporta tali informazioni nel MIB.

I Managed Objects sono, come il nome stesso suggerisce, gli oggetti o apparati fisici o virtuali che vengono monitorati e gestiti, e dei quali si controlla lo stato sulla base delle informazioni che gli Agent e gli eventuali Sub-Agent scrivono nel database MIB.

Il MIB è un database sul quale gli Agent SNMP scrivono le informazioni sullo stato del sistema monitorato e sulla base delle informazioni in esso riportate sarà il Manager a decidere quali azioni intraprendere. Il MIB ha una struttura ad albero i cui elementi sono oggetti gestiti e identificati da un determinato Object ID sulla base delle funzioni che monitorano.

SNMP presenta quindi una tipica architettura basata sul modello Client-Server, dove i Manager che raccolgono e processano i dati sono i Server, mentre gli Agent che trasmettono le informazioni e le riportano sul MIB assumono il ruolo di Client.

SNMP è stato definito e si è successivamente evoluto in tre versioni: v1, v2 e v3, dove ogni nuova versione presenta delle migliorie rispetto alla precedente. La prima versione presentava numerosi problemi relativi alla sicurezza, primo fra tutti l’assenza di un sistema di cifratura che poneva il sistema monitorato al rischio di vedere le comunicazioni scambiate in chiaro facilmente intercettate. Diverse problematiche sono state successivamente risolte con il rilascio delle nuove versioni, e oggi abbiamo la versione SNMPv3 che implementa un sistema di cifratura e altri importanti adeguamenti di sicurezza ed è quindi la versione più usata.

I software basati su SNMP si sono evoluti enormemente e oggi ci permettono di tenere sotto controllo tutti gli aspetti non solo di una rete ma di un generico sistema informatico, ad esempio la forza del segnale wi-fi (le cosiddette tacche), il livello della batteria dei nostri dispositivi portatili, il livello residuo di inchiostro, la velocità di trasferimento dati e molte altre informazioni sono rese note da dei software sviluppati sulla base del framework definito dal protocollo SNMP.

Oggi SNMP è implementato da vari tools ed è il protocollo standard universalmente accettato ed utilizzato per il monitoraggio degli elementi di una rete.

Figura 40: Albero MIB SNMP
Figura 40: Albero MIB SNMP