The TCP/IP Guide - Version 3.0 (Contents) ` 1231 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
As I said before, each MIB object actually has two names: an object descriptor and an
object identifier. The object descriptor is a conventional text name that provides a “user-
friendly handle” to refer to the object. The name is assigned based on the particular MIB
object group in which the object is located. In the example definition I gave at the end of the
prior topic, sysLocation is the object descriptor for that MIB object. I describe these names
in greater detail in the next topic, on MIB modules and object groups.
The MIB Object Name Hierarchy
Text names are convenient, but they are generally unstructured. There are at present over
10,000 different MIB objects, and even if each has a distinct text name, a huge collection of
such names doesn't help us to manage these objects and see how they are related. For
this, we need a more structured approach to categorizing and naming objects.
This problem is similar to another problem that you may recall reading about: the problem of
how to assign names on the Internet. Originally names for hosts were simple, “flat” names,
but this quickly grew unwieldy. The Domain Name System (DNS) formalized a structured
hierarchy for domain names. The DNS hierarchical name space allows every device to be
arranged into a single hierarchical tree structure. The name of the device can be formed by
traversing the tree from the top down to the location of the device, listing the labels
traversed separated by dots. For example, the Web server of The PC Guide is at
“www.pcguide.com”.
This exact same concept is used to organize MIB objects in SNMP. A single universal
hierarchy is used that contains all MIB objects. It is hierarchical in nature, and split into
levels from the most general to the most specific. Each object has a particular place in the
hierarchy. The names are formed by following the labels from the top of the tree down to the
place where the object is located, and separating them with “dots”. (SNMP doesn't reverse
the order of the labels the way DNS does, however. They are listed top-down from left to
right.)
There is another important difference between the MIB name hierarchy and the DNS one:
the MIB name hierarchy is even more universal than the one for DNS. The entire subtree of
all MIB objects is just one branch of the full, international object hierarchy maintained by
ISO and ITU. This object identification hierarchy is so general that it can contain a name for
every object or variable in use by any technology in the entire world. And possibly other
planets. Or solar systems. ☺
The reason for my jocularity will become apparent in a moment. Suffice to say, this object
tree is enormous. Each node in this tree is identified with both a label and an integer. The
labels are for descriptive purposes; object (or subtree) identifiers are formed by listing the
numbers in sequence from the top of the tree down to the node, separated by dots. (The
text labels can be used for names too but are not because they would get very long due to
how deep the tree structure is.)