1

According to Link-local address on Wikipedia:

In IPv4, link-local addresses are normally only used when no external, stateful mechanism of address configuration exists, such as the Dynamic Host Configuration Protocol (DHCP), or when another primary configuration method has failed. In IPv6, link-local addresses are always assigned, along with addresses of other scopes, and are required for the internal functioning of various protocol components.

The citation refers to RFC 4291, but that simply asserts that "all interfaces are required to have at least one link-local unicast address" and does not identify the other relevant "protocol components." Why does IPv6 require link-local addresses, even when DHCPv6 or some other method of assigning a routable IPv6 address is available?

2
  • 3
    Because they are required for the internal functioning of various protocol components. No one RFC lists all of those various components. It's a fundamental part of the protocol, so it's always available for anything one can dream up. One simple case: routing is always done to the link-local address of the RA origin. (static routes are up to the user.) – Ricky Jun 28 '20 at 12:37
  • DHCPv6 is very different than DHCPv4: "The availability of these features means that a client can use its link-local address and a well-known multicast address to discover and communicate with DHCP servers or relay agents on its link." IPv6 Link-Local addressing is used for many things, and the question of , "Why?" needs to be asked of the IETF (you can find the authors on the RFCs). Anyone here answering will just be guessing and speculating, which is off-topic here. – Ron Maupin Jun 28 '20 at 16:35
2

Why does IPv6 require link-local addresses, even when DHCPv6 or some other method of assigning a routable IPv6 address is available?

You have a chicken-or-egg problem. DHCPv6 requires the host to have a Link-Local address in order to get a global, or other, address. From RFC 8415, Dynamic Host Configuration Protocol for IPv6 (DHCPv6):

Two advantages of IPv6 are that support for multicast is required and nodes can create link-local addresses during initialization. The availability of these features means that a client can use its link-local address and a well-known multicast address to discover and communicate with DHCP servers or relay agents on its link.

-and-

Every IPv6 interface on which DHCPv6 can reasonably be useful has a link-local address.

-and-

Clients and servers exchange DHCP messages using UDP (see [RFC768] and BCP 145 [RFC8085]). The client uses a link-local address or addresses determined through other mechanisms for transmitting and receiving DHCP messages.

There are also other references in the RFC.

DHCPv6 is very different than DHCP for IPv4. For example, IPv4 DHCP will give you the default gateway, but DHCPv6 does not. For IPv6, the routers send out RAs (Router Advertisements) that tell hosts whether or not to use DHCPv6, among other information, such as the gateway for the networks on the link (the gateway is the router Link-Local address, not a Global address).


The IPv6 services are often different than the IPv4 services, and you often cannot directly compare IPv6 to IPv4; it requires a new way of thinking about IP. The IETF took lessons learned from IPv4 (which was a government/academic experiment that escaped the lab), and it removed thing that did not work well, changed some things to work better, and added things that IPv4 lacked. For example, many people look at NDP as just a replacement for ARP, but it is much, much more than that. See the comparison of NDP against IPv4 services as described by RFC 4861, Neighbor Discovery for IP version 6 (IPv6):

3.1. Comparison with IPv4

The IPv6 Neighbor Discovery protocol corresponds to a combination of the IPv4 protocols Address Resolution Protocol [ARP], ICMP Router Discovery [RDISC], and ICMP Redirect [ICMPv4]. In IPv4 there is no generally agreed upon protocol or mechanism for Neighbor Unreachability Detection, although the Hosts Requirements document [HR-CL] does specify some possible algorithms for Dead Gateway Detection (a subset of the problems Neighbor Unreachability Detection tackles).

The Neighbor Discovery protocol provides a multitude of improvements over the IPv4 set of protocols:

  • Router Discovery is part of the base protocol set; there is no need for hosts to "snoop" the routing protocols.

  • Router Advertisements carry link-layer addresses; no additional packet exchange is needed to resolve the router's link-layer address.

  • Router Advertisements carry prefixes for a link; there is no need to have a separate mechanism to configure the "netmask".

  • Router Advertisements enable Address Autoconfiguration.

  • Routers can advertise an MTU for hosts to use on the link, ensuring that all nodes use the same MTU value on links lacking a well-defined MTU.

  • Address resolution multicasts are "spread" over 16 million (2^24) multicast addresses, greatly reducing address-resolution-related interrupts on nodes other than the target. Moreover, non-IPv6 machines should not be interrupted at all.

  • Redirects contain the link-layer address of the new first hop; separate address resolution is not needed upon receiving a redirect.

  • Multiple prefixes can be associated with the same link. By default, hosts learn all on-link prefixes from Router Advertisements. However, routers may be configured to omit some or all prefixes from Router Advertisements. In such cases hosts assume that destinations are off-link and send traffic to routers. A router can then issue redirects as appropriate.

  • Unlike IPv4, the recipient of an IPv6 redirect assumes that the new next-hop is on-link. In IPv4, a host ignores redirects specifying a next-hop that is not on-link according to the link's network mask. The IPv6 redirect mechanism is analogous to the XRedirect facility specified in [SH-MEDIA]. It is expected to be useful on non-broadcast and shared media links in which it is undesirable or not possible for nodes to know all prefixes for on-link destinations.

  • Neighbor Unreachability Detection is part of the base, which significantly improves the robustness of packet delivery in the presence of failing routers, partially failing or partitioned links, or nodes that change their link-layer addresses. For instance, mobile nodes can move off-link without losing any connectivity due to stale ARP caches.

  • Unlike ARP, Neighbor Discovery detects half-link failures (using Neighbor Unreachability Detection) and avoids sending traffic to neighbors with which two-way connectivity is absent.

  • Unlike in IPv4 Router Discovery, the Router Advertisement messages do not contain a preference field. The preference field is not needed to handle routers of different "stability"; the Neighbor Unreachability Detection will detect dead routers and switch to a working one.

  • The use of link-local addresses to uniquely identify routers (for Router Advertisement and Redirect messages) makes it possible for hosts to maintain the router associations in the event of the site renumbering to use new global prefixes.

  • By setting the Hop Limit to 255, Neighbor Discovery is immune to off-link senders that accidentally or intentionally send ND messages. In IPv4, off-link senders can send both ICMP Redirects and Router Advertisement messages.

  • Placing address resolution at the ICMP layer makes the protocol more media-independent than ARP and makes it possible to use generic IP-layer authentication and security mechanisms as appropriate.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.