Definition of Managed Objects for the Neighborhood Discovery Protocol
obsoleted by
- rfc-7939 — Definition of Managed Objects for the Neighborhood Discovery Protocol
Extracted elements (28)
Float32TC objects (nhdpHystAcceptQuality, nhdpHystRejectQuality, nhdpInitialQuality) cannot carry DEFVAL clauses because SMIv2 range constraint mechanisms are unavailable for OCTET STRING-based textual conventions as defined in RFC 6340. Default values are specified only in DESCRIPTION clauses.
L_quality is intentionally excluded from nhdpIibLinkSetTable because link quality values may need to be updated too frequently to be practical for MIB polling. All other Link Tuple fields (L_HEARD_time, L_SYM_time, L_pending, L_lost, L_time) are included.
Two or more NeighborIfIndex values may point to address sets that actually belong to the same neighbor interface, and similarly for NeighborRouterIndex, because NHDP may initially discover distinct address sets before topology information allows it to associate them. The MIB agent is responsible for aggregating and retiring indexes as knowledge increases.
Two TEXTUAL-CONVENTIONs, NeighborIfIndex and NeighborRouterIndex, are defined to bridge NHDP's dynamic address-set-based neighbor identification and SMIv2's requirement for statically defined table indexes. Without this mapping, it would be impossible to index MIB tables using NHDP's variable-length address sets.
NeighborIfIndex and NeighborRouterIndex are designed to be locally common between the NHDP-MIB module and any dependent routing protocol MIB module on the same router. Both MIB modules SHOULD use these indexes to enable cross-referencing of state information.
Only InetAddressType values 'ipv4(1)' and 'ipv6(2)' are supported throughout the NHDP-MIB module. InetAddress fields are constrained to SIZE(4|16) bytes accordingly.
The NHDP-MIB module does not duplicate objects from the System group of SNMPv2-MIB (RFC 3418), which is mandatory for all systems. NHDP-MIB imports from SNMPv2-SMI, SNMPv2-TC, SNMPv2-CONF, IF-MIB, INET-ADDRESS-MIB, and FLOAT-TC-MIB.
A router SHOULD NOT originate expected notifications until a predefined time interval has elapsed after NHDP is first enabled on an interface. It is RECOMMENDED that this interval be at least 3 × nhdpHelloInterval, so that symmetric neighbors are discovered before notification emission begins.
Configuration parameters in the NHDP-MIB MUST follow the same constraints and default values defined in RFC 6130. For all configuration parameters, the same constraints as defined in RFC 6130 are to be followed; refer to RFC 5148 for jitter-related parameter guidance.
If the value of nhdpIfRowStatus is not equal to 'active(1)', all associated entries in nhdpLibLocalIfSetTable, nhdpInterfaceStateTable, nhdpIibLinkSetTable, and nhdpInterfacePerfTable MUST be deleted.
It is RECOMMENDED that the notification rate threshold be set to 10 occurrences within a time window of at least 5 × nhdpHelloInterval. Only one notification is sent per event. This is more conservative than the RFC 4750 OSPF recommendation because NHDP operates on lossier wireless channels.
nhdpIfIndex MUST correspond to an ifIndex referring to a valid entry in the Interfaces Table (RFC 2863). If the corresponding ifTable entry is deleted, the nhdpInterfaceTable entry is automatically deleted and NHDP is disabled on that interface.
The value for each NeighborRouterIndex MUST remain constant at least from one re-initialization of the network management agent to the next, except if an application is deleted and re-created. A NeighborRouterIndex value MUST NOT be reused until the next agent restart.
There SHOULD be an entry in nhdpIibLinkSetTable for each local interface and associated 1-hop neighbor reachable on that interface, tracking L_HEARD_time, L_SYM_time, L_pending, L_lost, and L_time.
When an object in a row with nhdpIfRowStatus of 'active(1)' is changed, the updated value MUST be reflected in the running NHDP instance and MUST be written to non-volatile storage.
When the agent determines that two NeighborIfIndex values refer to the same physical neighbor interface, it MUST aggregate the two address sets to a single index and MUST update all MIB tables indexed by NeighborIfIndex. Freed index values MAY be reused after the next agent restart.
nhdpDiscIfSetTable provides the local mapping between discovered neighbor interface address sets and locally assigned NeighborIfIndex/NeighborRouterIndex values, enabling cross-referencing across NHDP-MIB state tables and dependent routing protocol MIB modules.
nhdpIib2HopSetTable records symmetric 2-hop neighbor addresses indexed by {nhdpIfIndex, nhdpDiscIfIndex, nhdpIib2HopSetIpAddressType, nhdpIib2HopSetIpAddress}. Each entry stores the prefix length, the NeighborIfIndex of the 1-hop relay, and an expiry timestamp (nhdpIib2HopSetN2Time).
nhdpIibLinkSetTable records per-local-interface Link Set state, indexed by {nhdpIfIndex, nhdpDiscIfIndex}. Fields are nhdpIibLinkSetLHeardTime, nhdpIibLinkSetLSymTime, nhdpIibLinkSetLPending (TruthValue), nhdpIibLinkSetLLost (TruthValue), and nhdpIibLinkSetLTime (expiry). L_quality is deliberately excluded.
nhdpInterfaceTable configures NHDP per interface (indexed by nhdpIfIndex). Per-row parameters include nhdpHelloInterval (default 2000 ms), nhdpHelloMinInterval (default 500 ms), nhdpRefreshInterval (default 2000 ms), nhdpLHoldTime (default 6000 ms), nhdpHHoldTime (default 6000 ms), link quality thresholds, and jitter maxima.
nhdpLibLocalIfSetTable records all local MANET interface addresses as Local Interface Address Tuples. Each row stores an InetAddressType (IPv4 or IPv6 only), InetAddress (4 or 16 octets), InetAddressPrefixLength, and the associated nhdpIfIndex. The table is manager-created.
nhdpLibRemovedIfAddrSetTable records recently removed local interface addresses as Removed Interface Address Tuples containing (IR_local_iface_addr, IR_time). Entries expire at the time indicated by nhdpLibRemovedIfAddrSetIRTime. If local addresses are immutable, this table is always empty and may be omitted.
nhdpNibNeighborSetTable records all 1-hop neighbors indexed by nhdpDiscRouterIndex, with a single field nhdpNibNeighborSetNSymmetric (TruthValue) corresponding to N_symmetric in RFC 6130.
The NHDP-MIB module is structured into three object groups: nhdpConfigurationObjGrp (per-interface and router-wide parameters mirroring RFC 6130 configuration), nhdpStateObjGrp (information bases corresponding to RFC 6130 Sections 6–8), and performance group tables tracking counters per interface, discovered interface, neighbor router, and 2-hop neighbor.
IANA assigned OID { mib-2 213 } to the NHDP-MIB module (nhdpMIB MODULE-IDENTITY). This registration appears in the SMI Numbers registry.
State and performance objects in the NHDP-MIB expose the topology of the MANET including neighbor addresses, link symmetry, and 2-hop neighbor reachability. Access to these read-only objects should be restricted to authorized management stations to prevent topology reconnaissance by adversaries.
The NHDP-MIB contains read-create and read-write objects (HELLO intervals, hold times, hysteresis thresholds, row creation) whose unauthorized modification could disrupt NHDP neighbor discovery across the MANET. Implementors SHOULD use SNMPv3 with authentication and privacy (authPriv) to protect write access.
The notification suppression window is triggered when nhdpIfStatus transitions from 'false(2)' (default) to 'true(1)'. During the suppression window (minimum 3 × nhdpHelloInterval), expected neighbor discovery notifications SHOULD NOT be emitted. After the window, normal throttling rules apply.