Naar inhoud springen

Simple Network Management Protocol

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door TijsGommeren (overleg | bijdragen) op 18 nov 2012 om 00:40.
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Sjabloon:Zijbalk internetprotocollen Simple Network Management Protocol (SNMP) is een toepassingslaag-protocol dat zorgt voor een gemakkelijke overdracht van management-informatie tussen netwerkmachines. Het werkt op verscheidene protocols zoals UDP, IP, CLNS, DDP, IPX, enz. Het maakt deel uit van het Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite, zoals gedefinieerd door het Internet Engineering Task Force IETF. Met het SNMP-protocol kan op een eenvoudige manier de status van een disk van een server opgevraagd worden, of 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. Bij abnormale gebeurtenissen kan een centraal management systeem verwittigd worden aan de hand van speciale berichten.

SNMPv2, het vervolg op SNMPv1, is al verscheidene jaren in gebruik en staat een intelligenter systeem toe. 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

Voorbeeldopstelling van een SNMP-netwerk.

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. Managed devices gaan management-informatie verzamelen en opslaan. Deze informatie maken ze beschikbaar voor Network Management Systems via het SNMP-protocol. Het kunnen routers zijn, switches, printers, enz.
  • Agent: een NMS-module dat zich op een managed device bevindt en opdrachten van het NMS uitvoert. Een agent weet welke management-informatie zijn node bezit en zet deze informatie om naar een vorm die compatibel is met SNMP.
  • Network Management System (NMS): voert applicaties uit die managed devices beheren en controleren. Het bevat de processing power en geheugencapaciteiten die nodig zijn voor netwerk management. Om een SNMP-beheerd netwerk te vormen moet er altijd minstens één NMS zijn.

Werking

Het SNMP-protocol werkt op basis van commando's die over het netwerk verstuurd worden van een NMS naar een managed device en terug. De commando's kunnen in het algemeen worden opgesplitst in vier hoofdgroepen: read, write, trap en traversal commando's.

  • Read: read-commando's worden gebruikt door een NMS om managed devices te monitoren. Er kunnen verschillende variabelen onderzocht worden die opgeslagen zijn door het managed device.
  • Write: write-commando's worden gebruikt door een NMS om managed devices te controleren. Hiermee worden waardes van een managed device aangepast.
  • Trap: trap-commando's worden gebruikt om asynchroon (niet gelijk met een systeemklok) foutmeldingen door te sturen van een managed device naar een NMS.
  • Traversal: traversal commando's worden gebruikt om te kijken wat voor informatie een managed device bijhoudt en om die informatie sequentieel op te halen.

Management Information Base

Wanneer een management-applicatie 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.

Basiscommando's

Voor dit systeem zijn 5 basiscommando's voorzien: Get, GetNext, Set, Trap en Response.

  • Get: het NMS haalt een waarde op van één of meer object instances (van de MIB) van een managed device via de agent.
  • GetNext: het NMS haalt de waarde op van de volgende object instance in de lijst.
  • Set: het NMS stelt de waarde(s) in van de object instance(s) binnenin de MIB.
  • Trap: wordt gebruikt door een agent om een NMS in te lichten over een belangrijk gebeurtenis.
  • Response: stuurt de opgevraagde waardes terug naar het NMS.

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.

Basiscommando's

Er worden twee nieuwe basiscommando's toegevoegd: GetBulk en Inform.

  • GetBulk: wordt gebruikt door het NMS om grote hoeveelheden waardes op te halen.
  • Inform: te vergelijken met de Trap-operatie, maar voegt nog een bevestiging van ontvangst toe wanneer het bericht van het NMS aankomt.

Achterwaartse compatibiliteit

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.

Voordelen

Het grootste voordeel aan SNMP is dat het een zeer eenvoudige architectuur heeft. Hierdoor kan het gemakkelijk in verschillende soorten netwerken geïmplementeerd worden. Ook de kosten voor het ontwikkelen van software worden sterk gedrukt. Nog een voordeel is dat er maar zeer weinig en zeer eenvoudige commando's zijn, waardoor ontwikkelaars van software het protocol snel zullen begrijpen en kunnen gebruiken. Tenslotte is er nog het voordeel dat dit protocol bijna overal wordt gebruikt en dus compatibel is met bijna alle netwerk management systemen.

Nadelen

Door de simpele architectuur van het protocol is het bijna niet mogelijk om grote hoeveelheden data door te sturen. Als dit toch wordt gedaan, zal het NMS waarschijnlijk crashen en het netwerk daarmee platleggen. Ook is er bij SNMPv1 en SNMPv2 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”?
http://www.snmplink.org/snmparticles/abeginnersguide/#3 - A beginner’s guide to SNMP 17 November 2012
http://www.computerwoorden.nl/direct--8574--SNMP.htm - Nederlands Computerwoordenboek - Een begrip in de ICT
Douglas Mauro, Kevin Schmidt, Essential SNMP, O'Reilly, July 2001, 291 pages