SNMP Erklärung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(29 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das '''Simple Network Management Protocol''' ('''SNMP''') ist ein Netzwerkprotokoll, das von der Internet Engineering Task Force entwickelt wurde, um Netzwerkelemente von einer zentralen Station aus überwachen und steuern zu können. 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:
+
=Grundlagen=
* Überwachung von Netzwerkkomponenten,
+
*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.  
* Fernsteuerung und Fernkonfiguration von Netzwerkkomponenten,
+
*Das Protokoll regelt dabei die Kommunikation zwischen den überwachten Geräten und der Überwachungsstation.
* Fehlererkennung und Fehlerbenachrichtigung.
+
*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, der sowohl von den meisten Managementprogrammen als auch von Endgeräten unterstützt wird.
+
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 ==
 
== Funktionsweise ==
  
[[Datei:snmp-1.png]]
+
{{#Drawio:snmp-1}}
  
Zur Überwachung werden sogenannte Agenten eingesetzt. Dabei handelt es sich um Programme, die direkt auf den überwachten Geräten laufen, oder um Hardware, welche die gleichen Aufgaben erfüllt. 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 es möglich, dass die zentrale Managementstation mit den Agenten über ein Netzwerk kommunizieren kann. Dazu gibt es sieben verschiedene Datenpakete, die gesendet werden können:
+
 
 +
{{#Drawio:snmp-2}}
 +
 
 +
*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
 
; GET-REQUEST
Zeile 23: Zeile 36:
 
: Antwort auf eines der vorherigen Pakete.
 
: Antwort auf eines der vorherigen Pakete.
 
; TRAP
 
; TRAP
: unaufgeforderte Nachricht von einem Agenten an den Manager, dass ein Ereignis eingetreten ist. Programme wie [[Wireshark]], die zum Dekodieren von Protokollen wie SNMP benutzt werden, nennen dieses Datenpaket auch '''REPORT'''. Ein '''TRAP''' kann auch geschickt werden, wenn die in einem '''SET-REQUEST'''-Paket beschriebene(n) Datensatzänderung(en) nicht durchgeführt werden konnte(n), und nicht nur, um eine Fehlfunktion (z. B. einen Defekt eines Moduls eines Netzelements) zu melden.
+
:ist ein vom Agenten selbst verfasster Datensatz, welcher an einen vorher festgelegten Server gesendet wird
 
; INFORM-REQUEST
 
; INFORM-REQUEST
 
: aufgebaut wie ein Trap, nur dass dieser vom Empfänger quittiert wird.
 
: aufgebaut wie ein Trap, nur dass dieser vom Empfänger quittiert wird.
  
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.
+
=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 "[https://de.wikipedia.org/wiki/Management_Information_Base MIB]".
  
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.
+
=Umsetzung der Abfragen=
  
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 das gesendete '''TRAP'''-Paket beim Manager angekommen ist.
+
*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
 +
<!--- *Jeder Knoten ist durch eine Folge von Nummern eindeutig gekennzeichnet --->
  
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.
+
=Aufbau einer OID und Zusammenspiel mit MIB=
 +
*OID’s werden in drei Notationen dargestellt.
  
== Management Information Base ==
+
=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:
 +
<pre>
 +
system  OBJECT IDENTIFIER ::= { mib-2 1 }
  
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 und die man als „Management Information Base“ oder abgekürzt als „MIB“ bezeichnet.
+
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 }
 +
</pre>
  
 
=Quelle=
 
=Quelle=
 
*https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol
 
*https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol

Aktuelle Version vom 2. Februar 2023, 08:59 Uhr

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