d in more detail in the next section. SNMP has three popular version and the MIB changes associated with each of these versions are discussed under SNMPv1 MIB, SNMPv2 MIB, and SNMPv3 MIB. Management Information Base (MIB) 16.4 SNMPv1 MIB SNMP uses ASN.1 for defining objects and PDUs exchanged by the management protocol. Only a subset of ASN.1 data types is used. They are INTEGER, OCTET STRING, OBJECT IDENTIFIER, SEQUENCE, SEQUENCE OF, and NULL. RFC 1155 states how objects are defined. In MIB, object types have an OBJECT DESCRIPTOR that is a textual name and an OBJECT IDENTIFIER. A representation bladeLocation {blade 10}, has bladeLocation as the OBJECT DESCRIPTOR, and {blade 6} as the OBJECT IDENTIFIER. The OBJECT IDENTIFIER for the SNMP subtree is 1.3.6.1.2.1.11. Objects can be added to the tree for data collection. For example a count of SNMP input messages can be maintained in snmpInMsgs using the OBJECT IDENTIFIER is 1.3.6.1.2.1.11.8, where 8 is the subidentifier for this new object. Each scalar object of the input message object has only one instance and it is identified by concatenat- ing 0 to the OBJECT IDENTIFIER of snmpInMsgs. This instance will be repre- sented as 1.3.6.1.2.1.11.8.0. Tables in SNMP are two-dimensional in nature and only the objects in a table, known as columnar objects, can be manipulated by SNMP. Instances of objects in tables are identified by the INDEX clause in SNMPvl where this clause refers to a row in a table. Instances of objects in tables can also be identified using the AUGMENTS clause, which is an addition in SNMPv2. They retrieve values from a table and the length of each column are traversed completely before moving to the next column. To add the value of an object instance to the table, the value is entered in a row using the SetRequest operation and to delete an entry the value is set to invalid using SetRequest operation. A specific set of rules is followed in defining new MIBs. This is required because multiple versions of MIB can coexist. Some of the rules are: Old obj