<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="GENERATOR" content="Quadralay WebWorks AutoMap 2003 Platinum Edition Client for FrameMaker 8.6.6597.0" />
    <meta name="TEMPLATEBASE" content="emwebh8-1-17" />
    <meta name="LASTUPDATED" content="08/01/13 14:48:20" />
    <title>IPv6 Neighbor Solicitation and Advertisement Messages </title>
    <!-- Copyright 2010-2013, Cisco Systems, Inc. All rights reserved. -->

    <link rel="StyleSheet" href="document.css" type="text/css" />
    <link rel="StyleSheet" href="catalog.css" type="text/css" />


<script> 
    var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
   
    if(is_chrome){document.domain=document.domain}
   </script>
    <script type="text/javascript" language="JavaScript1.2" src="expand.js"></script>
    <script type="text/javascript" language="JavaScript1.2" src="page.js"></script>

    <script type="text/javascript" language="JavaScript1.2">
     <!--
      function  WWNoOp() {}
      function  WWNoValue() { return ""; }

      var  VarDropDown;

      if (typeof(HTMLHelp_Object) != "undefined")
      {
        VarDropDown = new WWDropDown_Object();
      }
      else
      {
        VarDropDown = new Object();
        VarDropDown.fAnchorOpen  = WWNoOp;
        VarDropDown.fAnchorClose = WWNoOp;
        VarDropDown.fDIVOpen  = WWNoOp;
        VarDropDown.fDIVClose = WWNoOp;
      }
     // -->
    </script>

  
<SCRIPT language="javascript">
<!--
  self.document.write("<link href='"+top.relPath+"shared/style.css' rel='stylesheet' type='text/css'>");
  myid=2176;
  self.document.write("<script type='text/javascript' language='JavaScript' src='"+top.relPath+"shared/con_utils.js'></scr"+"ipt>");
//-->
</SCRIPT>
</head>

  <body onload="highlightSearchTerms();" bgcolor="#ffffff">

    
    <blockquote>
    <a name="top"></a>

    
    


<a name="wp1073102"> </a><h1 class="pTitle">
IPv6 Neighbor Solicitation and Advertisement Messages

</h1>
<a name="wp1073103"> </a><p class="pBody">
A value of 135 in the Type field of the ICMP packet header identifies a neighbor solicitation message. 
Neighbor solicitation messages are sent on the local link when a node wants to determine the link-layer 
address of another node on the same local link.  When a node wants to determine the link-layer address 
of another node, the source address in a neighbor solicitation message is the IPv6 address of the node 
sending the neighbor solicitation message. The destination address in the neighbor solicitation message 
is the solicited-node multicast address that corresponds to the IPv6 address of the destination node. The 
neighbor solicitation message also includes the link-layer address of the source node.

</p>
<a name="wp1073114"> </a><p class="pBody">
After receiving the neighbor solicitation message, the destination node replies by sending a neighbor 
advertisement message, which has a value of 136 in the Type field of the ICMP packet header, on the 
local link. The source address in the neighbor advertisement message is the IPv6 address of the node 
(more specifically, the IPv6 address of the node interface) sending the neighbor advertisement message. 
The destination address in the neighbor advertisement message is the IPv6 address of the node that sent 
the neighbor solicitation message. The data portion of the neighbor advertisement message includes the 
link-layer address of the node sending the neighbor advertisement message.

</p>
<a name="wp1073115"> </a><p class="pBody">
After the source node receives the neighbor advertisement, the source node and destination node can 
communicate.

</p>
<a name="wp1073116"> </a><p class="pBody">
Neighbor solicitation messages are also used to verify the reachability of a neighbor after the link-layer 
address of a neighbor is identified. When a node wants to verifying the reachability of a neighbor, the 
destination address in a neighbor solicitation message is the unicast address of the neighbor.

</p>
<a name="wp1073117"> </a><p class="pBody">
Neighbor advertisement messages are also sent when there is a change in the link-layer address of a node 
on a local link. When there is such a change, the destination address for the neighbor advertisement is 
the all-node multicast address.

</p>
<a name="wp1073118"> </a><p class="pBody">
Neighbor solicitation messages are also used to verify the reachability of a neighbor after the link-layer 
address of a neighbor is identified. Neighbor unreachability detection identifies the failure of a neighbor 
or the failure of the forward path to the neighbor, and is used for all paths between hosts and neighboring 
nodes (hosts or routers). Neighbor unreachability detection is performed for neighbors to which only 
unicast packets are being sent and is not performed for neighbors to which multicast packets are being 
sent.

</p>
<a name="wp1073119"> </a><p class="pBody">
A neighbor is considered reachable when the neighbor returns a positive acknowledgment indicating that 
it has received and processed packets previously sent to it. A positive acknowledgment could be from an 
upper-layer protocol such as TCP indicating that a connection is making forward progress (reaching its 
destination) or the receipt of a neighbor advertisement message in response to a neighbor solicitation 
message. If packets are reaching the peer, they are also reaching the next-hop neighbor of the source. 
Therefore, forward progress is also a confirmation that the next-hop neighbor is reachable. 

</p>
<a name="wp1073120"> </a><p class="pBody">
For destinations that are not on the local link, forward progress implies that the first-hop router is 
reachable. When acknowledgments from an upper-layer protocol are not available, a node probes the 
neighbor using unicast neighbor solicitation messages to verify that the forward path is still working. 
The return of a solicited neighbor advertisement message from the neighbor is a positive 
acknowledgment that the forward path is still working (neighbor advertisement messages that have the 
solicited flag set to a value of 1 are sent only in response to a neighbor solicitation message). Unsolicited 
messages confirm only the one-way path from the source to the destination node; solicited neighbor 
advertisement messages indicate that a path is working in both directions.

</p>
<a name="wp1073121"> </a><p class="pBodyAutonumNoRule">
<strong>Note	&nbsp;&nbsp;&nbsp;</strong> A neighbor advertisement message that has the solicited flag set to a value of 0 must not be considered 
as a positive acknowledgment that the forward path is still working.

</p>
<a name="wp1073122"> </a><p class="pBody">
Neighbor solicitation messages are also used in the stateless autoconfiguration process to verify the 
uniqueness of unicast IPv6 addresses before the addresses are assigned to an interface. Duplicate address 
detection is performed first on a new, link-local IPv6 address before the address is assigned to an 
interface (the new address remains in a tentative state while duplicate address detection is performed). 
Specifically, a node sends a neighbor solicitation message with an unspecified source address and a 
tentative link-local address in the body of the message. If another node is already using that address, the 
node returns a neighbor advertisement message that contains the tentative link-local address. If another 
node is simultaneously verifying the uniqueness of the same address, that node also returns a neighbor 
solicitation message. If no neighbor advertisement messages are received in response to the neighbor 
solicitation message and no neighbor solicitation messages are received from other nodes that are 
attempting to verify the same tentative address, the node that sent the original neighbor solicitation 
message considers the tentative link-local address to be unique and assigns the address to the interface.

</p>
<a name="wp1073123"> </a><p class="pBody">
Every IPv6 unicast address (global or link-local) must be checked for uniqueness on the link; however, 
until the uniqueness of the link-local address is verified, duplicate address detection is not performed on 
any other IPv6 addresses associated with the link-local address.

</p>
<hr /><br><p class="pBody">Copyright 2010-2013, Cisco Systems, Inc. All rights reserved.</p> 

    </blockquote>

  </body>
</html>
