2

I am asking this because my ISP uses SLAAC/DHCPv6 to assign addresses to clients. Firewalls, no matter what brand/name/type get a link local IPv6 address complete with a link local gateway AND clients on the intranet actually get a real global IPv6 address from a /64 block--the upstream router is actually doing delegation.

What's not very clear to me though is why the link local addresses? I know that when doing DHCP delegation routers don't need an address for themselves, so are these link local addresses actually in use or were they just negotiated like a client would negotiate a link local anywhere else (even when there's no IPv6 deployed).

Can a link local addresses/networks be used as transit networks and still be routable up until the end (as long as the host address is a global IP address)?

enter image description here

1
  • 4
    The IPv6 RFC requires that every IPv6 interface get a link-local address. There really is no such thing as a link-local gateway because link-local addressing cannot be routed, hence the name link-local.
    – Ron Maupin
    Commented Mar 25, 2020 at 12:22

2 Answers 2

3

RFC 4291, IP Version 6 Addressing Architecture explains Link-Local addressing:

2.5.6. Link-Local IPv6 Unicast Addresses

Link-Local addresses are for use on a single link. Link-Local
addresses have the following format:

|   10     |
|  bits    |         54 bits         |          64 bits           |
+----------+-------------------------+----------------------------+
|1111111010|           0             |       interface ID         |
+----------+-------------------------+----------------------------+

Link-Local addresses are designed to be used for addressing on a
single link for purposes such as automatic address configuration,
neighbor discovery, or when no routers are present.

Routers must not forward any packets with Link-Local source or
destination addresses to other links.

IPv6 uses Link-Local addressing on every interface, and it will communicate on-link using Link-Local addressing. For example, IPv6 DHCP is different than IPv4 DHCP, and it uses Link-Local addressing as the source address. Also, the required DAD (Duplicate Address Detection) uses Link-Local addressing, as does NDP (Neighbor Discovery Protocol), including RAs (Router Advertisements).

As the RFC above explains, you cannot send any packets with Link-Local source or destination addresses to a different link, so, no, they are not routable addresses.


RFC 7404, Using Only Link-Local Addressing inside an IPv6 Network Explains about using only Link-Local addresses between routers:

Abstract

In an IPv6 network, it is possible to use only link-local addresses on infrastructure links between routers. This document discusses the advantages and disadvantages of this approach to facilitate the decision process for a given network.

A big disadvantage is that the router interfaces with only Link-Local addresses are not reachable from outside the routers, and this can be a problem when troubleshooting.

2
  • I can't believe you just summed up two RFCs in the bits that matter. Awesome. I was thinking about site local addresses before, which until just now I didn't get the real difference from site local to link local other than being "a smaller link." Now I do. Really awesome--thanks!
    – Vita
    Commented Mar 25, 2020 at 13:29
  • Actually, Site-Local addressing has been deprecated in favor of ULA (Unique Local Addressing), which has some rules around addressing. IPv6 allows multiple addresses of each type (Link-Local, Global, and ULA) addressing to exist on a single interface. It is much harder to do that with IPv4, and there is an IPv6 RFC that explains the order in which an address will be used as a source address for outgoing packets. For example, if you have one of each kind of address on the interface, and you send a packet to a ULA address, then the ULA address on the interface will be used as the source address.
    – Ron Maupin
    Commented Mar 25, 2020 at 13:34
0

Yes a link-local address can be and often is used as a gateway address.

The purpose served by a gateway address depends on the underlying network type. On some network types (generally point to point ones) the gateway address is ignored, on others (generally multi-point ones) the gateway address is resolved to a L2 address to allow the packet to be sent to the correct L2 destination. Either way there is no reason the gateway address needs to be a routable address.

Link local addresses are also perfectly adequate for auto-configuration mechanisms like route advertisements and DHCPv6 prefix delegation.

Routers should have at least one global address so that they can source ICMP errors, but they don't need to have a global address for every interface. In the case of a home/small business gateway router it suffices to only have a global address on the "LAN side".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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