IPv6-complete flow

 #Scenario (single LAN)

Router R1

Host H1

Ethernet LAN


Step#0 Power on / link up

H1 comes up on the Ethernet link.

No IPv6 address yet.


Step#1 Host creates its link-local address

Prefix (fixed): fe80::/64

Interface ID (modern – random): a1b2:33ff:fe44:5566

Link-local address: fe80::a1b2:33ff:fe44:5566

note:-Every IPv6 interface MUST have a link-local


Step#2 Host runs DAD (uses multicast + MAC)

Solicited-node multicast for its own address

Last 24 bits of link-local:44:5566

Solicited-node multicast IPv6:ff02::1:ff44:5566  -- 24bit form above

Multicast MAC:33:33:ff:44:55:66 - 32 bit from above


H1 sends Neighbor Solicitation:

Src IPv6: ::

Dst IPv6: ff02::1:ff44:5566

Dst MAC: 33:33:ff:44:55:66

No reply → link-local is valid 


Step#3 Router sends Router Advertisement (RA)

Client can initiate RS (router solicitation -FF02::2 )

Router’s link-local:fe80::1

Router sends RA to: IPv6 multicast ff02::1   (all-nodes)

Ethernet multicast MAC:33:33:00:00:00:01

RA contains:Prefix: 2001:db8:10:1::/64

Flags: A (SLAAC enabled)

Router lifetime > 0

note:- RA always uses link-local as source


Step#4 Host forms global IPv6 address (SLAAC)

Prefix from RA: 2001:db8:10:1::/64

Same interface ID: a1b2:33ff:fe44:5566

Global IPv6: 2001:db8:10:1:a1b2:33ff:fe44:5566  -- 24bits


Step#5 DAD for global IPv6 (again multicast + MAC)

Solicited-node multicast:ff02::1:ff44:5566

Multicast MAC:33:33:ff:44:55:66

No reply → global IPv6 valid 


Step#6 Host resolves router’s MAC (ARP equivalent)

Router IPv6 (link-local):fe80::1

Router solicited-node multicast:ff02::1:ff00:0001

Corresponding MAC:33:33:ff:00:00:01

H1 sends Neighbor Solicitation

R1 replies with Neighbor Advertisement containing its MAC.

Neighbor cache populated 


Step#7 Normal traffic flow

H1 sends packet:

Src IPv6: 2001:db8:10:1:a1b2:33ff:fe44:5566

Dst IPv6: 2001:db8:20::10

Next-hop: fe80::1

Dst MAC: Router MAC



A host with both link-local and global IPv6 addresses selects the source based on the destination: link-local addresses for on-link communication and routing protocols, global addresses for off-link destinations, following RFC 6724 source address selection rules.


Destination type        Source chosen

-------------------------------------

fe80::/10               fe80::/10

2001::/3 (same link)    2001::/3

2001::/3 (remote)       2001::/3

Routing protocols       fe80::/10



Why IPv6 was designed this way

  • Link-local:

    • Stable

    • Always exists

    • Perfect for control plane

  • Global:

    • Routable

    • Used for data plane

This separation is intentional and powerful.



Comments

Popular posts from this blog

gNMI_with_grafana on containerlabs

EVPN Route type-1 & type-4 in action

BGP EVPN TYPE-1 & TYPE-4 in action