Management Information Base

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Eine Management Information Base (MIB; deutsch Verwaltungsinformationsbasis) ist eine Beschreibung, die Definitionen von Management-Informationen enthält, die dazu benutzt werden können, ein an ein Netzwerk angeschlossenes Gerät von der Ferne zu überwachen, zu konfigurieren und steuern. Für diese Funktionen wird ein Netzwerk-Management-Protokoll (zum Beispiel SNMP) benutzt. Die Informationen werden Managed Objects (verwaltete Objekte) genannt.

Definition[Bearbeiten | Quelltext bearbeiten]

Für das auf SNMP basierende Netzwerkmanagement wurde als Rahmenwerk für die Beschreibung dieser MOs (Managed Objects) eine generische SMI (Structure of Management Information) definiert. Dabei handelt es sich um eine in der Spezifikationssprache ASN.1 (Abstract Syntax Notation One) geschriebene Regelsammlung zur Beschreibung von Objekten des Netzwerkmanagements. Die SMI beschreibt, wie die Informationen angeordnet sind, welche Datenformate und Operationen zugelassen sind und wie die MIB überhaupt spezifiziert wird. Ein Managed Object ist kein wirklicher Datenwert, sondern es stellt die Beschreibungen dieses Datenwertes dar. Anders gesagt: „Die MIB enthält keine Daten, sie beschreibt nur, wo diese zu finden sind und wie sie aussehen.“

MIB-Module[Bearbeiten | Quelltext bearbeiten]

Der MIB-Baum

In RFC 1155[1] wurde eine globale MIB definiert, die sogenannte MIB I, die inzwischen mehrfach erweitert wurde. Diese Erweiterungen sind Verzweigungen von diesem globalen MIB-Baum. Die Verzweigungen werden MIB-Module genannt, oft wird aber MIB als Synonym für MIB-Modul verwendet.

Die Managed Objects werden durch einen eindeutigen Object Identifier (kurz: OID) identifiziert. Dieser OID kann in zwei Formen dargestellt werden: als eine Zahlenkette (.1.3.6.1.4.1) oder durch eine ASCII-Repräsentation (.iso.org.dod.internet.private.enterprise). Diese beiden Formen können auch gemischt werden (private.1). Die OID beschreibt den Weg durch die hierarchisch aufgebaute MIB zum Managed Object.

Verschiedene RFCs definieren MIB-Module, z. B. definiert RFC 1157[2] ein MIB-Modul für SNMP oder RFC 1213[3] die MIB-II für TCP/IP. Letztere ist in allen Netzwerkkomponenten enthalten. Alle Komponenten, die dieses MIB-Modul unterstützen, stellen dieselben Daten an derselben Stelle bereit.

Unter dem Zweig „.iso.org.dod.internet.private.enterprises“ können Firmen eigene (private) MIB-Module anlegen. Sie benötigen dafür eine Enterprise ID, die bei der IANA kostenlos beantragt werden kann.

Anwendung[Bearbeiten | Quelltext bearbeiten]

Eine MIB wird als ASCII-Datei in der SMI-Syntax geschrieben. Hier werden Verzweigungen festgelegt, und für jedes Managed Object werden Angaben über den Datentyp (SYNTAX), die Zugriffsrechte (ACCESS), den Status (STATUS) und die Position in der MIB gemacht. Außerdem ist eine Beschreibung (DESCRIPTION) des Objektes enthalten.

Diese ASCII-Definition kann durch einen MIB-Compiler aufbereitet und in eine Form gebracht werden, die eine weitere Verwendung ermöglicht. Beispielsweise kann ein solcher Compiler fertigen Code erzeugen, der bei der Programmierung des Agenten benutzt werden kann, der die MIB enthalten soll. Der Agent stellt dann auf Anfrage unter Angabe einer OID den in der MIB beschriebenen Wert zur Verfügung.

Syntaxbeispiel[Bearbeiten | Quelltext bearbeiten]

Syntaxbeispiel aus der MIB-II, definiert in RFC 1213:[3]

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 }

Zunächst wird ein Zweig (OBJECT IDENTIFIER) der MIB definiert: system ist eine Verzweigung von mib-2 mit der Nummer 1. Die vollständige OID für diese Verzweigung würde 1.3.6.1.2.1.1 lauten. Danach wird ein Objekt (OBJECT-TYPE) definiert. Dieses ist eine Zeichenkette, die eine Beschreibung der Komponente enthalten soll. Sie kann nur gelesen werden und ist ein Pflichtfeld bei der Implementierung der MIB. Ihre Position ist die Nummer 1 unter system. Die vollständige OID für dieses Objekt würde 1.3.6.1.2.1.1.1 lauten.

Anwendungsbeispiel[Bearbeiten | Quelltext bearbeiten]

Wenn ein Netzwerkmanager wissen möchte, was für Komponenten im Netzwerk vorhanden sind, kann er die oben beschriebene Zeichenkette auslesen. Er kann dazu ein SNMP-get an alle Komponenten im Netzwerk senden, in dem die OID 1.3.6.1.2.1.1.1.0 enthalten ist. Die Komponenten geben dann in ihrer Antwort die Zeichenkette mit ihrer Beschreibung zurück.

Die MIB bei der Bearbeitung einer SNMP-Anfrage

Hier wird auch wieder klar, warum die MIB keine Datenbank ist, sondern eher mit einem Adressverzeichnis vergleichbar ist: Die Beschreibung selbst hält jede Komponente im Netzwerk für sich vor, sie ist aber bei allen Komponenten an der gleichen Stelle (der OID) und in der gleichen (in der MIB festgelegten) Form zu finden.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • David T. Perkins, Evan McGinnis: Understanding SNMP MIBs, 1997, Prentice Hall, Upper Saddle River NJ, ISBN 0-13-437708-7
  • Stephen Morris: Network Management, Mibs and Mpls: Principles, Design and Implementation. Prentice Hall International, 2003, ISBN 978-0-13-101113-7
  • Larry Walsh: SNMP Mib Handbook. Wyndham Press, 2008, ISBN 978-0-9814922-0-9

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. RFC 1155 – Structure and Identification of Management Information for TCP/IP-based Internets. Mai 1990 (englisch).
  2. RFC 1157 – A Simple Network Management Protocol (SNMP). Mai 1990 (englisch).
  3. a b RFC 1213 – Management Information Base for Network Management of TCP/IP-based internets: MIB-II. März 1991 (englisch).