Network Working Group A. Bierman
Request for Comments: 4133 K. McCloghrie
Obsoletes: 2737 Cisco Systems, Inc.
Category: Standards Track August 2005 Entity MIB (Version 3)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (2005).
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community.
In particular, it describes managed objects used for managing
multiple logical and physical entities managed by a single SNMP
agent. This document specifies version 3 of the Entity MIB, which
obsoletes version 2 (RFC 2737).
1. The SNMP Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. MIB objects are generally
accessed through the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined using the mechanisms defined in the
Structure of Management Information (SMI). This memo specifies a MIB
module that is compliant to the SMIv2, which is described in STD 58,
RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
There is a need for a standardized way of representing a single
agent, which supports multiple instances of one MIB. This is
presently true for at least 3 standard MIBs, and is likely to become
true for more and more MIBs as time passes. For example:
- multiple instances of a bridge supported within a single device
that has a single agent;
- multiple repeaters supported by a single agent;
- multiple OSPF backbone areas, each operating as part of its own
Autonomous System, and each identified by the same area-id (e.g.,
0.0.0.0), supported inside a single router with one agent.
The single agent present in each of these cases implies a
relationship binds these entities. Effectively, there is some
"overall" physical entity which houses the sum of the things managed
by that one agent, i.e., there are multiple "logical" entities within
a single physical entity. Sometimes, the overall physical entity
contains multiple (smaller) physical entities, and each logical
entity is associated with a particular physical entity. Sometimes,
the overall physical entity is a "compound" of multiple physical
entities (e.g., a stack of stackable hubs).
What is needed is a way to determine exactly which logical entities
are managed by the agent (with some version of SNMP) in order to
communicate with the agent about a particular logical entity. When
different logical entities are associated with different physical
entities within the overall physical entity, it is also useful to be
able to use this information to distinguish between logical entities.
In these situations, there is no need for varbinds for multiple
logical entities to be referenced in the same SNMP message (although
that might be useful in the future). Rather, it is sufficient, and
in some situations preferable, to have the context/community in the
message identify the logical entity to which the varbinds apply.
Version 2 of this MIB addresses new requirements, which have emerged
since the publication of the first Entity MIB (RFC 2037 [RFC2037]).
There is a need for a standardized way of providing non-volatile,
administratively-assigned identifiers for physical components
represented with the Entity MIB. There is also a need to align the
Entity MIB with the SNMPv3 administrative framework (STD 62, RFC 3411
[RFC3411]). Implementation experience has shown that additional
physical component attributes are also desirable.
Version 3 of this MIB addresses new requirements, which have emerged
since the publication of the second Entity MIB (RFC 2737 [RFC2737]).
There is a need to identify physical entities that are central
processing units (CPUs) and a need to provide a textual convention
that identifies an entPhysicalIndex value or zero, where the value
zero has application-specific semantics. Two new objects have been
added to the entPhysicalTable to identify the manufacturing date and
provide additional URIs for a particular physical entity.
Some new terms are used throughout this document:
- Naming Scope
A "naming scope" represents the set of information that may be
potentially accessed through a single SNMP operation. All
instances within the naming scope share the same unique identifier
space. For SNMPv1, a naming scope is identified by the value of
the associated 'entLogicalCommunity' instance. For SNMPv3, the
term 'context' is used instead of 'naming scope'. The complete
definition of an SNMP context can be found in section 3.3.1 of RFC
- Multi-Scoped Object
A MIB object, for which identical instance values identify
different managed information in different naming scopes, is called
a "multi-scoped" MIB object.
- Single-Scoped Object
A MIB object, for which identical instance values identify the same
managed information in different naming scopes, is called a
"single-scoped" MIB object.
- Logical Entity
A managed system contains one or more logical entities, each
represented by at most one instantiation of each of a particular
set of MIB objects. A set of management functions is associated
with each logical entity. Examples of logical entities include
routers, bridges, print-servers, etc.
- Physical Entity
A "physical entity" or "physical component" represents an
identifiable physical resource within a managed system. Zero or
more logical entities may utilize a physical resource at any given
time. Determining which physical components are represented by an
agent in the EntPhysicalTable is an implementation-specific matter.
Typically, physical resources (e.g., communications ports,
backplanes, sensors, daughter-cards, power supplies, the overall
chassis), which can be managed via functions associated with one or
more logical entities, are included in the MIB.
- Containment Tree
Each physical component may be modeled as 'contained' within
another physical component. A "containment-tree" is the conceptual
sequence of entPhysicalIndex values that uniquely specifies the
exact physical location of a physical component within the managed
system. It is generated by 'following and recording' each
'entPhysicalContainedIn' instance 'up the tree towards the root',
until a value of zero indicating no further containment is found.
2.2. Relationship to Community Strings
For community-based SNMP, differentiating logical entities is one
(but not the only) purpose of the community string (RFC 1157
[RFC1157]). This is accommodated by representing each community
string as a logical entity.
Note that different logical entities may share the same naming scope
and, therefore, the same values of entLogicalCommunity. This is
possible, providing they have no need for the same instance of a MIB
object to represent different managed information.
2.3. Relationship to SNMP Contexts
Version 2 of the Entity MIB contains support for associating SNMPv3
contexts with logical entities. Two new MIB objects, defining an
SnmpEngineID and ContextName pair, are used together to identify an
SNMP context associated with a logical entity. This context can be
used (in conjunction with the entLogicalTAddress and
entLogicalTDomain MIB objects) to send SNMPv3 messages on behalf of a
particular logical entity.
2.4. Relationship to Proxy Mechanisms
The Entity MIB is designed to allow functional component discovery.
The administrative relationships between different logical entities
are not visible in any Entity MIB tables. A Network Management
System (NMS) cannot determine whether MIB instances in different
naming scopes are realized locally or remotely (e.g., via some proxy
mechanism) by examining any particular Entity MIB objects.
The management of administrative framework functions is not an
explicit goal of the Entity MIB WG at this time. This new area of
functionality may be revisited after some operational experience with
the Entity MIB is gained.
Note that for community-based versions of SNMP, a network
administrator will likely be able to associate community strings with
naming scopes that have proprietary mechanisms, as a matter of
configuration. There are no mechanisms for managing naming scopes
defined in this MIB.
2.5. Relationship to a Chassis MIB
Some readers may recall that a previous IETF working group attempted
to define a Chassis MIB. No consensus was reached by that working
group, possibly because its scope was too broad. As such, it is not
the purpose of this MIB to be a "Chassis MIB replacement", nor is it
within the scope of this MIB to contain all the information which
might be necessary to manage a "chassis". On the other hand, the
entities represented by an implementation of this MIB might well be
contained in a chassis.
2.6. Relationship to the Interfaces MIB
The Entity MIB contains a mapping table identifying physical
components that have 'external values' (e.g., ifIndex) associated
with them within a given naming scope. This table can be used to
identify the physical location of each interface in the ifTable (RFC
2863 [RFC2863]). Because ifIndex values in different contexts are
not related to one another, the interface to physical component
associations are relative to the same logical entity within the
The Entity MIB also contains 'entPhysicalName' and 'entPhysicalAlias'
objects, which approximate the semantics of the 'ifName' and
'ifAlias' objects (respectively) from the Interfaces MIB [RFC2863],
for all types of physical components.
2.7. Relationship to the Other MIBs
The Entity MIB contains a mapping table identifying physical
components that have identifiers from other standard MIBs associated
with them. For example, this table can be used along with the
physical mapping table to identify the physical location of each
repeater port in the rptrPortTable, or each interface in the ifTable.
2.8. Relationship to Naming Scopes
There is some question as to which MIB objects may be returned within
a given naming scope. MIB objects which are not multi-scoped within
a managed system are likely to ignore context information in
implementation. In such a case, it is likely such objects will be
returned in all naming scopes (e.g., not just the 'default' naming
scope or the SNMPv3 default context).
For example, a community string used to access the management
information for logical device 'bridge2' may allow access to all the
non-bridge related objects in the 'default' naming scope, as well as
a second instance of the Bridge MIB (RFC 1493 [RFC1493]).
The isolation of single-scoped MIB objects by the agent is an
implementation-specific matter. An agent may wish to limit the
objects returned in a particular naming scope to only the multi-
scoped objects in that naming scope (e.g., system group and the
Bridge MIB). In this case, all single-scoped management information
would belong to a common naming scope (e.g., 'default'), which itself
may contain some multi-scoped objects (e.g., system group).
2.9. Multiple Instances of the Entity MIB
It is possible that more than one agent may exist in a managed
system. In such cases, multiple instances of the Entity MIB
(representing the same managed objects) may be available to an NMS.
In order to reduce complexity for agent implementation, multiple
instances of the Entity MIB are not required to be equivalent or even
consistent. An NMS may be able to 'align' instances returned by
different agents by examining the columns of each table, but vendor-
specific identifiers and (especially) index values are likely to be
different. Each agent may be managing different subsets of the
entire chassis as well.
When all of a physically-modular device is represented by a single
agent, the entry (for which entPhysicalContainedIn has the value
zero) would likely have 'chassis' as the value of its
entPhysicalClass. Alternatively, for an agent on a module where the
agent represents only the physical entities on that module (not those
on other modules), the entry (for which entPhysicalContainedIn has
the value zero) would likely have 'module' as the value of its
An agent implementation of the entLogicalTable is not required to
contain information about logical entities managed primarily by other
agents. That is, the entLogicalTAddress and entLogicalTDomain
objects in the entLogicalTable are provided to support an historical
multiplexing mechanism, not to identify other SNMP agents.
Note that the Entity MIB is a single-scoped MIB, in the event an
agent represents the MIB in different naming scopes.
2.10. Re-Configuration of Entities
Most of the MIB objects defined in this MIB have, at most, a read-
only MAX-ACCESS clause. This is a conscious decision by the working
group to limit this MIB's scope. The second version of the Entity
MIB allows a network administrator to configure some common
attributes of physical components.
2.11. Textual Convention Change
Version 1 of the Entity MIB contains three MIB objects defined with
the (now obsolete) DisplayString textual convention. In version 2 of
the Entity MIB, the syntax for these objects has been updated to use
the (now preferred) SnmpAdminString textual convention.
The working group realizes that this change is not strictly supported
by SMIv2. In our judgment, the alternative of deprecating the old
objects and defining new objects would have a more adverse impact on
backward compatibility and interoperability, given the particular
semantics of these objects.
2.12. MIB Structure
The Entity MIB contains five groups of MIB objects:
- entityPhysical group
Describes the physical entities managed by a single agent.
- entityLogical group
Describes the logical entities managed by a single agent.
- entityMapping group
Describes the associations between the physical entities, logical
entities, interfaces, and non-interface ports managed by a single
- entityGeneral group
Describes general system attributes shared by potentially all types
of entities managed by a single agent.
- entityNotifications group
Contains status indication notifications.
2.12.1. entityPhysical Group
This group contains a single table to identify physical system
components, called the entPhysicalTable.
The entPhysicalTable contains one row per physical entity, and must
always contain at least one row for an "overall" physical entity,
which should have an entPhysicalClass value of 'stack(11)',
'chassis(3)' or 'module(9)'.
Each row is indexed by an arbitrary, small integer, and contains a
description and type of the physical entity. It also optionally
contains the index number of another entPhysicalEntry, indicating a
containment relationship between the two.
Version 2 of the Entity MIB provides additional MIB objects for each
physical entity. Some common read-only attributes have been added,
as well as three writable string objects.
This string can be used by an NMS as a non-volatile identifier for
the physical component. Maintaining a non-volatile string for
every physical component represented in the entPhysicalTable can be
costly and unnecessary. An agent may algorithmically generate
'entPhysicalAlias' strings for particular entries (e.g., based on
the entPhysicalClass value).
This string is provided to store a user-specific asset identifier
for removable physical components. In order to reduce the non-
volatile storage needed by a particular agent, a network
administrator should only assign asset identifiers to physical
entities that are field-replaceable (i.e., not permanently
contained within another physical entity).
This string is provided to store a vendor-specific serial number
string for physical components. This writable object is used when
an agent cannot identify the serial numbers of all installed
physical entities, and a network administrator wishes to configure
the non-volatile serial number strings manually (via an NMS
Version 3 of the Entity MIB provides two additional MIB objects for
each physical entity:
This object contains the date of manufacturing of the managed
entity. If the manufacturing date is unknown or not supported the
object is not instantiated. The special value '0000000000000000'H
may also be returned in this case.
This object provides additional identification information about
the physical entity.
This object contains one or more Uniform Resource Identifiers
(URIs) and, therefore, the syntax of this object must conform to
RFC 3986 [RFC3986] section 2. Uniform Resource Names (URNs), RFC
3406 [RFC3406], are resource identifiers with the specific
requirements for enabling location independent identification of a
resource, as well as longevity of reference. URNs are part of the
larger URI family with the specific goal of providing persistent
naming of resources. URI schemes and URN name spaces are
registered by IANA (see http://www.iana.org/assignments/uri-schemes
For example, the entPhysicalUris object may be used to encode a URI
containing a Common Language Equipment Identifier (CLEI) URN for
the managed physical entity. The URN name space for CLEIs is
defined in [RFC4152], and the CLEI format is defined in
[T1.213][T1.213a]. For example, an entPhysicalUris instance may
have the value of
[RFC3986] and [RFC4152] identify this as a URI in the CLEI URN name
space. The specific CLEI code, D4CE18B7AA, is based on the example
provided in [T1.213a].
Multiple URIs may be present and are separated by white space
characters. Leading and trailing white space characters are
If no additional identification information is known about the
physical entity or supported, the object is not instantiated.
2.12.2. entityLogical Group
This group contains a single table to identify logical entities,
called the entLogicalTable.
The entLogicalTable contains one row per logical entity. Each row is
indexed by an arbitrary, small integer and contains a name,
description, and type of the logical entity. It also contains
information to allow access to the MIB information for the logical
entity. This includes SNMP versions that use a community name (with
some form of implied context representation) and SNMP versions that
use the SNMP ARCH [RFC3411] method of context identification.
If an agent represents multiple logical entities with this MIB, then
this group must be implemented for all logical entities known to the
If an agent represents a single logical entity, or multiple logical
entities within a single naming scope, then implementation of this
group may be omitted by the agent.
2.12.3. entityMapping Group
This group contains three tables to identify associations between
different system components.
This table contains mappings between entLogicalIndex values
(logical entities) and entPhysicalIndex values (the physical
components supporting that entity). A logical entity can map to
more than one physical component, and more than one logical entity
can map to (share) the same physical component. If an agent
represents a single logical entity, or multiple logical entities
within a single naming scope, then implementation of this table may
be omitted by the agent.
This table contains mappings between entLogicalIndex,
entPhysicalIndex pairs, and 'alias' object identifier values. This
allows resources managed with other MIBs (e.g., repeater ports,
bridge ports, physical and logical interfaces) to be identified in
the physical entity hierarchy. Note that each alias identifier is
only relevant in a particular naming scope. If an agent represents
a single logical entity, or multiple logical entities within a
single naming scope, then implementation of this table may be
omitted by the agent.
This table contains simple mappings between
'entPhysicalContainedIn' values for each container/'containee'
relationship in the managed system. The indexing of this table
allows an NMS to quickly discover the 'entPhysicalIndex' values for
all children of a given physical entity.
2.12.4. entityGeneral Group
This group contains general information relating to the other object
At this time, the entGeneral group contains a single scalar object
(entLastChangeTime), which represents the value of sysUptime when any
part of the Entity MIB configuration last changed.
2.12.5. entityNotifications Group
This group contains notification definitions relating to the overall
status of the Entity MIB instantiation.
2.13. Multiple Agents
Even though a primary motivation for this MIB is to represent the
multiple logical entities supported by a single agent, another
motivation is to represent multiple logical entities supported by
multiple agents (in the same "overall" physical entity). Indeed, it
is implicit in the SNMP architecture that the number of agents is
transparent to a network management station.
However, there is no agreement at this time as to the degree of
cooperation that should be expected for agent implementations.
Therefore, multiple agents within the same managed system are free to
implement the Entity MIB independently. (For more information, refer
to Section 2.9, "Multiple Instances of the Entity MIB".)
2.14. Changes Since RFC 2037
2.14.1. Textual Conventions
The PhysicalClass TC text has been clarified, and a new enumeration
to support 'stackable' components has been added. The
SnmpEngineIdOrNone TC has been added to support SNMPv3.
2.14.2. New entPhysicalTable Objects
The entPhysicalHardwareRev, entPhysicalFirmwareRev, and
entPhysicalSoftwareRev objects have been added for revision
The entPhysicalSerialNum, entPhysicalMfgName, entPhysicalModelName,
and entPhysicalIsFru objects have been added for better vendor
identification for physical components. In the event the agent
cannot identify this information, the entPhysicalSerialNum object can
be set by a management station.
The entPhysicalAlias and entPhysicalAssetID objects have been added
for better user component identification. These objects are intended
to be set by a management station and preserved by the agent across
2.14.3. New entLogicalTable Objects
The entLogicalContextEngineID and entLogicalContextName objects have
been added to provide an SNMP context for SNMPv3 access on behalf of
a logical entity.
2.14.4. Bug Fixes
A bug was fixed in the entLogicalCommunity object. The subrange was
incorrect (1..255) and is now (0..255). The description clause has
also been clarified. This object is now deprecated.
The entLastChangeTime object description has been changed to
generalize the events that cause an update to the last change
The syntax was changed from DisplayString to SnmpAdminString for the
entPhysicalDescr, entPhysicalName, and entLogicalDescr objects.
2.15. Changes Since RFC 2737
2.15.1. Textual Conventions
The PhysicalIndexOrZero TC has been added to allow objects to
reference an entPhysicalIndex value or zero. The PhysicalClass TC
has been extended to support a new enumeration for central processing
2.15.2. New Objects
The entPhysicalMfgDate object has been added to the entPhysicalTable
to provide the date of manufacturing of the managed entity.
The entPhysicalUris object has been added to the entPhysicalTable to
provide additional identification information about the physical
entity, such as a Common Language Equipment Identifier (CLEI) URN.
2.15.3. Bug Fixes
The syntax was changed from INTEGER to Integer32 for the
entPhysicalParentRelPos, entLogicalIndex, and
entAliasLogicalIndexOrZero objects, and from INTEGER to
PhysicalIndexOrZero for the entPhysicalContainedIn object.