PracticeVideosBlogFlashcards

3.3 IPv6 Addressing Fundamentals

Key Takeaways

  • IPv6 addresses have 128 bits, commonly represented as eight hexadecimal groups.

  • RFC 5952 canonical text removes leading zeros and compresses the first longest zero run of at least two groups.

  • IPv6 has no broadcast address type; Neighbor Discovery uses ICMPv6 and multicast.

  • SLAAC LANs commonly use /64s, but other prefix lengths exist for other purposes.

  • Link-local, unique-local, global-unicast, multicast, and loopback addresses have different scopes.

Last updated: October 2026

3.3 IPv6 Addressing Fundamentals

Quick Answer: IPv6 uses 128-bit addresses written as 8 groups of 4 hexadecimal characters (hextets) separated by colons. RFC 5952 formatting requires omitting leading zeros in any hextet and compressing the longest contiguous run of all-zero hextets using a single double colon (::). IPv6 has no broadcast address type; multicast supplies group delivery, while anycast separately selects one of several service endpoints. Major IPv6 address types include Global Unicast (2000::/3), Link-Local (fe80::/10 used for next-hops and Neighbor Discovery), Unique Local (fc00::/7), and Multicast (ff00::/8). Standard subnets use a /64 prefix, pairing a 64-bit network prefix with a 64-bit Interface Identifier (IID).

While CIDR and RFC 1918 private addressing with NAT prolonged the lifespan of IPv4, the global IPv4 free address pool officially exhausted at the IANA level in February 2011. Internet Protocol version 6 (IPv6), standardized in RFC 8200, was designed from the ground up to replace IPv4, resolving address exhaustion permanently while introducing fundamental architectural improvements.


Motivation and Architectural Improvements of IPv6

IPv6 is not merely IPv4 with longer addresses; it represents a major modernization of the Network Layer protocol suite:

1. Massive Address Space Expansion

IPv4 provides 232≈4.29×1092^{32} \approx 4.29 \times 10^9 addresses. IPv6 expands address length to 128 bits, providing:

2128=340,282,366,920,938,463,463,374,607,431,768,211,456≈3.4×1038 addresses2^{128} = 340,282,366,920,938,463,463,374,607,431,768,211,456 \approx 3.4 \times 10^{38} \text{ addresses}

This astronomical quantity provides roughly 6.65×10236.65 \times 10^{23} addresses per square meter of Earth's surface, ensuring that every connected device, sensor, and virtual machine can hold a globally unique IP address without NAT.

2. Reduced Need for Address-Conservation NAT

IPv6 normally removes the address-conservation need for IPv4-style NAT. Firewalls, policy, translation mechanisms, and application design can still affect end-to-end connectivity.

3. Streamlined Fixed Base Header

The base IPv6 header is fixed at 40 bytes, regardless of options. By eliminating rarely used fields from the mandatory header (such as IPv4's IHL, Identification, Flags, and Fragment Offset) and replacing them with chained Extension Headers, high-speed router silicon (such as Nokia FP4 and FP5 processing chips) can parse and forward IPv6 packets at wire speed with minimal latency.

4. Removal of Layer 3 Checksums

IPv6 headers do not contain a header checksum. In modern networks, Layer 2 technologies (such as Ethernet FCS) and Layer 4 protocols (TCP and UDP checksums) already verify data integrity. Eliminating the Layer 3 checksum avoids recalculating checksums at every router hop as the Hop Limit decreases, accelerating forwarding performance.

5. Elimination of Broadcasts

IPv6 has no broadcast address type. Broadcast delivery can require processing by hosts throughout the LAN; actual NIC and software behavior varies. In IPv6, functions formerly using IPv4 broadcasts generally use IPv6 multicast. Anycast is a separate unicast-routing technique for reaching one of several service endpoints.


IPv6 Address Structure and RFC 5952 Representation Rules

An IPv6 address comprises 128 bits, organized into 8 groups of 16 bits each. Each 16-bit group is written as four hexadecimal digits (termed a hextet ), separated by colons:

2001:0db8:0000:0000:0000:ff00:0042:8329\text{2001:0db8:0000:0000:0000:ff00:0042:8329}

Hexadecimal digits are base-16 numbers using digits 0–9 and letters a–f (representing values 10 through 15).

RFC 5952 Standard Representation Rules

To prevent ambiguities and ensure consistent formatting in network operations, the IETF established strict canonical rules in RFC 5952:

  1. Omit Leading Zeros in Each Hextet:

    • Within any individual 16-bit hextet, leading zeros are omitted. For example, 0db8 becomes db8, and 0042 becomes 42.
    • A hextet of all zeros (0000) is reduced to a single zero (0).
    • Crucial Rule: Trailing zeros must never be omitted (e.g., ff00 remains ff00; dropping a trailing zero would corrupt the binary value).
  2. Compress Consecutive All-Zero Hextets (::):

    • RFC 5952 canonical output compresses a run of two or more zero hextets with ::, never one zero hextet.
    • In the example 2001:db8:0:0:0:ff00:42:8329, the three zero hextets :0:0:0: are compressed to ::, resulting in 2001:db8::ff00:42:8329.
  3. Use the Double Colon Only Once:

    • The double colon (::) can appear only once in an address string. If used multiple times, it is mathematically impossible to know how many zero hextets were compressed in each position.
  4. Tie-Breaker Rule for Zero Sequences:

    • When choosing where to place ::, compress the longest contiguous sequence of zero hextets.
    • If multiple sequences of zero hextets have equal length, RFC 5952 requires compressing the first sequence.
    • An isolated single zero hextet must not be compressed in canonical output, even when no longer run exists.
  5. Lowercase Characters Preferred:

    • Hexadecimal alphabetical characters a through f must be written in lowercase (e.g., 2001:db8:: rather than 2001:DB8::).

Worked Compression Examples

Uncompressed IPv6 AddressLeading Zeros RemovedRFC 5952 Canonical Form
2001:0db8:0000:0000:0000:ff00:0042:83292001:db8:0:0:0:ff00:42:83292001:db8::ff00:42:8329
fe80:0000:0000:0000:0201:ffff:fe23:4567fe80:0:0:0:201:ffff:fe23:4567fe80::201:ffff:fe23:4567
2001:0db8:0000:0000:004a:0000:0000:00012001:db8:0:0:4a:0:0:12001:db8::4a:0:0:1 (first tie compressed)
0000:0000:0000:0000:0000:0000:0000:00010:0:0:0:0:0:0:1::1 (Loopback)
0000:0000:0000:0000:0000:0000:0000:00000:0:0:0:0:0:0:0:: (Unspecified)

IPv6 Prefix Length and Interface Identifier Architecture

Like IPv4 CIDR, IPv6 uses prefix notation (/n) to indicate the subnet mask length. However, ordinary SLAAC LAN subnets commonly use the following /64 layout; /127 point-to-point links and /128 host routes also exist:

+------------------------------------------------+------------------------------------------------+
|            64-Bit Network Prefix               |            64-Bit Interface ID (IID)           |
+------------------------------------------------+------------------------------------------------+
| 48-bit Global Routing Prefix | 16-bit Subnet ID|              64 bits host identifier           |
+------------------------------------------------+------------------------------------------------+
  • Standard /64 Boundary: RFC 4291 mandates that almost all standard unicast interface subnets use a /64 prefix length.
  • Network Prefix (First 64 Bits): A /48 site allocation can use 16 subnet bits, giving 65,536 /64s. /48 is an example allocation size, not a universal rule.
  • Interface Identifier (Final 64 Bits): Identifies the unique host interface on the link, populated either via Modified EUI-64, DHCPv6, or random privacy algorithms.

IPv6 Address Scopes and Classifications

IPv6 defines specific operational address types categorized by scope:

1. Global Unicast Address (GUA)

  • Prefix: 2000::/3 (the first three bits are binary 001, covering the hexadecimal range 2000:: to 3fff:ffff:ffff:ffff:...).
  • Scope: Global unicast addressing supports Internet routing, but reserved prefixes and actual advertisements still matter. For example, 2001:db8::/32 is documentation space, not a public deployment prefix.
  • Example structure: /48 site prefix, 16 subnet bits, and 64 interface-ID bits; actual allocations and link types can differ.

2. Link-Local Address (LLA)

  • Prefix: fe80::/10 (first 10 bits 1111 1110 10, covering range fe80:: through febf::). In practice, all standard link-local addresses use the format fe80::/64 with 54 zero bits preceding the 64-bit Interface ID.
  • Scope: Confined exclusively to the local Layer 2 broadcast domain / physical link.
  • Automatic Assignment: An ordinary IPv6-enabled interface forms a link-local address as part of configuration; exact generation and administrative behavior depend on the implementation, even before acquiring a global IP address.
  • Critical Routing Function: Routers never forward link-local traffic beyond the local link. In Nokia Service Routers, link-local addresses serve as the next-hop IP address for dynamic routing protocols including OSPFv3, IS-IS, and MP-BGP, as well as for IPv6 Neighbor Discovery (ND).

3. Unique Local Address (ULA)

  • Prefix: fc00::/7 (RFC 4193).
  • Scope: Private internal organizational routing (the IPv6 equivalent of RFC 1918 private IPv4).
  • L-Bit Rule: Bit 8 (the L-bit) must be set to 1 for locally assigned addresses, meaning locally generated ULAs use fd00::/8.
  • Routing Boundary: ULAs are routable throughout an enterprise or VPN campus, but are dropped by service-provider edge routers and never routed over the public Internet.

4. Multicast Addresses

  • Prefix: ff00::/8 (first 8 bits are all binary 1: 1111 1111).
  • Format: ff<flags><scope>::<group-id>.
    • The scope nibble defines how far multicast packets may propagate: 1 = Interface-local, 2 = Link-local, 5 = Site-local, 8 = Organization-local, e = Global.
  • Key Well-Known Link-Local Multicast Groups (ff02::/16):
    • ff02::1 — All-Nodes Link-Local: Replaces IPv4 limited broadcast (255.255.255.255). All IPv6 devices on the local segment receive these packets.
    • ff02::2 — All-Routers Link-Local: Received by all IPv6 routers on the link.
    • ff02::5 — All OSPFv3 Routers: Used for OSPFv3 Hello packets and link-state updates.
    • ff02::6 — All OSPFv3 Designated Routers (DR/BDR): Used by non-DR routers to transmit updates to the DR.
    • ff02::1:ffxx:xxxx — Solicited-Node Multicast: Generated dynamically for every assigned unicast address to handle Layer 2 address resolution (replacing ARP).

5. Special IPv6 Addresses

  • Loopback Address (::1/128): Equivalent to IPv4 127.0.0.1. Internal software testing; packets never leave the host.
  • Unspecified Address (::/128): All 128 bits set to zero. Equivalent to IPv4 0.0.0.0. Used as a placeholder source address when a host has no assigned IP (e.g., during Duplicate Address Detection).

IPv6 Address Types Summary Table

Address TypeBinary / Hex PrefixScopeRoutable on Internet?Primary Operational Role
Global Unicast (GUA)2000::/3 (2000::–3fff::)GlobalYesPublic Internet communication
Link-Local (LLA)fe80::/10 (fe80::/64)Local LinkNoNext-hop routing, ND, local signaling
Unique Local (ULA)fc00::/7 (active fd00::/8)OrganizationNoPrivate corporate enterprise networks
Multicastff00::/8Defined by scope nibbleScope-dependentOne-to-many communication
Loopback::1/128Host internalNoLocal protocol stack testing
Unspecified::/128Local hostNoBootstrapping, Duplicate Address Detection

The Absence of Broadcast and Introduction of Anycast

In IPv4, broadcast mechanisms (such as ARP Requests and DHCP Discovers) transmit frames to MAC address FF:FF:FF:FF:FF:FF. Every network interface card (NIC) on the segment must interrupt its CPU to process the frame, consuming processor time even if the packet is irrelevant to that host.

IPv6 replaces broadcast with two superior mechanisms:

  1. Targeted Multicast: Rather than broadcasting, an IPv6 host transmits to a specialized multicast group (such as the Solicited-Node multicast address). Multicast filtering can reduce processing, but switch behavior, NIC filters, and shared mappings affect which other devices still inspect a frame.
  2. Anycast: An anycast address is assigned to multiple interfaces across different devices or servers. When a host sends a packet to an anycast address, routers forward the packet to the topologically nearest interface advertising that address, based on routing protocol metrics. Anycast uses standard unicast address formats and is widely used for DNS root servers and CDN edge clusters.

Interface Identifier (IID) Generation: Modified EUI-64

When a router or host automatically derives its 64-bit Interface Identifier from a 48-bit IEEE 802 MAC address, it uses the Modified EUI-64 (Extended Unique Identifier) process:

The Three-Step Conversion Process

  1. Split the MAC Address: Divide the 48-bit MAC address into two 24-bit halves: the 24-bit Organizationally Unique Identifier (OUI) and the 24-bit vendor extension.
  2. Insert FF-FE: Insert the 16-bit hexadecimal constant ff:fe directly between the two halves, forming a 64-bit identifier.
  3. Invert the Universal/Local (U/L) Bit: Locate the Universal/Local bit, second least-significant bit of the first byte in the first byte of the address and invert its value:
    • If the 7th bit is 0 (indicating IEEE globally unique burned-in MAC), invert it to 1 (indicating modified universal scope in IPv6).
    • If the 7th bit is 1, invert it to 0.

Step-by-Step Worked Example

Convert MAC address 00:1B:44:11:3A:B7 into a modified EUI-64 link-local IPv6 address:

  1. Split MAC: 00:1B:44 and 11:3A:B7.
  2. Insert FF:FE: 00:1B:44:FF:FE:11:3A:B7.
  3. Invert bit 7 of the first byte (00 hex):
    • 00 in binary is 0000 0000.
    • Invert the 7th bit (counting from left, bit 1 through bit 8): 0000 0010.
    • Binary 0000 0010 in hexadecimal is 02.
    • First byte transforms from 00 to 02.
  4. Resulting 64-bit Interface ID: 021b:44ff:fe11:3ab7.
  5. Prepend the Link-Local prefix (fe80::/64):
fe80::21b:44ff:fe11:3ab7\text{fe80::21b:44ff:fe11:3ab7}

Nokia 7750 SR routers automatically compute EUI-64 link-local addresses when IPv6 is enabled on an interface, ensuring immediate connectivity for control-plane routing protocols without requiring manual address configuration.

Primary technical reference

Specification or Nokia manual, checked October 20, 2026. Examples are teaching scenarios, not captured router execution.

Test Your Knowledge

According to RFC 5952 recommendations, what is the canonical and fully compressed representation of the IPv6 address 2001:0db8:0000:0000:004a:0000:0000:0001?

A

2001:db8::4a::1

B

2001:db8:0:0:4a::1

C

2001:db8:0:0:4a:0:0:1

D

2001:db8::4a:0:0:1

Test Your Knowledge

Which IPv6 address block is automatically configured on all IPv6-enabled interfaces, is non-routable beyond the local physical link, and is routinely used as the next-hop address for interior routing protocols like OSPFv3?

A

2000::/3 (Global Unicast Address)

B

fe80::/10 (Link-Local Address)

C

fc00::/7 (Unique Local Address)

D

ff02::/16 (Link-Local Multicast Address)

Test Your Knowledge

In an IPv6 network, which multicast address replaces the IPv4 limited broadcast (255.255.255.255) to deliver packets to all IPv6-capable devices on the local link?

A

ff02::1

B

ff02::2

C

ff02::5

D

fe80::1

Sections you finish are checked off in the contents.