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.
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::/10used for next-hops and Neighbor Discovery), Unique Local (fc00::/7), and Multicast (ff00::/8). Standard subnets use a/64prefix, 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 addresses. IPv6 expands address length to 128 bits, providing:
This astronomical quantity provides roughly 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:
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:
-
Omit Leading Zeros in Each Hextet:
- Within any individual 16-bit hextet, leading zeros are omitted. For example,
0db8becomesdb8, and0042becomes42. - A hextet of all zeros (
0000) is reduced to a single zero (0). - Crucial Rule: Trailing zeros must never be omitted (e.g.,
ff00remainsff00; dropping a trailing zero would corrupt the binary value).
- Within any individual 16-bit hextet, leading zeros are omitted. For example,
-
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 in2001:db8::ff00:42:8329.
- RFC 5952 canonical output compresses a run of two or more zero hextets with
-
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.
- The double colon (
-
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.
- When choosing where to place
-
Lowercase Characters Preferred:
- Hexadecimal alphabetical characters
athroughfmust be written in lowercase (e.g.,2001:db8::rather than2001:DB8::).
- Hexadecimal alphabetical characters
Worked Compression Examples
| Uncompressed IPv6 Address | Leading Zeros Removed | RFC 5952 Canonical Form |
|---|---|---|
2001:0db8:0000:0000:0000:ff00:0042:8329 | 2001:db8:0:0:0:ff00:42:8329 | 2001:db8::ff00:42:8329 |
fe80:0000:0000:0000:0201:ffff:fe23:4567 | fe80:0:0:0:201:ffff:fe23:4567 | fe80::201:ffff:fe23:4567 |
2001:0db8:0000:0000:004a:0000:0000:0001 | 2001:db8:0:0:4a:0:0:1 | 2001:db8::4a:0:0:1 (first tie compressed) |
0000:0000:0000:0000:0000:0000:0000:0001 | 0:0:0:0:0:0:0:1 | ::1 (Loopback) |
0000:0000:0000:0000:0000:0000:0000:0000 | 0: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
/64Boundary: RFC 4291 mandates that almost all standard unicast interface subnets use a/64prefix 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 binary001, covering the hexadecimal range2000::to3fff: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 bits1111 1110 10, covering rangefe80::throughfebf::). In practice, all standard link-local addresses use the formatfe80::/64with 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
1for locally assigned addresses, meaning locally generated ULAs usefd00::/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
scopenibble defines how far multicast packets may propagate:1= Interface-local,2= Link-local,5= Site-local,8= Organization-local,e= Global.
- The
- 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 IPv4127.0.0.1. Internal software testing; packets never leave the host. - Unspecified Address (
::/128): All 128 bits set to zero. Equivalent to IPv40.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 Type | Binary / Hex Prefix | Scope | Routable on Internet? | Primary Operational Role |
|---|---|---|---|---|
| Global Unicast (GUA) | 2000::/3 (2000::–3fff::) | Global | Yes | Public Internet communication |
| Link-Local (LLA) | fe80::/10 (fe80::/64) | Local Link | No | Next-hop routing, ND, local signaling |
| Unique Local (ULA) | fc00::/7 (active fd00::/8) | Organization | No | Private corporate enterprise networks |
| Multicast | ff00::/8 | Defined by scope nibble | Scope-dependent | One-to-many communication |
| Loopback | ::1/128 | Host internal | No | Local protocol stack testing |
| Unspecified | ::/128 | Local host | No | Bootstrapping, 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:
- 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.
- 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
- 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.
- Insert
FF-FE: Insert the 16-bit hexadecimal constantff:fedirectly between the two halves, forming a 64-bit identifier. - 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 to1(indicating modified universal scope in IPv6). - If the 7th bit is
1, invert it to0.
- If the 7th bit is
Step-by-Step Worked Example
Convert MAC address 00:1B:44:11:3A:B7 into a modified EUI-64 link-local IPv6 address:
- Split MAC:
00:1B:44and11:3A:B7. - Insert
FF:FE:00:1B:44:FF:FE:11:3A:B7. - Invert bit 7 of the first byte (
00hex):00in binary is0000 0000.- Invert the 7th bit (counting from left, bit 1 through bit 8):
0000 0010. - Binary
0000 0010in hexadecimal is02. - First byte transforms from
00to02.
- Resulting 64-bit Interface ID:
021b:44ff:fe11:3ab7. - Prepend the Link-Local prefix (
fe80::/64):
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.
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?
2001:db8::4a::1
2001:db8:0:0:4a::1
2001:db8:0:0:4a:0:0:1
2001:db8::4a:0:0:1
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?
2000::/3 (Global Unicast Address)
fe80::/10 (Link-Local Address)
fc00::/7 (Unique Local Address)
ff02::/16 (Link-Local Multicast Address)
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?
ff02::1
ff02::2
ff02::5
fe80::1
Sections you finish are checked off in the contents.