30.8 Structure and representation of MIB Object Names
We said that ASN.1 specifies what to represent both data items and names. However, understanding the names used for Mibvariables requires us to know about the underlying namespace. Names used for MIB variables is taken from the object identifier namespace administered by ISO and ITU. the key idea behind the object identifier namespace was that it provides a namespace in which all possible objects can be Designated. The namespace is not restricted to variables used in network management – it includes names for arbitrary objects (e.g., Each international protocol standard document has a name).
Absolute (global), meaning that names is structured to make them globally unique. Like most namespaces, large and absolute, the object identifier namespace is hierarchical. Authority for parts of the namespace are subdivided at each level, allowing individual groups to obtain authority to assign Some of the names without consulting a central authority for each assignment4.
The root of the object identifier hierarchy is unnamed, but have three direct descendants managed by ISO, ITU, and jointly by ISO and ITU. The descendants is assigned both short text strings and integers that identify them (the text strings is used by humans To understand object names; Computer software uses the integers to form compact, encoded representations of the names). ISO have allocated one subtree for use by other national or international standards organizations (including U.S. standards Organizations), and the U.S. national Institute for standards and TECHNOLOGY5 have allocated a subtree for the U.S. depart ment of Defense. Finally, the IAB has petitioned the Department of Defense to allocate it a subtree in the namespace. Figure 30.4 illustrates pertinent parts of the object identifier hierarchy and shows the position of the node used by tcp/ IP Network management protocols.
The name of an object in the hierarchy are the sequence of numeric labels on the nodes along a path from the root to the OB Ject. The sequence is written and periods separating the individual components. For example, the name 1.3.6.1.2 denotes the node labeled Mgmt, the Internet management subtree. The Mibhas been assigned a node under the Mgmt subtree with the label MIB and numeric value 1. Because all MIB variables fall under this node, they all has names beginning with the prefix 1.3.6.1.2.1.
Earlier we said the MIB groups variables into categories. The exact meaning of the categories can now is Explained:they is the subtrees of the MIB node of the object IDE Ntifier namespace. Figure 30.5 illustrates the idea by showing part of the naming subtree under the MIB node.
Examples the naming syntax clear. Figure 30.5 shows, the category labeled IP has been assigned the numeric value 4. Thus, the names of all MIB variables corresponding to IP has an A identifier that begins with the prefix 1.3.6.1.2.1.4 . If one wanted to write out the textual labels instead of the numeric representation, the name would is:
ISO . org . dod. Internet. Mgmt . MiB . IP
A MIB variable named ipinreceives has been assigned numeric identifier 3 under the IP nod E in the namespace, so it name is:
ISO . org . dod. Internet. Mgmt . MiB . IP . ipinreceives
and the corresponding numeric representation is:
1. 3. 6. 1. 2. 1. 4. 3
When the network management protocols use names of the mibvariables in messages, each name has a suffix appended. For simple variables, the suffix 0 refers to the instance of the variable with that name. So if it appears in a message sent to a router, the numeric representation of iplnreceives is:
1.3.6.1.2 . 1.4.3. 0
Which refers to the instance of ipinreceives on that router. Note that there is no-to-guess the numeric value or suffix assigned to a variable. One must consult the published standards to find which numeric values has been assigned to each object type.
Thus, programs that provide mappings between the textual form and underlying numeric values doing so entirely by consulting T Ables of equivalences--there is no closed-form computation that performs the transformation.
As a second, more complex example, consider the mibvariable ipaddrtable, which contains a list of the IP Addresse s for each network interface. The variable existsin the namespace as a subtree under IP, and has been assigned the numeric value . Therefore, a reference to it have the prefix:
ISO . org . DoD . Internet. Mgmt . MiB . IP . ipaddrtable
With a numeric equivalent:
1. 3. 6. 1. 2. 1. 4. 20
In programming language terms, we think of the IP Address table as a one-dimensional array, where each element of the ARRA Y consists of a structure (record) that contains five Items:an IP address, the integer index of an interface Correspondin G to the entry, a IP subnet mask, an IP broadcast address, and a integer that specifies the maximum datagram size that T He router would reassemble. Of course, it is unlikely that a router have such an array in memory. The router may keep this information in many variables or could need to follow pointers to find it. However, the Mibprovides a name for the array as if it existed, and allows network management software on individual route RS to map table references into appropriate internal variables. The point is:
Although they appear to specify details about data structures, MIB standards Do Not dictate the implementation. Instead, MIB definitions provide a uniform, virtual interface that managers use to access data; An agent must translate between, the virtual items in a MIB and the internal implementation.
Using ASN.1 style notation, we can define ipaddrtable:
Ipaddrtable:: = SEQUENCE of Ipaddrentry
where SEQUENCE and of is keywords that define an ipaddrtable to be a one dimensional array of I PaddrentryS. Each entry in the array was defined to consist of five fields (the definition assumes that IpAddresshave a Lready been defined).
Ipaddrentry:: = SEQUENCE { ipadentaddr IpAddress, ipadentiflndex INTEGER, ipadentnetmask IpAd Dress, ipadentbcastaddr IpAddress, ipadentreasmmaxsize INTEGER (0). 65535)}
Further definitions must be given to assign numeric values to ipaddrentry and to each item in the Ip Addrentry sequence. For example, the definition:
ipaddrentry {ipaddrtable 1}
Specifies that ipaddrentryfalls under ipaddrtableand have numeric value 1 . Similarly, the definition:
Ipadentnetmask {ipaddrentry 3}
Assigns ipadentnetmasknumeric value 3 under ipaddrentry.
We said that ipaddrtable is like aone-dimensional array. However, there is a significant difference in the the-the-programmers use arrays and the the-the-the-the-the-network management software uses Tables in the MIB. Programmers think of a array as a set of elements that has an index used to select a specific element. For example, the programmer might writeXyz[3]To select the third element from arrayXYZ.ASN.1 syntax does not use integer indices. Instead, MIB tables append a suffix onto the name to select a specific element in the table. For our example of a IP address table, the standard specifies that the suffix used to select a item consists of an Ipadd Ress. Syntactically, the IP address (in dotted decimal notation) was concatenated onto the end of the object name to form the ref Erence. Thus, to speclfy the network mask field in the IP Address table entry corresponding to address 128.10.2.3, one uses the NA Me
iso.org.dod. Internet.mgmt.mib. IP. ipaddrtable. ipaddrentry. Ipadentnetmask . 128.10.2.3
Which, in numeric form, becomes:
1. 3. 6. 1. 2. 1. 4. 20. 1. 3. 128. 10. 2. 3
Although concatenating an index to the end of a name may seem awkward, it provides a powerful tool that allows clients to Search tables without knowing the number of items or the type of data used as an index. The next section shows how network management protocols use this feature to step through a table one element at a time.
3 ASN.1 is usually pronounced by reading the dot: "A-s-n dot 1".
4 Readers should recall from the Domain Name System discussion in Chapter What authority for a hierarchical namespace are Subdivided.
5 NIST was formerly the national Bureau of standards.
Abstract from internetworking with TCP/IP Vol i:principles, protocols, and Architecture fourth Edition,
DOUGLAS E. Comer,
Department of computer Sciences Purdue University, West Lafayette, in 47907,
PRENTICE HALL,
Upper Saddle River, New Jersey 07458
Structure and representation of MIB Object Names-snmp Tutorial