A management information base (MIB) is a database used for managing the entities in a communication network. Most often associated with the Simple Network Management Protocol (SNMP), the term is also used more generically in contexts such as in OSI/ISO Network management model. While intended to refer to the complete collection of management information available on an entity, it is often used to refer to a particular subset, more correctly referred to as MIB-module.
Objects in the MIB are defined using a subset of Abstract Syntax Notation One (ASN.1) called "Structure of Management Information Version 2 (SMIv2)" RFC 2578. The software that performs the parsing is a MIB compiler.
The database is hierarchical (tree-structured) and each entry is addressed through an object identifier (OID). Internet documentation RFCs discuss MIBs, notably RFC 1155, "Structure and Identification of Management Information for TCP/IP based internets", and its two companions, RFC 1213, "Management Information Base for Network Management of TCP/IP-based internets", and RFC 1157, "A Simple Network Management Protocol".
Abstract Syntax Notation One (ASN.1) is a standard and flexible notation that describes data structures for representing, encoding, transmitting, and decoding data. It provides a set of formal rules for describing the structure of objects that are independent of machine-specific encoding techniques and is a precise, formal notation that removes ambiguities.
ASN.1 is a joint ISO and ITU-T standard, originally defined in 1984 as part of CCITT X.409:1984. ASN.1 moved to its own standard, X.208, in 1988 due to its broader applicability. The substantially revised 1995 version is covered by the X.680 standards series.[1]
An adapted subset of ASN.1, Structure of Management Information (SMI), is specified for use in SNMP to define sets of related MIB objects; these sets are termed MIB modules.
The MIB hierarchy can be depicted as a tree with a nameless root, the levels of which are assigned by different organizations. The top-level MIB OIDs belong to different standards organizations, while lower-level object IDs are allocated by associated organizations. This model permits management across all layers of the OSI reference model, extending into applications such as databases, email, and the Java reference model, as MIBs can be defined for all such area-specific information and operations.
A managed object (sometimes called a MIB object or object) is one of any number of specific characteristics of a managed device. Managed objects are made up of one or more object instances, which are essentially variables. An OID uniquely identifies a managed object in the MIB hierarchy.
Two types of managed objects exist:
An example of a managed object is atInput
, which is a scalar object that contains a single object instance, the integer value that indicates the total number of input AppleTalk packets on a router interface.
The first version of the Structure of Management Information (SMIv1) specifies the use of a number of SMI-specific data types, which are divided into two categories: simple data types and application-wide data types.
Three simple data types are defined in the SNMPv1 SMI:
The following application-wide data types exist in the SNMPv1 SMI:
The SNMPv1 SMI defines highly structured tables that are used to group the instances of a tabular object (that is, an object that contains multiple variables). Tables are composed of zero or more rows, which are indexed in a way that allows an SNMP manager to retrieve or alter an entire row with a single Get
, GetNext
, or Set
command.
The second version of the SMI (SMIv2) is described in RFC 2578 and RFC 2579. It enhances and adds to the SMIv1-specific data types, such as including bit strings, network addresses, and counters. Bit strings are defined only in SMIv2 and comprise zero or more named bits that specify a value. Network addresses represent an address from a particular protocol family. Counters are non-negative integers that increase until they reach a maximum value and then return to zero. In SMIv1, a 32-bit counter size is specified. In SMIv2, 32-bit and 64-bit counters are defined.
SMIv2 also specifies information modules, which specify a group of related definitions. Three types of SMI information modules exist: MIB modules, compliance statements, and capability statements.
MIB modules are occasionally updated to add new functionality, remove ambiguities and fix defects. These changes are made in conformance to section 10 of RFC 2578 and section 5 of RFC 2579. An example of a MIB module that has been updated many times is the important set of objects that was originally defined in RFC 1213, also known as "MIB-II". This MIB module has since been split up and can be found in MIB modules such as RFC 4293 "Management Information Base for the Internet Protocol (IP)", RFC 4022 "Management Information Base for the Transmission Control Protocol (TCP)", RFC 4113 "Management Information Base for the User Datagram Protocol (UDP)", RFC 2863 "The Interfaces Group MIB" and RFC 3418 "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)".
Example of MIB for SNMP RFC 3418
└── SNMPv2-MIB(.1.3.6.1.2.1) └── system(.1) ├── sysDescr (.1) ├── sysObjectID (.2) ├── sysUpTime (.3) ├── sysName (.5) ├── sysContact (.4) ├── sysLocation (.6) ├── sysServices (.7) ├── sysORLastChange (.8) └── sysORTable (.9) └── sysOREntry (.1) ├── sysORIndex (.1) ├── sysORID (.2) ├── sysORDescr (.3) └── sysORUpTime (.4)
To call the value of sysName one would use:
# snmpwalk 10.32.13.36 -v2c -c public sysName SNMPv2-MIB::sysName.0 = STRING: SOME_HOSTNAME
# snmpwalk 10.32.13.36 -v2c -c public .1.3.6.1.2.1.1.5 SNMPv2-MIB::sysName.0 = STRING: SOME_HOSTNAME
# snmpwalk 10.32.13.36 -v2c -c public .1.3.6.1.2.1.1.5.0 SNMPv2-MIB::sysName.0 = STRING: SOME_HOSTNAME
There are a large number of MIBs defined by standards organizations like the IETF, private enterprises and other entities.
There are 318 RFCs in the first 5000 RFCs from the IETF that contain MIBs. This list is a mere fraction of the MIBs that have been written:
The IETF and IEEE have agreed to move MIBs relating to IEEE work (for example Ethernet and bridging) to their respective IEEE workgroup. This is in process and a few items are complete.
Original source: https://en.wikipedia.org/wiki/Management information base.
Read more |