Simple Network Management Protocol
Sjabloon:Zijbalk internetprotocollen Simple Network Management Protocol (SNMP) is een toepassingslaag-protocol dat zorgt voor een gemakkelijke overdracht van informatie tussen netwerkmachines. Het werkt op verscheidene protocols zoals UDP, IP, CLNS, DDP, IPX, enz. Het maakt deel uit van het Internet Protocol Suite zoals gedefinieerd door het Internet Engineering Task Force IETF. Met het SNMP-protocol kan op een eenvoudige manier de status van bijvoorbeeld een disk van een server opgevraagd worden en hoeveel verkeer er over een netwerk gaat. Bijna iedere provider ondersteunt dit protocol dat via kleine programma's (zogenaamde agents) het netwerk monitort en hieruit statistische informatie genereert. SNMP vereist weinig bandbreedte en dat maakt het protocol populair om bepaalde toepassingen op afstand aan te sturen.
Al verscheidene jaren is SNMPv2, het vervolg op SNMPv1, in gebruik dat een intelligenter systeem toestaat. Een nog nieuwere standaard is SNMPv3, dat bovenop de mogelijkheden van SNMPv2 een extra beveiligingslaag heeft, waar SNMPv1 en SNMPv2 tekort kwamen. Deze nieuwe standaard zou als basis moeten gaan dienen voor high-end LAN-, WAN- en mobiele (wifi-)systemen.
Basiscomponenten

Een SNMP-beheerd netwerk bestaat uit drie basiscomponenten: managed devices, agents en een Network Management System (NMS).
- Managed device: een netwerk node dat een SNMP-agent bevat en zich in een SNMP-beheerd netwerk bevindt.
- Agent: een NMS-module dat zich op een managed device bevindt en opdrachten van de NMS uitvoert.
- NMS: voert applicaties uit die managed devices beheren en controleren.
Management Information Base
Wanneer een managementapplicatie door middel van het SNMP-protocol informatie opvraagt van apparatuur waarop het SNMP-protocol actief is, wordt de informatie gepresenteerd in tabelvorm. Dit wordt niet geregeld door het SNMP-protocol. Zo'n tabel is een virtuele database die een Management Information Base (MIB) wordt genoemd. Het structureert zijn informatie hiërarchisch aan de hand van object instances die waardes bevatten. Voor het beschrijven van deze datastructuren wordt de Abstract Syntax Notation One (ASN.1) gebruikt volgens de specificaties van de Structure of Management Information (SMI)
SNMP Version 1
SNMP Version 1 (SNMPv1) is de eerste implementatie van het SNMP protocol. Het is een simpel request/response protocol. Door het uitsturen van een request krijgt het een response van een managed device. Voor dit systeem zijn 4 operaties voorzien: Get, GetNext, Set en Trap.
- Get: NMS haalt een waarde op van één of meer object instances van een agent.
- GetNext: haalt de waarde op van de volgende object instance in de lijst.
- Set: stelt de waardes in van de object instances binnenin een agent.
- Trap: gebruikt door een agent om een NMS in te lichten over een belangrijk gebeurtenis.
SNMP Version 2
SNMPv2 heeft buiten de Trap-operatie en enkele verbeteringen qua veiligdheid, snelheid, betrouwbaarheid, enz. dezelfde operaties als SNMPv1. De Trap-operatie heeft nog steeds dezelfde functie maar gebruikt een ander formaat voor zijn bericht. Er worden ook twee nieuwe operaties toegevoegd: GetBulk en Inform.
- GetBulk: gebruikt door de NMS om grote hoeveelheden waardes op te halen.
- Inform: variant van de Trap-operatie waarbij de informatie van NMS naar NMS wordt gestuurd.
SNMPv2 is niet achterwaarts compatibel met SNMPv1 op twee gebieden: berichtformaat en operaties. De berichten van SNMPv2 hebben andere headers en andere PDU-formaten. Het gebruikt ook twee nieuwe operaties die bij SNMPv1 nog niet bestonden. Het is echter wel mogelijk van ze samen te laten werken als er gebruik wordt gemaakt van een proxy agent. Deze zal de Get, GetNext en Set operaties doorsturen en de nieuwe operaties (Trap, GetBulk en Inform) omzetten naar SNMPv1-operaties.
SNMP Version 3
SNMPv3 biedt vooral verbetering op vlak van beveiliging. De vorige versies hadden als enige beveiliging een wachtwoord (community string) dat als cleartext (niet gecodeerde tekst) over het netwerk werd verzonden. Bij versie 3 worden er bij elk bericht veiligheidsparameters verzonden.
Beveiliging
Bij SNMPv1 en SNMPv2 is er buiten een community string geen enkele vorm van authenticatie aanwezig. Het is dus heel kwetsbaar voor hackers die mogelijk ongewenste veranderingen aanbrengen via Set-operaties. Via packet-sniffing kan de community string heel gemakkelijk onderschept worden, aangezien deze niet gecodeerd is. De Set-operatie wordt dus vaak uitgeschakeld, waardoor SNMP enkel gebruikt kan wordeb om te monitoren.
Referenties
http://tools.ietf.org/html/rfc1098 - A Simple Network Management Protocol (SNMP), 17 November 2012
http://tools.ietf.org/html/rfc1157 - A Simple Network Management Protocol (SNMP) re-release, 17 November 2012
http://www.paessler.com/manuals/prtg_traffic_grapher/whatisansnmpcommunitystring - What is an “SNMP Community String”?
Douglas Mauro, Kevin Schmidt, Essential SNMP, O'Reilly, July 2001, 291 pages