Chapter 20: IPv6 addressing
This introduction explains why IPv6 matters despite IPv4’s continued dominance and clarifies why its name skips IPv5.
After this chapter you will be able to
- IPv6 address space motivation. Explain that IPv4’s limited address space cannot accommodate all devices needing network connectivity, while IPv6 offers a much larger address space and is seeing growing adoption.
- IPv4 address exhaustion. Explain why the available IPv4 addresses are insufficient and why more efficient use of them cannot solve the problem permanently.
- IPv6 address space scale. Explain why a 128-bit IPv6 address provides vastly more possible addresses than a 32-bit IPv4 address.
- Hexadecimal digits and IPv6 notation. Explain why hexadecimal is a compact way to write the bit values used in IPv6 addresses.
- Binary to hexadecimal conversion. Apply the section’s method to convert a 16-bit binary value into hexadecimal.
- Hexadecimal to binary conversion. Apply the section’s method to convert a four-digit hexadecimal value into a 16-bit binary value.
- Binary Behind IP Addresses. Explain that both IPv4 and IPv6 addresses represent binary values, but IPv4 uses dotted decimal notation while IPv6 uses hexadecimal notation.
- Fixed header and payload length. Explain why IPv6 uses a Payload Length field rather than separate header-length and total-length fields as IPv4 does.
- Next Header identification. Explain what the Next Header field identifies and how it relates to IPv4's Protocol field.
- Hop Limit loop prevention. Trace what happens to Hop Limit as routers forward a packet and explain its purpose.
- IPv6 address representation. Explain that an IPv6 address identifies a host at Layer 3 and is written as eight colon-separated groups of 16 bits in hexadecimal because its 128-bit binary form is difficult to read.
- IPv6 prefix length notation. Describe how IPv6 prefix lengths are written and why /64 is typically preferred despite providing an enormous number of addresses per subnet.
- Leading zero removal. Explain how to shorten a hextet by removing leading zeros without removing trailing zeros or every digit of an all-zero hextet.
- Double colon compression. Describe how a double colon replaces consecutive all-zero hextets and why it can appear only once in an IPv6 address.
- IPv6 network prefix identification. Explain that an IPv6 prefix combines a network address with a prefix length, and identify the prefix of a /64 host address by replacing its final four hextets with zeros.
- IPv6 routing prerequisite. Explain why a Cisco router needs the global configuration command ipv6 unicast-routing even when its interfaces already have IPv6 addresses.
- Manual IPv6 address assignment. Describe how to assign an IPv6 address to a Cisco IOS interface and verify it. Explain that IOS accepts correctly abbreviated input, abbreviates addresses in show output, and automatically generates a link-local address.
- Additional interface address behavior. Distinguish what happens when another IPv4 or IPv6 address is configured on an interface, and explain how to replace an existing IPv6 address. State the `secondary` keyword exception for configuring multiple IPv4 addresses.
- Modified EUI-64 address configuration. Describe how to configure an IPv6 address using Modified EUI-64: specify a /64 prefix and add the eui-64 keyword to the ipv6 address command. Explain that this generates the host portion of the address.
- MAC-to-interface-ID conversion. Trace the three-step conversion of a 48-bit MAC address into a 64-bit Modified EUI-64 interface identifier, including how the example changes 0060.2f62.b803 into 0260:2fff:fe62:b803.
- IPv6 unicast address scopes. Distinguish global unicast, unique local, and link-local addresses by where they are used.
- Multicast and anycast delivery. Distinguish how multicast and anycast addresses direct a packet to recipients.
- Global unicast purpose and allocation. Explain that IPv6 global unicast addresses are globally unique public addresses used for internet communication, and that enterprises typically receive an address block from an ISP or RIR rather than choosing one freely.
- Enterprise address and subnet structure. Describe the typical /48 global routing prefix, 16-bit subnet identifier, and 64-bit interface identifier in an enterprise global unicast address. Explain how the subnet identifier lets the enterprise create /64 subnets.
- Unique local address use. Explain that unique local addresses identify individual hosts for unicast communication within private networks, but cannot be used for communication over the internet.
- Unique local address structure. Describe the active ULA range and the fields that follow its prefix.
- Local-link communication scope. Explain that an IPv6 link-local address identifies one host but can be used only to communicate with devices on the same network segment.
- IPv6 LLA assignment and prefix. Describe the required link-local address on an IPv6 interface, its fe80::/64 prefix, and how it is generated automatically or configured manually.
- Multicast addresses and scopes. Distinguish one-to-multiple multicast communication from one-to-one unicast communication. Explain how to recognize an IPv6 multicast address and where its scope is indicated.
- Link-local multicast delivery. Explain where link-local multicast messages go and how the all-nodes multicast address serves a broadcast-like purpose in IPv6.
- Anycast addressing and delivery. Explain how multiple hosts can share an anycast address and how a packet reaches one of them. Distinguish anycast from ordinary unicast and multicast.
- Unspecified IPv6 address. Explain how the unspecified IPv6 address is written and when a device can use it as a source address.
- IPv6 loopback address. Describe what happens to messages sent to the IPv6 loopback address and what this lets a device test.
What it builds on
- The structure of an IPv4 address (chapter 7) · Introduces IPv4 addresses, which this section contrasts with IPv6 address space.
- The Version field (chapter 7) · Introduces the Version field in an IP header.
- What is subnetting? (chapter 11) · The earlier introduction to subnetting.
- Binary: Bits and bytes (chapter 3) · The earlier explanation of bits and binary values.
- Data encapsulation and de-encapsulation (chapter 4) · The earlier explanation of data encapsulation.
- Binary (chapter 7) · The meaning of bits and binary values.
- The IHL field (chapter 7) · IPv4's Internet Header Length field
- The Total Length field (chapter 7) · IPv4's Total Length field
Section by section
Introduction
This introduction explains why IPv6 matters despite IPv4’s continued dominance and clarifies why its name skips IPv5.
- IPv6 address space motivation: Explain that IPv4’s limited address space cannot accommodate all devices needing network connectivity, while IPv6 offers a much larger address space and is seeing growing adoption.
Why it matters: This explains why network engineers need to be familiar with IPv6 as well as IPv4. - The skipped IPv5 name: Explain why IPv4’s successor was named IPv6 rather than IPv5.
Why it matters: It clears up why the protocol names appear to skip a number.
Key terms: IPv4, IPv6, address space, Internet Stream Protocol (ST), Version field
20.1 The need for IPv6
Explains why IPv4 address exhaustion motivates IPv6, how much larger IPv6’s address space is, and what purpose the two protocols share.
- IPv4 address exhaustion: Explain why the available IPv4 addresses are insufficient and why more efficient use of them cannot solve the problem permanently.
Why it matters: This is the problem IPv6’s larger address space is intended to address. - IPv4 address allocation and extensions: Describe who distributes IPv4 address space and name the approaches the section identifies as extending IPv4’s lifespan.
Why it matters: It distinguishes measures that prolonged IPv4’s use from the section’s long-term answer, IPv6. - IPv6 address space scale: Explain why a 128-bit IPv6 address provides vastly more possible addresses than a 32-bit IPv4 address.
Why it matters: The bit-length comparison explains why IPv6 is presented as a long-term response to address exhaustion. - Shared IPv4 and IPv6 purpose: Describe the general packet-addressing purpose IPv4 and IPv6 share despite their differences.
Why it matters: It connects IPv6 to the packet and frame concepts already used for IPv4.
Key terms: IPv4 address exhaustion, 32-bit, reserved addresses, IANA, Regional Internet Registries (RIR), CIDR, private IPv4 addresses, network address translation (NAT), 128 bits, IPv6 address space
20.2 Hexadecimal
This section explains hexadecimal notation and teaches conversions between binary and hexadecimal for reading IPv6 addresses.
- Hexadecimal digits and IPv6 notation: Explain why hexadecimal is a compact way to write the bit values used in IPv6 addresses.
Why it matters: This explains why long IPv6 bit strings can be written more readably. - Binary to hexadecimal conversion: Apply the section’s method to convert a 16-bit binary value into hexadecimal.
Why it matters: Four-bit grouping lets you turn a long binary value into a compact hexadecimal one. - Hexadecimal to binary conversion: Apply the section’s method to convert a four-digit hexadecimal value into a 16-bit binary value.
Why it matters: Converting back to bits makes the value represented by each hexadecimal character clear.
Key terms: hexadecimal, nibble, IPv6 addresses, binary, four-bit groups
20.3 IPv6 addressing
This introduction frames IPv6 addresses as another way of writing binary values, contrasting their hexadecimal notation with IPv4’s dotted decimal notation.
- Binary Behind IP Addresses: Explain that both IPv4 and IPv6 addresses represent binary values, but IPv4 uses dotted decimal notation while IPv6 uses hexadecimal notation.
Why it matters: Recognizing the binary underneath both notations makes IPv6 addresses less intimidating.
Key terms: IPv4, IPv6, binary, dotted decimal, hexadecimal
20.3.1 IPv6 header
Introduces the IPv6 header fields and explains how several compare with their IPv4 counterparts.
- Version and traffic fields: Describe what the Version, Traffic Class, and Flow Label fields identify, without explaining QoS mechanics.
Why it matters: These fields give you a basic way to recognize what the header says about a packet. - Fixed header and payload length: Explain why IPv6 uses a Payload Length field rather than separate header-length and total-length fields as IPv4 does.
Why it matters: The fixed header size explains what IPv6's length field measures. - Next Header identification: Explain what the Next Header field identifies and how it relates to IPv4's Protocol field.
Why it matters: This field tells you what kind of message the packet carries. - Hop Limit loop prevention: Trace what happens to Hop Limit as routers forward a packet and explain its purpose.
Why it matters: Hop Limit puts a bound on how long a looping packet can remain in the network. - Source and destination fields: State what the final two IPv6 header fields contain and their size.
Why it matters: These fields locate the IPv6 addresses within the packet header.
Key terms: Version, Traffic Class, Flow Label, flow, Payload Length, fixed 40-byte header, Internet Header Length, Total Length, Next Header, Protocol field
20.3.2 IPv6 address structure
This section explains how a 128-bit IPv6 address is written in hexadecimal and why IPv6 commonly uses a /64 prefix length.
- IPv6 address representation: Explain that an IPv6 address identifies a host at Layer 3 and is written as eight colon-separated groups of 16 bits in hexadecimal because its 128-bit binary form is difficult to read.
Why it matters: This format makes IPv6 addresses readable and provides the starting point for working with them. - IPv6 prefix length notation: Describe how IPv6 prefix lengths are written and why /64 is typically preferred despite providing an enormous number of addresses per subnet.
Why it matters: Recognizing /64 notation and its rationale helps make sense of common IPv6 subnets.
Key terms: IPv6 address, 128-bit, hexadecimal, hextet, IPv6 prefix length, slash notation, /64
20.3.3 Abbreviating IPv6 addresses
This section explains how to shorten IPv6 addresses by removing leading zeros and replacing runs of all-zero hextets, then gives recommended rules for writing them consistently.
- Leading zero removal: Explain how to shorten a hextet by removing leading zeros without removing trailing zeros or every digit of an all-zero hextet.
Why it matters: This lets you shorten an address without changing the value of any hextet. - Double colon compression: Describe how a double colon replaces consecutive all-zero hextets and why it can appear only once in an IPv6 address.
Why it matters: You can expand a compressed address only if the number of omitted hextets is unambiguous. - Consistent abbreviation choices: Describe the section’s recommended RFC 5952 conventions for choosing and writing an abbreviated IPv6 address.
Why it matters: These conventions give an address a consistent written form when several valid shortenings are possible.
Key terms: leading zeros, trailing zeros, hextet, all-zero hextets, double colon, RFC 5952
20.3.4 Identifying the IPv6 prefix
This section shows how to identify an IPv6 network prefix, especially for the commonly used /64 prefix length.
- IPv6 network prefix identification: Explain that an IPv6 prefix combines a network address with a prefix length, and identify the prefix of a /64 host address by replacing its final four hextets with zeros.
Why it matters: It lets you recognize the network prefix from a typical IPv6 host address without converting it to binary.
Key terms: network prefix, network address, prefix length, host portion, hextets, /64
20.4 IPv6 address configuration
Introduces familiar IPv6 command names and explains why IPv6 routing must be enabled before a Cisco router can forward IPv6 packets.
- IPv6 routing prerequisite: Explain why a Cisco router needs the global configuration command ipv6 unicast-routing even when its interfaces already have IPv6 addresses.
Why it matters: An IPv6 address on a router interface does not, by itself, let the router forward traffic between IPv6 networks. - Familiar IPv6 command forms: Describe how several IPv6 configuration and verification commands correspond to IPv4 commands by replacing ip with ipv6.
Why it matters: Familiar IPv4 command patterns make the IPv6 command names easier to recognize and recall.
Key terms: ipv6 unicast-routing, global config mode, IPv6 packets, ip address, ipv6 address, ip route, ipv6 route, show ipv6 interface brief, show ipv6 route
20.4.1 Manually assigning an IPv6 address
This section shows how to manually assign and verify IPv6 addresses on Cisco IOS interfaces, and how adding an address differs from IPv4.
- Manual IPv6 address assignment: Describe how to assign an IPv6 address to a Cisco IOS interface and verify it. Explain that IOS accepts correctly abbreviated input, abbreviates addresses in show output, and automatically generates a link-local address.
Why it matters: This lets you configure an IPv6 interface and recognize what its verification output shows. - Additional interface address behavior: Distinguish what happens when another IPv4 or IPv6 address is configured on an interface, and explain how to replace an existing IPv6 address. State the `secondary` keyword exception for configuring multiple IPv4 addresses.
Why it matters: This prevents an old IPv6 address from remaining on an interface when you meant to replace it.
Key terms: ipv6 address address/prefix-length, slash notation, show ipv6 interface brief, link-local address, IPv4 addresses, IPv6 addresses, no command, secondary keyword
20.4.2 Modified EUI-64
This section explains how to configure an IPv6 address with Modified EUI-64 and how it derives the 64-bit interface identifier from a MAC address.
- Modified EUI-64 address configuration: Describe how to configure an IPv6 address using Modified EUI-64: specify a /64 prefix and add the eui-64 keyword to the ipv6 address command. Explain that this generates the host portion of the address.
Why it matters: This lets you recognize how a router obtains the host portion of an IPv6 address without entering it manually. - MAC-to-interface-ID conversion: Trace the three-step conversion of a 48-bit MAC address into a 64-bit Modified EUI-64 interface identifier, including how the example changes 0060.2f62.b803 into 0260:2fff:fe62:b803.
Why it matters: The three-step conversion is the operation the section says you should be able to perform for the CCNA exam. - Seventh-bit inversion meaning: Explain what the MAC address U/L bit distinguishes and how its meaning is reversed in the resulting Modified EUI-64 identifier.
Why it matters: It explains the purpose of the bit flip that distinguishes Modified EUI-64 from merely extending a MAC address.
Key terms: Modified EUI-64, interface identifier, /64 IPv6 prefix, eui-64 keyword, 48-bit MAC address, 64-bit interface identifier, 0xfffe, seventh bit, U/L bit, Universally Administered Address
20.5 IPv6 address types
Introduces five IPv6 address types by their communication scope or delivery pattern.
- IPv6 unicast address scopes: Distinguish global unicast, unique local, and link-local addresses by where they are used.
Why it matters: The address type indicates where an IPv6 address can be used. - Multicast and anycast delivery: Distinguish how multicast and anycast addresses direct a packet to recipients.
Why it matters: These types differ in whether a packet is addressed to multiple hosts or delivered to one of several hosts.
Key terms: global unicast, unique local, link-local, multicast, anycast, one-to-multiple, one-to-one-of-multiple
20.5.1 Global unicast
This section explains how IPv6 global unicast addresses are allocated, how a typical enterprise address is divided into prefix, subnet, and interface portions, and which addresses qualify as global unicast.
- Global unicast purpose and allocation: Explain that IPv6 global unicast addresses are globally unique public addresses used for internet communication, and that enterprises typically receive an address block from an ISP or RIR rather than choosing one freely.
Why it matters: This distinguishes global unicast addresses from addresses an organization can choose for itself. - Enterprise address and subnet structure: Describe the typical /48 global routing prefix, 16-bit subnet identifier, and 64-bit interface identifier in an enterprise global unicast address. Explain how the subnet identifier lets the enterprise create /64 subnets.
Why it matters: It shows how one assigned IPv6 block can provide multiple enterprise subnets. - Global unicast range definition: Distinguish the original 2000::/3 global unicast range from the expanded definition, which includes addresses not specifically reserved for other purposes.
Why it matters: It prevents treating the original prefix as the complete current definition.
Key terms: global unicast address, IANA, ISP, RIR, global routing prefix, subnet identifier, interface identifier, /48, /64, 2000::/3
20.5.2 Unique local
This section explains what IPv6 unique local addresses are, how they are structured, and why their global IDs should be random.
- Unique local address use: Explain that unique local addresses identify individual hosts for unicast communication within private networks, but cannot be used for communication over the internet.
Why it matters: It distinguishes an address suitable for internal communication from one usable over the public internet. - Unique local address structure: Describe the active ULA range and the fields that follow its prefix.
Why it matters: The prefix and fields let you recognize a ULA and describe its layout. - Random global ID rationale: Justify randomly generating a ULA's global ID even though ULAs are private addresses.
Why it matters: Avoiding address overlap can make it easier to join separate private networks later.
Key terms: unique local addresses, ULAs, unicast, private addresses, fc00::/7, fc00::/8, fd00::/8, global ID, subnet identifier, interface identifier
20.5.3 Link-local
This section explains where IPv6 link-local addresses work, how interfaces obtain them, and how they differ from IPv4 link-local addresses.
- Local-link communication scope: Explain that an IPv6 link-local address identifies one host but can be used only to communicate with devices on the same network segment.
Why it matters: The address’s local scope determines which devices can communicate using it. - IPv6 LLA assignment and prefix: Describe the required link-local address on an IPv6 interface, its fe80::/64 prefix, and how it is generated automatically or configured manually.
Why it matters: An interface can have an LLA even without a configured global unicast address, but it cannot retain two LLAs. - IPv4 and IPv6 LLA distinction: Distinguish IPv6’s required per-interface LLA from IPv4’s optional link-local addressing, including the IPv4 range and the DHCP-failure example.
Why it matters: The comparison prevents treating IPv6 LLAs as merely an address-assignment fallback.
Key terms: link-local address, LLA, unicast, local link, fe80::/64, interface identifier, Modified EUI-64, ipv6 enable, ipv6 address address link-local, IPv4 LLA
20.5.4 Multicast
This section explains how IPv6 multicast addresses identify groups of recipients, how multicast scope limits delivery, and how a Cisco router reports the groups its interface has joined.
- Multicast addresses and scopes: Distinguish one-to-multiple multicast communication from one-to-one unicast communication. Explain how to recognize an IPv6 multicast address and where its scope is indicated.
Why it matters: Recognizing the group and its scope helps you interpret whom an IPv6 packet is meant to reach. - Link-local multicast delivery: Explain where link-local multicast messages go and how the all-nodes multicast address serves a broadcast-like purpose in IPv6.
Why it matters: It explains how IPv6 reaches local neighbors without using a broadcast address. - Router multicast group membership: Describe how to check a Cisco router interface’s multicast group memberships and what the router does with packets addressed to groups it has or has not joined.
Why it matters: The command lets you see which multicast messages a router interface is prepared to examine.
Key terms: multicast address, multicast group, multicast scope, ff00::/8, first hextet, link-local multicast, local segment, all-nodes multicast address, ff02::1, show ipv6 interface
20.5.5 Anycast addresses
This section explains how IPv6 anycast delivers traffic to one of several hosts sharing an address, why services use it, and how to mark it in Cisco IOS.
- Anycast addressing and delivery: Explain how multiple hosts can share an anycast address and how a packet reaches one of them. Distinguish anycast from ordinary unicast and multicast.
Why it matters: It explains why sharing an IP address can deliver a packet to one destination rather than every host with that address. - Globally distributed service access: Explain why a service might configure the same anycast address on servers in different locations.
Why it matters: It connects anycast's routing behavior to a practical benefit for internet services. - Optional anycast configuration marker: Describe how an anycast address is configured in Cisco IOS and what the optional anycast keyword changes.
Why it matters: It helps readers distinguish a useful configuration label from a command option required for anycast to work.
Key terms: anycast, unicast, multicast, best route, routing table, latency, Content Delivery Network (CDN), ipv6 address command, anycast keyword, show commands
20.5.6 Other reserved addresses
Identifies the unspecified and loopback IPv6 addresses and explains what each is used for.
- Unspecified IPv6 address: Explain how the unspecified IPv6 address is written and when a device can use it as a source address.
Why it matters: It explains why a device might send a packet before it has an IPv6 address of its own. - IPv6 loopback address: Describe what happens to messages sent to the IPv6 loopback address and what this lets a device test.
Why it matters: It gives you a way to test local networking software without sending traffic onto the network.
Key terms: unspecified address, ::, loopback address, ::1
20.6 Summary
Where this is used later
- The IPv6 routing table (chapter 21) · Reading IPv6 addresses shown in routing information.
- Connected and local routes (chapter 21) · Recognizing an address's prefix helps when examining IPv6 connected and local routes.
- Configuring IPv6 static routes (chapter 21) · Provides the prerequisite for a router to forward packets using IPv6 routes.
- Duplicate Address Detection (chapter 21) · IPv6 addresses being assigned to interfaces
- Router discovery with NDP (chapter 21) · Modified EUI-64 as a way to generate an IPv6 address's host portion
- Link-local next hops (chapter 21) · Link-local next hops rely on the meaning of a link-local address.
- Solicited-node multicast (chapter 21) · Solicited-node multicast builds on the idea of addressing a packet to multiple hosts.
- Route selection (chapter 21) · Provides an example of packet delivery depending on routers' best routes.
Concepts explained in this chapter
- IPv6IPv6 is the sixth version of the Internet Protocol, using 128-bit network addresses written in hexadecimal notation.
- link-local addressAn IPv6 link-local address is an IPv6 unicast address valid only for communication between devices on the same local network segment.
- interface identifierAn interface identifier is the 64-bit host portion of an IPv6 address that identifies a network interface within an IPv6 prefix.
- ipv6 address commandThe ipv6 address command is a Cisco IOS interface-configuration command that assigns an IPv6 address, including a manually specified link-local address.
- ipv6 hextetAn IPv6 hextet is a group of 16 bits in an IPv6 address, conventionally represented by four hexadecimal digits.
- show ipv6 interface briefshow ipv6 interface brief is a Cisco IOS command that displays concise IPv6 addressing and operational status information for interfaces.
- eui-64 keywordAn EUI-64 interface identifier is a 64-bit IPv6 interface identifier derived using the Extended Unique Identifier format.
- ipv4 address exhaustionIPv4 address exhaustion is the depletion of globally usable IPv4 addresses caused by demand exceeding the available 32-bit address space.
- unique local addressA unique local address is an IPv6 private unicast address intended for use within internal networks and not for communication over the public internet.
- global unicast addressA global unicast address is an IPv6 unicast address that is globally unique and routable over the internet.
- ipv6 headerAn IPv6 header is the fixed 40-byte network-layer protocol header that carries IPv6 packet control and addressing information.
- anycastAn anycast address is an IP address configured on multiple hosts so that traffic sent to it reaches one host selected according to network routing.
- ipv6 unicast-routing commandThe Cisco IOS ipv6 unicast-routing command enables IPv6 unicast packet forwarding between interfaces.
- network portionThe network portion is the leading part of an IP address that identifies the network to which the addressed host belongs.
- destination address fieldAn IPv6 destination address field is a 128-bit IPv6 header field containing the destination IPv6 address of the packet.
- source address fieldAn IPv6 source address field is a 128-bit IPv6 header field containing the source IPv6 address of the packet.
- hexadecimal numberThe hexadecimal number system is a base-16 positional numeral system using the digits 0 through 9 and the letters A through F.
- subnettingIPv6 subnetting is the division of an IPv6 address block into smaller subnetworks by allocating bits from the subnet identifier.
- prefix lengthA prefix length is the number of leading bits in an IP address that constitute its network portion, written in slash notation such as /24.
- ipv6 route commandThe Cisco IOS ipv6 route command creates a static IPv6 route in a router's routing table.
- solicited-node multicast addressA solicited-node multicast address is an IPv6 multicast address derived from the last six hexadecimal digits of a unicast address for targeting specific neighbors on a link.
- dotted decimal notationDotted decimal notation is the representation of a 32-bit IPv4 address as four decimal octets separated by periods.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
