- MIB II
-
Die Management Information Base (kurz: MIB) beschreibt die Informationen, die über ein Netzwerk-Management Protokoll (zum Beispiel SNMP) abgefragt oder modifiziert werden können. Diese Informationen werden Managed Objects genannt.
Inhaltsverzeichnis
Definition
Als Rahmenwerk für die Beschreibung dieser Managed Objects dient SMI, eine auf ASN.1 basierende 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
In RFC 1155 wurde eine globale MIB definiert, 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 ein MIB-Modul für SNMP oder RFC 1213 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.enterprise“ 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
Eine MIB wird als ASCII-Datei in der SMI-Syntax geschrieben. Hier werden Verzweigungen festgelegt und für jedes Managed Object werden hier 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, der die MIB enthalten soll, benutzt werden kann. Der Agent stellt dann auf Anfrage unter Angabe einer OID den in der MIB beschriebenen Wert zur Verfügung.
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 }
Hier wird zunächst 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
Wenn ein Netzwerk-Manager 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 enthalten ist. Die Komponenten geben dann in ihrer Antwort die Zeichenkette mit ihrer Beschreibung zurück.
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.
Weblinks
- Understanding MIBs (Englisch)
- SNMP FAQ Part 2 (Englisch). Siehe: „2.30.00 --The SNMP MIB (Management Information Base)“
- Liste der vergebenen Enterprise Numbers bei IANA.org und das Anmeldeformular (Englisch)
Wikimedia Foundation.