WikiDer > Einfaches Netzwerkverwaltungsprotokoll
Einfaches Netzwerkverwaltungsprotokoll (SNMP) ist ein Protokoll der Anwendungsschicht, das eine einfache Übertragung von Verwaltungsinformationen zwischen Netzwerkmaschinen ermöglicht. Es funktioniert mit mehreren Protokollen wie z UDP, IP, CLNS, DDP und IPX. Es ist Teil der Transmission Control Protocol/Internet Protocol (TCP/IP) Protokollsuite, wie von der Internet Engineering Task Force definiert IETF. Das SNMP-Protokoll macht es einfach, zum Beispiel den Status einer Festplatte oder die Menge des Datenverkehrs über ein Netzwerk abzufragen. Fast jede Anbieter unterstützt dieses Protokoll, das über kleine Programme (sog. Agent) überwacht das Netzwerk und generiert daraus statistische Informationen. SNMP erfordert wenig Bandbreite und das macht das Protokoll für die Fernsteuerung bestimmter Anwendungen beliebt. Im Fehlerfall kann durch spezielle Meldungen ein zentrales Managementsystem benachrichtigt werden.
SNMPv2, die Fortsetzung von SNMPv1, ist seit mehreren Jahren im Einsatz und ermöglicht ein intelligenteres System. Ein noch neuerer Standard ist SNMPv3, der eine zusätzliche Sicherheitsebene zusätzlich zu den Fähigkeiten von SNMPv2 bietet, wo SNMPv1 und SNMPv2 zu kurz kamen. Dieser neue Standard würde als Basis für High-End LAN-, WAN- und mobil (W-lan-) Systeme.
Grundlegende Komponenten
Ein SNMP-verwaltetes Netzwerk besteht aus drei grundlegenden Komponenten: verwalteten Geräten, Agenten und einem Network Management System (NMS).
- Verwaltetes Gerät: Ein Netzwerkknoten, der einen SNMP-Agenten enthält und sich in einem von SNMP verwalteten Netzwerk befindet. Verwaltete Geräte sammeln und speichern Verwaltungsinformationen. Sie stellen diese Informationen über das SNMP-Protokoll Netzwerkmanagementsystemen zur Verfügung. Dies können Router, Switches, Drucker usw. sein.
- Agent: Ein NMS-Modul, das sich auf einem verwalteten Gerät befindet und Befehle vom NMS ausführt. Ein Agent weiß, welche Managementinformationen sein Knoten besitzt und wandelt diese Informationen in eine SNMP-kompatible Form um.
- Netzwerkmanagementsystem (NMS): Führt Anwendungen aus, die verwaltete Geräte verwalten und überwachen. Es enthält die Rechenleistung und Speicherkapazitäten, die für das Netzwerkmanagement erforderlich sind. Um ein SNMP-verwaltetes Netzwerk zu bilden, muss immer mindestens ein NMS vorhanden sein.
Operation
Das SNMP-Protokoll arbeitet auf Basis von Befehlen, die über das Netzwerk von einem NMS an ein verwaltetes Gerät und zurück gesendet werden. Die Befehle lassen sich im Allgemeinen in vier Hauptgruppen einteilen: Lese-, Schreib-, Trap- und Traversal-Befehle.
- Lesen: Lesebefehle werden von einem NMS verwendet, um verwaltete Geräte zu überwachen. Mehrere vom verwalteten Gerät gespeicherte Variablen können untersucht werden.
- schreiben: Schreibbefehle werden von einem NMS verwendet, um verwaltete Geräte zu steuern. Dadurch werden Werte eines verwalteten Geräts angepasst.
- Treppe: Trap-Befehle werden verwendet, um Fehlermeldungen asynchron (nicht gleichzeitig mit einer Systemuhr) von einem verwalteten Gerät an ein NMS zu übergeben.
- Durchquerung: Traversal-Befehle werden verwendet, um zu sehen, welche Art von Informationen ein verwaltetes Gerät speichert, und um diese Informationen sequentiell abzurufen.
Management-Informationsdatenbank
Wenn eine Verwaltungsanwendung mittels des SNMP-Protokolls Informationen von Geräten anfordert, auf denen das SNMP-Protokoll aktiv ist, werden die Informationen in Tabellenform präsentiert. Dies wird nicht durch das SNMP-Protokoll gesteuert. Eine solche Tabelle ist eine virtuelle Datenbank, die a Management-Informationsdatenbank (MIB) wird genannt. Es strukturiert seine Informationen hierarchisch auf der Grundlage von verwaltete Objekte oder Objektinstanzen die Werte enthalten. Dieses verwaltete Objekte werden identifiziert durch Objektkennungen. Um diese Datenstrukturen zu beschreiben und zwischen verschiedenen Arten von Systemen zu kommunizieren, wird die Abstrakte Syntax Notation One (ASN.1) gemäß den Vorgaben der Struktur der Managementinformationen (SMI), eine Untermenge von ASN.1. Für die erste Version ist dies beschrieben in RFC 1155[1]. Für die verwaltete Objekte drei Datentypen sind erforderlich: Name, Syntax und Kodierung.
- Name: Name verwendet als Objektkennung.
- Syntax: bestimmt, welche Art von Daten es enthält (Ganzzahl/Oktett/Zeichenfolge).
- Codierung: in welchem Format die Daten über das Netzwerk gesendet werden.
SNMP-Version 1
SNMP Version 1 (SNMPv1) ist die erste Implementierung des SNMP-Protokolls, die 1980 entwickelt wurde. Es ist ein einfaches Anfrage-/Antwort-Protokoll, das in RFC 1098[2] und RFC 1157[3]. Diese Version wurde sehr häufig verwendet und ist mit ihren Nachfolgern zum Standard im Netzwerkmanagement geworden. Durch Senden einer Anfrage bekommt es a Antwort von einem verwalteten Gerät.
Grundbefehle
Es gibt 5 grundlegende Befehle für dieses System: Get, GetNext, Set, Trap und Response.
- erhalten: Das NMS ruft über den Agenten einen Wert von einer oder mehreren Objektinstanzen (der MIB) eines verwalteten Geräts ab.
- GetNext: Das NMS ruft den Wert der nächsten Objektinstanz in der Liste ab.
- einstellen: Das NMS setzt den/die Wert(e) der Objektinstanz(en) in der MIB.
- Treppe: Wird von einem Agenten verwendet, um ein NMS über ein wichtiges Ereignis zu benachrichtigen.
- Antwort: gibt die angeforderten Werte an das NMS zurück.
Nachrichtenformat
Nachrichten bestehen aus zwei Teilen: a Nachrichtenkopf und ein Protokolldateneinheit (PDU).
Das Nachrichtenkopf enthält zwei Felder:
- Versionsnummer: Zeigt an, welche SNMP-Version verwendet wird.
- Community-Name: definiert eine Zugangsumgebung für mehrere NMS (Form der Authentifizierung).
Das Protokolldateneinheit enthält einen Befehl und hat die folgenden Felder:
- PDU-Typ: Definiert den Typ der PDU.
- Anfrage ID: verknüpft SNMP-Anfragen mit Antworten.
- Fehlerstatus: Zeigt an, welcher Fehler auftritt.
- Fehlerindex: verknüpft Fehlermeldungen mit a Objektinstanz.
- Variable Bindung: enthält Werte, die in . sind Objektinstanzen geschrieben werden kann.
Bei einem Trap-Befehl sieht es anders aus:
- Unternehmen: zeigt an, welche Objektinstanz die Falle erzeugt.
- Agentenadresse: gibt die Adresse des . zurück Objektinstanz das erzeugt die Falle.
- Generischer Trap-Code: Definiert den generischen Typ des Traps.
- Spezifischer Fallencode: Bestimmt den Trap-Code-Typ.
- Zeitstempel: Zeigt an, wie viel Zeit zwischen der letzten Netzwerk-Neuinitialisierung und dem Trap verstrichen ist.
- Variable Bindung: enthält Werte, die in . sind Objektinstanzen geschrieben werden kann.
SNMP-Version 2
SNMPv2 (beschrieben in RFC 1441[4] bis um RFC 1452[5]) wurde 1993 entwickelt. Es hat die gleichen Operationen wie SNMPv1, mit Ausnahme des Trap-Betriebs und einiger Verbesserungen in Bezug auf Sicherheit, Geschwindigkeit und Zuverlässigkeit. Die Trap-Operation hat immer noch dieselbe Funktion, verwendet jedoch ein anderes Format für ihre Nachricht.
Grundbefehle
Zwei neue Basisbefehle werden hinzugefügt: GetBulk und Inform.
- GetBulk: Wird vom NMS verwendet, um große Wertemengen abzurufen.
- Informieren: Ähnlich der Trap-Operation, fügt jedoch eine weitere Empfangsbestätigung hinzu, wenn die Nachricht vom NMS ankommt.
Abwärtskompatibilität
SNMPv2 ist nicht abwärtskompatibel mit SNMPv1 in zwei Bereichen: Nachrichtenformat und Operationen. SNMPv2-Nachrichten haben unterschiedliche Header und unterschiedliche En PDUFormate. Es verwendet auch zwei neue Operationen, die es bei SNMPv1 nicht gab. Es ist jedoch möglich, sie zusammenzuarbeiten, wenn ein Proxy-Agent verwendet wird. Es leitet die Operationen Get, GetNext und Set weiter und konvertiert die neuen Operationen (Trap, GetBulk und Inform) in SNMPv1-Operationen.
SNMP-Version 3
Die Entwicklung von SNMPv3 begann im März 1997 und im Januar 1998 wurde eine Reihe von RFCs veröffentlicht, die die Änderungen, aber insbesondere die neuen Schutzmaßnahmen (RFC 2271[6] bis zu RFC 2275[7]). Die vorherigen Versionen hatten ein Passwort (Community-String) als einzige Sicherheit Klartext (Klartext) über das Netzwerk gesendet wurde. Mit Version 3 werden Sicherheitsparameter mit jeder Nachricht gesendet.
Leistungen
Der größte Vorteil von SNMP besteht darin, dass es eine sehr einfache Architektur hat. Dies erleichtert die Implementierung in verschiedene Arten von Netzwerken. Auch die Kosten für die Softwareentwicklung werden stark reduziert. Ein weiterer Vorteil ist, dass es nur sehr wenige und sehr einfache Befehle gibt, wodurch Softwareentwickler das Protokoll schnell verstehen und verwenden können. Schließlich besteht der Vorteil, dass dieses Protokoll fast überall verwendet wird und somit mit fast allen Netzmanagementsystemen kompatibel ist.
Nachteile
Aufgrund der einfachen Architektur des Protokolls ist es nahezu unmöglich, große Datenmengen zu übertragen. In diesem Fall wird das NMS wahrscheinlich abstürzen und das Netzwerk herunterfahren. Auch bei SNMPv1 und SNMPv2 gibt es außer einem Community-String keinerlei Authentifizierung. Daher ist es sehr anfällig für Hacker, die durch Set-Operationen unerwünschte Änderungen vornehmen können. Per Packet-Sniffing kann der Community-String sehr einfach abgefangen werden, da er nicht verschlüsselt ist. Daher wird der Set-Vorgang oft deaktiviert, sodass SNMP nur für die Überwachung verwendet werden kann.
Verweise
- Was ist ein „SNMP-Community-String“?, 17. November 2012
- Ein Anfängerleitfaden für SNMP, 17. November 2012
- https://web.archive.org/web/20121023135734/http://www.computer words.nl/direct--8574--SNMP.htm - Niederländisches Computerwörterbuch - Ein Konzept in ICT], 17. November 2012
- - Bradley Mitchell, SNMP, 18. November 2012
- Douglas Mauro, Kevin Schmidt, Unverzichtbare SNMP, O'Reilly, Juli 2001, 291 Seiten
| Internetprotokolle laut der TCP/IP-Modemodell | ||||||||
|---|---|---|---|---|---|---|---|---|
|