Management Information Base for network management of TCP/IP-based internets: MIB-II
obsoleted by
- rfc-1213 — Management Information Base for Network Management of TCP/IP-based internets: MIB-II
Extracted elements (26)
The Address Translation group's atTable is deprecated because it assumes a single network protocol environment and one-directional (network-to-physical) mappings. Multi-protocol nodes and inverse mappings (required by ES-IS) invalidate those assumptions. MIB-II moves address translation into each protocol group (e.g., ipNetToMediaTable for IP).
The MIB object list was intentionally minimal: objects were excluded if not essential, if their definition was unclear, or if they required vendor- or OS-specific knowledge (e.g., BSD UNIX routing table variables). The general guideline was one counter per critical section per layer to avoid heavily instrumenting critical code paths.
DisplayString (DisplayString ::= OCTET STRING) is introduced as a textual convention restricted to NVT ASCII (RFC 854 pages 10-11). sysDescr and ifDescr are redefined in terms of DisplayString; this change has no effect on syntax or BER encoding but clarifies that these fields must contain only printable ASCII.
MIB-II is entirely upward-compatible with MIB-I (RFC 1156). Deprecated objects—atTable and the entire Address Translation group—carry mandatory status and must still be supported by MIB-II agents; they will likely be excluded from MIB-III. Management stations must be prepared to receive rows for entries marked invalid or not currently in use.
If the semantics of a group are applicable to an implementation, then it must implement all objects in that group. For example, an implementation must implement the EGP group if and only if it implements EGP.
Implementation of the Interfaces group is mandatory for all systems. The ifIndex value for each interface must remain constant at least from one re-initialization of the entity's network management system to the next.
Implementation of the IP group is mandatory for all systems. ipForwarding is read-write (changed from MIB-I read-only), allowing a management station to configure whether a node acts as an IP gateway.
Implementation of the System group is mandatory for all systems. All seven objects (sysDescr, sysObjectID, sysUpTime, sysContact, sysName, sysLocation, sysServices) carry mandatory status.
ifType is an INTEGER enumeration with 28 values identifying the physical/link protocol immediately below the network layer. MIB-II adds six values over MIB-I: ppp(23), softwareLoopback(24), eon(25), ethernet-3Mbit(26), nsip(27), and slip(28).
ipAddrTable (IpAddrEntry) adds ipAdEntReasmMaxSize (INTEGER 0..65535) in MIB-II, recording the largest IP datagram that can be reassembled from fragments received on a particular interface. The table also carries ipAdEntAddr, ipAdEntIfIndex, ipAdEntNetMask, and ipAdEntBcastAddr.
ipNetToMediaTable replaces the deprecated atTable for IP, providing IpAddress-to-physical-address mapping per interface. Each ipNetToMediaEntry contains ipNetToMediaIfIndex, ipNetToMediaPhysAddress (OCTET STRING), ipNetToMediaNetAddress (IpAddress), and ipNetToMediaType (other/invalid/dynamic/static).
ipRouteProto enumerates the routing mechanism by which a route was learned: local(2), netmgmt(3), icmp(4), egp(5), ggp(6), hello(7), rip(8), is-is(9), es-is(10), ciscoIgrp(11), bbnSpfIgp(12), ospf(13), bgp(14). Setting ipRouteType to invalid(2) logically removes a route entry.
ipRoutingTable (ipRouteEntry) includes ipRouteMask (IpAddress, new in MIB-II), the mask to be ANDed with a destination address before route comparison. Agents without arbitrary subnet mask support must derive the mask from the address class (255.0.0.0 for class-A, 255.255.0.0 for class-B, 255.255.255.0 for class-C).
MIB-II defines ten managed object groups under mib-2 ::= { mgmt 1 }: system(1), interfaces(2), at/address-translation(3, deprecated), ip(4), icmp(5), tcp(6), udp(7), egp(8), transmission(10), and snmp(11). The cmot slot (9) is reserved but unused.
sysServices is an INTEGER (0..127) bitmask where bit L-1 is set if the entity performs transactions at OSI layer L: physical=1, datalink=2, internet=4, end-to-end=8, applications=64. A host offering application services has value 72 (2^3 + 2^6).
The EGP group adds egpAs (autonomous system number associated with this EGP entity) and several new columns to egpNeighTable in MIB-II. egpAs is new; its value is the local AS number needed for EGP monitoring.
The ICMP group provides 26 mandatory read-only Counter objects covering all ICMP message types in both directions: icmpInMsgs/icmpOutMsgs (totals), per-type counters for Destination Unreachable, Time Exceeded, Parameter Problem, Source Quench, Redirect, Echo/EchoReply, Timestamp/TimestampReply, and AddressMask Request/Reply.
The ifTable (IfEntry) contains 22 per-interface columns: ifIndex, ifDescr, ifType, ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, ifOperStatus, ifLastChange, eight traffic counters (ifIn/OutOctets, ifIn/OutUcastPkts, ifIn/OutNUcastPkts, ifIn/OutDiscards, ifIn/OutErrors), ifOutQLen, and ifSpecific (OID pointer to media-specific MIB). The ifSpecific column is new in MIB-II.
The SNMP group (snmp ::= { mib-2 11 }) is new in MIB-II and provides statistical counters for SNMP agent operation, including PDU send/receive counts, error rates, and community-related statistics useful for managing SNMP itself.
The TCP group adds tcpInErrs (incoming TCP segments received in error) and tcpOutRsts (TCP resets sent) in MIB-II. The tcpConnTable provides per-connection entries with state, local address/port, and remote address/port.
The Transmission group (transmission ::= { mib-2 10 }) is an OID namespace for media-specific MIB definitions. By convention, each media type is assigned sub-identifier matching its ifType integer value: type OBJECT IDENTIFIER ::= { transmission number }. Definitions reside under experimental until standardized.
The UDP group adds udpTable (udpListener table) in MIB-II, listing local address and local port for each UDP endpoint at which the entity is receiving datagrams.
MIB-II assigns OBJECT IDENTIFIERs for ten groups under mib-2 ::= { mgmt 1 }: system(1), interfaces(2), at(3), ip(4), icmp(5), tcp(6), udp(7), egp(8), transmission(10), snmp(11). The transmission subtree further serves as a delegated namespace for standardized media-type MIB documents.
MIB-II security relies entirely on the SNMP community string model (RFC 1157), which provides trivial authentication and no confidentiality. Writable objects including ipForwarding and ipRoutingTable entries can be modified by any entity presenting a valid community string, posing risks such as unauthorized routing changes on managed gateways.
ifAdminStatus (desired state, read-write) and ifOperStatus (current operational state, read-only) each take values up(1), down(2), or testing(3). The testing state indicates no operational packets can be passed. ifLastChange records the sysUpTime at which ifOperStatus last changed.
All MIB-II objects are described in ASN.1 and encoded on the wire using the Basic Encoding Rules (BER) of ASN.1, subject to additional constraints imposed by SNMP (RFC 1157). Object type syntax must resolve to instances of ObjectSyntax defined in the SMI (RFC 1155); the SMI restricts the ASN.1 constructs that may be used.