SNMP je zkratka pro Simple Network Management Protocol, jeho přesná definice je k nalezení v RFC1157. SNMP protokol je široce rozšířený a uznávaný pro získávání základních informací o jednotlivých zařízeních v síti. Kromě získávání informací lze pomocí tohoto protokolu také informace nastavovat.
Nastavování však většinou není široce používáno v souvislosti s tím, že komunikace mezi klientem a serverem nebyla až do verze 3 žádným způsobem šifrována. Jediná ochrana v SNMPv2 je tzv community string – heslo, které je nicméně přenášené nešifrovaně.
Jak už bylo naznačeno, komunikace využívá module klient / server.
- SNMP manager – zařízení dotazující se ostatních
- Managed device – zařízení která odesílají informace
- SNMP agent – vrstva starající se o získávání informací ze systému
- Trap – vrstva sloužící k příjmu asynchronních událostí
K přenosu informací mezi klientem a serverem slouží následující příkazy
- GET – příkaz sloužící k získání jedné informace z podřízeného uzlu
- GET NEXT – příkaz velmi podobný předchozímu s tím rozdílem, že vrácená hodnota není ta na kterou se ptáme, ale následující v pořadí
- GET BULK – příkaz k přenosu více informací v jednom dotazu
- SET – příkaz k nastavení jedné hodnoty v podřízeném uzlu
- TRAPS – příkaz vyvolaný opačným směrem, slouží k oznámení alarmů
- INFORM – podobný předchozímu, navíc však vyžaduje odpověď
- RESPONSE – odpověď klienta serveru na příkaz GET (přenos dat)
Pro ušetření přenosové kapacity nejsou požadavky přenášeny jako řetězce, ale jako řetězce čísel. Jednotlivé požadavky pak vypadají zhruba následovně: 1.3.6.1…. Každý takovýto řetězec se nazývá OID a každé z čísel v řetězci pak značí směr posunu ve stromu všech dostupných informací.
Jednotlivé části stromu jsou popsány v souborech nazývaných MIB (Management Information Base). V těchto souborech je popsána struktura informací, jak je vysílat a také jak v nich číst. Vytvářet vlastní MIB soubory je obtížné a proto existují databáze těchto souborů.