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.
Every IPv6 interface on which DHCPv6 can reasonably be useful has a
Clients and servers exchange DHCP messages using UDP (see
[RFC768] and BCP
[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
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
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
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
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
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
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