Delay Tolerat Networking Research Group | Z. Sims |
Internet-Draft | H. Kruse |
Intended status: Experimental | Ohio University |
Expires: January 16, 2014 | July 15, 2013 |
Bundle Protocol MIB
draft-sims-dtnrg-bpmib-03
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols. In particular it defines objects for managing information about a Bundle Node - or simply a 'Node' within the scope of this document. More specifically, the managed objects for such a Node include: Node-specific information, registered Endpoint-Specific information, and generic CLA-Specific (Convergence Layer Adapter) information.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents 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 other than as "work in progress."
This Internet-Draft will expire on January 16, 2014.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
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 [RFC2580].
This memo is submitted for consideration in, and possible adoption by, the Delay Tolerant Networking Research Group (DTNRG). It defines a portion of the Management Information Base (MIB) for use with network management protocols. In particular it defines objects for managing information about a Bundle Node [RFC5050] - or simply a 'Node' within the scope of this document. More specifically, the manageable objects for such a Node include: Node- Specific information, registered Endpoint-Specific information, and generic CLA-Specific (Convergence Layer Adapter) information.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119].
The Bundle Protocol (BP) [RFC5050] was designed as part of the solution to issues encountered in Delay Tolerant Networking (DTN) environments [RFC4838], which are otherwise unsatisfied by the connection-oriented scheme used in today's Internet. This memo contains the definitions for a Bundle Protocol MIB as well as rationale for certain implementation decisions. Also contained in this memo is a section dedicated to considerations for future designers of DTN-related MIBs. The MIB module defined in this memo contains object definitions for a single Node, for each Endpoint of which that Node is a member, and for the CLAs which that Node has access to use.
Objects within the BP-MIB have been derived from definitions found in RFC 5050 [RFC5050]. The version of the MIB in this document was further informed by lessons learned during the implementation of network management instrumentation in the NASA ION implementation of DTN. These objects are broken down into three main groups:
Within this document, objects that are referred to as 'Node-Specific' are those objects which relate only to the Node being managed. In other words, these objects do not relate to a Node's relationship with any other entity (i.e. Endpoints and CLAs). Each of the objects are detailed in the MIB definition's description fields.
One item in this category requires further discussion: the object "bpNodeID" is defined as a string that uniquely identifies the node to the network management application. RFC 5050 does not define such a unique node identifier. At this time, each implementation will need to find a way to create a node id. This draft recommends that any node that needs to be managed continuously over time adhere to the following:
Within this document, objects that are referred to as 'Endpoint- Specific' are those objects which relate to a specific Endpoint in respect to the managed Node. In other words, the information managed by these objects are subject only to the Node's view of the Endpoint (e.g. the current state of the Endpoint is "active" according to this Node OR the number of Bundles this Node has received for this Endpoint is 42). Endpoint-Specific objects are maintained within a conceptual table (with the exception of bpRegCount).
Each of the objects are detailed in the MIB definition's description fields.
Within this document, objects that are referred to as 'CLA-Specific' are those objects which relate to a specific CLA in respect to the managed Node. CLA-Specific objects are maintained within a conceptual table (with the exception of bpClaCount).
Each of the objects are detailed in the MIB definition's description fields. Two items need to be expanded on:
This section contains information regarding certain design choices made during the creation of the BP-MIB module. Each decision was made keeping in mind certain assumptions regarding the circumstances under which a DTN might commonly operate. These assumptions include:
The first design decision involved the overall representation of Nodes and their respective attributes. According to section 3.1 of RFC 5050 [RFC5050], Nodes have a M:N relationship with Endpoints. That is to say, a Node can be a member of multiple Endpoints and (as long as it is not a Singleton Endpoint) an Endpoint can have multiple Nodes register it. Since SMIv2 [RFC2578] does not allow for the creation of three-dimensional conceptual tables, a normalized view of this relationship would be required; leading to the use of mediating tables. The method used here, as exhibited in the formal MIB of this document, was to emulate a three-dimensional conceptual table by having each instance of the BP-MIB contain managed information for a single Node - with each instance having a conceptual table containing managed information for each Endpoint of which it is a member.
Bundle Protocol Extension Blocks are mentioned in RFC 5050 [RFC5050], but are not defined there. The BP-MIB contains a set of Node- Specific objects that act as the list of Extensions Blocks that are available to the managed Node. These objects are arranged as a conceptual table that is indexed by the IANA defined Extension Block number (represented by bpExtBlockType). Also contained within the table is an OCTET STRING that acts as a human readable description of the table entry.
With the Node/Endpoint decision made, the next decision involved the representation of CLAs. Since multiple Nodes can share the use of CLAs, and since the characteristics of a CLA are implementation dependent, few objects were placed within the bpClaTable. Since it is likely that a CLA's managed objects (those stored in a MIB designed specifically for the management of the given CLA type) will maintain more specific information than that contained in the bpClaTable, two objects were created as a way to reference a CLA's MIB instance. These two objects are:
The bpClType and bpClID objects are also used as a solution to a specific design goal. This goal involves the ability to trace managed information down the protocol stack and is discussed in more detail in another section of this document.
We recognize that the network management needs of different DTN implementations will vary widely. The design of a MIB must balance between capturing all relevant, and potentially useful data, while also being mindful of the processing, memory, and storage requirements created by the need to collect, store, and report values for the objects defined in the MIB. For DTN, no one such balanced approach will cover all needs.
The MIB defined here uses the concept of Conformance Groups to allow different implementation to select the collection of objects to instrument for, in a standardized way. Two groups are mandatory:
All objects not in the two groups above are optional. These remaining objects are, however, grouped in (marked as optional) conformance groups to give network management applications more predictability as to the data that is available in a node implementation.
One of this MIB's primary goals is to enable managed information to be traceable throughout the protocol stack. Ultimately, this goal is achieved by creating either a direct or indirect reference to an entry in the ifTable [RFC2863]. To make this possible, the BP-MIB MUST have identifier(s) that can be used to reference the MIB instance of the layer beneath itself. The BP-MIB is designed in such a way that both direct and indirect references to an ifTable entry can be achieved. This was done by placing two objects within the bpClaTable: one that uniquely identifies the CL type (bpClType) and one that uniquely identifies an instance of managed information for the given type (bpClID). Direct references to an ifTable entry are achieved by setting bpClType = 1 (which means it is referring to an interface). Indirect references are achieved when referencing a CLA MIB which, in turn, references the layer beneath itself.
bpClType SHOULD be a standardized numeric value that identifies the type of Convergence Layer being used by the Convergence Layer Adapter.
bpClID, alternatively, is an arbitrary value chosen by the agent that uniquely identifies an instance of the MIB whose type is given by bpClType. The NMS responsible for the managed information can use this value to determine the OID of the desired CLA.
There are two objects in the bpClaTable that represent the number of Bundles passed into the BPA and out through the underlying CL (bpClInBndls and bpClOutBndls). Likewise, two additional objects exist to represent the amount of data passed between layers (bpClInBytes and bpClOutBytes). Though these values are not used for stack traversal, they are maintained as a way of offering a view of Bundle activity to/from each CLA from the perspective of a node.
The value in knowing the direction of data flow can be found in the use of certain equipment types. Spacecraft, for instance, are prone to utilizing an up-link that is different from the down-link. Scenarios similar to this are likely to result in the creation of two separate CLA MIB instances - one for each link. In these cases, a manager might desire knowing whether the underlying CL is capable of transmitting unidirectional traffic or bidirectional traffic. To represent this, the bpClaTable has been given the bpClaDirection object. The possible settings are inBound, outBound or biDirectional.
In an attempt to keep things modular, TRAP and INFORM objects have been left out of the BP-MIB. These objects SHOULD be designed in a separate MIB module which, if used, MUST be implemented in conjunction with the BP-MIB. Since the requirements of network management within a DTN are distinct from those in a timely environment, use of notifications may vary between DTN environments and timely environments.
Certain MIBs, such as those that manage high performance equipment, might contain mechanisms to store local data trends, simple statistical analysis, and bulk data counters (to avoid losing data when a counter resets to 0). The need for such mechanisms is likely to arise in certain DTN environments as well - but for different reasons. MIBs for high-performance equipment are likely to experience incredibly high counter iteration (essentially causing the counters to rollover before an NMS can retrieve the stored values) whereas a DTN is likely to accrue large amounts of data between NMS requests due to the constraints imposed by delay and disruption. However, in an attempt to keep things modular, statistic-based objects and trending objects have been considered beyond the scope of the BP-MIB. These objects, if any such objects are designed, SHOULD be put in a separate MIB module which MAY be implemented in conjunction with the BP-MIB, but can function independent of the BP- MIB.
BP-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises, MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Counter64, TimeTicks FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; bpMIB MODULE-IDENTITY LAST-UPDATED "201304301530Z" ORGANIZATION "Ohio University IRG" CONTACT-INFO " Zack Sims Phone: +1 (740)285-1895 Email: zack.sims@gmail.com Hans Kruse Phone: +1 (740) 593-4891 Email: kruse@ohio.edu Alt: hkruse1@mac.com" DESCRIPTION "This MIB module was designed for the management of Bundle Protocol (BP) Nodes, for the Endpoints they are members of, and for Node <===> CLA relationships. This MIB is structured in a way that Node-Specific objects are arranged separately from Endpoint and CLA -Specific objects. Objects which are Endpoint or CLA -Specific are arranged in Conceptual Rows within their own, respective, Conceptual Tables. Further, each instance of this module's objects represents a single managed Node. This means that a separate instantiation of the BP-MIB's objects will be forged for each Node being managed by the system. The layout of the MIB is arranged in the following order: * Node-Specific Definitions * Endpoint-Specific Definitions * CLA-Specific Definitions * Conformance Requirements for the BP-MIB" REVISION "201204191530Z" DESCRIPTION "201103130330Z The first public announcement of this MIB's creation on the DTNRG (Delay Tolerant Networking Research Group) mailing list. 201105191930Z The second release of the BP-MIB I-D (draft number 01). Changes include: * Adding CCSDS related objects (such as vrs#, Byte counts,and Extension Block tracking * Slight object renaming * Addition of temporary textual conventions for IANA requirements. 201204191530Z The third release of the BP-MIB I-D (draft number 02). Changes include: * Clarity and consistency of description fields * Object identity and purpose <===> sanity check * Cross-standard compatibility check <===> CCSDS BP managed objects" -- These values are temporary until a DTN-MIB can get an IANA -- sanctioned value of its own :) ::= { dtn 3 } dtn OBJECT IDENTIFIER ::= { collegeOfComm 3 } collegeOfComm OBJECT IDENTIFIER ::= { ohioUniv 42 } ohioUniv OBJECT IDENTIFIER ::= { enterprises 32396 } -- Node-Specific definitions bpNodeObjects OBJECT IDENTIFIER ::= { bpMIB 1 } --Needs discussion. Draft will specify that the managed node must maintain --a permanent registration in one singleton endpoint, which will serve as the node id. bpNodeID OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "An arbitrary value used to uniquely identify instances of the BP-MIB. This value can be used by other MIB definitions to reference instances of Bundle Node objects." ::= { bpNodeObjects 1 } --OK as written. bpBundleVersion OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value denotes which version number of the Bundle Protocol is being used by this Node." ::= { bpNodeObjects 2 } --OK as written. bpLastUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "Is a representation of the last time this Node was restarted and should be set by the system appropriately. Some implementations of the Bundle Protocol might choose to reset certain values when a Node is shutdown and brought back up. This value is NOT a mirror of sysUpTime. Since multiple Nodes can be running on a single system, this value represents the last time this Node was reset." ::= { bpNodeObjects 3 } --OK as written. bpAvailStorage OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the number of Kilo-Bytes currently available to this Node for the storage of bundles. The value ranges between 0 and (2^32) -1" ::= { bpNodeObjects 4 } --OK as written. bpBulkPriorGenBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles generated on this Node with a priority value of -bulk- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles generated at the local Node. Bundle priority settings are mentioned in section 4.2 of RFC 5050" ::= { bpNodeObjects 5 } --Move to optional group. bpBulkPriorGenBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes generated on this Node with a priority value of -bulk- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes generated at the local Node. Bundle priority settings are mentioned in section 4.2 of RFC 5050" ::= { bpNodeObjects 6 } --OK as written. bpNormPriorGenBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles generated on this Node with the priority value -normal- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles generated at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 7 } --Move to optional group. bpNormPriorGenBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes generated on this Node with the priority value -normal- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes generated at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 8 } --OK as written. bpExpPriorGenBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles generated on this Node with the priority value -expedited- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles generated at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 9 } --Move to optional group. bpExpPriorGenBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes generated on this Node with the priority value -expedited- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes generated at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 10 } --OK as written. bpBulkPriorQueuedBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles currently queued on this Node with the priority value -bulk- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 11 } --Move to optional group. bpBulkPriorQueuedBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes currently queued on this Node with the priority value -bulk- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 12 } --OK as written. bpNormPriorQueuedBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles currently queued on this Node with the priority value -normal- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 13 } --Move to optional group. bpNormPriorQueuedBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes currently queued on this Node with the priority value -normal- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 14 } --OK as written. bpExpPriorQueuedBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles currently queued on this Node with the priority value -expedited- Note: the sum of bpNormPriorGenBndls, bpBulkPriorGenBndls, and bpExpPriorGenBndls can be used to find the total of Bundles queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 15 } --Move to optional group. bpExpPriorQueuedBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes currently queued on this Node with the priority value -expedited- Note: the sum of bpNormPriorGenBytes, bpBulkPriorGenBytes, and bpExpPriorGenBytes can be used to find the total of Bytes queued at the local Node. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpNodeObjects 16 } --OK as written. bpReassemblyPendingBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bundles queued on this Node that have the retention constraint -Reassembly Pending- RFC 5050 mentions the Reassembly Pending retention constraint in Sections 5.7 and 5.9. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 17 } --Move to optional group. bpReassemblyPendingBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bytes queued on this Node that have the retention constraint -Reassembly Pending- RFC 5050 mentions the Reassembly Pending retention constraint in Sections 5.7 and 5.9. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 18 } --OK as written. bpDispatchPendingBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bundles queued on this Node that have the retention constraint -Dispatch Pending- RFC 5050 mentions the Dispatch Pending retention constraint in Sections 5.2, 5.4 and 5.6. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 19 } --Move to optional group. bpDispatchPendingBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bytes queued on this Node that have the retention constraint -Dispatch Pending- RFC 5050 mentions the Dispatch Pending retention constraint in Sections 5.2, 5.4 and 5.6. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 20 } --OK as written. bpForwardPendingBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bundles queued on this Node that have the retention constraint -Forward Pending- RFC 5050 mentions the Forward Pending retention constraint in Sections 5.4 and 5.4.2. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 21 } --Move to optional group. bpForwardPendingBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bytes queued on this Node that have the retention constraint -Forward Pending- RFC 5050 mentions the Forward Pending retention constraint in Sections 5.4 and 5.4.2. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 22 } --OK as written. bpCustodyAcceptedBndls OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bundles queued on this Node that have the retention constraint -Custody Accepted- RFC 5050 mentions the Custody Accepted retention constraint in Sections 5.7 and 5.9. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 23 } --Move to optional group. bpCustodyAcceptedBytes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the current number of Bytes queued on this Node that have the retention constraint -Custody Accepted- RFC 5050 mentions the Custody Accepted retention constraint in Sections 5.7 and 5.9. A retention constraint is any reason why a Bundle should not continue to be processed (whether it is waiting to reassemble fragments, dispatch, forward, or pass custody." ::= { bpNodeObjects 24 } --OK as written. bpCustodyFailureBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times this Node has failed to accept custody of incoming Bundles. RFC 5050 defines custody transfer failures in Sections 5.10.1 and 5.12" ::= { bpNodeObjects 25 } --Move to optional group. bpCustodyFailureBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes this Node has failed to accept under its custody. RFC 5050 defines custody transfer failures in Sections 5.10.1 and 5.12" ::= { bpNodeObjects 26 } --OK as written. bpForwardFailureBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bundles for which this Node has experienced a forwarding failure. RFC 5050 defines forwarding failures in Sections 5.4.1 and 5.4.2" ::= { bpNodeObjects 27 } --Move to optional group. bpForwardFailureBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes for which this Node has experienced a forwarding failure. RFC 5050 defines forwarding failures in Sections 5.4.1 and 5.4.2" ::= { bpNodeObjects 28 } --OK as written. bpAbandonedDeliveryBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bundles for which this Node has abandoned delivery. RFC 5050 defines abandonment in Section 3.1" ::= { bpNodeObjects 29 } --Move to optional group. bpAbandonedDeliveryBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes for which this Node has abandoned delivery. RFC 5050 defines abandonment in Section 3.1" ::= { bpNodeObjects 30 } --OK as written. bpDiscardedBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles this Node has discarded. RFC 5050 defines Bundle discarding in Section 3.1" ::= { bpNodeObjects 31 } --Move to optional group. bpDiscardedBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bytes this Node has discarded. RFC 5050 defines Bundle discarding in Section 3.1" ::= { bpNodeObjects 32 } --OK as written. bpFragmentedLocally OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has fragmented. RFC 5050 defines fragments in Section 3.1 and the fragmentation process in Section 5.8" ::= { bpNodeObjects 33 } --OK as written. bpFragmentsCreated OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundle Fragments that this Node has created locally. RFC 5050 defines fragments in Section 3.1 and the fragmentation process in Section 5.8" ::= { bpNodeObjects 34 } --OK as written. bpDelExpired OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -Lifetime Expired- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 35 } --OK as written. bpDelTransCancelled OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -Transmission Canceled- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 36 } --OK as written. bpDelDepStorage OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -Depleted Storage- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 37 } --OK as written. bpDelDestUnintel OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -Destination Endpoint ID Unintelligible- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 38 } --OK as written. bpDelNoRoute OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -No Known Route to Destination From Here- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 39 } --OK as written. bpDelUntimelyContact OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -No Timely Contact With Next Node on Route- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 40 } --OK as written. bpDelBlockUnintel OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -Block Unintelligible- RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 42 } --OK as written. bpDelNoAdditionalInfo OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Bundles that this Node has deleted based on -No additional information- Note, certain software implementations might include extensions to the Bundle Protocol. Since extensions are prone to errors other than those specified by RFC 5050, this value may or may not increment upon extension-related errors (a counter of these errors may be contained in the extension's MIB). It depends on the extension's MIB design and the instrumentation of that MIB. RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 42 } -- bpDelBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of bytes deleted by this Node RFC 5050 defines the Bundle deletion process in Section 5.13 and the deletion status report flags in Section 6.1.1" ::= { bpNodeObjects 43 } -- --The objects below were moved from endpoint to node level -- bpBundlesSentBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bundles that have been sent from this node. Bundle reception and the steps to handling these Bundles are discussed in RFC 5050, Section 5.6" ::= { bpNodeObjects 44 } --Move to optional group. bpBundlesSentBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bytes that have been sent from this node. Bundle reception and the steps to handling these Bundles are discussed in RFC 5050, Section 5.6" ::= { bpNodeObjects 45 } bpBundlesForwardedBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bundles that have been forwarded to a Node, from this Node. The steps to handling Bundle forwarding are discussed in RFC 5050, Section 5.4" ::= { bpNodeObjects 46 } --Move to optional group. bpBundlesForwardedBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bytes that have been forwarded to a Node, from this Node. The steps to handling Bundle forwarding are discussed in RFC 5050, Section 5.4" ::= { bpNodeObjects 47 } bpBundleDuplicatesBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the duplicate Bundles that have been received by this Node. NOTE: duplicate bundles are any bundle that arrives at a Node, but is already within that Node's storage." ::= { bpNodeObjects 48 } --Move to optional group. bpBundleDuplicatesBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of Bytes that were received as duplicate Bundles by this Node. NOTE: duplicate bundles are any bundle that arrives at a Node, but is already within that Node's storage." ::= { bpNodeObjects 49 } -- --End moved items -- --Nodes can request reports for bundle reception, custody acceptance, --bundle forwarding, bundle delivery, and bundle deletion. --MIB has been refactored to group these. They will be in non-mandatory conformance group. bpNodeAdminReports OBJECT IDENTIFIER ::= { bpNodeObjects 50 } bpBundleReceptions OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the -Bundle Reception- reports that this Node has received. The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 1 } bpCustodyAcceptance OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the -Custody Acceptance- reports that this Node has received. The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 2 } bpBundleForwarding OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the -Bundle Forwarding- reports that this Node has received. The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 3 } bpBundleDelivery OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the -Bundle Delivery- reports that this Node has received. The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 4 } --The bundle deletion report counters were moved from end-point to node level bpDelExpiredReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -Lifetime Expired- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 5 } bpDelTransCancelledReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -Transmission Canceled- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 6 } bpDelDepStorageReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -Depleted Storage- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 7 } bpDelDestUnintelReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -Destination Endpoint ID Unintelligible- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 8 } bpDelNoRouteReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -No Known Route to Destination From Here- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 9 } bpDelUntimelyContactReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -No Timely Contact With Next Node on Route- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 10 } bpDelBlockUnintelReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node with the reason -Block Unintelligible- The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 11 } bpDelNoAdditionalInfoReports OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of deletion reports received by this Node this Endpoint for the reason -No Additional Information- Note, certain software implementations might include extensions to the Bundle Protocol. Since extensions are capable of creating new status report types, this value may or may not increment from errors outside the scope of RFC 5050. (another MIB might manage this information). It depends on the extension's MIB design and the instrumentation of that MIB. The Bundle status report request fields are listed in Section 4.2 of RFC 5050. Each of the Bundle Status Reports are defined in RFC 5050, Section 5.1 and are described in greater detail in Section 6.1.1" ::= { bpNodeAdminReports 12 } --This object has been reworked (it incorrectly refered to a report) bpCustodySuccess OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the "Succeeded" custody signals that this Node has received. Custody signals requirements are described in sections 5.11 and 5.12. The custody signal format is described in 6.1.2" ::= { bpNodeAdminReports 13 } --This object has been added, paired with the object above. bpCustodyTranFail OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the "Failed" custody signals that this Node has received. Custody signals requirements are described in sections 5.11 and 5.12. The custody signal format is described in 6.1.2" ::= { bpNodeAdminReports 14 } -- --End Administrative Report counters................................................ -- -- -- --Extension Block Table Start .................................................... -- --OK as written. bpExtBlockTable OBJECT-TYPE SYNTAX SEQUENCE OF BPExtBlockEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table whose rows identify the Bundle Protocol Extension Blocks available to this Node." ::= { bpNodeObjects 49 } --OK as written. bpExtBlockEntry OBJECT-TYPE SYNTAX BPExtBlockEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object represents a single entry in bpExtBlockTable. Each entry denotes the extension block's type and offers a human readable description field." INDEX { bpExtBlockType } ::= { bpExtBlockTable 1 } BPExtBlockEntry ::= SEQUENCE { bpExtBlockType Integer32, bpExtBlockDisplayName OCTET STRING } --OK as written. bpExtBlockType OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of this object uniquely identifies the type of extension block being represented by this table entry. Each extension block type is uniquely represented by a positive integer. Note, this object is currently in need of IANA consideration and would most likely be better suited as a textual-convention." ::= { bpExtBlockEntry 1 } --OK as written. bpExtBlockDisplayName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "This is a human readable string value that stores either a block name or short description of this this table entry." ::= { bpExtBlockEntry 2 } -- --Extension Block Table End .................................................... -- -- -- Endpoint-Specific Definitions ............................................................ -- bpRegObjects OBJECT IDENTIFIER ::= { bpMIB 2 } --OK as written. bpRegCount OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value does NOT keep track of the number of Endpoints of which this Node is a member. Rather, it is directly related to the number of rows in the bpRegTable. Because Endpoints can be unregistered, this value may stay the same while the number of Endpoint registrations decreases. This value should never be set to 0 because every Node must be a member of at least one Singleton Endpoint; see RFC 5050, Section 3.1" ::= { bpRegObjects 1 } --OK as written. bpRegTable OBJECT-TYPE SYNTAX SEQUENCE OF BPRegEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Is a sequence of Endpoint registrations and exists as a conceptual table for storing each registration entry and its managed objects. Each registration is uniquely identifiable by its EID (Endpoint ID). Each Node should be a member of at least one Singleton Endpoint, so this table should always have a minimum of 1 entry; see RFC 5050, Section 3.1" ::= { bpRegObjects 2 } --OK as written. bpRegEntry OBJECT-TYPE SYNTAX BPRegEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row of bpRegTable that contains the Endpoint-Specific objects for Endpoints of which this Node is a member. Each entry can be uniquely identified by its bpEndpointID. There should be at least one bpRegEntry in the bpRegTable at all times whose bpIsSingleton value is set to true; see RFC 5050, Section 3.1" INDEX { bpRegIndex } ::= { bpRegTable 1 } --Updated sequence after refactoring BPRegEntry ::= SEQUENCE { bpRegIndex Integer32, bpEndpointID OCTET STRING, bpCurState BITS, bpIsSingleton BITS, bpDeliveryFailureAction BITS, bpBundlesDeliveredBndls Counter64, bpBundlesDeliveredBytes Counter64, bpBulkPriorRecvdBndls Counter64, bpBulkPriorRecvdBytes Counter64, bpNormPriorRecvdBndls Counter64, bpNormPriorRecvdBytes Counter64, bpExpPriorRecvdBndls Counter64, bpExpPriorRecvdBytes Counter64 } --OK as written. bpRegIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index value that uniquely denotes a conceptual row of the bpRegTable." ::= { bpRegEntry 1 } --OK as written. bpEndpointID OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "A string value representing the Endpoint ID of this registered Endpoint. Bundle Endpoints and Endpoint IDs are discussed in RFC 5050, Section 3.1" ::= { bpRegEntry 2 } --OK as written. bpCurState OBJECT-TYPE SYNTAX BITS { passive(0), active(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the BP (Bundle Protocol) on this Endpoint. Possible Values: * passive - 0 * active - 1 The active and passive states of a registered Endpoint are discussed in RFC 5050, Section 3.1" ::= { bpRegEntry 3 } --OK as written. bpIsSingleton OBJECT-TYPE SYNTAX BITS { false(0), true(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents whether or not this registered Endpoint is a Singleton. Possible Values: * false - 0 - Is not a Singleton Endpoint * true - 1 - Is a Singleton Endpoint Singleton Endpoints are discussed in RFC 5050, Section 3.1" ::= { bpRegEntry 4 } --OK as written. bpDeliveryFailureAction OBJECT-TYPE SYNTAX BITS { abandonDelivery(0), deferDelivery(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents whether the registered Endpoint's Delivery Failure Action is set to defer or abandon. Possible Values: * abandonDelivery - 0 - Abandon the Bundle's delivery * deferDelivery - 1 - Defer the Bundle's Delivery Bundle Delivery Failure Actions are discussed in RFC 5050, Section 3.1" ::= { bpRegEntry 5 } --OK as written. bpBundlesDeliveredBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bundles that have been delivered on this Node for this Endpoint Bundle delivery steps are discussed in RFC 5050, Section 5.7" ::= { bpRegEntry 6 } --Needs discussion? bpBundlesDeliveredBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A cumulative count of all the Bytes that have been delivered on this Node to this Endpoint Bundle delivery steps are discussed in RFC 5050, Section 5.7" ::= { bpRegEntry 7 } -- --Sent, Forwarded, and Duplicates moved to node level -- bpBulkPriorRecvdBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles sourced on this Node from this Endpoint with the priority value -bulk- Note: the sum of bpNormPriorRecvdBndls, bpBulkPriorRecvdBndls, and bpExpPriorRecvdBndls can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 8 } --Move to optional group. bpBulkPriorRecvdBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes sourced on this Node from this Endpoint with the priority value -bulk- Note: the sum of bpNormPriorRecvdBytes, bpBulkPriorRecvdBytes, and bpExpPriorRecvdBytes can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 9 } bpNormPriorRecvdBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles sourced on this Node from this Endpoint with the priority value -normal- Note: the sum of bpNormPriorRecvdBndls, bpBulkPriorRecvdBndls, and bpExpPriorRecvdBndls can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 10 } --Move to optional group. bpNormPriorRecvdBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes sourced on this Node from this Endpoint with the priority value -normal- Note: the sum of bpNormPriorRecvdBytes, bpBulkPriorRecvdBytes, and bpExpPriorRecvdBytes can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 11 } bpExpPriorRecvdBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bundles sourced on this Node from this Endpoint with the priority value -expedited- Note: the sum of bpNormPriorRecvdBndls, bpBulkPriorRecvdBndls, and bpExpPriorRecvdBndls can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 12 } --Move to optional group. bpExpPriorRecvdBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This keeps track of the number of Bytes sourced on this Node from this Endpoint with the priority value -expedited- Note: the sum of bpNormPriorRecvdBytes, bpBulkPriorRecvdBytes, and bpExpPriorRecvdBytes can be used to find the total of Bundles that have been received by this Node, from this Endpoint. Bundle priority settings are mentioned in Section 4.2 of RFC 5050" ::= { bpRegEntry 13 } -- --end end-point level administrative report counters have been moved to node level -- -- CLA-Specific Definitions bpClaObjects OBJECT IDENTIFIER ::= { bpMIB 3 } --OK as written. bpClaCount OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is a value that keeps track of how many rows are currently in the bpClaTable. This value does NOT necessarily reflect the current number of CLAs (Convergence Layer Adapters) available to this Node. Since CLAs are implementation dependent, there are few qualifiers for a generic set of CLA-related manageable objects. A single Node can have 0 or more CLAs available, so this value can be set to 0. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= {bpClaObjects 1 } --OK as written. bpClaTable OBJECT-TYPE SYNTAX SEQUENCE OF BPClaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Conceptual table contains the set of CLAs (Convergence Layer Adapters) that are available to this Node. A CLA is an interface between the BPA (Bundle Protocol Agent) and an internetwork protocol suite. CLAs and their functions are implementation specific, so this set of managed information doesn't contain much in the way of detail. The items in this table are similar to the ifStackTable in RFC 2863, albeit different in that it only tracks the layer below the BPA (because the Bundle Protocol rests at the application layer and anything above itself would be done as a tunnel). Each row represents a single CLA; what Convergence Layer it's using, and layer traversal information. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= {bpClaObjects 2 } --OK as written. bpClaEntry OBJECT-TYPE SYNTAX BPClaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents a single CLA (Convergence Layer Adapter) of this Node. A CLA, as defined in RFC 5050, is an interface between the Bundle Protocol Agent and an inter-network protocol suite. Each bpClaEntry contains a reference to the layer beneath the BPA or, worded differently, to its CL (Convergence Layer). It's the job of the bpClType object in each row to denote what type of protocol the CL is. If the underlying layer is not an inter-networking protocol, the bpClType is set to 1 (which signifies that it's an interface). CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" INDEX { bpClaIndex } ::= { bpClaTable 1 } --OK as written. BPClaEntry ::= SEQUENCE { bpClaIndex Integer32, bpClType Integer32, bpClaDisplayName OCTET STRING, bpClID OCTET STRING, bpClOutBndls Counter64, bpClOutBytes Counter64, bpClInBndls Counter64, bpClInBytes Counter64, bpClaDirection BITS } --OK as written. bpClaIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index value that is used to uniquely represent each conceptual row of the bpClaTable." ::= { bpClaEntry 1 } --OK as written. bpClType OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "With the desire to avoid dependence on any specific underlying protocols or protocol-suite, this value exists to specify the underlying CL (Convergence Layer) type being used by this CLA (Convergence Layer Adapter). Each known CL type will be associated to a unique integer value greater than 0. Doing this will help to avoid implementation inconsistencies. Each value herein uniquely represents a Convergence Layer type and, likewise, can be used in conjunction with the bpClID value to find managed information regarding an instance of the appropriate CLA's MIB. Convergence Layer Values: Interface 1 LTP 2 UDP 3 TCP 4 IP 5 DCCP 6 NOTE: if this convention becomes accepted, these values should probably make their way into a textual-convention rather than being loosely defined in a description block! CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 2 } --OK as written. bpClaDisplayName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "A string value that represents a locally assigned, human-readable name given to this CLA (Convergence Layer Adapter) by the BPA (Bundle Protocol Agent); assuming the BPA implementation has this capability. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 3 } --OK as written. bpClID OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "An arbitrary value that uniquely identifies an instance of managed information for the CLA (Convergence Layer Adapter) which is associated to this entry. Interpretation of this value is opaque to a user, but can be used by the management agent to determine which instance of a CLA's MIB is referenced by this table entry. The format of this UID ought to be determined by implementors of BPA (Bundle Protocol Agent) software and it should be noted that no two conceptual rows in the bpClaTable (for a given Node) should have the same bpClID value. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 4 } --OK as written. bpClOutBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A counter that keeps track of the number of Bundles passed from the BPA (Bundle Protocol Agent) to the CL (Convergence Layer) through this CLA (Convergence Layer Adapter). Note: CLA implementation compliance is limited in definition (see RFC 5050), and may result in many styles of CLA MIB implementation. Some may use a single CLA to handle inbound and outbound traffic. Other implementations may use one CLA for inbound traffic and a separate CLA for outbound. To know if this CLA is uni-directional or bidirectional, look at bpClaDirection. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 5 } --Needs discussion... ok bpClOutBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A counter that keeps track of the number of Bytes passed from the BPA (Bundle Protocol Agent) to the CL (Convergence Layer) through this CLA (Convergence Layer Adapter). Note: CLA implementation compliance is limited in definition (see RFC 5050), and may result in many styles of CLA MIB implementation. Some may use a single CLA to handle inbound and outbound traffic. Other implementations may use one CLA for inbound traffic and a separate CLA for outbound. To know if this CLA is uni-directional or bidirectional, look at bpClaDirection. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 6 } --OK as written. bpClInBndls OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A counter that keeps track of the number of Bundles passed to the BPA (Bundle Protocol Agent) from the CL (Convergence Layer) through this CLA (Convergence Layer Adapter). Note: CLA implementation compliance is limited in definition (see RFC 5050), and may result in many styles of CLA MIB implementation. Some may use a single CLA to handle inbound and outbound traffic. Other implementations may use one CLA for inbound traffic and a separate CLA for outbound. To know if this CLA is uni-directional or bidirectional, look at bpClaDirection. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 7 } --Needs discussion? bpClInBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "A counter that keeps track of the number of Bytes passed to the BPA (Bundle Protocol Agent) from the CL (Convergence Layer) through this CLA (Convergence Layer Adapter). Note: CLA implementation compliance is limited in definition (see RFC 5050), and may result in many styles of CLA MIB implementation. Some may use a single CLA to handle inbound and outbound traffic. Other implementations may use one CLA for inbound traffic and a separate CLA for outbound. To know if this CLA is uni-directional or bidirectional, look at bpClaDirection. CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 8 } --OK as written. bpClaDirection OBJECT-TYPE SYNTAX BITS { inBound(0), outBound(1), biDirectional(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "A value representing the nature of the CLA (Convergence Layer Adapter) and whether the BPA (Bundle Protocol Agent) can send/receive to/from the CL through the CLA. Some implementations of BP software, such as satellite software, may find it preferable to have uni-directional traffic while others may prefer to have a single entry resolve all traffic (bi-directional). Possible Values: * inBound - 0 - inbound traffic only * outBound - 1 - outbound traffic only * biDirectional - 2 - bi-directional traffic CLAs are described in RFC 5050 in Section 3.1 and CLs are discussed in Section 7" ::= { bpClaEntry 9 } -- Conformance Requirements for the BP-MIB bpConformance OBJECT IDENTIFIER ::= { bpMIB 4 } bpMIBCompliance OBJECT IDENTIFIER ::= { bpConformance 1 } bpCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance for Network Elements that are running a Bundle Protocol Implementation." MODULE -- --List of mandatory groups -- MANDATORY-GROUPS {bpNodeInfoGroup,bpNodeActivityGroup} -- --All groups below are optional -- GROUP bpNodeDelGroup DESCRIPTION "Node-Specific information that keeps counters for the different reasons a Bundle has been deleted on this Node. It also tracks a cumulative count of Bytes that have been on this Node." GROUP bpNodeStatisticsGroup DESCRIPTION "Objects in this group tracks cumulative counts of Bundles handled by this node." GROUP bpAdminReportGroup DESCRIPTION "Node-Specific information that keeps counters of administrative reports and custody signals received by the node. Nodes with sufficient resources may wish to track these counters for network diagnostics." GROUP bpRegInfoGroup DESCRIPTION "Endpoint-Specific information directly regarding the Node's Endpoint registrations. Things like: EID, state, and Singleton status." GROUP bpRegActivityGroup DESCRIPTION "Endpoint-Specific information that keeps counters for the amount of Bundles/Bytes sourced from and delivered to each endpoint." -- GROUP bpRegDelStatusGroup has been removed GROUP bpClaGroup DESCRIPTION "CLA-Specific Information that relates to a Bundle Node's Convergence Layer Adapters and the corresponding Convergence Layers themselves. Most nodes, especially those with multiple CLAs, should provide this information." GROUP bpNodeBndlVolGroup DESCRIPTION "This group is optional. Nodes with sufficient computing resources should track these object, while resource-restricted nodes can likely not perform this tracking" ::= { bpMIBCompliance 1 } -- BP MIB Group Definitions bpMIBGroups OBJECT IDENTIFIER ::= { bpConformance 2 } bpNodeInfoGroup OBJECT-GROUP OBJECTS { bpNodeID, bpBundleVersion, bpLastUpTime, bpAvailStorage, bpBulkPriorQueuedBndls, bpNormPriorQueuedBndls, bpExpPriorQueuedBndls, bpReassemblyPendingBndls, bpDispatchPendingBndls, bpForwardPendingBndls, bpCustodyAcceptedBndls, bpExtBlockDisplayName } STATUS current DESCRIPTION "Node-Specific information regarding the Node itself and the counts of Bundles which are currently queued by it." ::= { bpMIBGroups 1 } bpNodeActivityGroup OBJECT-GROUP OBJECTS { bpBulkPriorGenBndls, bpNormPriorGenBndls, bpExpPriorGenBndls, bpCustodyFailureBndls, bpForwardFailureBndls, bpAbandonedDeliveryBndls, bpDiscardedBndls, bpFragmentedLocally, bpFragmentsCreated, } STATUS current DESCRIPTION "Node-Specific objects that offer a view of what a Node has done locally and what sorts of actions or events the Node may have undergone." ::= { bpMIBGroups 2 } bpNodeDelGroup OBJECT-GROUP OBJECTS { bpDelExpired, bpDelTransCancelled, bpDelDepStorage, bpDelDestUnintel, bpDelNoRoute, bpDelUntimelyContact, bpDelBlockUnintel, bpDelNoAdditionalInfo, bpDelBytes } STATUS current DESCRIPTION "Node-Specific information that keeps counters for the different reasons a Bundle has been deleted on this Node. It also tracks a cumulative count of Bytes that have been on this Node." ::= { bpMIBGroups 3 } bpNodeStatisticsGroup OBJECT-GROUP OBJECTS { bpBundlesSentBndls, bpBundlesSentBytes, bpBundlesForwardedBndls, bpBundlesForwardedBytes, bpBundleDuplicatesBndls, bpBundleDuplicatesBytes } STATUS current DESCRIPTION "Statistics on bundle handling by this node" ::= { bpMIBGroups 4 } bpAdminReportGroup OBJECT-GROUP OBJECTS { bpBundleReceptions, bpCustodyAcceptance, bpBundleForwarding, bpBundleDelivery, bpDelExpiredReports, bpDelTransCancelledReports, bpDelDepStorageReports, bpDelDestUnintelReports, bpDelNoRouteReports, bpDelUntimelyContactReports, bpDelBlockUnintelReports, bpDelNoAdditionalInfoReports, bpCustodySuccess, bpCustodyTranFail } STATUS current DESCRIPTION "Endpoint-Specific information that keeps counters for the number of status reports and custody signals received on this Node." ::= { bpMIBGroups 5 } bpRegInfoGroup OBJECT-GROUP OBJECTS { bpRegCount, bpEndpointID, bpCurState, bpIsSingleton, bpDeliveryFailureAction } STATUS current DESCRIPTION "Endpoint-Specific information directly regarding the Node's Endpoint registrations. Things like: EID, state, Singleton status, and delivery failure action." ::= { bpMIBGroups 6 } bpRegActivityGroup OBJECT-GROUP OBJECTS { bpBundlesDeliveredBndls, bpBundlesDeliveredBytes, bpBulkPriorRecvdBndls, bpBulkPriorRecvdBytes, bpNormPriorRecvdBndls, bpNormPriorRecvdBytes, bpExpPriorRecvdBndls, bpExpPriorRecvdBytes } STATUS current DESCRIPTION "Endpoint-Specific information that keeps counters for the amount of Bundles/Bytes sourced from and delivered to each endpoint." ::= { bpMIBGroups 7 } bpClaGroup OBJECT-GROUP OBJECTS { bpClaCount, bpClType, bpClaDisplayName, bpClID, bpClOutBndls, bpClOutBytes, bpClInBndls, bpClInBytes, bpClaDirection } STATUS current DESCRIPTION "CLA-Specific Information that relates to a Bundle Node's Convergence Layer Adapters and the corresponding Convergence Layers themselves" ::= { bpMIBGroups 8 } bpNodeBndlVolGroup OBJECT-GROUP OBJECTS { bpBulkPriorQueuedBytes, bpNormPriorQueuedBytes, bpExpPriorQueuedBytes, bpReassemblyPendingBytes, bpDispatchPendingBytes, bpForwardPendingBytes, bpCustodyAcceptedBytes, bpBulkPriorGenBytes, bpNormPriorGenBytes, bpExpPriorGenBytes, bpCustodyFailureBytes, bpForwardFailureBytes, bpAbandonedDeliveryBytes, bpDiscardedBytes } STATUS current DESCRIPTION "Node-Specific information the volume (bytes) of data which are currently queued by it. Bundle counts are in the bpNodeInfoGroup." ::= { bpMIBGroups 9 } END
Extensive thanks is given to Dovel Myers, Gilbert Clark, Josh Schendel, and the family of Ohio University's Internetworking Research Group Laboratory for their contributions on the MIB's design and how it might inter-relate with other DTN-related MIBs. Many of the more recent design changes in the MIB are based on input from Scott Burleigh at JPL and Ed Birraine at APL.
This section has work to be done. IANA considerations do include: the standardization of numbers to uniquely identify Convergence Layer types; creation of a Textual-Convention for bpClType; and creation of a Textual-Convention for bpExtBlockType.
Though SNMPv3 is the current de facto standard of network management protocols, there is no guarantee that this will hold true in the DTN architecture. With this in mind, any protocols used SHOULD consider, to the fullest feasible extent, the security measures used in SNMPv3. Design of such protocols SHOULD consider the lessons learned in the terrestrial Internet. The following paragraphs address issues specific to SNMP, but may still hold relevance for DTN network management mechanisms.
There are no management objects defined in this MIB module that have a MAX-ACCESS clause of read-write and/or read-create. So, if this MIB module is implemented correctly, then there is no risk that an intruder can alter or create any management objects of this MIB module via direct SNMP SET operations.
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC2578] | McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. |
[RFC2579] | McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. |
[RFC2580] | McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. |
[RFC2863] | McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. |
[RFC4838] | Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, R., Scott, K., Fall, K. and H. Weiss, "Delay-Tolerant Networking Architecture", RFC 4838, April 2007. |
[RFC5050] | Scott, K. and S. Burleigh, "Bundle Protocol Specification", RFC 5050, November 2007. |
[RFC3410] | Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. |