SNMP Simple Network Management Protocol

Bei dem Simple Network Management Protocol (SNMP) handelt es sich um ein von der Internet Engineering Task Force (IETF) festgelegtes Netzwerkprotokoll. Diese Organisation befasst sich mit der technischen Weiterentwicklung des World Wide Web. Zweck des Simple Network Management Protocol (SNMP) ist die zentrale Überwachung und Steuerung von Netzwerkelementen wie Routern oder Servern. Es hat weiterhin verwaltende Aufgaben in Bezug auf den Netzwerkaufbau. Zu den Aufgaben dieses Netzwerkmanagements gehören neben der Kontrolle der Netzwerkbestandteile die Fernsteuerung selbiger sowie die Erkennung und Behebung von Fehlern. Inhalt von Simple Network Management Protocol (SNMP) ist deshalb die Konstruktion einzelner Datenpakete sowie der genau Ablauf von Kommunikation. Sein einfacher Aufbau hat sich Simple Network Management Protocol (SNMP) inzwischen zum weit verbreiteten Standard entwickelt.

Was Ist die Management Information Base (MIB)?

Unter der Management Information Base (MIB) versteht man eine Sammlung von Daten, die sogenannten Managed Objects. Sie sind in einer Liste zusammen gefügt und können durch einen Manager ausgelesen oder verändert werden und sind nach einzelnen Komponenten wie Switches geordnet. Die Management Information Base (MIB) ist in einer Baumstruktur organisiert. Die einzelnen Äste werden durch Nummern oder durch alphanumerische Zeichen differenziert. Mit Hilfe der Management Information Base (MIB) ist es möglich, einen hierarchischen Aufbau der Daten darzustellen und einzelne Werte auszulesen.

Was sind SNMP Paket-Header?

Im Header (dt. Kopfzeile) werden mehrere wichtige Angaben gespeichert. Dazu zählen die Paketgröße, die Versionsnummer (SNMPv1, SNMPv2 oder SNMPv3) und der Name der Community. Sie sichern und organisieren bestimmte Zugriffsrechte. Für einen einfachen Lesezugriff wird der Communityname ,,Public“ vergeben. Wird sowohl Lese- als auch Schreibzugriff gewährt, verwendet man den Namen ,,Private“. Wichtig zu wissen ist jedoch, dass der Name im Klartext angezeigt wird und so von mitgehört werden kann. Absolute Sicherheit gibt es also nicht.

Was sind PDU-Header?

Zu unterscheiden ist hier zwischen PDU-Headern mit Trap-Paketen und ohne Trap-Pakete.

Was sind PDU-Header (Nicht-Trap-Pakete)?

Ein Header besteht aus mehreren Feldern. Im ersten Feld werden die Art des SNMP-Paketes und die Größe der PDU festgehalten. Im zweiten Feld richtet sich der Inhalt nach der Art des Paketes. Zur schnelleren Koordinierung wurde eine Request-ID eingeführt. Sie garantiert, dass Pakete den vorher erfolgten Anfragen zugeordnet werden können. Diese ID ist bei Anfrage und Antwort gleich. Dies ermöglicht den Versand mehrerer Anfragen und deren richtige und schnelle Beantwortung. Außerdem gibt es noch einen Fehlerstatus- bzw. –Index. Sie informieren Antwortpakete, warum es zu einer verspäteten Beantwortung der Anfrage kam. Im Fall eines Fehlers gibt die Zahl im Feld des Fehlerindex an, in welchem Datensatz der Fehler aufgetreten ist. Im Feld des Fehlerstatus wird angezeigt, worin der Grund des Fehlers liegt. Dieser Wert kann sechs verschiedene Ausprägungen annehmen.

  • Kein Fehler
  • Das Paket ist zu groß für den Versand
  • Die OID wird nicht unterstützt
  • Datentyp oder Wert ist falsch
  • Nur öffentlicher, also Lesezugriff wurde gewährt
  • Unbekannter Generierungsfehler: ein angesprochenes Programm reagiert nicht

Kommt es zu keinem Fehler, ist in beiden Fällen der Wert 0 zu sehen.

Was sind PDU-Header (Trap-Pakete)?

Auch dieser PDU-Header besteht aus mehreren Felder. Die ersten Beiden sind genauso wie andere SNMP-Pakete konstruiert. Im Feld für den Pakettyp findet man eine Angabe, dass es ein Trap ist und die Größe der PDU. Im zweiten Feld werden spezifisch für Traps benötigte Werte übermittelt. Es wird ein OID-Gerät mitgesendet, welches den Empfänger des Datenpaketes erkennt. Aus der OID ist außerdem ersichtlich, was für ein Gerät vorliegt. Im Anschluss folgt die Trap-ID. Hierfür gibt es sieben mögliche Ausprägungen:

  • Kaltstart
  • Warmstart
  • Link Down
  • Link Up
  • Authentifizierungsfehler
  • EGP-Nachbar verloren
  • Firmenspezifisch

Bei einer firmenspezifischen ID wird die ID in das folgende Feld übermittelt. Zur Sicherheit wird noch ein Zeitlimit für die Übermittlung gesetzt. Dies geschieht aus der Gefahr heraus, dass Trappakete in einer falschen Reihenfolge eintreffen. De Zeitangabe gibt an, wie lange der SNMP-Agent bis zum Ergebnis gearbeitet hat. So ist es möglich die richtige Reihenfolge zu erhalten.

Was ist der PDU-Body?

In diesem Body kommt es zur eigentlichen Übertragung der Werte. Diese Übertragung wird in einer sogenannten Variable Binding vollzogen. Sie besteht aus drei Teilen. Dies sind die OID, der Datentyp und der Wert. Es können beliebig viele Variable Bindings in einem PDU-Body mitgeschickt werden. Es sollte jedoch dennoch nicht zu groß sein, da ansonsten Probleme bei der Antwort entstehen können. Ist sie zu groß, wird sie samt einer Fehlermeldung zurückgeschickt. Es kann weiterhin vorkommen, dass ein Trap ohne Variable Binding versendet wird. Der Trap beinhaltet dann genügend Informationen, sodass das Variable Binding nicht mehr notwendig ist.

In einem SNMP-Paket ist eine genaue Angabe über die mitgesendeten Variable Bindings nicht vorhanden. Dies ist nur über die Größenangaben im Rahmen des PDU-Bodys und die einzelnen Größen der Variable Bindings herauszufinden.