Netzwerküberwachung mit SNMP (2)

Lesezeit
3 Minuten
Bis jetzt gelesen

Netzwerküberwachung mit SNMP (2)

13.11.2017 - 00:00
Veröffentlicht in:
Netzwerke sind in der Regel sehr heterogen aufgebaut und bestehen aus zahlreichen, verteilten Komponenten. Für Sie als Administrator bedeutet dies, den Überblick zu behalten, um zeitnah auf Probleme reagieren zu können, oder diese im Idealfall von vornherein zu verhindern. Mit dem Simple Network Management Protocol (SNMP) steht Ihnen hier ein erfahrener Begleiter zur Seite. Im zweiten Teil der Serie sehen wir uns an, wie die Datenübertragung mit SNMP strukturiert ist und wie damit die Kommunikation im Netzwerk erfolgt.
Aufbau von MIB-Einträgen
Die überwachten Objekte werden in der MIB-Datei nicht nur mit einer eindeutigen Adresse, der OID, definiert, sondern auch mit einem Namen und den dazugehörigen Informationen über den Objekt-Typ, Zugriffsrechte und Beschreibung, zu welchem Zweck es das Objekt gibt. Als Beispiel soll hier ein Eintrag aus der sogenannten IFMIB (RFC 1213), der Interfaces-MIB, mit der Adresse 1.3.6.1.2.1.2 dienen. In der IFMIB werden insgesamt 100 verschiedene Interfaces betreffende Objekte definiert. Die IF-MIB enthält fünf Tabellen mit insgesamt 53 Tabelleneinträgen und 91 Objekte mit einer eigenen OID. Einer der Einträge mit eigener OID ist zum Beispiel der "ifPhysAddress"-Eintrag.

Möchten Sie zum Beispiel wissen, welche MAC-Adresse einem der Netzwerk-Interfaces in seinem Netzwerk zugrunde liegt, senden Sie eine entsprechende SNMP-Abfrage, die vom ifPhysAddress-Eintrag in der IF-MIB Gebrauch macht:
fPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The interface's address at its protocol sub-layer. […]"
::= { ifEntry 6 }


Wichtige Infos in diesem Eintrag sind, dass die Interface-Adresse nur abgefragt und nicht etwa über SNMP gesetzt werden kann, da read-only. Das Objekt ist daher für die Überwachung gedacht und nicht zur Konfiguration. Außerdem enthält der Eintrag die OID des Objektes ifPhysAddress: 1.3.6.1. 2.1.2.2.1.6.

Dies geht aus der letzten Zeile "ifEntry 6" hervor, die bedeutet, dass die Adresse von ifPhysAddress die OID von ifEntry plus die Zahl 6 ist. Die Beschreibung enthält oft wichtige Informationen zur Interpretation von Werten und bei Standard-MIBs Implementierungsrichtlinien für Hersteller. Aufbereitet durch ein Tool wie etwa dem Paessler MIB-Importer können derartige MIB-Einträge, hier ifType, auch visualisiert werden.

Objekte können in MIBs als einfache Objekte (scalars) oder auch in Tabellenform (tables, tabulars) definiert werden. Tabellen werden dann eingesetzt, wenn auf mehrere gleichartige Objekte von einer für die MIB unbekannten Anzahl von Instanzen zugegriffen werden soll. Typische Beispiele hierfür sind die verschiedenen Ports eines Switches oder die CPU-Werte eines Servers mit mehreren Prozessoren. Hierfür werden zunächst die OIDs aller Spalten einer Tabellenzeile definiert. Auf die spezifischen Objekte in der Tabelle wird dann über diese OIDs mit einem angehängten Indexwert zugegriffen.

Eine SNMP-Walk durch die Tabelle "ifTable" mit der OID 1.3.6.1.2.1.2.2 aus der MIB2 zeigt, dass pro OID so viele Indizes vergeben werden, wie es überwachbare Interfaces auf dem Gerät gibt. Zum Beispiel steht 1.3.6.1.2.1. 2.2.1.1.3 für die OID des ifIndex 1.3.6.1.2.1. 2.2.1.1 mit Index [3] am Schluss. Für jede OID der ifTable wird pro Index ein bestimmter Wert zurückgeliefert (siehe Tabelle "ifTable 1.3.6. 1.2.1.2.2"). Damit nicht jede MIB-Datei die in ihr vorhandenen und verwendeten Objekte und Definitionen immer von der Wurzel des Baumes aus definieren und neu auflisten muss, gibt es einen Mechanismus für die Einbindung anderer MIB-Dateien in eine vorhandene Datei. In so einem Fall ist von importierten MIBs die Rede. Die MIB-2 (alias RFC 1213) beispielsweise importiert verschiedene Definitionen aus den MIBs RFC1155-SMI und RFC-1212. MIBs können dabei beliebig tief verschachtelt importiert sein.



S
trukturierte Datenübertragung
Sehen Sie sich den ifPhysAddress-Eintrag links genauer an, so erkennen Sie an der Struktur des Eintrages, dass ifPhysAddress ein sogenanntes OBJECT-TYPE-Konstrukt ist. Denn die Struktur enthält Informationen zu den Kategorien SYNTAX, MAX-ACCESS, STATUS und DESCRIPTION. Dass ein OBJECT-TYPE-Konstrukt immer genau diese Kategorien enthält, ist durch die sogenannte Structure of Management Information (SMI) definiert. Doch warum gibt es diese SMI – also eine Struktur für diejenigen Informationen, die mit Hilfe von SNMP durch das Netzwerk übertragen werden können?

Der Grund hierfür liegt in der Heterogenität der Netzwerke. Es gibt in einem Netzwerk verschiedene Computerarchitekturen, verschiedene Betriebssysteme und verschiedene Compiler, die Daten auf verschiedene Arten und Weisen speichern und repräsentieren. Viele Architekturen haben zusätzlich unterschiedliche interne Datenformate. Manche speichern beispielsweise Integer nach dem Big-Endian-Prinzip, mit dem signifikantesten Byte zuerst, andere nach dem Little-Endian-Prinzip, mit dem am wenigsten signifikanten Byte voraus.

Woher soll ein Dienst, der Daten auslesen soll, nun wissen, wie er das tun muss? Würde er bei jedem System einfach dieselbe Methode anwenden, wären die Ergebnisse nicht vergleichbar. Und auf welche Weise soll zum Beispiel ein SNMP-Agent eine Antwort mit einem Integer Count an die Überwachungseinheit schicken – in Little-Endian oder Big-Endian kodiert?

Die Lösung ist eine maschinenunabhängige, vom Betriebssystem unabhängige und von der Programmiersprache unabhängige Festlegung zur Beschreibung von Integern und anderen Datentypen sowie Regeln, die definieren, auf welche Art und Weise jeder Datentyp durch das Netzwerk und damit von einer Maschine zu einer anderen Maschine transportiert wird. Denn wenn das Format ein bekanntes Format ist, dann kann jede Netzwerkmanagementinformation empfangen und im benötigten Format abgespeichert werden.

Seite 1: Strukturierte Datenübertragung
Seite 2: Kommunikation im Netzwerk mittels SNMP


Seite 1 von 2 Nächste Seite >>


dr/ln/Martina Wittmann

Ähnliche Beiträge

Netzwerkverwaltung an der Medizinischen Universität Wien

Die IT-Abteilung der Medizinischen Universität Wien betreibt das Netzwerk der Universität, wozu die Betreuung von rund 10.000 Anschlüssen sowie Hunderten Endgeräten und Servern gehört. Für diese Aufgabe wurde eine neue Informations- und Planungssoftware für Kabelmanagement und Netzwerkdokumentation implementiert. Das neue Werkzeug ist flexibel, skalierbar und deckt die steigenden Sicherheitsanforderungen voll ab.

Zero-Touch-Provisionierung von aktiven Netzwerkkomponenten (3)

Zero-Touch-Provisionierungsprozesse sind im Rollout von Client-PCs und Servern bereits lange Zeit Standard. Im Gegensatz dazu kommen diese Prozesse bei aktiven Netzwerkkomponenten wie Routern und Switches nur selten zum Einsatz. Im dritten und letzten Teil gehen wir auf weitere Varianten ein, etwa die ZTP-Provisionierung ohne proprietären Server, die Boot-Loader-Variante iPXE oder das alte Verfahren AutoInstall.

Zero-Touch-Provisionierung von aktiven Netzwerkkomponenten (2)

Zero-Touch-Provisionierungsprozesse sind im Rollout von Client-PCs und Servern bereits lange Zeit Standard. Im Gegensatz dazu kommen diese Prozesse bei aktiven Netzwerkkomponenten wie Routern und Switches nur selten zum Einsatz. Im zweiten Teil der Workshopserie schildern wir den proprietären Cisco-Ansatz "Network-Plug-and-Play", der über eine GUI erfolgt und bei dem sich die ausgerollten Komponenten an die Gegebenheiten im Netzwerk anpassen lassen.