- | SNMP (Simple Network Management Protocol) | - | Familie: | Internetprotokollfamilie | - | Einsatzgebiet: | Netzwerkverwaltung | - | Neueste Version: | SNMPv3 | - | Ports: | 161/UDP | - | - | Standards: | RFC 1157 (SNMP, 1990) |
|---|
Das Simple Network Management Protocol (englisch für „einfaches Netzwerkverwaltungsprotokoll“, kurz SNMP), ist ein Netzwerkprotokoll, das von der IETF - einer offenen, internationalen Freiwilligenvereinigung von Netzwerktechnikern, Herstellern und Anwendern, die für Vorschläge zur Standardisierung des Internets zuständig ist - entwickelt wurde, um Netzwerkelemente (z. B. Router, Server, Switches, Drucker, Computer usw.) von einer zentralen Station aus überwachen und steuern zu können. Das Protokoll regelt hierbei die Kommunikation zwischen den überwachten Geräten und der Überwachungsstation. Hierzu beschreibt SNMP den Aufbau der Datenpakete, die gesendet werden können, und den Kommunikationsablauf. SNMP wurde dabei so ausgelegt, dass jedes netzwerkfähige Gerät mit in die Überwachung aufgenommen werden kann. Zu den Aufgaben des Netzwerkmanagement, die mit SNMP möglich sind, zählen:
Die drei Get-Pakete (Get, GetNext, GetBulk) können vom Manager zu einem Agenten gesendet werden, um Daten über die jeweilige Station anzufordern. Dieser antwortet mit einem Response-Paket, das entweder die angeforderten Daten enthält oder eine Fehlermeldung.
Mit dem Set-Paket kann ein Manager Werte beim Agenten verändern. Damit ist es möglich Einstellungen vorzunehmen oder Aktionen auszulösen. Der Agent bestätigt die Übernahme der Werte ebenfalls mit einem Response-Paket.
Wenn der Agent bei der Überwachung des Systems einen Fehler erkennt, kann er diesen mit Hilfe eines Trap-Paketes unaufgefordert an die Management-Station melden. Diese Pakete werden nicht vom Manager bestätigt. Der Agent kann daher nicht feststellen, ob der Trap beim Manager angekommen ist.
Damit die Netzwerkbelastung gering bleibt, wird zum Versenden der Nachrichten das verbindungslose UDP-Protokoll verwendet. Der Agent empfängt dabei die Anfragen (Requests) auf dem Port 161, während für den Manager der Port 162 zum Empfangen der Trap-Meldungen vorgeschrieben ist.
SNMP.MIB-Tree.PNG Die Informationen der MIB sind in Form einer Baumstruktur organisiert, deren einzelne Zweige entweder durch Nummern oder alternativ durch alphanumerische Bezeichnungen dargestellt werden können. Die MIB-2 ist zum Beispiel unter "iso.org.dod.internet.mgmt.MIB-2" zu finden, das ebenso durch die Zahlenreihe 1.3.6.1.2.1 eindeutig bestimmt ist (1 für "iso", 3 für "org" usw.). Diese aus Punkten und Zahlen bestehende Zeichenkette nennt man OID (Object Identifier). In den MIBs wird dann weiter verzweigt bis zu den einzelnen Daten, die jeweils auch eine eigene OID besitzen und somit eindeutig identifiziert werden können.
Den Aufbau der MIB erfährt der Manager aus Beschreibungsdateien, die in der abstrakten Beschreibungssprache ASN.1 (Abstract Syntax Notation One) geschrieben sind. Zu jedem Datum, das vom Agenten abgerufen oder verändert werden kann, werden in diesen Dateien eine Reihe von Informationen angegeben:
Mit Hilfe der Beschreibungsdateien sind die Managementprogramme in der Lage, den hierarchischen Aufbau der Daten jedes beliebigen SNMP-Agenten darzustellen und Werte von diesem anzufordern.
Mehrere solche MIBs wurden in RFCs, einer Reihe von technischen und organisatorischen Dokumenten zum Internet, definiert. Besonders hervorzuheben ist hierbei die bereits erwähnte MIB-2, die in der RFC 1213 definiert wurde und von allen Netzwerkkomponenten unterstützt wird. Neben dieser Standard-MIB existieren eine ganze Reihe von weiteren in RFCs definierten MIBs für verschiedene Technologien (z. B. ISDN-MIB), Protokolle (z. B. OSPF-MIB) oder Komponenten (z. B. UPS-MIB). Sie enthalten jeweils allgemeine Objekte wie z. B. Portstatus, Router-Id, Ladezustand der Batterie und ähnliches.
Neben den in den RFCs definierten MIBs kann jeder Hersteller von Soft- oder Hardware eigene MIBs, so genannte private MIBs, definieren, die die speziellen Eigenschaften seines Produktes wiedergeben. Diese werden unter der OID iso(1).org(3).dod(6).internet(1).private(4).enterprises(1) bei der IANA, einer für die Vergabe von IP-Adressen, Top Level Domains und IP-Protokollnummern zuständigen Organisation, registriert. Mittlerweile sind unter dieser OID mehrere tausend Firmen registriert (siehe private enterprise numbers). Ist einer OID einmal ein Objekt zugeordnet, so darf sich die Bedeutung dieser OID - sofern vom Gerät (dem SNMP-Agenten) unterstützt - nicht wieder ändern. Es darf auch keine Überschneidungen geben.
Das Hauptproblem der ersten Version ist die schlechte Sicherheit. Eines der Probleme ist die ungesicherte Verwendung des Passwortes. Das Passwort wird im Klartext übertragen und kann so leicht abgehört und somit durch unberechtigte Parteien verwendet werden.
Diese Version wurde nie eingeführt, sondern durch SNMPv2 ersetzt.
Diese Version wird heute nicht mehr verwendet.
Diese Version wird heute nicht mehr verwendet.
Diese Version hat sich durchgesetzt und breite Akzeptanz erfahren. Wenn heutzutage von SNMPv2 gesprochen wird ist meistens diese Version gemeint.
SNMP in der neuesten Version 3 wird durch eine Reihe neuer RFCs definiert (die Spezifizierung erfolgte im Dezember 2002):
| Länge der Nachricht in Byte | SNMP-Paket Header | |
| Versionsnummer | ||
| Community Name | ||
| Pakettyp (Get, GetNext, ...) | PDU-Header | PDU (Protocol Data Unit) |
| PDU Länge in Byte | ||
| RequestID | ||
| Fehlerstatus | ||
| Fehler-Index | ||
| Länge des PDU-Bodys in Byte | PDU-Body | |
| Variable Binding 1 | ||
| Variable Binding 2 | ||
| . . . | ||
| Variable Binding n | ||
Damit Antwortpakete den vorherigen Anfragen zugeordnet werden können gibt es die Request ID, welche bei Anfrage und Antwort identisch sind. Damit ist es möglich mehrere Anfragen zu verschicken und die Antworten wieder richtig zu sortieren.
Der Fehlerstatus und -Index wird dazu verwendet, bei Antwortpaketen mitzuteilen, warum eine Anfrage nicht bearbeitet werden konnte. Solange kein Fehler auftritt sind die beiden Felder mit dem Wert Null belegt. Im Fehlerfall gibt der Fehlerindex an beim wievielten Datensatz der Fehler auftrat. Mit dem Fehlerstatus wird der Grund des Fehlers angegeben. Der Fehlerstatus kann bei SNMPv1 einen von 6 möglichen Werten haben:
| Pakettyp (Trap) | PDU-Header |
| PDU Länge in Byte |
| OID des Gerätes, dass den Trap generiert hat |
| IP-Adresse des Absenders |
| allgemeine TrapID |
| firmenspezifische TrapID |
| Zeitpunkt des Auftretens des Trap-Ereignisses |
Zum Erkennen, von wem die Nachricht kommt, wird die IP-Adresse des Absenders mitgesendet und dessen OID. Die OID gibt an, um was für ein Gerät es sich handelt. Das ist wichtig zu wissen, wenn es sich um einen firmenspezifischen Trap handelt, die nur für diesen Gerätetyp gilt.
Danach folgt die allgemeine TrapID. Es gibt 7 mögliche allgemeine TrapIDs:
Da es möglich ist, dass Trap-Pakete nicht in der Reihenfolge eintreffen wie sie versendet wurden, gibt es zusätzlich noch eine Zeitangabe, die auf hunderstel Sekunden genau angibt, wie lang der SNMP-Agent gelaufen ist, bis das Trap-Ereignis auftrat. Dadurch ist es möglich die Trap-Ereignisse in die zeitlich richtige Reihenfolge zu bringen.
| Größe der Variable Binding | Variable Binding |
| OID |
| Datentyp |
| Wert |
Zu einer Variable Binding gehören deren OID, der Datentyp und der Wert selber.
Es gibt keine Vorgabe, wie viele Variable Bindings im PDU-Body mitgeschickt werden dürfen. Es ist also möglich, mehrere Werte mit einem Get-Befehl abzufragen. Wenn aber das Antwortpaket dabei zu groß wird, kann es passieren, dass die entsprechende Fehlermeldung im Antwortpaket zurück geschickt wird.
Bei Traps ist es auch möglich, dass keine Variable Bindings mitgeschickt werden. In dem Fall wird die TrapID als ausreichende Information angesehen.
Im SNMP-Paket ist keine Angabe vorgesehen, welche die Anzahl an mitgeschickten Variable Bindings angibt. Das lässt sich nur über die Größenangabe des PDU-Bodys und der Größenangabe der einzelnen Variable Bindings heraus finden.
| Abkürzung | Bedeutung | Beschreibung |
|---|---|---|
| ASN.1 | Abstract Syntax Notation One | Beschreibungssprache zur Definition von Datenstrukturen |
| IANA | Internet Assigned Numbers Authority | Organisation, die unter Anderem private OIDs vergibt |
| IETF | Internet Engineering Task Force | Entwickelt und fördert Internetstandards |
| IP | Internet Protocol | Netzwerkprotokoll, dass die Vermittlung der Datenpakete regelt |
| MIB | Management Information Base | Datenpool, der mit SNMP abgerufen und verändert werden kann |
| OID | Object Identifier | Zahlenfolge zur Identifizierung von Managementdaten |
| PDU | Protocol Data Unit | Teil des Datenpaketes |
| RFC | Request for Comments | Technische Dokumente, die sich teilweise zum Standard entwickelt haben |
| SNMP | Simple Network Management Protocol | Regelt Datenverkehr zwischen Agenten und Manager |
| UDP | User Datagram Protocol | Netzwerkprotokoll, das die Übertragung der Pakete regelt |
Netzwerkprotokoll auf Anwendungsschicht
SNMP | Simple Network Management Protocol | Simple Network Management Protocol | SNMP | Simple Network Management Protocol | Protocolo SNMP | Simple Network Management Protocol | SNMP | Simple Network Management Protocol | Simple Network Management Protocol | SNMP | Simple Network Management Protocol | Simple Network Management Protocol | SNMP | Simple Network Management Protocol | SNMP | Simple Network Management Protocol | Simple network management protocol | SNMP | 简单网络管理协议
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Simple Network Management Protocol".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world