IPv6: Addressing
Milo Liu
SW2
ZyXEL Communications Corp.
3/6/2006
ZyXEL Confidential
Outline
Review IPv4 addressing .
Basic IPv6 address concepts.
IPv6 address space.
Subnetting IPv6 space.
ZyXEL Confidential
IPv4 Address
32bit address space.
Subnet defined by a mask.
Unicast host address.
Multicast address.
Broadcast address.
Special address.
ZyXEL Confidential
IPv4 Address
32 bits address space.
• 11010010 01001001 10001100 00000010
• 210.73.140.2
Subnet mask (Network section and host
section)
• A class (0xxxxxxx) + 24 bit
• B class (10xxxxxxxxxxxxxx) + 16bits
• C class (110xxxxxxxxxxxxxxxxxxxxx) + 8bits
ZyXEL Confidential
IPv4 Address
Multicast address.
• 1110xxxx + 24bits (223 ~ 240) .xxxxx
Broadcast address.
• 255.255.255.255
Loop-back address.
• 127.0.0.1 (localhost)
ZyXEL Confidential
IPv4 Addresses and IPv6 Equivalents
IPv4 Address IPv6 Address
Internet address classes N/A
Multicast addresses (224.0.0.0/4) IPv6 multicast addresses (FF00::/8)
Broadcast addresses N/A
Unspecified address is 0.0.0.0 Unspecified address is ::
Loopback address is 127.0.0.1 Loopback address is ::1
Public IP addresses Aggregatable global unicast addresses
Private IP addresses Site-local addresses (FEC0::/48)
APIPA addresses Link-local addresses (FE80::/64)
Dotted decimal notation Colon hexadecimal format
Subnet mask or prefix length Prefix length notation only
ZyXEL Confidential
IPv6 Address concept
IPV6 Address syntax.
• 128bits space. (split by 16bits)
0010000111011010 0000000011010011
0000000000000000 0010111100111011
0000001010101010 0000000011111111
1111111000101000 1001110001011010
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
128 bits
Prefix (n) Interface ID (128 - n)
ZyXEL Confidential
IPv6 Address concept
IPv6 address syntax: Compressing Zeros
• FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes
FE80::2AA:FF:FE9A:4CA2
• FF02:0:0:0:0:0:0:2
FF02::2
ZyXEL Confidential
IPv6 Address concept
Prefix is part of address where the bits
have fixed values or are the bits of a
route or subnet identifier.
IPv6 subnets or routes always uses
address/prefix-length notation. (Classless
Inter-Domain Routing (CIDR) )
• 21DA:D3::/48 for a route
• 21DA:D3:0:2F3B::/64 for a subnet
ZyXEL Confidential
Classless Inter-Domain Routing (CIDR)
ZyXEL Confidential
IPv6 Addresses Application
Host B
Router 2
internet
Subnet 2
Router 1
Subnet 1 Global: 3000:4D:C00:: 20D:60FF:FECB:6255
Site: FEC0::1: 20D:60FF:FECB:6255
Link: FE80::20D:60FF:FECB:6255
Multicast: FF01::1
FF02::1
Host A FF02::1:FFCB:6255
ZyXEL Confidential
IPv6 Address concept
Subnet Mask: not required and as prefix of IPv6 address
Type of address
• Unicast
– Address of a single interface
– One-to-one delivery to single interface
• Multicast
– Address of a set of interfaces
– One-to-many delivery to all interfaces in the set
• Anycast
– Address of a set of interfaces
– One-to-one-of-many delivery to a single interface in the set that is
closest
• No broadcast addresses
ZyXEL Confidential
IPv6 Address concept
Unicast address
• Aggregatable global unicast addresses
• Link-local addresses
• Site-local addresses
• Special addresses
• Compatibility addresses
• NSAP addresses
ZyXEL Confidential
IPv6 Address concept
IPv6 Address space
• 64bits (subnet section) + 64bits (interface
section)
64 bits 64 bits
Prefix Interface ID
ZyXEL Confidential
Unicast address
Aggregatable global unicast addresses
• Top-Level Aggregation ID (TLA ID)
• Next-Level Aggregation ID (NLA ID)
• Site-Level Aggregation ID (SLA ID)
• Interface ID
13 bits 8 bits 24 bits 16 bits 64 bits
001 TLA ID Res NLA ID SLA ID Interface ID
ZyXEL Confidential
Unicast address
Topologies Within Global Addresses
• Public Topology
• Site Topology
• Interface ID
001 TLA ID Res NLA ID SLA ID Interface ID
48 bits 16 bits 64 bits
Public Topology Site Topology Interface Identifier
ZyXEL Confidential
Unicast address
Link-local addresses
• Used between on-link neighbors and for
Neighbor Discovery
• Format Prefix 1111 1110 10
– FE80::/64 prefix
• Used for local link only
– Single subnet, no router
– Address autoconfiguration
– Neighbor Discovery
ZyXEL Confidential
Unicast address
Link-local addresses
10 bits 54 bits 64 bits
1111 1110 10 000 . . . 000 Interface ID
ZyXEL Confidential
Unicast address
Site-local addresses
• Used between nodes in the same site
• Format Prefix 1111 1110 11
– FEC0::/48 prefix for site
• Used for local site only
– Replacement for IPv4 private addresses
– Intranets not connected to the Internet
– Routers do not forward site-local traffic outside the
site
ZyXEL Confidential
Unicast address
Site-local addresses
10 bits 38 bits 16 bits 64 bits
1111 1110 11 000 . . . 000 Subnet ID Interface ID
ZyXEL Confidential
Unicast address
Special addresses
• Unspecified address
– 0:0:0:0:0:0:0:0 or ::
• Loopback address
– 0:0:0:0:0:0:0:1 or ::1
ZyXEL Confidential
Unicast address
Compatibility Addresses
• IPv4-compatible address
– 0:0:0:0:0:0:w.x.y.z or ::w.x.y.z
• IPv4-mapped address
– 0:0:0:0:0:FFFF:w.x.y.z or ::FFFF:w.x.y.z
• 6over4 address
– [64-bit prefix]:0:0:WWXX:YYZZ
• 6to4 address
– 2002:WWXX:YYZZ:[SLA ID]:[Interface ID]
• ISATAP address
– Interface ID of ::0:5EFE:w.x.y.z
ZyXEL Confidential
Multicast IPv6 Address
Defined multicast addresses
• All-Nodes addresses
– FF01::1 (Node Local), FF02::1 (Link Local)
• All-Routers addresses
– FF01::2 (Node Local), FF02::2 (Link Local), FF05::2
(Site Local)
8 bits 4 bits 4 bits 112 bits
1111 1111 Flags Scope Group ID
ZyXEL Confidential
Scope: 4bits
ZyXEL Confidential
Multicast IPv6 Address
Recommended Multicast IPv6 Addresses
• Single IPv6 multicast address maps to a
single Ethernet multicast MAC address
8 bits 4 bits 4 bits 80 bits 32 bits
1111 1111 Flags Scope 000 … 000 Group ID
ZyXEL Confidential
Multicast IPv6 Address
Solicited-Node Address
• Acts as a pseudo-unicast address for very
efficient address resolution
• For FE80::2AA:FF:FE28:9C5A, the
corresponding solicited-node address is
FF02::1:FF28:9C5A
ZyXEL Confidential
Multicast IPv6 Address
Solicited-Node Address
64 bits 64 bits
Unicast prefix Interface ID
24 bits
FF02: 0:0:0:0 :1:FF
ZyXEL Confidential
Anycast IPv6 Address
An anycast address is an address that is
assigned to a set of interfaces that typically
belong to different nodes.
A packet sent to an anycast address is
delivered to the closest interface.
Anycast addresses can be used only by a router,
not a host, and anycast addresses must not be
used as the source address of an IPv6 packet.
Subnet router anycast address
ZyXEL Confidential
IPv6 Addresses Application
IPv6 Addresses for a Host
• Unicast addresses:
– A link-local address for each interface
– Unicast addresses for each interface (site-local or global
addresses)
– A loopback address (::1)
• Listen Multicast addresses:
– The node-local scope all-nodes multicast address (FF01::1)
– The link-local scope all-nodes multicast address (FF02::1)
– The solicited-node address for each unicast address
– The multicast addresses of joined groups
ZyXEL Confidential
IPv6 Addresses Application
IPv6 Addresses for a Router
• Unicast addresses:
– A link-local address for each interface
– Unicast addresses for each interface
– Loopback address (::1)
• Anycast addresses
– Subnet-router anycast address
– Additional anycast addresses (optional)
• Listen Multicast addresses:
– The node-local scope all-nodes multicast address (FF01::1)
– The node-local scope all-routers multicast address (FF01::2)
– The link-local scope all-nodes multicast address (FF02::1)
– The link-local scope all-routers multicast address (FF02::2)
– The site-local scope all-routers multicast address (FF05::2)
– The solicited-node address for each unicast address
– The multicast addresses of joined groups
ZyXEL Confidential
IPv6 Addresses Application
Host B
Router 2
internet
Subnet 2
Router 1
Subnet 1 Global: 3000:4D:C00:: 20D:60FF:FECB:6255
Site: FEC0::1: 20D:60FF:FECB:6255
Link: FE80::20D:60FF:FECB:6255
Multicast: FF01::1
FF02::1
Host A FF02::1:FFCB:6255
ZyXEL Confidential
IPv6 Interface Identifiers
Interface identifier based on:
• Extended Unique Identifier (EUI)-64 address
– Either assigned to a network adapter card or derived from
IEEE 802 addresses
• Temporarily assigned, randomly generated value
that changes over time
• A value assigned by a stateful address configuration
protocol
• A value assigned during a Point-to-Point Protocol
connection establishment
• A manually configured value
ZyXEL Confidential
IEEE EUI-64 Addresses
Extended Unique Identifier
Company ID
Extension ID
24 bits 40 bits
ccccccug cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
IEEE-administered company ID Manufacturer-selected extension ID
ZyXEL Confidential
IPv6 Interface Identifiers
Extended Unique Identifier (EUI)-64
address
• Extended Unique Identifier
• Company ID
• Extension ID
24 bits 40 bits
ccccccug cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
IEEE-administered company ID Manufacturer-selected extension ID
ZyXEL Confidential
Conversion of an IEEE 802 Address to an EUI-64
Address
Host A has the MAC address of 00-0D-60-CB-62-
55
• 1. Convert to EUI-64 format
– 00-0D-60-FF-FE-CB-62-55
• 2. Complement the U/L bit
– The first byte in binary form is 00000000. When the seventh
bit is complemented, it becomes 00000010 (0x02).
– Result is 02-0D-60-FF-FE-CB-62-55
• 3. Convert to colon hexadecimal notation
– 20D:60FF:FECB:6255
Link-local address for node with the MAC
address of 00-0D-60-CB-62-55 is FE80::
20D:60FF:FECB:6255.
ZyXEL Confidential
IEEE-administered company ID Manufacturer-selected extension ID
24 bits 24 bits
00000000 00001101 01100000 11001011 1100010 1010101
IEEE 802 Address
EUI-64 Address
00000000 00001101 01100000 11111111 11111110 11001011 1100010 1010101
0xFF 0xFE
00000010 00001101 01100000 11111111 11111110 11001011 1100010 1010101
IPv6 Interface Identifier
64 bits
ZyXEL Confidential
Temporary Address Interface Identifiers
Random IPv6 interface identifier
• Prevent identification of traffic regardless of the
prefix
• Initial value based on random number
• Future values based on MD5 hash of history value
and EUI-64-based interface identifier
Result is a temporary address
• Generated from public address prefixes using
stateless address autoconfiguration
• Changes over time
ZyXEL Confidential
Mapping IPv6 Multicast Addresses to
Ethernet Addresses
IPv6 8 16 24 32
Multicast Address
FF...:
Ethernet
Multicast Address
33-33-
ZyXEL Confidential
IPv6 Addresses Application
Host B
Router 2
internet
Subnet 2
Router 1
Subnet 1 Global: 3000:4D:C00:: 20D:60FF:FECB:6255
Site: FEC0::1: 20D:60FF:FECB:6255
Link: FE80::20D:60FF:FECB:6255
Multicast: FF01::1
FF02::1
Host A FF02::1:FFCB:6255
ZyXEL Confidential
Subnetting the IPv6 Address Space
Subnetting for NLA IDs
f r
[16-bit prefix]:00
s
ZyXEL Confidential
Subnetting the IPv6 Address Space
Subnetting for SLA IDs
f r
[48-bit prefix]: ::
s
ZyXEL Confidential
Expression
Based on s (the number of bits chosen for subnetting), m (the
prefix length of the network prefix being subnetted), and F
(the hexadecimal value of the subnet being subnetted),
calculate the following:
• f = m - 48
• f is the number of bits within the subnet ID that are already fixed.
• n = 2s
• n is the number of network prefixes that are obtained.
• i = 216-(f+s)
• i is the incremental value between each successive subnet ID
expressed in hexadecimal form.
• l = 48 + f + s
• l is the prefix length of the new subnetted network prefixes.
ZyXEL Confidential
Example
To perform a 3-bit subnetting of the site-
local network prefix FEC0:0:0:C000::/51,
we first calculate the values of the
number of prefixes, the increment, and
the new prefix length. Our starting
values are F = 0xC000, s = 3, and f = 51 -
48 = 3. The number of prefixes is 8 (n =
23). The increment is 0x400 (i = 216-(3+3)
= 1024 = 0x400). The new prefix length is
54 (l = 48 + 3 + 3).
ZyXEL Confidential
Q&A
ZyXEL Confidential
Training course arrangement
Date Subject Lecturer
03/10 Introduction to IPv6 Joe Zhao
03/16 IPv6 Addressing Milo Liu
03/23 IPv6 Header & Extensions Joe Zhao
03/23 ICMPv6 Feng Zhou
03/30 Neighbor Discovery Protocol Billy Bian
03/30 Multicast Listener Discovery Jeffrey Zhou
04/06 Address Autoconfigurator Feng Zhou
04/06 IPv6 Routing Milo Liu
ZyXEL Confidential
Training course arrangement
Date Subject Lecturer
04/13 IPv6 Migration Mechanisms Joe Zhou
04/20 IPv6 Mobility Milo Liu
Setting Up an IPv6 Test Lab
ZyXEL Confidential