The purpose of this document is to provide an understanding of IPv6 Link-local address in a network. A link-local address is an IPv6 unicast address that can be automatically configured on any interface using the link-local prefix FE80::/10 (1111 1110 10) and the interface identifier in the modified EUI-64 format. Link-local addresses are not necessarily bound to the MAC address (configured in a EUI-64 format). Link-local addresses can also be manually configured in the FE80::/10 format using the ipv6 address link-local command.

These addresses refer only to a particular physical link and are used for addressing on a single link for purposes such as automatic address configuration and neighbor discovery protocol. Link-local addresses can be used to reach the neighboring nodes attached to the same link. The nodes do not need a globally unique address to communicate. Routers will not forward datagram using link-local addresses. IPv6 routers must not forward packets that have link-local source or destination addresses to other links. All IPv6 enabled interfaces have a link-local unicast address.

In this example, the routers R1, R2 and R3 are connected via serial interface and have the IPv6 addresses configured as mentioned in the network diagram. Loopback addresses are configured on the routers R1 and R3, and the routers use OSPFv3 to communicate with each other. This example uses the ping command to demonstrate the connectivity between the routers using link-local addresses. The routers R1 and R3 can ping each other with the IPv6 global unicast address, but not with their link-local address. However, router R2 being directly connected to R1 and R3 can communicate with both the routers using their link-local address, because link-local addresses are used only within that local network specific to the physical interface.

The routers can ping each other with the global unicast address. However, when using link-local address only the directly connected networks can communicate. For example, R1 can ping R3 using global unicast address but the two routers cannot communicate using link-local addresses. This is shown using the ping and debug ipv6 icmp commands in router R1 and R3. This section provides scenarios to develop a better understanding about link-local addresses.

When the router R1 tries to communicate with router R3 using the link local address, the router R1 returns with an ICMP time-out message indicating that the link-local address is locally specific and cannot communicate to link-local addresses that are outside the directly connected network.

Pinging R3's Link-Local Address from router R1

In Router R1

R1#ping FE80::AB8
!--- Pinging Link-Local Address of router R3.
Output Interface: serial0/0
!--- To ping LLA, output interface must be entered.
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds:
Packet sent with a source address of FE80::C000:1DFF:FEE0:0
.....
Success rate is 0 percent (0/5)
!--- The ping is unsuccessful and the ICMP packet cannot reach the destination through serial0/0. This timeout indicates that R1 has not received any replies from the router R3.

For router R2, the routers R1 and R3 are directly connected and can ping the link-local address of both router R1 and R2 by mentioning the corresponding interface that is connected to the router. The output is shown here:

The link-local address as the name implies, is specific only to that local network. In other words, the routers can have the same link-local address and still the directly connected network can communicate with each other without any conflict. This will not be the same in case of global unicast address. The global unicast address being routable should be unique in a network. The show ipv6 interface brief command shows the information about link-local address on the interface.

Note: The R2 can ping the link-local address of R1 and R3 only because they are directly connected. R2 cannot ping the link-local address of the loopback interfaces in routers R1 and R3 as they are not directly connected. Ping works on link-local addresses only in case of directly connected networks.

Note: Traceroutes do not work in case of link-local addresses and return with the % No valid source address for destination. error message. This is because IPv6 routers must not forward packets that have link-local source or destination addresses to other links.