Neighbor Discovery

Neighbor Discovery Processes

  • Router discovery : Router Solicitation, Router Adverstisement
  • Prefix discovery  : Distinguish onlink vs off link
  • Parameter discovery : additional operational parms
  • Address auto configuration : DHCP
  • Address resolution : Neighbor Solicitation, Neighbor Advertisement
  • Next-hop determination
  • Neighbor unreachability detection
  • Duplicate address detection
  • Redirect function : Better next hop

Neighbor Discovery Messages

  • Router Solicitation (133)
  • Router Advertisement (134)
  • Neighbor Solicitation (135)
  • Neighbor Advertisement (136)
  • Redirect (137)
    > All are accomplished by ICMP messages

Summary of ND Message and Options

  • Router Solicitation
    • Source Link-Layer Address
  • Router Advertisement
    • Source Link-Layer Address
    • Prefix Information
    • MTU
    • Advertisement Interval
    • Home Agent Information
    • Router Information
  • Neighbor Solicitation
    • Source Link-Layer Address
  • Neighbor Advertisement
    • Target Link-Layer Address
  • Redirect
    • Redirected Header
    • Target Link-Layer Address

Neighbor Discovery Processes

  • Address resolution (including duplicate address detection)
  • Router discovery (including prefix and parameter discovery)
  • Neighbor unreachability detection
  • Redirect function

Address Resolution Process

  • An exchange of NS and NA messages to resolve the link-layer address of the next-hop address
    • Multicast Neighbor Solicitation message
    • Unicast Neighbor Advertisement message
  • Both hosts update their neighbor caches
  • Unicast traffic can now be sent

Address Resolution Message

Host A – MAC: 00-10-5A-AA-20-A2 / IP : FE80::210:5AFF:FEAA:20A2
Host B – MAC: 00-60-97-02-6E-A5 / IP: FE80::260:97FF:FE02:6EA5

  1. Multicast Neighbor Solicitation
    Ethernet Header
        Destination MAC is 33-33-FF-02-6E-A5 (Ethernet Multicast Address)
    IPv6 Header
        Source Address is FE80::210:5AFF:FEAA:20A2
        Destination Address is FF02::1:FF02:6EA5 (Solited-node Address)
        Hop limit is 255
    Neighbor Solicitation Header
        Target Address is FE80::260:97FF:FE02:6EA5
    Neighbor Discovery Option
        Source Link-Layer Address is 00-10-5A-AA-20-A2
    
  2. Unicast Neighbor Advertisement
    Ethernet Header
        Destination MAC is 00-10-5A-AA-20-A2
    IPv6 Header
        Source Address is FE80::260:97FF:FE02:6EA5
    Destination Address is FE80::210:5AFF:FEAA:20A2
        Hop limit is 255
        Neighbor Solicitation Header
        Target Address is FE80::260:97FF:FE02:6EA5
    Neighbor Discovery Option
        Source Link-Layer Address is 00-60-97-02-6E-A5
    

Neighbor Unreachability Detection

  • A neighboring node is reachable if:
    • There has been a recent confirmation that IPv6 packets sent were received and processed by the neighboring node
  • Detects whether the first hop to the destination is reachable
  • Reachability is determined by:
    • Receipt of a Neighbor Advertisement message in response to a unicast Neighbor Solicitation message
    • Upper layer protocol indicators

Neighbor Unreachability States

Neighbor Unreachability States
from IPv6 Addressing (TechRef)

Duplicate Adddress Detection

Host A – Tentative IP: FEC0::2:260:8FF:FE52:F9D8
Host B – MAC: 00-60-08-52-F9-D8 / IP: FEC0::2:260:8FF:FE52:F9D8

  1. Multicast Neighbor Solicitation message
    Ethernet Header
        Dest MAC is 33-33-FF-52-F9-D8 (Ethernet Multicast Address)
    IPv6 Header
        Source Address is :: (Unspecified address)
        Destination Address is FF02::1:FF52:F9D8 (Solited-node Address)
        Hop limit is 255
    Neighbor Solicitation Header
        Target Address is FEC0::2:260:8FF:FE52:F9D8
    
  2. Multicast Neighbor Advertisement message
    Ethernet Header
        Destination MAC is 33-33-00-00-00-01 (Ethernet Multicast Address)
    IPv6 Header
        Source Address is FEC0::2:260:8FF:FE52:F9D8
        Destination Address is FF02::1 (All-nodes multicast address)
        Hop limit is 255
    Neighbor Advertisement Header
        Target Address is FEC0::2:260:8FF:FE52:F9D8
    Neighbor Discovery Option
        Target Link-Layer Address is 00-60-08-52-F9-D8
    

Router Discovery

  • Nodes discover the set of routers on the local link
  • IPv6 router discovery also provides:
    • Default value of Hop Limit field
    • Use of stateful address protocol
    • Reachability and retransmission timers
    • Network prefixes for the link
    • MTU of the local link
    • IPv6 mobility information
    • Routes

Router Discovery Message

Host A – MAC: 00-B0-D0-E9-41-43 / IP: none
Router – MAC: 00-10-FF-D6-58-C0 / IP: FE80::210:FFFF:FED6:58C0

  1. Multicast Router Solicitation Message
    Ethernet Header
        Destination MAC is 33-33-00-00-00-02 (Ethernet Multicast Address)
    IPv6 Header
        Source Address is :: (Unspecified address)
        Destination Address is FF02::2 (All node Multicast Address)
        Hop limit is 255
    Router Solicitation Header
    
  2. Multicast Router Advertisement Message
    Ethernet Header
        Destination MAC is 33-33-00-00-00-01 (Ethernet Multicast Address)
    IPv6 Header
        Source Address is FE80::210:FFFF:FED6:58C0
        Destination Address is FF02::1 (All node Multicast Address)
        Hop limit is 255
    Router Advertisement Header
        Current Hop Limit, Flags, 
        Router Lifetime, 
        Reachable and Retransmission Timers
    Neighbor Discovery Options
        Source Link-Layer Address is 00-10-FF-D6-58-C0
        MTU is 1500
        Prefix Information is for FEC0:0:0:F282::/64 
    

Ref.
1. Neighbor Discovery
2. TCP/IP Fundamentals for microsoft windows
3. IPv6 Addressing
4. IPv6 Neighbor Discovery

Advertisements

DHCPv6

Fundamentals

  • DHCPv6 clients listen on port 546, servers and relays listen on port 547
  • DHCPv6 clients and servers (relays) communicate via link-local multicast addresses
    • All_DHCP_Relay_Agents_and_Servers and All_DHCP_Servers multicast addresses are used

All_DHCP_Relay_Agents_and_Servers : FF02:0:0:0:0:0:1:2(All-dhcp-agents)
IPv6 multicast MAC addresses : 33:33:00:01:00:02

DHCPv6 to DHCPv4 Message Comparison

-DHCPv6 Message Type                  -DHCPv4 Message Type 
SOLICIT (1)                           DHCPDISCOVER 
ADVERTISE (2)                         DHCPOFFER 
REQUEST (3), RENEW (5), REBIND (6)    DHCPREQUEST 
REPLY (7)                             DHCPACK / DHCPNAK 
RELEASE (8)                           DHCPRELEASE 
INFORMATION-REQUEST (11)              DHCPINFORM 
DECLINE (9)                           DHCPDECLINE 
CONFIRM (4)                           none 
RECONFIGURE (10)                      DHCPFORCERENEW 
RELAY-FORW (12)                       none
RELAY-REPLY (13)                      none

Client Identification

  • DHCPv6 DUID (DHCP Unique Identifier) as defined in RFC3315
    • Link-layer address plus time – generated and stored at startup
    • Link-layer – generally used if network interface is permanent or unchangeable
    • Vendor assigned unique identifier based on enterprise identifier

DHCPv6 Type

  • Stateless DHCPv6
    • Two message exchange (INFORMATION-REQUEST, REPLY) between a DHCPv6 client and server
          Server  Client
             | <---- |  INFORMATION-REQUEST
             | ----> |  REPLY
             V       V
      
  • Stateful DHCPv6
    • Four message exchange (SOLICIT, ADVERTISE, REQUEST, REPLY)
    • Rapid Commit may be employed which uses only two message (SOLICIT, REPLY)
          Server  Client
             | <---- |  SOLICIT (Rapid Commit)
             | ----> |  ADVERTISE
             | <---- |  REQUEST
             | ----> |  REPLY (Rapid Commit)
             V       V
      

AutoConfigured Address State

Autoconfigured addresses are in one or more of the following states:

  • Tentative
    The address is in the process of being verified as unique. Verification occurs through duplicate address detection.
    ‘Tentative’뜻 처럼 잠정적인 주소로 유일한 주소인지 확인 절차에 쓰인다. DAD를 통해 Verifacation이 이루어진다.
  • Preferred
    An address for which uniqueness has been verified. A node can send and receive unicast traffic to and from a preferred address. Router Advertisement messages include the period of time that an address can remain in the tentative and preferred states.
    ‘Preferred’뜻 처럼 선취권이 있는 주소로 유일한 주소로 확인된 주소이다. 어떤 노드는 preferred 주소을 할당받은 다른 노드와의 송수신이 가능하다. RA는 tentaive와 preferred state를 유지할 수 있는 주기(period time)을 포함한다.
  • Deprecated
    An address that is still valid but whose use is discouraged for new communication. Existing communication sessions can continue to use a deprecated address. Nodes can send and receive unicast traffic to and from deprecated addresses.
    ‘Deprecated’뜻 처럼 사라질 주소로 여전히 Valid한 주소이지만, 새로운 통신을 위해 주소의 사용하지 못하게 한다.
  • Valid
    An address from which unicast traffic can be sent and received. The valid state covers both the preferred and deprecated states. Router Advertisement messages include the amount of time that an address remains in the valid state. The valid lifetime must be longer than or equal to the preferred lifetime.
    ‘Valid’뜻 처럼 유효한 주소로 이 주소를 이용한 unicast의 송수신이 가능한다. Valid State는 Preferred와 Deprecate State를 커버한다. RA는 tentaive와 preferred state를 유지할 수 있는 주기(period time)을 포함한다. Valie lifetime은 Preferred Lifeime이상으로 길어야 한다.
  • Invalid
    An address for which a node can no longer send or receive unicast traffic. An address enters the invalid state after the valid lifetime expires.
    ‘Invalid’처럼 더 이상 unicast의 송수신을 할 수 없는 유효하지 않은 주소이다. Valid lifetime이 만료되면 Invalid State상태로 들어간다.

The following figure shows the relationship between the states of an autoconfigured address and the preferred and valid lifetimes.

States of an Autoconfigured Address

With the exception of link-local addresses, address autoconfiguration is specified only for hosts. Routers must obtain address and configuration parameters through another means (for example, manual configuration).
링크 로컬 주소를 제외한 주소 자동 구성은 호스트에 대해서만 지정된다. 라우터는 다른 수단을 통해(ex. Manual Configuration) 주소와 구성 매개 변수를 얻어야 한다.

Ref: http://technet.microsoft.com/en-us/library/dd392266(v=ws.10).aspx