SNMP - Simple Network Managemant Protocol


By admin - Posted on 14 April 2009

Allgemein

Protokoll

SNMP nutzt UDP.
Aus technischer Hinsicht können auch andere Protokolle verwendet
werden.
Durch eine fehlende Fehlerkorrektur bei UDP muss dies die SNMP-Anwendung
selbst realisieren.
Im Regelfall wird man die Anforderung solange wiederholen, bis eine
Erwiderung eintrifft oder keine Hoffnung mehr auf Antwort besteht.

Gewünschte Eigenschaften beim
Entwurf
  • geringe Komplexität
  • minimaler Aufwand in den überwachten und gesteuerten Netzelementen
    (notfalls auf Kosten des Aufwands in der Netzmanagement-Station)
  • Erweiterbarkeit
  • Unabhängigkeit von konkreten Eigenschaften der Netzkomponenten
  • Es wird von dem (realistischen) Fall ausgegangen, daß
    mehrere Management-Zuständigkeitsbereiche (Communities)
    existieren, die sich möglicherweise auch überlappen.

Standard Port

SNMP nutzt zwei well-known-Ports : 161 und 162.
Port 161 empfängt alle SNMP-Requests. Wenn ein Management-System
eine SNMP-Request an einen Agent versenden möchte, gibt es
den Port 161 als Ziel-Port im UDP-header an. Die SNMP-Response wird
von dem Agent an den selben Port zurückgesendet.

Port 162 ist der SNMP-Trap Port. Wenn ein SNMP-Agent ein Trap zu
einem Management-System sendet, gibt es als Ziel-Port den Port 162
an.

in-band-management

Für das Management wird dasselbe Netz benutzt wie für
die Nutzdaten.

out-of-band-management

Hier werden seperate Verbindungen für das Management benutzt.
Dieses Netz braucht aber auch wieder ein "Management".

Informationsdarstellung mit ASN.1
Abstract Syntax Notation

diese Sprache wird dazu genutzt, das Format von SNMP-Nachrichten
und MIB Modulen, die eine eindeutige Datenbeschreibungsformat benutzen,
zu definieren

MIB
Management Information Base

Die Definition der in Netzwerk-Elementen zugänglichen Informationen.
Wichtig ist dabei die eindeutige Bezeichnung der Objekte (erfolgt
durch Objekt-Identifikatoren).

SMI
Structure of Management Information

In RFC 1155 ist das Prinzip der hierarchischen Struktur festgelegt.
Bsp. Iso.org.dod.internet.mgmt.mib-2.system...

BER
Basic Encoding Rules

diese Sprache wird dazu genutzt, SNMP-Nachrichten in ein geeignetes
Formt umzuwandeln, damit die Daten in einem Netz übertragen
werden können.

Community
(Zuständigkeitsbereich)

 

SNMP-Requests

 

Die Anforderung einer Information wird Request genannt. Die Antwort
ist der Response (Erwiderung).

GETREQUEST

Werte von Variablen anfordern.

GETNEXTREQUEST

Werte des Nachfolgers liefern. Durchmustern von Managementobjekten.
Tabellen.

SETREQUEST

Variable auf neuen Wert setzen.

GETRESPONSE

Die Antwort einer Anfrage.

TRAP

Wenn ein Netzwerkelement unaufgefordert eine Nachricht an die Managementstation
sendet ist dies ein Trap.
Auch der Empfang von Traps wird nicht bestätigt. Ein Verlust
wird in Kauf genommen, da der Manager bei der nächsten zyklischen
Abfrage das Problem bemerkt.

 

Neuerungen in SNMP Version 2/3

 

RESPONSE

Die Antort heisst nun einfacherweise nur noch Response.

INFORM REQUEST

Trap mit Bestätigung (Port 162)

GETBULKREQUEST

Hiermit können nun mehrere lexikographisch aufeinander folgende
Variablen auf einmal angefordert werden.

USM
User-based Security Module

Schutz vor unbefugten Einblicken mittels symmetrischer Verschlüsselung.
securityName - Nutzername
authProtocol - Authentifizierungsverfahren (MD5 oder SHA)
privProtocol - Verschlüsselungsprotokoll (DES)
authKey - zum Authentifizieren der Nachrichten
privKey - zum Verschlüsseln der Nachrichten
securityLevel - was soll verwendet werden (noAuthNoPriv|authNoPriv|authPriv)

Details zu SNMP-Befehlen

 

snmpwalk (SNMP V1)

Mit diesem Befehl können alle Varibalen einer Gruppe auf einmal
abgerufen werden.
Es wird ein GetNextRequest abgesetzt welcher z.B die erste Variable
der Gruppe "System" anfordert. Mit der in der Antwort
gegebenen ersten Variable wird nun ein weiterer GetNextRequest gesendet.
Das Ende erfolgt erst wenn die Antwort die Gruppe verlässt.
Für jede Variable einer Gruppe erfolgt ein Request und ein
Response.
 

snmpbulkwalk (ab SNMP Version2)

Mit diesem Befehl können alle Varibalen einer Gruppe auf einmal
abgerufen werden.
Es wird jedoch nur ein GETBULKREQUEST abgesetzt und ein RESPONSE
generiert. Dieser kann aufgrund der Datenmenge mehrere IP-Pakete
umfassen.
 

snmpbulkget (ab SNMP Version2)

Mit diesem Befehl können eine bestimmte Anzahl Varibalen einer
oder mehrerer Gruppen auf einmal abgerufen werden.
Syntax :
snmpbulkget -v 2c -B 1 10 host communitystring Group1 Group2
-B <nonrep> <rep>
<nonrep> spezifiziert die Anzahl der Variablen die nicht wiederholt
werden sollen.
<rep> ist die maximale Anzahl der Wiederholungen der restlichen
Variablen
Default ist -B 0 100.
<nonrep> kann als "Zeiger" auf die Gruppen gesehen
werden.
Die Variablen der Gruppen links des "Zeigers" werden nicht
wiederholt angefordert.
Die Variablen der Gruppen rechts des "Zeigers" werden
<rep>-mal angefordert.
 

SGMP
Simple Gateway Monitoring Protocol

Vorläufer von SNMP

Art
des Labels
Konvention Beispiel
ASN.1
Datentyp
Das
Initial ist großgeschrieben
DisplayString
Datenwert
(Inhalt)
Das
Initial ist kleingeschrieben
true
Daten
Identifizierer
Das
Initial ist kleingeschrieben
sysDescr
ASN.1
Schlüsselwörter (Befehle)
Alles
ssgroßgeschrieben
INTEGER
ASN.1
Makros
Alles
großgeschrieben
OBJECT-TYPE
Modul
Namen
Initial
großgeschrieben
Clever-MIB