What does a MIB look like?

For an example, here are the first few lines of the standard DPS Telecom MIB file:

DPS-MIB-V38 DEFINITIONS ::= BEGIN
IMPORTS
      DisplayString
            FROM RFC1213-MIB
      OBJECT-TYPE
            FROM RFC-1212
      enterprises
            FROM RFC1155-SMI;
dpsInc OBJECT IDENTIFIER ::= {enterprises 2682}
dpsAlarmControl OBJECT IDENTIFIER ::= {dpsInc 1}
tmonXM OBJECT IDENTIFIER ::= {dpsAlarmControl 1}
tmonIdent OBJECT IDENTIFIER ::= {tmonXM 1}
tmonIdentManufacturer OBJECT-TYPE
      SYNTAX DisplayString
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION "The TMON/XM Unit manufacturer."
      ::= {tmonIdent 1}
tmonIdentModel OBJECT-TYPE
      SYNTAX DisplayString
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION "The TMON/XM model designation."
      ::= {tmonIdent 2}

Wow! What language is that?

The MIB is written in ASN.1 notation. (The initials stand for Abstract Syntax Notation 1.) ASN.1 is a standard notation maintained by the ISO (International Organization for Standardization) and used in everything from the World Wide Web to aviation control systems.

A full description of ASN.1 is completely beyond the scope of this white paper - standard references to ASN.1 run up to 600 pages. For our purposes, there are only a few things to understand about ASN.1:

  1. It's human-readable.
  2. It's specifically designed for communication between dissimilar computer systems, so it's the same for every machine.
  3. It's extensible, so it can be used for describing almost anything.
  4. Once a term is defined in ASN.1, it can be used as a building block for making other terms. This is very important for understanding MIB structure - you'll see why later on.
Prev Page: How do I read the MIB?
Next Page: How ASN.1 builds new terms out of existing terms