home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_s_z
/
draft-tackabury-neo-mib-00.txt
< prev
next >
Wrap
Text File
|
1997-01-20
|
78KB
|
1,709 lines
Physical Topology (ptopo) Working Group Wayne F. Tackabury
Internet-Draft Netsuite Development
Expires in six months January 24, 1997
Network Element Object MIB (Neo-MIB)
<draft-tackabury-neo-mib-00.txt>
1. Status of this Memo
This document is a submission to the IETF Physical Toplogy (ptopo) Working
Group. Comments are solicited and should be addressed to the working group
mailing list (ptopo@3com.com) or to the author.
This document in an Internet Draft. Internet Drafts are working documents of
the Internet Engineering Task Force (IETF), its areas, and its working groups.
Note that other working groups may also distribute their working documents as
Internet Drafts.
Internet Draft documents are valid for a maximum of six months, and may be
updated, replaced, or obsoleted by other documents at any time. It is
inappropriate to use Internet Drafts as reference material or to cite them as
other than "work-in-progress".
To learn the current status of any Internet Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast). Distribution of this memo is unlimited.
Table of Contents
1. Status of this Memo 1
2. Abstract 2
3. Introduction 3
3.1 The SNMP Management Framework 3
3.2 The Neo-MIB 3
4. Background and Concepts 4
4.1 Agent Model Types 4
4.2 Segments 5
4.3 Connection Points 5
5. Requirements 5
5.1 Relationship to other MIBs 5
5.2 Support of Navigability 6
5.3 Extensibility between System and Service Agents 6
6. MIB Structure 6
6.1 Agent-level Data 6
6.2 ElementObject table 7
6.3 Segment table 7
6.4 Connection Points 7
6.4.1 Interfaces 8
6.4.2 Connection Nexuses 9
Tackabury [Page 1]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
6.4.3 Connections 9
6.5 Host table 9
6.6 Adapter table 10
7. Network Element Object MIB (neoMIB) 11
8. Security Considerations 27
9. Open Issues 27
10. Acknowledgements 28
11. Bibliography 28
12. Author's Address 28
2. Abstract
This memo defines an experimental portion of the scope of the Management
Information Base (MIB) for use with Internet community network management
protocols. The particular focus of this MIB scope extension is the
presentation and management of objects for network topology information.
Constructs and encodings for these topology objects has been specified in a
manner consistent with the dictates of the SNMP Version 2 SMI.
3. Introduction
3.1 The SNMP Management Framework
The network managment framework of the Internet community is the Simple
Network Management Protocol Version 2. Information for transfer through the
SNMP [2] concern managed objects. These managed objects are accessed through
a virtual information store, referred to as a Management Information Base
(MIB). Managed objects in this MIB are encoded using a subset of ASN.1,
identified in the SNMPv2 Structure of Managed Information [1], or SMI. Each
such object type and its attributes are defined using an OBJECT-IDENTIFIER
macro, as defined in the SMI. Each such managed object type is placed within
the administrative scope of a subset of the ASN.1-encoded hierarchy defined
within the SMI. An object type's OBJECT-IDENTIFIER macro definition
references that placement. The OBJECT-IDENTIER macro for an object type also
supplies a name associated with the object type. For purposes of symbolic and
linguistic reference, this name is used to reference the object type
notationally.
An SNMP MIB agent is a process which provides access to instances of MIB
object types by linking the object type data with its instance value. SNMP
protocol operations are used to associate different access types varying in
access level and granularity with the instance data provided in the protocol
data units (PDU's) embodying those protocol operations.
3.2 The Neo-MIB
The Network Element Object MIB (NeoMIB) is a portion of the SNMP MIB which
defines an organization of objects acting as members of a connected network
topology, and provides a means for an agent implementing the NeoMIB to
represent data about such topological member elements.
Tackabury [Page 2]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
The MIB serves only as a means to express the relationships and internal and
external attributes of those data, and not to define or constrain means of
collecting this relationship and attribute data.
It is also important to note that the NeoMIB, unlike other MIBs commonly
deployed throughout the Internet community, concerns itself with management of
topology and not with the management of manageable elements of that topology.
There is no direct operational linkage between the NeoMIB and management
capabilities (or constraints thereupon) of the agents, or their managed
elements, unlike the operational access provided by, for example, the
Interfaces MIB [4], or the writable object types of MIB-II [5]. This provides
an important limitation in the exposure to operational security considerations
a NeoMIB agent would otherwise pose.
4. Background and Concepts
The NeoMIB refers to a number of concepts and constructs which should be
defined at the outset, to differentiate the usage of names associated with
them from their, in some cases subtly, different usage in other MIBs and
Internet documents.
4.1 Agent Model Types
A variety of MIBs and elemental organization schemes underlying them have been
proposed out of the current work of the IETF ptopo Working Group. One of the
key differentiators has been the presumptions of the role of the agent in the
way the MIB is deployed. We will use the term Topology MIB to generically
describe a type of MIB to manage topology data (of which, of course, the
NeoMIB is one).
A Topology MIB which assumes a System Agent model for its agent implementation
plays the role of a conventional MIB agent without proxy scope or capability.
It represents only those elements which are nodally local to the agent
process. To present an interconnected topology, a management application
would have to query across some interconnected scope for presence of
individual agents, and do a set of SNMP retrieval operations on each to
collect the local topology data for each agent node. The management
application must then, presumably with some connection context information
present in the MIB data available from each agent, assemble a collected view
of the topology on each. A clear benefit here in the interests of simplified
agent implementation is the lack of any requirement for an explicit external
(relative to the agent chassis) discovery protocol (although one could
conceive of the usability for one in such an agent model, and in fact the
primary proposal for a MIB which presumes this Agent Model does have features
which leverage such an ability).
The other agent model has been called a Server Agent. This does act in the
role of a "proxy" for topological members represented by such a single agent
within a given scope. A number of nodes, connections, and so forth have data
available on them from a single agent which is construed as authoritative for
that scope. For purposes of redundancy and possible convergence across agents
of any underlying discovery protocol, there may be redundancy; management of
that redundancy is an incumbent requirement on any underlying discovery
protocol intended to be employed by such an agent or its discovery process.
Of course, static configuration of topology data is also a viable underlying
means of populating topology data to be exposed through the MIB agent; as
Tackabury [Page 3]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
mentioned previously, it is not a dictate of the MIB specification that any
particular means of discovery or such data population be employed or precluded
as long as it provides directly or in combination with other means enough data
for an agent to represent minimum conformance groups of the MIB.
Nevertheless, a Server Agent implies richer minimum capabilities for whatever
that method constitutes. On the other hand, this places a complete
presentation control for a topology subset at the single point of control of
that agent. Also, this provides a data model which extends effortlessly to
deployment in an agent-manager mixed implementation (since distributed
topology subsets can be collected for agent exposure at a "superagent" higher
in the conceptual management structure).
The primary reason why a System Agent model vs. a Server Agent model doesn't
just represent a smooth continuum of scope is the fact that a Server Agent MIB
must present some construct for containment of its topological scope (at a
minimum; using this or other containment constructs for further topological
segmentation within the data presented is also an option).
This is not to say that a hybrid implementation is not possible. The NeoMIB
is such a server-based and system-based agent. Capability for a server-based
implmentation has been provided to leverage the distribution possibilities
described above. However, there is a relative complexity of Server-based
Topology MIB agent which does not lend such agents to being deployed on nodes
which lack sufficient processing power and related resources (process space
RAM, secondary virtual store, etc.) for such complexity. With such nonuniform
deployment, by defintion, the capability for connected System Agents to
represent a collected complete topology accurately is diminished. Hence,
capability exists to have a NeoMIB agent "declare" itself as system-based, and
foregoing exposing containment of the chassis-level representation it contains
in its NeoMIB instance data.
4.2 Segments
The unit of containment as present in the NeoMIB operating as a Server Agent
is a Segment. A segment contains both connectable entities (in the
topological sense), and potentially other segments if there is any nesting
implied.
An essential specific property of segments (where they are used) is the
segment boundary type. This provides an advisory to the management
application which can interpret boundary types as to the nature of the segment
bounding interfaces in terms of passiveness and reachability of traffic, in
addition to providing an advisory attribute which can be mapped to segment
display characteristics in the typical topological map. Bounding points for
the purposes of this discussion are transit points from one segment to another
(assuming such adjacent segments are present--there is no technical reason why
an adjacent segment must be present to nevertheless dictate a boundary of a
given segment). Hence, boundary types include such options as routed, and
passthrough (the latter, for example, presumably appropriate for a segment
which is bounded by a layer 2 hub). They correspond with the predominant
behavior of the ports which act as gateways from a segment to another segment
(if present), as it relates conceptually to the flow of network traffic from
that segment to the other segment.
Tackabury [Page 4]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
Like many other such constructs in the NeoMIB, the specific usage and exact
meaning of bounding types for instances for segment objects are at the
discretion of the agent--it is not the role of the MIB to provide a didactic
guideline as to what constitutes the difference between "switched" and
"bridged" in the case of traversal from segment to segment over a port which
displays characteristics of both--but agent implementors are guided to adhere
to canonical definitions of the meaning of such terms as they apply to their
well-known placement in network literature and products.
4.3 Connection Points
The NeoMIB expands on the traditional notion of the "port" or "interface" as
being, among other essential things, the receptacles of all connections
between elements in a topology. For reasons of consistency in modeling and
navigation through a topology, such an interface is grouped with another
construct, the connection nexus (see section 6.4) to assemble an arbitrary
construct called a Connection Point. Connection Points are the start or
terminus (depending on orientation, of course) of any traversable connection
in the NeoMIB. Connection Points are codified as their own layer in the MIB
to aggregate the common characteristics and serve as a "container type" for
those topological elements (interfaces, connection nexes) which they comprise.
5. Requirements
The following requirements are construed as essential in the development of
the NeoMIB.
5.1 Relationship to other MIBs
To avoid redundancy of information, and to as well avoid competition of means
of modeling characteristics and attributes of underlying physical topological
elements, the ptopo group has agreed to strive to defer to the support for
representation on those characteristics and attributes in agents supporting
prior Draft Standard MIBs wherever possible.
This has particular applicability to the elemental detail provided by the core
MIB-II [5] and Entity MIB [3] agents supported on any represented agent node
in the topology. The detail and relationships depicted by these agents' data
should not be supplanted or duplicated by any object type specified in the
NeoMIB. For a Server Agent NeoMIB agent implementation, this involves
maintaining the presence of an external reference corresponding to a given
element (interface, adapter) to indices within applicable tables in agents
running on topology nodes which contain those elements. This, however, leads
to a characteristic synchronization problem currently (see section 9), which
is why some level of visibility of those elements must be provided by the
NeoMIB agent topology representation itself. In short, there is no way to
assure accuracy of, for example, a entityPhysicalIndex corresponding to a row
which represents an adapter card on the target agent instance of the Entity
MIB, as reflected in the reference of that index provided by the NeoMIB Server
Agent's neoMibAdapterTable neoAdapterExtIndex instance, since the actual agent
on the target node could have experienced power cycle or other cause for
reindexing of these Entity MIB rows since the last time of target agent poll
by the neoMIB agent.
Tackabury [Page 5]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
5.2 Support of Navigability
A major purpose of a Server Agent approach is to present cross-topological
physical navigability from a single point of orientation (the Server Agent and
its view of a segment). In general, support for a management station's
ability to assembled a connection matrix as a function of analyzing a topology
is an incumbent requirement for any Topology MIB (this term is being used here
generically) which is going to represent a topology usefully. The NeoMIB is
designed to present negligible impediments to assembling an enterprise-wide
topology, which might otherwise be encountered as a weakness of the
containment model, or weakness in the connection model itself.
To the latter point, a word should be said about one of the motivations for
the connection nexus notion. Where a connection is modeled as strictly point-
to-point between physical interface or other single-receptacle Connection
Points (to use our own term), several limitations arise in representing
complex topologies. One is the fact that some physical or logical network
attachment points are in fact multidrop, and means of modeling this using
simplex connection constructs lead to anatomical deficiencies in the
represented network. If no other construct is available to remedy this
condition, a deviation, and in some cases a marked deviation, from the
underlying physical topology must be presented by the Topology MIB agent.
5.3 Extensibility between System and Service Agents
Finally, despite the fact that a NeoMIB agent is at its most useful and
efficient (from the point of view of a management application) mode of
deployment as a Server Agent, reasons discussed previously stand as to why
this is a less-than-useful minimum ante for agent conformance.
A group of System Agents implemented within a subnetwork must be able to
provide a reconcilable, navigable (see 5.2) represented image of a topology,
which, while lacking some of the details of containment and requiring some
extra work on the part of the management application to collectively assemble
same, should not preclude or limit this provision.
6. MIB Structure
6.1 Agent-level Data
At the global scope of the agent, a number of attributes regarding agent
operation and implementation are provided. Consistent with the discussion of
a management application's being able to work with either a System or Server
Agent, an indicator is given as to the model of an agent instance. A
timestamp is provided to allow a management application to easily detect if a
modification has been made which would suggest a need to repoll other parts of
the agent data to look for new, deleted, or modified data.
Finally, an advisory table which lists discovery mechanisms by autonomous type
is given. This is strictly advisory, and agents which do not support
discovery mechanisms which are tagged to a locus in a standard, experimental
or proprietary administrative scope need not present any row data in the
neoAgentDiscoveryMechanismTable.
Tackabury [Page 6]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
6.2 ElementObject table
The neoMibElementObjectTable has a row for every element in the topology.
Entries in all element type-specific tables discussed below
(neoMibSegmentTable, neoMibHostTable) have a corresponding row entry in this
table as well. The neoMibSegmentEntry has fields which aggregate all common
properties of these type-specific table entries. Examples of such attributes
are type itself, display string, creation time (within the MIB instance data),
etc. Perhaps the most important is the neoMibElementIndex, which acts as a
primary reference index throughout references elsewhere in the MIB.
6.3 Segment table
Segment-level table entries, which per the preceding discussion acts to
"augment" the underlying segment object's identity as depicted in a
neoMibElementObjectTable row, need to present fields to orient the segment as
a container element, and potentially as a contained element as well (since
segments can be arbitrarily "nested" within other segments).
Additionally, rows in the neoMibSegmentTable have a field,
neoSegmentLastModified, which acts as a container-level "last time modified"
timestamp. This timestamp is to be updated when any of the elements in the
segment (or more correctly, any of the interfaces in the segments or the host,
connection, or adapter elements which reference those interfaces--see 6.4.1)
have any of their instance data modified. This allows a management
application to do poll for topology modifications as follows.
neoAgentLastModified can be polled at the top level of the MIB, awaiting a
change from a reference value (management application's last modified
reference time). Upon detecting a change in neoAgentLastModified, the
management application can do SNMP protocol operations to enumerate all
segments' neoSegmentLastModified values, collecting all such values in excess
of the management application's retained previous neoAgentLastModified value
for the agent. The collection of segments with their neoSegmentLastModified
in excess of this retained reference value represent the set of segments
suitable for segment-ordered reenumeration of contained prior known elements
to update what is at that point presumably an out-of-date (or nonexistent)
segment element set on the management application.
It should be noted that in the case of a System Agent implementation, or
Server Agent representations of logically "flat" topologies, there may be no
segmentation either available or called for. In these cases, all interfaces
will have no containing segment references (neoInterfaceParentSegment = 0 for
their neoMibInterfaceTable rows), and there will be no entries in the
neoMibSegmentTable.
6.4 Connection Points
Connection Points simply represent, currently, one point in the MIB hierarchy.
Connection nexuses and Interfaces are the subcontained groups for this level.
Connection Points combine all connectable entities. As it turns out, there
are currently no attributes for reindexing and aggregation in some
neoMibConnectionPointTable, so one is not defined.
Tackabury [Page 7]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
Since Connection Points embody all of the fundamental navigable units within
the NeoMIB, the motivation for maintaining this point in the hierarchy is
navigational within the MIB. An efficient algorithm for initial scan by a
NeoMIB-aware management application of a NeoMIB topology using SNMP GET
protocol operations would proceed by enumerating entirely through the
neoMibCnxnPoint scope, picking up all of its contained object type instances
and their attributes in associated table row entries. In this way, the most
elemental "building blocks" from the point of view of connection creation and
connection reference integrity are present as those connections (and other
referencing elements such as hosts, adapters, and segments) reference these
connection points.
6.4.1 Interfaces
Hence, interfaces are a conceptual "subtype" of the connection point. The
NeoMibInterfaceEntry is the richest aggregate object type in the MIB. The
fields here need to be sufficient for placement within the topology, for
behavior within the segment, and to additionally provide enough context
information to allow direct access to the management agent on which this
interface physically resides in the network.
To satisfy this requirement, the NeoMibInterfaceEntry has references to the
"parenting" segment, host, and adapter by each such "parenting" element's
neoMibElementIndex value. Agent implementors are encouraged to ensure
association to a neoMibHostTable via a value in the NeoMibInterfaceEntry
neoInterfaceParentHost field to allow a management application to have a
predictable display mechanism for interfaces (i.e., attached to a host
topology object). However, lack of association to a neoMibAdapterTable entry
is perfectly acceptable when lack of adapter-level detail is available through
the discovery mechanism or when an interface is construed to be "motherboard-
based" or in some other way not placed on an expansion adapter.
The neoInterfacePrimaryAddrDomain and neoInterfacePrimaryAddress provide agent
addressing data for this interface's controlling management agent.
The neoInterfaceIsSegmentBoundary defines whether this interface corresponds
to a boundary in the parent segment. Since the neoMibSegmentTable entry
indexed by an interface's neoInterfaceParentSegment type has a field in its
own right, neoSegmentBoundaryType, defining the presumed traversability of
this interface in its function as a segment boundary interface, these two
characteristics (the interface's segment boundary role and its role as a type
of interface of neoSegmentBoundaryType) conceptually are linked.
The relative complexity of this determination is what causes us to formally
decouple this role as a segment boundary from its role in general, as
reflected in the neoInterfacePortBehavior of a neoMibInterfaceTable entry.
All interfaces (regardless of the value of neoInterfaceIsSegmentBoundary) can
represent a "port behavior" through this field. Port behaviors are
cumulative, using the same mechanism that sysServices in [4] employs to
combine multiple values. The values available here are designed to provide a
flexible indicator as to the layer at which traffic can be processed into and
across the interface. This allows a management application to make
determinations on display characteristics for an interface's host in a display
based on supported services, in addition to determinations on base
reachability of one interface to another under varying conditions of payload
type and size, presumed delay, etc.
Tackabury [Page 8]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
6.4.2 Connection Nexuses
A connection nexus is in some respects a basic Connection Point as it has been
defined in 6.4. Since it does not represent a physical entity, it can be used
to aggregate connections to a logical entity, such as a WAN Service Provider,
which may conceptually reside in the middle of a topology. It may also be
used to represent a physical aggregation of connection (such as a multidrop
bus connection point in LAN wiring).
Its lightweight minimal attribute exposure in its neoMibCnxnNexusTable row
instance provides one primary enabling feature--an easy way to associate
multiple connection objects to a given connection nexus by reference. A
connection nexus is intended to be used in any situation in the modeling of
the topology where multiple connections originating from one logical or
physical place are required. While there is no way to specifically prevent it
currently, it is NOT intended that multiple neoMibConnectionTable entries
reference the same neoMibInterfaceTable entry, and agent implementors SHOULD
NOT allow this condition to occur, so as to allow the management application
to have a predictable connected topological element set to handle for display
and layout purposes.
A Connection Nexus does reference a segment through its neoMibCnxnNexusTable
row instance neoCnxnNexusParentSegment value, but is notably NOT capable of
specifying itself as a boundary to that segment. This is since it would not
be possible in this architecture to determine where internally to the
connection nexus the segment is split on. Secondarily, initial implementation
experience has shown that the usefulness of specifying a connection nexus
point as a segment boundary is negligible.
6.4.3 Connections
Consistent with the preceding description of Connection Point-derived
elements, a connection is simply a table entry with two references, each to
some such Connection Point-scoped topology element.
As stated earlier, while there is no way to specifically prevent it currently,
it is NOT intended that multiple neoMibConnectionTable entries reference the
same neoMibInterfaceTable entry, and agent implementors SHOULD NOT allow this
condition to occur. An unlimited number of neoMibConnectionTable entries CAN
reference the same neoMibCnxnNexusTable row entry, however.
Finally, agent implementors SHOULD NOT allow a condition to have the
neoConnectionEP1 field and neoConnectionEP2 field of the same
neoMibConnectionTable entry reference the same neoMibCnxnNexusTable or
neoMibInterfaceTable entry under any condition.
6.5 Host table
Node-level entities are represented by rows in the neoMibHostTable. The only
field supported in a row instance of this table provides a neoHostSysObjectId
which differs from the MIB-II sysObjectID in that it does not need to be
directly coupled to the management subsystem.
Tackabury [Page 9]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
6.6 Adapter table
Adapter-level detail, where available through a discovery mechanism employed
by a neoMIB agent's discovery process, is represented through rows in the
neoMibAdapterTable. A row in this table contains the same kind of object
administrative reference in its neoAdapterSysObjectId that is has been
described for the neoHostSysObjectId.
Additionally, a reference is contained to the encountered entPhysicalIndex of
the entPhysicalIndex in the Entity MIB entPhysicalTable which is either in the
local Entity MIB agent data (in the case of a Server or System Agent's
neoMibAdapterTable corresponding to an adapter on the same chassis that the
neoMIB agent is running on), or which was encountered by a Server Agent NeoMIB
from the agent on the node on which this adapter physically resides in the
network. This reference is the neoMibAdapterExtEntityIndex field of the
neoMibAdapterTable.
Where this index is nonzero and hence to be construed as valid, several
conditions should be able to be assumed by a management application. One is
that the neoMibAdapterExtEntityIndex was valid (was a valid entPhysicalIndex
in the applicable Entity MIB agent data) at the TimeStamp marked at the
neoMibElementCheckpointTime field for the neoMibElementObjectTable row entry
with the same neoMibElementIndex value as this neoMibAdapterTable entry has.
Another is that as a byproduct of that validity of association, the
entPhysicalClass value in the entPhysicalTable row with this
neoMibAdapterExtEntityIndex in this Entity MIB agent data had a PhysicalClass
value of `container (5)' at that neoMibElementCheckpointTime time of last
encounter.
Where available, this Entity MIB reference is necessary to properly qualify
the placement of adapter cards relative to each other, for example, which are
primarily connected to a system bus and which are in turn daughter-cards to
each other. As far as the neoMibAdapterTable is concerned, these are simply
entries at a peer level with no indicator present from the neoMIB agent data
to represent this kind of placement information.
Tackabury [Page 10]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
7. Network Element Object MIB (neoMIB)
NEO-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, experimental
FROM SNMPv2SMI
TEXTUAL-CONVENTION, TDomain, TAddress, DisplayString, RowPointer,
TimeStamp, DateAndTime, TruthValue
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF;
neoMib MODULE-IDENTITY
LAST-UPDATED "9612260000Z"
ORGANIZATION "IETF Physical Topology Working Group"
CONTACT-INFO
"
WG E-mail: ptopo@3Com.com
Subscribe: ptopo-request@3com.com
Ken Jones
ptopo Working Group Chair
Bay Networks, Inc.
4401 Great America Parkway
PO Box 58185, MS SC01-04
Santa Clara, CA 95052-8185
kjones@baynetworks.com
Wayne F. Tackabury
NeoMIB Document Author
Netsuite Development, L.P.
321 Commonwealth Rd., Ste. 300
Wayland, MA 01778
Tel: (508) 647-3114
waynet@netsuite.com"
DESCRIPTION
"The MIB module for representing a topology of one or more
chassis-level network elements, with connections from logical
connection point network elements to other connection point
network elements on other chassis. The agent supporting an
instance of this MIB can be representing only the chassis
on which the agent resides and optionally its attached
connections and other subelements, or can be representing a
group of such chassis-level systems and sublements, optionally
with each of their connections represented as well. The
former is known as a topology system agent, the latter is
known as a topology service agent."
::= {experimental 666} -- replace with IANA ptopo assignment
neoMibObjects OBJECT IDENTIFIER ::= { neoMib 1 }
Tackabury [Page 11]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
-- Groups within neoMIB
neoMibAgent OBJECT IDENTIFIER ::= { neoMibObjects 1 }
neoMibElementObject OBJECT IDENTIFIER ::= { neoMibObjects 2 }
neoMibSegment OBJECT IDENTIFIER ::= { neoMibObjects 3 }
neoMibHost OBJECT IDENTIFIER ::= { neoMibObjects 4 }
neoMibCnxnPoint OBJECT IDENTIFIER ::= { neoMibObjects 5 }
neoMibInterface OBJECT IDENTIFIER ::= { neoMibCnxnPoint 1 }
neoMibCnxnNexus OBJECT IDENTIFIER ::= { neoMibCnxnPoint 2 }
neoMibConnection OBJECT IDENTIFIER ::= { neoMibObjects 6 }
neoMibAdapter OBJECT IDENTIFIER ::= {neoMibObjects 7}
-- Textual conventions used throughout neoMIB
NeoIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"Integer index used to reference network element objects
back to their primary containing table."
SYNTAX INTEGER (0..2147483647)
NeoNodalType ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"Type of neoMib element instance. This allows a mapping from
container types (neoElementObject, neoCnxnPoint) to actual
types of element objects as represented by an entry in
neoMibSegmentTable, neoMibInterfaceTable etc. (in this
example, neoSegment, neoInterface respectively)."
SYNTAX INTEGER {
other(1), -- in what table would "other" show up?
neoSegment(2),
neoHost (3),
neoInterface(4),
neoCnxnNexus(5),
neoAdapter(6)
}
-- neoMibAgent section.
-- this contains nodal entries for data describing this agent's
-- configured role and current agent status.
neoAgentType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
unknown(2),
topoSystemAgent(3),
topoServiceAgent(4)
}
MAX-ACCESS read-only
STATUS current
Tackabury [Page 12]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
DESCRIPTION
"The type of this agent. Among defined types, a
topoSystemAgent only represents the logical chassis on
which the agent resides, along with any known connected
partners. A topoServiceAgent corresponds with a topology
server implementation, where a community of nodes is being
represented (along with any known connections amongst
their connectionPoints) by this agent."
::= { neoMibAgent 1 }
neoAgentLastModified OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time of last modification of any of the topological
data available from this server. More specifically, the
last time that any adds, removes, changes in value or
linkage of any of the row entries in the
neoMibElementObjectTable occurred relative to sysUpTime.
A management application can monitor this object to
determine appropriate points to re-query the rows of
the neoMibElementObjectTable and its higher level tables
for updates."
::= { neoMibAgent 2 }
neoAgentOperState OBJECT-TYPE
SYNTAX INTEGER {
other (1),
unknown (2),
startup (3),
collecting (4), -- in dyanmic/other data collection
idle (5), -- idle/processing agent requests
shutdown(6),
error-state (7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current overall operational state of this neoMIB
agent process. This is intended to be a rough
approximation of current state as suitable for a
management application's choice of graphical indicators
of this agent and to guide other choice of agent selection
and diagnostics."
::= { neoMibAgent 3}
neoAgentDiscoveryMechanismTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoAgentDiscoveryMechanismEntry
MAX-ACCESS not-accessible
STATUS current
Tackabury [Page 13]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
DESCRIPTION
"This table contains one row for each marked mechanism
or algorithm of discovery as used for discovery of at
least one connectionPoint as represented by a row in
the neoMibElementObjectTable."
::= { neoMibAgent 4 }
neoAgentDiscoveryMechanismEntry OBJECT-TYPE
SYNTAX NeoAgentDiscoveryMechanismEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a mechanism or algorithm of discovery
as used for discovery of at least one connectionPoint
as represented by a row in the neoMibElementObjectTable."
INDEX { neoAgentDiscoveryMechanismIndex }
::= { neoAgentDiscoveryMechanismTable 1 }
NeoAgentDiscoveryMechanismEntry ::= SEQUENCE {
neoAgentDiscoveryMechanismIndex NeoIndex,
neoAgentDiscoveryMechanismIdentifier AutonomousType
}
neoAgentDiscoveryMechanismIndex OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Index for this discovery mechanism entry."
::= { neoAgentDiscoveryMechanismEntry 1 }
neoAgentDiscoveryMechanismIdentifier OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifier of a vendor-specific or other registered
discovery type, heuristic, or algorithm. The value
{ 0 0 } (a NULL object identifier) indicates static or
other unidentified discovery means. Otherwise, each row
denotes a discovery mechanism outside of the administrative
scope of this MIB (for example, within a vendor scope). "
::= { neoAgentDiscoveryMechanismEntry 2 }
-- neoMIBElementObject section. Rows of the table contained herein
-- describe all MIB object instances which will be present in other
-- tables specific to the instance type (neoMIBSegmentTable,
-- neoMIBInterfaceTable, etc.), and will decribe properties and
-- attributes of all such objects.
neoMibElementObjectTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibElementEntry
MAX-ACCESS not-accessible
STATUS current
Tackabury [Page 14]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
DESCRIPTION
"This table contains one row of every object, regardless of
object nodal type, about which this agent is aware and
capable of delivering data."
::= { neoMibElementObject 1 }
neoMibElementEntry OBJECT-TYPE
SYNTAX NeoMibElementEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single neoMib object."
INDEX { neoMibElementIndex }
::= { neoMibElementObjectTable }
NeoMibElementEntry ::=
SEQUENCE {
neoMibElementIndex NeoIndex,
neoMibElementType NeoNodalType,
neoMibElementDescription DisplayString,
neoMibElementCreationTime DateAndTime,
neoMibElementCheckpointTime TimeStamp,
neoMibElementRowStatus RowStatus
}
neoMibElementIndex OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Index of this element within this base element object
table. This index permeates through to references in
other tables pertinent to the nodal type of this object."
::= { neoMibElementEntry 1 }
neoMibElementType OBJECT-TYPE
SYNTAX NeoNodalType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Nodal type of this element. All elements ultimately resolve
to a nodal type denoting their role in the topology
represented by this MIB instance. Such role is reflected
for the element of this row by the value of its
neoMibElementType."
::= { neoMibElementEntry 2 }
neoMibElementDescription OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A text string describing this element. No presumptions are
made about the contents or requirement of this informational
string, and it may very well be a null DisplayString."
::= { neoMibElementEntry 3 }
Tackabury [Page 15]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
neoMibElementCreationTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Historic creation date of this object in this topology. If
this object was entered statically or is otherwise a part
of a topology which was created in a prior operational cycle
of this agent, then this time may precede the time of sysUp
for this agent."
::= { neoMibElementEntry 4 }
neoMibElementCheckpointTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time, relative to sysUpTime, that this element was last
last affirmatively encountered by the agent. A TimeStamp
value of zero indicates that this element has not been
encountered and verified by the agent process within this
operational cycle of this agent. Note that such a zero
value is not to be construed as an indication of actual
element (e.g., network node) dysfunction or disappearance,
since elements which were added to the neo Topology
statically may never be checkpointed after their static
addition to the topology base. Alternately, in a highly
dynamic discovery agent methodology, guidelines for aging
out of elements which have not been encountered in some
max threshold are beyond the scope of this MIB."
::= { neoMibElementEntry 5 }
neoMibElementRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibElementObjectTable."
::= { neoMibElementEntry 6 }
-- neoMibSegment section. This contains top-level groupings of the
-- network elements exposed by this agent as a function of their
-- content and bounding operation within the network. Note in
-- particular that a segment can contain another segment.
neoMibSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row for every segment. Note that
each segment will also have a row in the
Tackabury [Page 16]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
neoMibElementObjectTable. An agent which wishes to express
a topology image which contains only the agent chassis, its
ports and known connections could forego supporting any
retrieval capability for segment data, pursuant to its
ConformanceGroup options."
::= { neoMibSegment 1 }
neoMibSegmentEntry OBJECT-TYPE
SYNTAX NeoMibSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single segment."
INDEX { neoMibElementIndex }
::= { neoMibSegmentTable 1 }
NeoMibSegmentEntry ::=
SEQUENCE {
neoSegmentLastModified TimeStamp,
neoSegmentBoundaryType INTEGER,
neoSegmentParentSegment NeoIndex,
neoSegmentRowStatus RowStatus
}
neoSegmentLastModified OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A timestamp, relative to sysUpTime, of last modification
of this segment, any of its contained interfaces, hosts,
or connection points. A management application can use
this to efficiently determine sections of a topology
exposed by this topology server which require update
retrieval for synchronization with current topology
state."
::= { neoMibSegmentEntry 1 }
neoSegmentBoundaryType OBJECT-TYPE
SYNTAX INTEGER {
other (1),
unknown (2),
unbounded (3),
routed (4),
switched (5),
bridged (6),
passthrough (7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An indication as to the nature of the boundary interfaces
of this segment. This will allow a management or simulation
application to make rough determinations as to reachability,
layer 2 and 3 collision domains, and other properties
Tackabury [Page 17]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
governing intersegment traffic flow. The value
'unbounded (3)' could be used for either a self-contained
segment or segment physically not connected to any other, or
for a dual-homed segment boundary node type where no traffic
automatically flows from one segment to another without
application-level intervention. The value 'bridged (6)'
would pertain to an 802.1(d) or other formalized model
(e.g., Token Ring MAU) of layer 2 bridge segment boundary
interface. The value 'passthrough (7)' is used to denote,
for example, a segment bounded by passive layer 2 ports
such as a segment of devices connected through a 802.3 hub."
::= { neoMibSegmentEntry 2 }
neoSegmentParentSegment OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The neoMibElementIndex of the segment which is logically
considered to be the 'parent' of the segment denoted by this
row instance. The semantics of 'parent' are under the control
of the agent, but agent implementors are encouraged to use
the implications of the values of neoSegmentBoundaryType in
setting up parent relationships for segments. In all other
respects, this allows the management application to display
a logical and consistent view of containment of segment
groupings of network elements. A neoSegmentParentSegment
value of zero indicates that this segment is unparented, or
is at the 'top level' of the segment containment scope."
::= { neoMibSegmentEntry 3 }
neoSegmentRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibSegmentTable."
::= { neoMibSegmentEntry 4 }
-- NeoMibHost section. This section embodies the neoMib-pertinent
-- data on chassis-level network elements.
neoMibHostTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibHostEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row for every host. While
hosts can be individually retrieved through this table
in coordination with their presence as base elements in the
neoMibElementObjectTable, as a primary means of navigating
through segment inclusion or element-to-element connection,
a management application will probably want to first examine
Tackabury [Page 18]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
the interfaces by segment or unsegmented indexing, and map
to host-level interface containment from there."
::= { neoMibHost 1 }
neoMibHostEntry OBJECT-TYPE
SYNTAX NeoMibHostEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single host."
INDEX { neoMibElementIndex }
::= { neoMibHostTable 1 }
NeoMibHostEntry ::=
SEQUENCE {
neoHostSysObjectId AutonomousType,
neoHostRowStatus RowStatus
}
neoHostSysObjectId OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A vendor or other identification of chassis by management
agent subsystem or other attribute of administrative scope
implied by AutonomousType. Since this need not be tied
specifically to management subsystem, this may or may not
be the same as sysObjectID from RFC 1907. An object
identifier of null, or {0 0} denotes no such identification
attribute is present for this host."
::= { neoMibHostEntry 1 }
neoHostRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibHostTable."
::= { neoMibHostEntry 2 }
-- neoMibInterface section. This describes all attributes of interfaces,
-- as connectable, addressable, and otherwise host-contained navigable
-- endpoints of the collected network topology. The collection of
-- interfaces under the hierarchical grouping neoMibCnxnPoint reflects
-- the fact that they share a crucial common property with the other
-- member of that hierarchical grouping (neoMibCnxnNexus) that they
-- can be endpoints of a connection, that is, can be referenced by
-- neoMibConnectionTable row entries.
neoMibInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
Tackabury [Page 19]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
DESCRIPTION
"This table contains one row for every interface. Note that
each interface will also have a row in the
neoMibElementObjectTable. "
::= { neoMibInterface 1 }
neoMibInterfaceEntry OBJECT-TYPE
SYNTAX NeoMibInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single interface. This is primarily
indexed by parent segment to accomodate easy per-segment
table traversal by management application requests."
INDEX { neoInterfaceParentSegment, neoMibElementIndex }
::= { neoMibInterfaceTable 1 }
NeoMibInterfaceEntry ::=
SEQUENCE {
neoInterfaceParentSegment NeoIndex,
neoInterfaceParentHost NeoIndex,
neoInterfaceParentAdapter NeoIndex,
neoInterfacePrimaryAddrDomain TDomain,
neoInterfacePrimaryAddress TAddress,
neoInterfaceExtIndex NeoIndex,
neoInterfaceIsSegmentBoundary TruthValue,
neoInterfacePortBehavior INTEGER,
neoInterfaceRowStatus RowStatus
}
neoInterfaceParentSegment OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A reference to the neoMibElementIndex of the segment
containing this interface. A NeoIndex value of zero
denotes a lack of containment to a segment, and is
obviously the only allowable value in an unsegmented
topology."
::= { neoMibInterfaceEntry 1 }
neoInterfaceParentHost OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A reference to the neoMibElementIndex of the host element
containing this interface. A NeoIndex value of zero denotes
a lack of containment to a host. Such a lack of containment
is not recommended by agent implementations in any interface
instance exported by this table with a neoInterfaceRowStatus
value of 'ready' since such interfaces do not map readily
to a rational means of display for querying management
applications.
Tackabury [Page 20]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
For interfaces whose row instances have a
neoInterfaceParentHost nonzero value but a zero value for
neoInterfaceParentAdapter, the interface can be construed to
be 'embedded' or logically motherboard-attached on the parent
host."
::= { neoMibInterfaceEntry 2 }
neoInterfaceParentAdapter OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A reference to the neoMibElementIndex of the adapter element
containing this interface. A NeoIndex value of zero denotes
a lack of containment to an adapter. Such a lack of
containment where an interface row instance has a nonzero
neoInterfaceParentHost value can be construed to denote
an interface 'embedded' or logically motherboard-attached
on the chassis referenced by neoInterfaceParentHost."
::= { neoMibInterfaceEntry 3 }
neoInterfacePrimaryAddrDomain OBJECT-TYPE
SYNTAX TDomain
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Type of transport service for the primary transport address
associated with the management subsystem of this interface.
A TDomain value of {0 0} is allowable to denote
lack of known or expressed management subsystem addressability
from this row instance, provided that
neoInterfacePrimaryAddress is also zero. Where nonzero, NOTE
that this is not necessarily the same as the Tdomain for an
address this interface is assuming in its network operation
in the topology"
::= { neoMibInterfaceEntry 4 }
neoInterfacePrimaryAddress OBJECT-TYPE
SYNTAX TAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Primary transport address associated with the management
agent subsystem of this interface, as governed by
neoInterfacePrimaryAddrDomain. A null value of
neoInterfacePrimaryAddress is allowable to denote
lack of known or expressed mangement subsystem addressability
from this row instance, provided that
neoInterfacePrimaryAddrDomain is also zero. NOTE that this
is not necessarily the same as the address this interface is
assuming in its network operation in the topology."
::= { neoMibInterfaceEntry 5 }
Tackabury [Page 21]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
neoInterfaceExtIndex OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Value of the ifIndex associated with the row of the
ifTable in the MIB-II agent data for the agent last found
at neoInterfacePrimaryAddress, where said ifTable row
corresponds with this interface."
::= { neoMibInterfaceEntry 6 }
neoInterfaceIsSegmentBoundary OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates whether this port represents a boundary with
respect to its containing segment, if any. If the
neoInterfaceParentSegment instance for this row is
zero, then neoInterfaceIsSegmentBoundary should be
set to a TruthValue value of 'false'. Otherwise, this
value denotes whether this port is a boundary port in
its segment, which is to say whether it represents
a point of traversal into any colocated segments
relative to the containing segment of this interface."
::= { neoMibInterfaceEntry 7 }
neoInterfacePortBehavior OBJECT-TYPE
SYNTAX INTEGER (0..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A set of network behaviors being exhibited in this topology
by this interface. The value is a sum. This sum initially
takes the value zero. Then, for each behavior, B, in the
range 1 through 32, that this node performs servicesfor, 2
raised to (B - 1) is added to the sum.
1 = unknown
2 = other
3 = endnode (having 'layer 3' addressability)
4 = power backup (e.g., UPS)
5 = management agent (e.g., has SNMP agent)
6 = topology MIB management agent
(presumes 'management agent')
7 = hub (passive)
8 = switch (LAN/WAN)
9 = route
10 = serial translation (e.g., modem, DSU)
11 = stream concentration (or active hub, e.g., FDDI)
12 = address translation (e.g., RFC1577 LIS)
13 = bridge (i.e., 802.1)
14 = electromechanical transceiver
Tackabury [Page 22]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
Combination of these values are mutually exclusive and have no
explicit limitation or provision on how they can be bound."
::= { neoMibInterfaceEntry 8 }
neoInterfaceRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibInterfaceTable."
::= { neoMibInterfaceEntry 9 }
-- neoMibCnxnNexus section. This describes relevant attributes
-- of connection nexes, as simple topological containers for groups
-- of logical endpoints of connections, which endpoints are not
-- integrated into chassis elements, et al, such as interfaces are.
-- Conceptually, interfaces are seen as being able to reference a
-- single neoMibConnectionEntry per interface, where a connection
-- nexus can be referenced by multiple neoMibConnectionEntries,
-- since the notion of an "endpoint" of a connection nexus is never
-- really formally exposed. Note that such an "endpoint" of a
-- connection nexus can be connected to an interface, or to another
-- connection nexus.
neoMibCnxnNexusTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibCnxnNexusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row for every connection nexus.
Note that each connection nexus will also have a row in the
neoMibElementObjectTable. "
::= { neoMibCnxnNexus 1 }
neoMibCnxnNexusEntry OBJECT-TYPE
SYNTAX NeoMibCnxnNexusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single connection nexus."
INDEX { neoMibElementIndex }
::= { neoMibCnxnNexusTable 1 }
NeoMibCnxnNexusEntry ::=
SEQUENCE {
neoCnxnNexusParentSegment NeoIndex,
neoCnxnNexusNumConnections INTEGER,
neoCnxnNexusRowStatus RowStatus
}
Tackabury [Page 23]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
neoCnxnNexusParentSegment OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A reference to the neoMibElementIndex of the segment
containing this connection nexus. A NeoIndex value
of zero denotes a lack of containment to a segment, and is
obviously the only allowable value in an unsegmented
topology."
::= { neoMibCnxnNexusEntry 1 }
neoCnxnNexusNumConnections OBJECT-TYPE
SYNTAX INTEGER (1..4096)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of current references to this connection nexus
to be found amongst the rows of the neoMibConnectionTable.
This is to facilitate ease of evaluating all connections
to this connection domain from other neoMibCnxnPoints"
::= { neoMibCnxnNexusEntry 2 }
neoCnxnNexusRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibCnxnNexusTable."
::= { neoMibCnxnNexusEntry 3 }
-- neoMibConnection section. This section details all connections
-- between network elements elsewhere derived from neoMibCnxnPoint.
neoMibConnectionTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row for every connection. Note that
each connection will also have a row in the
neoMibElementObjectTable. "
::= { neoMibConnection 1 }
neoMibConnectionEntry OBJECT-TYPE
SYNTAX NeoMibConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single connection."
INDEX { neoMibElementIndex }
::= { neoMibConnectionTable 1 }
Tackabury [Page 24]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
NeoMibConnectionEntry ::=
SEQUENCE {
neoConnectionEP1 NeoIndex,
neoConnectionEP2 NeoIndex,
neoConnectionRowStatus RowStatus
}
neoConnectionEP1 OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"neoMibElementIndex of the neoMib element derived from
neoMibCnxnPoint which comprises one end of this duplex
connection. This should be an index to a valid row in
the neoMibElementObjectTable, and should not be the same
as the instance of neoConnectionEP2 in this row."
::= { neoMibConnectionEntry 1 }
neoConnectionEP2 OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"neoMibElementIndex of the neoMib element derived from
neoMibCnxnPoint which comprises one end of this duplex
connection. This should be an index to a valid row in
the neoMibElementObjectTable, and should not be the same
as the instance of neoConnectionEP1 in this row."
::= { neoMibConnectionEntry 2 }
neoCnxnNexusRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibConnectionTable."
::= { neoMibConnectionEntry 3 }
-- Adapter section.
neoMibAdapterTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeoMibAdapterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row for every adapter."
::= { neoMibAdapter 1 }
neoMibAdapterEntry OBJECT-TYPE
SYNTAX NeoMibAdapterEntry
MAX-ACCESS not-accessible
STATUS current
Tackabury [Page 25]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
DESCRIPTION
"Information about a single adapter."
INDEX { neoMibElementIndex }
::= { neoMibAdapterTable 1 }
NeoMibAdapterEntry ::=
SEQUENCE {
neoAdapterSysObjectId AutonomousType,
neoAdapterExtIndex NeoIndex,
neoAdapterRowStatus RowStatus
}
neoAdapterSysObjectId OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A vendor or other identification of adapter by management
agent subsystem or other attribute of administrative scope
implied by AutonomousType. An object identifier of null,
or {0 0} denotes no such identification attribute is present
for this adapter."
::= { neoMibAdapterEntry 1 }
neoAdapterExtIndex OBJECT-TYPE
SYNTAX NeoIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Value of the entPhysicalIndex associated with the
row of the entPhysicalTable in the Entity MIB agent
data for the agent last found at the
neoInterfacePrimaryAddress for any of the
NeoMibInterfaceTable entries which reference this
neoMibAdapterEntry neoMibElementIndex, where said
entPhysicalTable row corresponds with this adapter."
::= { neoMibAdapterEntry 2 }
neoAdapterRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Status of this row in the neoMibHostTable."
::= { neoMibAdapterEntry 3 }
END
Tackabury [Page 26]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
8. Security Considerations
The neoMIB is intended to provide read access to data which has been collected
through some discovery mechanism outside of the scope of the MIB. In its
current form, creation or write access is not provided for any of its object
types. Security implications of the availability on data of any of its
represented topological elements is seen as the province of security
considerations for individual discovery and population mechanisms, if at all.
As a result, the deployment of the neoMIB is not seen as being relevant to any
further security requirements or implications.
9. Open Issues (as of 15 January 1997)
* I'm unclear as to whether there is a move afoot to preserve the integrity
of the chassis MIB PhysicalIndex values as there has been for the ifIndex
of recent. I'm under the impression that the consensus in the ifMIB
group and others is to require implementors to not "reuse" ifIndices
of interfaces which have gone away for some reason. Is the same true
of Entity MIB indices? That would partially alleviate the "cross
agent" synchronization problem of the NeoMIB latching another agent's
index values in neoAdapterExtIndex and neoInterfaceExtIndex. More
fundamentally, is this acceptable to people? I really don't know how
we can have a Server Agent implementation AND preserve the primacy
of the Entity MIB otherwise.
* Considerations for interoperability of Server Agents and System Agents
within the same Segment physical space need to be addressed.
* There are general considerations for system agents as well which need
exploring and potential elaboration in the document. How are "adjacent"
nodes sorted out between adjacent neoMIB agents representing each
other as connected neighbors? I'd say by some combination of mgmt.
addr + ifIndex (aka neoInterfaceExtIndex), but do we need to provide
guidelines for management application writers here?
* Acceptability of a single segment bounding type? This is for
simplicity sake, basically.
* In general, should altorithms for MIB scope traversal (interfaces
-> hosts -> segments, et al) be provided? There are a number of ways
to do it, but none are "trivial" really. The discussion in sec. 4.2
on a segment-ordered MIB polling algorithm does not discuss removal of
any "deleted" segments.
Tackabury [Page 27]
Internet-Draft draft-tackabury-neo-mib-00.txt January 24, 1997
10. Acknowledgements
Gratitude is owed to Maria Greene (Ascom-Nexion) for helping to refine a
number of ideas here and for keeping me from throwing some truly silly
constructs in here. Prior contributions from Greene, Prakash Desai (Bay
Networks) and H. Nikolaus Schaller (Lehrstuhl fure Datenverarbeitung) have
been influential in the developmnent of the NeoMIB. Finally, my Netsuite
colleagues Kevin Cronin, Dan Tonelli, and Lazarus Vekiarides have been
instrumental in developing the conceptual underpinnings of what has become
the NeoMIB.
11. Bibliography
[1] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
Waldbusser, "Structure of Management Information for Version 2 of the
Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.
[2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
Waldbusser, "Protocol Operations for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1905, January, 1996
[3] McCloghrie, K, and Bierman, A., "Entity MIB using SMIv2", RFC 2037,
October, 1996.
[4] McCloghrie, K. and Kastenholtz, F., "Interfaces Group Evolution", RFC
1573, January 1994.
[5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
Waldbusser, "Management Information Base for Version 2 of the Simple
Network Management Protocol (SNMPv2)", RFC 1907, January, 1996.
12. Author's Address
Wayne F. Tackabury
Netsuite Development, L.P.
321 Commonwealth Rd., Ste. 300
Wayland, Massachusetts 01778
Phone: (508) 647-3114
Fax: (508) 647-3112
Email: waynet@netsuite.com
Tackabury [Page 28]