RFC 2583 (rfc2583) - Page 2 of 9
Guidelines for Next Hop Client (NHC) Developers
Alternative Format: Original Text Document
RFC 2583 Guidelines for NHC Developers May 1999
circuit to improve performance when needed.
The NHS code replaces the ATMARP code in the ATMARP server. Each NHS
serves a set of destination client hosts and cooperates with other
NHSs to resolve NHRP next hop requests within their own logical ATM
network. The NHC to NHS and NHS to NHS protocol interactions are
described in [2]. Other documents in the NHRP series define the
general applicability [3] and the transition from ATMARP servers to
NHSs [4].
The NHC code replaces the ATMARP code in the local workstations.
This code will take the destination IP address and map it into the
ATM End Station Address (AESA) for both intra and inter LIS
destinations. The returned AESA will be stored in a local cache
table. In addition to storing the positive replies, the NHC will
need to store the negative replies to avoid making repeated NHS calls
when using the routed path.
This document describes a base line method for caching the returned
information. Other methods may be used as long as the same
functionality is provided.
3. IP Processing
In the Classical IP LIS model [1] the TCP/IP protocol stack treats
the ATM network as a simple data link layer protocol. When an
application sends data using the Classical IP protocol, IP performs a
routing table lookup to determine if the destination is reachable via
a local interface or whether an intermediate router is the next hop
to the IP destination.
If the destination is found to be local (e.g. in the same LIS as the
source) the packet will be passed to the local ATM interface with the
next hop IP address set to the destination nodes IP address. At this
point the ATMARP table will be searched to determine the ATM Address
of the destination node. If no ATMARP table entry is found an ATMARP
request will be sent to the ATMARP server. This server can reply
with a positive (ACK) or negative (NAK) answer depending on the
current information it has in its cache. If an ACK is received the
host's local ATMARP table is filled in appropriately and the source
is now able to send IP datagrams to the destination. If a NAK is
returned, the calling application is notified of this error condition
(e.g., ICMP destination unreachable).
If the destination is found to be remote (e.g., in a different LIS
from the source) the IP address of the next hop router is extracted
from the IP routing table and the ATM Address of this router is
looked up in the ATMARP table. Since the router is in the same LIS
Carlson & Winkler Informational