With the CLIP, (as mentioned before), inter-LIS communications have to go through routers. This is not an optimal solution when both nodes communicate with each other are attached to the same ATM network. A mechanism is needed for an end system to resolve the IP address of another end system in a foreign LIS into the corresponding ATM address. The NBMA (Non Broadcast, Multi Access) NHRP protocol, developed by the IETF, overcomes this limitation and provides this mechanism. The term NBMA means an network technology such as ATM, Frame Relay or the X.25, which does not easily permit the use of broadcast mechanism and which allows the nodes to establish direct communication with each other.
Figure 2 NHRP operation
A physical NBMA network may be partitioned into several logical NBMA subnetworks. There are one or more entities within the NBMA subnetwork, that implement the NHRP protocol : Next Hop Servers (NHSs) and NHRP Clients (NHCs). NHS is capable of answering to NHRP Resolution Request and to maintain "next hop resolution " cache which contains IP to ATM address mappings of all those nodes associated with particular NHS and table of IP address prefixes reachable through nodes served by the NHS. The cache is constructed from information obtained from registration packets (NHC are configured with the IP and ATM addresses its NHS(s)) and learning from NHRP resolution request/reply packets. The NHCs also maintains a cache of IP-to-ATM address mappings.
The protocol works as follows (Figure 3.2.1). When a node has a packet to transmit across the NBMA network, and hence it needs to resolve a particular ATM address of destination, it sends NHRP request packet to its NHS. If requested destination is served by this NHS, it returns the address in a NHRP reply message to the requester. So far, the NHS behaves as an ATMARP server, and in LISs (where NHC and ATMARP clients coexist) NHSs are coupled with the function of ATMARP server. Limitation of an ATMARP server is that it can resolve an IP address that belongs only to the LIS, not to another LIS and NHS can.
If the NHS does not know an answer, it looks at its routing table (NHS works as a router, too) to determine the NHS next on the path to the destination address and forwards a request. At this next NHS, the same algorithm is used until a NHS is reached, that serves the destination and it will reply with corresponding ATM address to the requester. The reply travels back through the NHSs and an intermediate NHS may cache the IP to ATM mapping. Once the sender know the ATM address of the receiver, the direct connection can be established.
When resolution process is triggered, the source may (while awaiting reply), choose from : drop the packet, retain the packet until reply (NHRP resolution Reply) arrives and a more optimal data path is available, or it can forward the packet along the default path toward the receiver [NHRP].
NHRP also allows some optional features as route recording, detection of loops within NBMA network, address aggregation (with the address a network mask is provided that is associated with this address cached and used for protection for nonauthoritative request).