Email This Page
NHRP: Next Hop Resolution Protocol
Next Hop Resolution Protocol (NHRP) is used by a source station (host or router) connected to a Non-Broadcast, Multi-Access (NBMA) subnetwork to determine the internetworking layer address and NBMA subnetwork addresses of the "NBMA next hop" towards a destination station. If the destination is connected to the NBMA subnetwork, then the NBMA next hop is the destination station itself. Otherwise, the NBMA next hop is the egress router from the NBMA subnetwork that is "nearest" to the destination station. NHRP is intended for use in a multiprotocol internetworking layer environment over NBMA subnetworks.
NHRP Resolution Requests traverse one or more hops within an NBMA subnetwork before reaching the station that is expected to generate a response. Each station, including the source station, chooses a neighboring NHS to which it will forward the NHRP Resolution Request. The NHS selection procedure typically involves applying a destination protocol layer address to the protocol layer routing table which causes a routing decision to be returned.
This routing decision is then used to forward the NHRP Resolution Request to the downstream NHS. The destination protocol layer address previously mentioned is carried within the NHRP Resolution Request packet. Note that even though a protocol layer address was used to acquire a routing decision, NHRP packets are not encapsulated within a protocol layer header but rather are carried at the NBMA layer using the encapsulation described in its own header.
Protocol Structure - NHRP: Next Hop Resolution Protocol
| 8 |
16 |
24 |
32 bit |
|
ar$afn |
ar$pro.type |
|
ar$pro.snap |
|
ar$pro.snap |
ar$hopcnt |
ar$pkstz |
|
ar$chksum |
ar$extoff |
|
ar$op.version |
ar$op.type |
ar$shtl |
ar$sstl |
- ar$afn - Defines the type of link layer address being carried.
- ar$pro.type - This field is unsigned integer reserved for various use.
- ar$pro.snap - where a protocol has an assigned number in the ar$pro.type space (excluding 0x0080) the short form MUST be used when transmitting NHRP messages. If both Ethertype and NLPID codings exist then when transmitting NHRP messages, the Ethertype coding MUST be used. When ar$pro.type has a value of 0x0080, a snap encoded extension is being used to encode the protocol type.
- ar$hopcnt - The hop count. This indicates the maximum number of NHSs that an NHRP packet is allowed to traverse before being discarded.
- ar$pktsz - The total length of the NHRP packet in octets.
- ar$chksum - The standard IP checksum over the entire NHRP packet.
- ar$extoff - This field identifies the existence and location of NHRP extensions.
- ar$op.version - This field indicates what version of generic address mapping and management protocol is represented by this message.
- ar$op.type - If the ar$op.version is 1 then this field represents the NHRP packet type. Possible values for packet types are:
|
1 |
NHRP Resolution Request. |
|
2 |
NHRP Resolution Reply. |
|
3 |
NHRP Registration Request. |
|
4 |
NHRP Registration Reply. |
|
5 |
NHRP Purge Request. |
|
6 |
NHRP Purge Reply. |
|
7 |
NHRP Error Indication. |
- ar$shtl - The type and length of the source NBMA address interpreted in the context of the address family number.
- ar$sstl - The type and length of the source NBMA subaddress interpreted in the context of the "address family number".
Related Protocols
ARP , NBMA
Sponsor Source
NHRP is defined by IETF (www.ietf.org ) in RFC 2332.
Reference
|