SNMP Erklärung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | *Das '''Simple Network Management Protocol''' ('''SNMP''') wurde von der Internet Engineering Task Force entwickelt | + | =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. | *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. | *SNMP beschreibt den Aufbau der Datenpakete, die gesendet werden können und den Kommunikationsablauf. | ||
| Zeile 20: | Zeile 20: | ||
*Zur Überwachung werden sogenannte Agenten eingesetzt. | *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 | + | *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. | *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 | + | *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: | *Dazu gibt es sieben verschiedene Datenpakete, die gesendet werden können: | ||
| Zeile 49: | Zeile 49: | ||
*Der Agent bestätigt die Übernahme der Werte ebenfalls mit einem '''GET-RESPONSE'''-Paket. | *Der Agent bestätigt die Übernahme der Werte ebenfalls mit einem '''GET-RESPONSE'''-Paket. | ||
==Trap== | ==Trap== | ||
| − | *Wenn der Agent bei der Überwachung des Systems einen Fehler erkennt, kann er diesen mit einem '''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. | *Diese Pakete werden nicht vom Manager bestätigt. Der Agent kann daher nicht feststellen, ob das gesendete '''TRAP'''-Paket beim Manager angekommen ist. | ||
| + | |||
=Protokoll= | =Protokoll= | ||
| − | *Damit die Netzwerkbelastung gering bleibt, wird zum Versenden der Nachrichten das verbindungslose Protokoll UDP verwendet. | + | *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. | *Der Agent und der Manager kommunizieren (Requests/Responses) auf dem Port 161, während der Port 162 zum Empfangen der '''TRAP'''-Meldungen vorgeschrieben ist. | ||
| Zeile 58: | Zeile 59: | ||
*Zum Rahmenwerk des SNMP-basierten Management gehört nicht nur das Protokoll. | *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. | *Sondern auch die Repräsentation der Datenbasis, die im Netzwerkgerät vorhanden ist. | ||
| − | *Diese bezeichnet man als „Management Information Base“ oder abgekürzt als | + | *Diese bezeichnet man als „Management Information Base“ oder abgekürzt als "[https://de.wikipedia.org/wiki/Management_Information_Base 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 | ||
| + | <!--- *Jeder Knoten ist durch eine Folge von Nummern eindeutig gekennzeichnet ---> | ||
| + | |||
| + | =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: | ||
| + | <pre> | ||
| + | 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 } | ||
| + | </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 }

