ndp.7p (2010 09)
n
ndp(7P) ndp(7P)
• Processing router advertisements.
This rule discusses what actions should be taken on receipt of router advertisements.
• Timing out prefixes and default routers.
Whenever routers send router advertisements, they include the lifetime of the router as well as
the prefixes that they advertise. NDP specifies what actions the host should take when these
lifetimes expire.
• Selecting a default router.
When there is more than one router in the link, the default router selection algorithm comes
into effect. This algorithm helps select the default router based on factors like reachability,
etc.
• Sending a router solicitation.
When an interface is enabled, a host need not wait for the unsolicited router advertisement.
Instead, it can send a router solicitation and get a router advertisement as a response. This
will help in receiving the default router and prefix information as soon as the interface is
enabled.
3. Algorithm for Sending a Packet
Any IPv6 host is required to maintain some data structures that will be used by the algorithm for
sending a packet. These data structures are:
Neighbor Cache
A set of entries that will maintain IPv6 Address to link-layer address mappings for neighbors
to which a packet has been sent recently. In addition to that it maintains information needed
for neighbor unreachability detection like the reachability state, etc.
Destination Cache
A set of entries for hosts to whom packets have been sent recently. This includes hosts which
are both on-link and off-link. It contains a level of indirection to the neighbor cache.
Prefix List
This is a list of prefixes which define the set of IPv6 address that are on-link. This information
is maintained on a per interface basis. Typically this list is built from Router Advertisements
received from the router.
Default Router List
A list of routers which will forward packets on behalf of this host. This list will again have a
pointer to a neighbor cache entry for the respective router.
A host will use the above data structures while sending a packet to a host. Following is the concep-
tual algorithm for sending a packet to a unicast destination.
a. Before a packet is sent out, the next hop should be determined. Normally, next hop determi-
nation is not done on all packets. The results of a next hop determination are stored in the
destination cache. The host should first check the destination cache for any entry that
matches with the current destination address. If it finds a match, then it proceeds to step c,
below.
b. If there is no entry for the destination in the destination cache, a longest prefix match is made
with all prefixes in the prefix list. If there is a match, the destination is determined to be on-
link and the destination address will be considered as the next hop. Otherwise, the next hop is
determined from the routing table.
c. Once the next hop is determined, the address resolution process and neighbor unreachability
detection are done for the next hop. This process is explained in the next section.
d. Once the neighbor is known to be reachable, the packet is sent to that destination.
4. Address Resolution and Neighbor Unreachability Detection
Address resolution is a process used to determine the link-layer address of a neighbor. The IPv6
Address to link-layer address mapping found through this process is cached in the Neighbor Cache.
Following are the steps involved in Address Resolution.
a. First, the neighbor cache is checked for an entry which matches the current destination
address. If the entry is not present, the host sends a Neighbor Solicitation Message to the
2 Hewlett-Packard Company − 2 − HP-UX 11i Version 3: September 2010