SNMP Erklärung

Aus xinux.net
Zur Navigation springen Zur Suche springen

Grundlagen

  • Das Simple Network Management Protocol (SNMP) wurde von der Internet Engineering Task Force entwickelt, um Netzwerkelemente von einer zentralen Station aus zu überwachen und steuern.
  • Das Protokoll regelt dabei die Kommunikation zwischen den überwachten Geräten und der Überwachungsstation.
  • SNMP beschreibt den Aufbau der Datenpakete, die gesendet werden können und den Kommunikationsablauf.
  • Es wurde dabei so ausgelegt, dass jedes netzwerkfähige Gerät mit in die Überwachung aufgenommen werden kann.
  • Zu den Aufgaben des Netzwerkmanagements, die mit SNMP möglich sind, zählen:
    • Überwachung von Netzwerkkomponenten,
    • Fernsteuerung und Fernkonfiguration von Netzwerkkomponenten,
    • Fehlererkennung und Fehlerbenachrichtigung.

Durch seine Einfachheit, Modularität und Vielseitigkeit hat sich SNMP zum Standard entwickelt.

  • Es wird sowohl von den meisten Managementprogrammen als auch von Endgeräten unterstützt.

Funktionsweise


  • Zur Überwachung werden sogenannte Agenten eingesetzt.
  • Dabei handelt es sich um Programme, die direkt auf den überwachten Geräten laufen, oder um Hardware die dies implizit können.
  • Diese Programme/Geräte sind in der Lage, den Zustand des Netzwerkgerätes zu erfassen und auch selbst Einstellungen vorzunehmen oder Aktionen auszulösen.
  • Mit Hilfe von SNMP ist die Kommunikation der zentralen Managementstation mit den Agenten über ein Netzwerk möglich.
  • Dazu gibt es sieben verschiedene Datenpakete, die gesendet werden können:
GET-REQUEST
zum Anfordern eines Management-Datensatzes.
GETNEXT-REQUEST
um den nachfolgenden Datensatz abzurufen (um Tabellen zu durchlaufen).
GETBULK (ab SNMPv2)
um eine angegebene Anzahl an Datensätzen auf einmal abzurufen, ähnelt mehreren GETNEXT-REQUEST.
SET-REQUEST
um einen oder mehrere Datensätze eines Netzelementes zu verändern. Manchmal verlangt ein Netzelement die gleichzeitige Änderung mehrerer Datensätze, um die Konsistenz zu überprüfen. Beispielsweise erfordert die Konfiguration einer IP-Adresse die gleichzeitige Angabe der Netzwerkmaske.
GET-RESPONSE
Antwort auf eines der vorherigen Pakete.
TRAP
ist ein vom Agenten selbst verfasster Datensatz, welcher an einen vorher festgelegten Server gesendet wird
INFORM-REQUEST
aufgebaut wie ein Trap, nur dass dieser vom Empfänger quittiert wird.

Erklärung

Get

  • 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 oder eine Fehlermeldung enthält.

Set

  • Mit dem SET-REQUEST-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 GET-RESPONSE-Paket.

Trap

  • Wenn der Agent bei der Überwachung des Systems einen Fehler erkennt, kann er diesen mit einem TRAP-Paket an die Management-Station melden.
  • Diese Pakete werden nicht vom Manager bestätigt. Der Agent kann daher nicht feststellen, ob das gesendete TRAP-Paket beim Manager angekommen ist.

Protokoll

  • Damit die Netzwerkbelastung gering bleibt, wird zum Versenden der Nachrichten das verbindungslose Protokoll UDP verwendet.
  • Der Agent und der Manager kommunizieren (Requests/Responses) auf dem Port 161, während der Port 162 zum Empfangen der TRAP-Meldungen vorgeschrieben ist.

Management Information Base

  • Zum Rahmenwerk des SNMP-basierten Management gehört nicht nur das Protokoll.
  • Sondern auch die Repräsentation der Datenbasis, die im Netzwerkgerät vorhanden ist.
  • Diese bezeichnet man als „Management Information Base“ oder abgekürzt als "MIB".

Umsetzung der Abfragen

  • SNMP ist ein Framework für Datenabfragen.
  • Man kann sich mit SNMP Informationen von verschiedenen Kompeneten im Netzwerk besorgen.
  • Diese Infos sind oft unterschiedlich bei einem Switch ist dies beispielsweise der Datendurchsatz der Ports
  • bei einem Server die Temperatur oder die CPU Auslastung
  • Um verschiedene Werte von verschiedenen Managern auswerten zu können, benutzt man sogenannte Communities
  • Diese Commmunities sind Pre-Shared-Keys, um sich zu legitmieren
  • Die Standardlese-Community ist public
  • Die Standardschreib-Community ist private
  • Die Informationen stehen als TAG/Value zur Verfügung
  • SNMP verwendet ein Object Identifier (OID) ein weltweit eindeutiger Bezeichner, der benutzt wird, um die jeweiligen Werte zu benennen
  • Sie sind in einer Baumstruktur verwaltet
  • Ein OID stellt einen Knoten in einem hierarchisch zugewiesenen Namensraum dar

Aufbau einer OID und Zusammenspiel mit MIB

  • OID’s werden in drei Notationen dargestellt.

OID

  • Jeder einzelne Wert wird als Eigenschaft durch eine OID repräsentiert.
  • All diese Werte und Eigenschaften werden dann in eine MIB (Management Information Base) zusammengefasst.
  • Jeder Manager hat so eine MIB. In ihr sind alle OID’s der enthaltenen Geräte gespeichert.
  • Jedes neue Gerät kann durch ein einfaches Einlesen der OID’s der MIB hinzugefügt werden.
  • MIB ist in der RFC 1213 definiert.

Syntaxbeispiel

Syntaxbeispiel aus der MIB-II, definiert in RFC 1213
system   OBJECT IDENTIFIER ::= { mib-2 1 }

sysDescr OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..255))
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "A textual description of the entity.  This value
       should include the full name and version
       identification of the system's hardware type,
       software operating-system, and networking
       software.  It is mandatory that this only contain
       printable ASCII characters."
   ::= { system 1 }

Quelle