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
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior. Devices that typically su ...
(SNMP), the term is also used more generically in contexts such as in
OSI/
ISO
The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries.
Me ...
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)" . 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
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
documentation
RFCs discuss MIBs, notably , "Structure and Identification of Management Information for
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
based internets", and its two companions, , "Management Information Base for Network Management of TCP/IP-based internets", and , "A Simple Network Management Protocol".
ASN.1
Abstract Syntax Notation One (ASN.1) is a standard and flexible notation that describes
data structure
In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ...
s 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
The International Telecommunication Union Telecommunication Standardization Sector (ITU-T) is one of the three Sectors (branches) of the International Telecommunication Union (ITU). It is responsible for coordinating Standardization, standards fo ...
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.
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.
MIB hierarchy
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
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
s,
email
Electronic mail (usually shortened to email; alternatively hyphenated e-mail) is a method of transmitting and receiving Digital media, digital messages using electronics, electronic devices over a computer network. It was conceived in the ...
, 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:
*Scalar objects define a single object instance.
*Tabular objects define multiple related object instances that are grouped in MIB tables.
An example of a managed object is ''
atInput
'', which is a scalar object that contains a single object instance, the
integer
An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
value that indicates the total number of input
AppleTalk packets on a router
interface.
SNMPv1 and SMI-specific data types
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.
Simple data types
Three simple data types are defined in the SNMPv1 SMI:
* The ''integer'' data type is a signed integer in the range of −2
31 to 2
31−1.
* ''Octet strings'' are ordered sequences of 0 to 65,535 octets.
* ''Object IDs'' represent object identifiers that are allocated according to the rules specified in ASN.1.
Application-wide data types
The following application-wide data types exist in the SNMPv1 SMI:
*''Network addresses'' represent addresses from a particular protocol family. SMIv1 supports only 32-bit (IPv4) addresses. SMIv2 uses Octet Strings to represent addresses generically, and thus are usable in SMIv1 too. SMIv1 had an explicit IPv4 address datatype.
*''Counters'' are non-negative integers that increase until they reach a maximum value and then roll over to zero. SNMPv1 specifies a counter size of 32 bits.
*''Gauges'' are non-negative integers that can increase or decrease between specified minimum and maximum values. Whenever the system property represented by the gauge is outside of that range, the value of the gauge itself will vary no further than the respective maximum or minimum, as specified in .
*''Time ticks'' represent time since some event, measured in hundredths of a second.
*''Opaques'' represent an arbitrary encoding that is used to pass arbitrary information strings that do not conform to the strict data typing used by the SMI.
*''Integers'' represent signed integer-valued information. This data type redefines the integer data type, which has arbitrary precision in ASN.1 but bounded precision in the SMI.
*''Unsigned integers'' represent unsigned integer-valued information, which is useful when values are always non-negative. This data type redefines the integer data type, which has arbitrary precision in ASN.1 but bounded precision in the SMI.
SNMPv1 MIB tables
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.
SMIv2
The second version of the SMI (SMIv2) is described in and . 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 contain definitions of interrelated managed objects.
* Compliance statements provide a systematic way to describe a group of managed objects that must be implemented for conformance to a standard.
* Capability statements are used to indicate the precise level of support that an agent claims with respect to a MIB group. An NMS can adjust its behavior toward agents according to the capabilities statements associated with each agent.
Updating MIB modules
MIB modules are occasionally updated to add new functionality, remove ambiguities and fix defects. These changes are made in conformance to section 10 of and section 5 of . An example of a MIB module that has been updated many times is the important set of objects that was originally defined in , also known as "MIB-II". This MIB module has since been split up and can be found in MIB modules such as "Management Information Base for the Internet Protocol (IP)", "Management Information Base for the
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP)", "Management Information Base for the User Datagram Protocol (UDP)", "The Interfaces Group MIB" and "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)".
Example
Example of MIB for SNMP
└── 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
: or
# snmpwalk 10.32.13.36 -v2c -c public .1.3.6.1.2.1.1.5
SNMPv2-MIB::sysName.0 = STRING: SOME_HOSTNAME
: or
# snmpwalk 10.32.13.36 -v2c -c public .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: SOME_HOSTNAME
Index
There are a large number of MIBs defined by standards organizations like the
IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
, private enterprises and other entities.
IETF maintained
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:
*SNMP - SMI: — Defines the Structure of Management Information (SMI)
*MIB-I: — Historically used with
CMOT, not to be used with
SNMP
*SNMPv2-SMI: — Structure of Management Information Version 2 (
SMIv2)
*MIB-II: — Management Information Base for Network Management of TCP/IP-based internets
*SNMPv2-MIB: — Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)
*TCP-MIB: — Management Information Base for the Transmission Control Protocol (TCP)
*UDP-MIB: — Management Information Base for the User Datagram Protocol (UDP)
*IP-MIB: — Management Information Base for the Internet Protocol (IP)
*IF-MIB: — The Interfaces Group MIB
*ENTITY-MIB: — Entity MIB (Version 3)
*ENTITY-STATE-MIB: — Entity State MIB
*ALARM-MIB: — Alarm Management Information Base (MIB)
*
Fibre Channel
Fibre Channel (FC) is a high-speed data transfer protocol providing in-order, lossless delivery of raw block data. Fibre Channel is primarily used to connect computer data storage to Server (computing), servers in storage area networks (SAN) in ...
**FC-MGMT-MIB:
Fibre Channel
Fibre Channel (FC) is a high-speed data transfer protocol providing in-order, lossless delivery of raw block data. Fibre Channel is primarily used to connect computer data storage to Server (computing), servers in storage area networks (SAN) in ...
Management MIB
**FIBRE-CHANNEL-FE-MIB: Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard
*HPR-IP-MIB: — Definitions of Managed Objects for APPN/HPR in IP Networks
IEEE maintained
The IETF and
IEEE
The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) organization, 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines.
The 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.
*
Network bridge
A network bridge is a computer networking device that creates a single, aggregate network from multiple communication networks or network segments. This function is called network bridging. Bridging is distinct from routing. Routing allows mu ...
** IEEE 802.1ap-2008
consolidated the IEEE and IETF RFCs related to bridging networks into eight related MIBs.
Management Information Base (MIB) Modules / IEEE 802.1
References
External links
ByteSphere's MIB Database a free online MIB repository for thousands of SNMP MIBs.
SimpleWeb MIBs
* .
* .
ipMonitor's SNMP Center
MIB Depot{{Webarchive, url=https://web.archive.org/web/20081223052515/http://www.mibdepot.com/ , date=2008-12-23 — extensive list of MIBs
PEN (Private Enterprise Number) registryPEN request authority
MIB browsers
SnmpB: A graphical open source MIB browserfor Windows, OSX and Linux.
mbrowse: A graphical SNMP MIB browser for Linux based upon GTK+ and Net-SNMP.
BlackOwl MIB Browser: A graphical MIB browser for Windows and Linuxwhich can extract MIBs from RFCs and display graphs.
SMI-Mib Browser: A graphical MIB browser(as of 2010-05-18, this project is no longer under active development).
MBJ: A graphical MIB browser, written in JavaJMibBrowser: A graphical MIB browser, written in Java It can send SNMP requests and dynamically load MIB data.
JManager: An open-source SNMP manager, written in Java Capable of importing MIBs, support for IPv6.
qtmib: An open source graphical MIB browserwritten in C++. It is built as a front-end for
Net-SNMP.
iReasoning MIB Browser: A graphical MIB browser, written in Java Load MIB files and issue SNMP requests, available on Windows, OS X and Linux.
tkmib: A graphical MIB browser, using Tk/perl Included with Net-SNMP.
Network management