Beim Internet-Management werden die Managementobjekte über den Internet-Registrierungsbaum identifiziert und benannt. Dieser Baum besteht aus Strukturierungsknoten und Informationsknoten. Letztere sind die Blätter des Baumes, in denen Agenten (managementrelevante) Information abspeichern können. Ein SNMP(v2)-Informationsmodul enthält die Beschreibung (in ASN.1 Notation) eines Teilbaumes der Internet-MIB, mit Strukturierungs- und/oder Informationsknoten. Beispiel für ein solches Modul ist die MIB-II ([MR91]):
RFC1213-MIB DEFINITIONS ::= BEGIN IMPORTS mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212; mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- textual conventions DisplayString ::= OCTET STRING PhysAddress ::= OCTET STRING -- groups in MIB-II system OBJECT IDENTIFIER ::= { mib-2 1 } interfaces OBJECT IDENTIFIER ::= { mib-2 2 } at OBJECT IDENTIFIER ::= { mib-2 3 } ip OBJECT IDENTIFIER ::= { mib-2 4 } icmp OBJECT IDENTIFIER ::= { mib-2 5 } tcp OBJECT IDENTIFIER ::= { mib-2 6 } udp OBJECT IDENTIFIER ::= { mib-2 7 } egp OBJECT IDENTIFIER ::= { mib-2 8 } transmission OBJECT IDENTIFIER ::= { mib-2 10 } snmp OBJECT IDENTIFIER ::= { mib-2 11 } -- Formale Beschreibung der einzelnen Gruppen ENDJedes solche Modul, wird auf ein IDL-Modul mit gleichem Identifikator (im Beispiel RFC1213-MIB) abgebildet. Die dazugehörige Datei wird nach demselben Modul und dem Suffix ,,.idl`` benannt. Diese Ausgabedatei -- in sie werden alle den ASN.1-Makros des Moduls entsprechenden IDL-Definitionen geschrieben -- heißt bei obigem Beispiel ,,rfc1213.idl`` und sieht (für obigen Auszug) folgendermaßen aus:
// rfc1213.idl #ifndef RFC1213_MIB_idl #define RFC1213_MIB_idl #include ``SNMPMgmt.idl'' module RFC1213_MIB { #include ``rfc1155.idl'' typedef RFC1155_SMI::TimeTicksType TimeTicksType; typedef RFC1155_SMI::GaugeType GaugeType; typedef RFC1155_SMI::CounterType CounterType; typedef RFC1155_SMI::IpAddressType IpAddressType; typedef RFC1155_SMI::NetworkAddressType NetworkAddressType; #define mgmt RFC1155_SMI::mgmt; const ASN1_ObjectIdentifier mib_2 = ``mgmt.1''; const ASN1_ObjectIdentifier system = ``mib_2.1''; const ASN1_ObjectIdentifier interfaces = ``mib_2.2''; const ASN1_ObjectIdentifier at = ``mib_2.3''; const ASN1_ObjectIdentifier ip = ``mib_2.4''; const ASN1_ObjectIdentifier icmp = ``mib_2.5''; const ASN1_ObjectIdentifier tcp = ``mib_2.6''; const ASN1_ObjectIdentifier udp = ``mib_2.7''; const ASN1_ObjectIdentifier egp = ``mib_2.8''; const ASN1_ObjectIdentifier transmission = ``mib_2.10''; const ASN1_ObjectIdentifier snmp = ``mib_2.11''; // IDL-Beschreibung der Gruppen } #endifWichtig ist, daß die Objektidentifikatoren als konstante Strings übernommen werden. Die Objektidentifikatoren werden für die Adressierung der Managed Objects in den SNMP(v2)-PDUs benötigt.