IPv6 ND Redirect Function
The last of the major responsibilities of the IPv6 Neighbor Discovery protocol is the redirect function. This is used by a router to inform a host of a better route to use for datagrams sent to a particular destination. An argument could be made that the redirect function should be part of the host-router group since it represents a form of communication between routers and regular hosts. However, it is somewhat different from the other discovery functions and so the standard treats it separately.
Routers are responsible for detecting situations where a host on the local network has made an inefficient first-hop routing decision, and then attempting to correct it. For example, consider a network that has two routers on it, R1 and R2. A host H1 wants to send a datagram to device X2 on another network that is connected to H1's network through router R2. If H1 sends the datagram to R1, R1 will of course know it has to go through R2 and will send it there. Seeing that R2 was also on the local network, R1 therefore knows that H1 made a poor initial routing decision: the datagram should have been sent to R2 directly, not R1. If this sounds very similar to ICMPv4 redirect feature, thats because it is.
In response, R1 will create a special Redirect ICMPv6 message. This message will tell H1 that for any subsequent datagrams to be sent to X2 should be first sent to R2 instead of R1. It is also possible that a router may determine other situations where the first hop from a particular host should be different and will advise the host using a Redirect message. This is illustrated in Figure 170.
Only routers send Redirect messages, not hosts. Hosts are responsible for looking for these Redirect messages and processing them. A host receiving such a message will look in it to see which destination's datagram led to the redirect, and which new first hop the router is saying the host should use in the future for that destination. In this case, H1 will see that R1 is saying any further datagrams to X2 should be sent to R2 instead of R1. H1 will update its destination cache for X2 accordingly.
When a router sends a Redirect, it may also include in the message the data link layer address of the destination to which it is redirecting. This address is used by the host to update its address resolution cache, if necessary. This may save bandwidth in the future by eliminating an address resolution cycle, when the redirected host tries to send to the new, redirected location. In our example, R1 may include R2s own layer two address in the redirect. This can be used by H1 the next time it has a datagram for X2.
IPv6 also supports authentication of Redirect messages, to prevent unauthorized devices from causing havoc by sending inappropriate Redirects. A host may be configured to discard Redirects that are not properly authenticated.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.