IPv6 Address
Representation
Objectives
IPv6 Addressing scheme
IPv6 Address Plan
IPv6 Address Types
IPv6 Address with an Embedded IPv4 Address
IPv6 Address Representation for URL
IPv6 and Subnetting
IPv6 Addressing Rules
128 bits (or 16 bytes) long: four times as long as its predecessor.
2
128: about 340 billion billion billion billion different addresses
Colon hexadecimal notation:
addresses are written using 32 hexadecimal digits.
digits are arranged into 8 groups of four to improve the readability.
Groups are separated by colons
2001:0718:1c01:0016:020d:56ff:fe77:52a3
Note:
DNS plays an important role in the IPv6 world
(manual typing of IPv6 addresses is not an easy thing,
IPv6 Address Notation: Example
128.91.45.157.220.40.0.0.0.0.252.87.212.200.31.255
Rule 1- IPv6 Zero Suppression
Some types of addresses contain long sequences of zeros.
To further simplify the representation of IPv6 addresses, a contiguous sequence of 16-bit blocks set to 0 in the colon hexadecimal format can be compressed to “::”, known as double-colon.
For example:
link-local address
FE80:0:0:0:2AA:FF:FE9A:4CA2 FE80::2AA:FF:FE9A:4CA2.
multicast address
Rule 1- IPv6 Zero Suppression
Zero compression can only be used to compress a single contiguous series of 16-bit blocks expressed in colon
hexadecimal notation.
You cannot use zero compression to include part of a 16-bit block.
For example,
cannot express FF02:30:0:0:0:0:0:5 as FF02:3::5
correct representation = FF02:30::5
Leading zeroes in every group can be omitted.
2001:718:1c01:16:20d:56ff:fe77:52a3
Rule 1- IPv6 Zero Suppression
To determine the number of 0 bits represented by the “::”
1.
count the number of blocks in the compressed address
2.
(-) subtract this number from 8
3.
(*) multiply the result by 16.
For example
1.
FF02::2
2.
two blocks - “FF02” block and “2” block.
3.
The number of bits expressed by the “::” is 96 (96 = (8 – 2)16).
IPv6 Prefixes
The prefix is the part of the address that indicates the bits that have fixed values or are the bits of the subnet prefix.
Prefixes for IPv6 subnets, routes, and address ranges are
expressed in the same way as Classless Inter-Domain Routing (CIDR) notation for IPv4.
An IPv6 prefix is written in address/prefix-length notation.
For example, 21DA:D3::/48 and 21DA:D3:0:2F3B::/64 are IPv6 address prefixes.
Note IPv4 implementations commonly use a dotted decimal representation of the network prefix known as the subnet mask.
A subnet mask is not used for IPv6. Only the prefix length
notation is supported.
IPv6 Prefixes
IPv6 Address Types
IPv6 Addresses: Types and
Scopes
IPv6 Address Categories
IPv6 Address Types
Unicast IPv6 Addresses
The following types of addresses are unicast IPv6 addresses:
Global unicast addresses
Link-local addresses
Site-local addresses
Unique local IPv6 unicast addresses
Special addresses
Global Unicast Addresses
Equivalent to public IPv4 addresses.
Globally routable and reachable on the IPv6 portion of the Internet.
Unlike the current IPv4-based Internet, which is a mixture of both flat and hierarchical routing, the IPv6-based Internet has been designed from its foundation to support efficient, hierarchical addressing and routing.
The scope, the portion of the IPv6 internetwork over which the address is unique, of a global unicast address is the entire IPv6 Internet.
Global scoped communication are identified by high-level 3 bits set to 001 (2000::/3)
Global Unicast Address
Each aggregatable global unicast IPv6 address has three parts:
Fixed portion set to 001 – The three high-order bits are set to 001. The address prefix for currently assigned global addresses is 2000::/3.
Global Routing Prefix – Site Prefix
Site prefix assigned to an organization (leaf site) by a provider should be at least a /48 prefix = 45 + high-order bits (001).
/48 prefix represents the high-order 48-bit of the network prefix.
prefix assigned to the organization is part of the provider’s prefix.
Subnet-id - Site
With one /48 prefix allocated to an organization by a provider, it is possible for that organization to enable up to 65,535 subnets (assignment of 64-bit’s prefix to subnets).
The organization can use bits 49 to 64 (16-bit) of the prefix received for subnetting.
Interface-id – Host
The host part uses each node’s interface identifier.
This part of the IPv6 address, which represents the address’s low-order 64- bit, is called the interface ID.
Global Unicast Address: Example
2001:0410:0110::/48 is assigned by a provider
2001:0410:0110:0002::/64 network subnet within the organization
2001:0410:0110:0002:0200:CBCF:1234:4402 – node address
within the subnet
Global Unicast Address
Global Unicast Address Allocation
Global Unicast Address Allocation
Prefix (hex) Prefix (Binary) Description
2000::/16 0010 0000 0000 0000 Reserved 2001::/16 0010 0000 0000 0001 IPv6 Internet
-ARIN,APNIC,RIPE NCC,LACNIC 2002::/16 0010 0000 0000 0 6 to 4 transition mechanisms 2003::/16 0010 0000 0000 0011 IPv6 Internet - RIPE NCCC 2400:0000::/19
2400:2000::/19 2400:4000::/21
0010 0100 0000 0000 IPv6 Internet - APNIC
2600:0000::/22 2604:0000::/22 2608:0000::/22 260C:0000::/22
0010 0110 0000 0000 0010 0110 0000 0100 0010 0110 0000 1000 0010 0110 0000 1100
IPv6 Internet -ARIN
2A00:0000::/21 2A01:0000::/23
0010 1010 0000 0000 0010
1010 0000 0001 IPv6 Internet -RIPE NCC
3FFF::/16 0011 1111 1111 1110 6 Bone
IPv6 Unicast Address Scopes
Three types of scopes:
1.
Link-local scope
Identifies all hosts within a single layer 2 domain.
Called as link-local addresses
2.
Unique-local scope
Identifies all devices reachable within an administrative site or domain typically contains multiple distinct links.
Called as unique-local addresses (ULAs)
Local-Use Unicast Addresses
There are two types of local-use unicast addresses:
1.
Link-local addresses
used between on-link neighbors and for Neighbor Discovery Processes.
2.
Site-local addresses
used between nodes communicating with other
nodes in the same site.
Link-local Unicast Address
IPv6 link-local addresses are equivalent to IPv4 link- local addresses defined in RFC 3927 that use the 169.254.0.0/16 prefix.
IPv4 link-local addresses are known as Automatic Private IP Addressing (APIPA) addresses for
computers running current Microsoft Windows operating systems.
The scope of a link-local address is the local link.
A link-local address is required for Neighbor
Link-local Unicast Address
Used only between nodes connected on the same local link.
When an IPv6 stack is enabled on a node, one link-local address is automatically assigned to each interface of the node at boot time.
IPv6 link-local prefix FE80::/10 is used and the interface identifier in Extended Unique Identifier 64 (EUI-64) format is appended as the address’s low-order 64-bit.
Bits 11 through 64 are set to 0 (54-bit).
Link-local addresses are only for local-link scope and must never be
routed between subnets within a site.
Link-local unicast address
Because the low-order 64-bit of the link-local address is the interface identifier itself, the length of the link-local prefix is based on a 64-bit length (/64).
In IPv6, a node having an aggregatable global unicast address on a local link uses the link-local address of its default IPv6 router rather than the router’s aggregatable global unicast address.
If network renumbering must occur, meaning that the unicast aggregatable
Site-Local Address
Site-local addresses are equivalent to the IPv4 private address space (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16).
Private intranets that do not have a direct, routed connection to the IPv6 Internet can use site-local addresses without conflicting with global unicast addresses.
Site-local addresses are not reachable from other sites, and routers must not forward site-local traffic outside the site.
Site-local addresses can be used in addition to global unicast addresses.
The scope of a site-local address is the site.
A site is an organization network or portion of an organization's
network that has a defined geographical location (such as an
office, an office complex, or a campus).
Site-Local Address
Unlike link-local addresses, site-local addresses are not
automatically configured and must be assigned either through stateless or stateful address configuration processes.
May be assigned to any nodes and routers within a site.
Site-Local Address - Example
For example, a site with ten subnets may assign site-local prefixes such as the following:
Subnet 1—FEC0:0:0:0001::/64
Subnet 2—FEC0:0:0:0002::/64
Subnet 3—FEC0:0:0:0003::/64
Subnet 4—FEC0:0:0:0004::/64
Subnet 5—FEC0:0:0:0005::/64
Subnet 6—FEC0:0:0:0006::/64
Subnet 7—FEC0:0:0:0007::/64
Subnet 8—FEC0:0:0:0008::/64
Subnet 9—FEC0:0:0:0009::/64
Subnet 10—FEC0:0:0:000A::/64
Special IPv6 Addresses
The following are special IPv6 addresses:
Unspecified address
unspecified address (0:0:0:0:0:0:0:0 or ::) is only used to indicate the absence of an address.
equivalent to the IPv4 unspecified address of 0.0.0.0.
used as a source address for packets attempting to verify the uniqueness of a tentative address.
never assigned to an interface or used as a destination address.
Loopback address
The loopback address (0:0:0:0:0:0:0:1 or ::1) is used to identify a
loopback interface, enabling a node to send packets to itself.
Multicast
Addresses
Multicast Address: Overview
In IPv6, multicast traffic operates in the same way that it does in IPv4.
Arbitrarily located IPv6 nodes can listen for multicast traffic on an arbitrary IPv6 multicast address.
IPv6 nodes can listen to multiple multicast addresses at the same time.
Nodes can join or leave a multicast group at any time.
IPv6 multicast addresses have the first eight bits set to 1111 1111.
An IPv6 address is easy to classify as multicast because it always
begins with “FF”.
Multicast Address
Main goal of multicasting is having an efficient network to save bandwidth on links by optimizing the number of packets
exchanged between nodes
In IPv4:
224.0.0.0/3, where the high-order 3-bit of the IPv4 address is set to 111
In IPv6:
Multicast Address
IPv6 makes heavy use of multicast addresses in the mechanisms of the protocol such as
The replacement of Address Resolution Protocol (ARP) in IPv4
Prefix advertisement
Duplicate Address Detection (DAD)
Prefix renumbering.
Format of the multicast address defines several
scopes and types of addresses using the 4-bit fields
Flag and Scope.
Format of the Multicast Address fields
High-order 3-bit of the Flag field is reserved and must be initialized using 0 values.
Remaining bit indicates the type of multicast address.
Format of the Multicast Address:
Flags field
Indicates flags set on the multicast address.
The size = 4 bits.
The first low-order bit = Transient (T) flag.
T = 0 T flag indicates that the multicast address is a permanently assigned (well-known) multicast address allocated by IANA.
T = 1 T flag indicates that the multicast address is a transient (non- permanently-assigned) multicast address.
The second low-order bit = Prefix (P) flag
indicates whether the multicast address is based on a unicast address prefix.
RFC 3306 describes the P flag.
The third low-order bit = Rendezvous Point Address (R) flag
Format of the Multicast Address:
Scope Field
Indicates the scope of the IPv6 internetwork for which the multicast traffic is intended.
The size = 4 bits.
In addition to information provided by multicast routing protocols, routers use the multicast scope to determine whether multicast traffic can be forwarded.
The most prevalent values for the Scope field are:
1.
1 (interface-local scope)
2.
2 (link-local scope)
3.
5 (site-local scope)
For example:
Traffic with the multicast address of FF02::2 has a link-local scope.
An IPv6 router never forwards this traffic beyond the local link.
Format of the Multicast Address:
Scope Field
Example of Multicast Addresses with Different Scopes
Format of the Multicast Address:
Group ID Field
Identifies the multicast group and is unique within the scope.
The size = 112 bits.
Permanently assigned group IDs are independent of the scope.
Transient group IDs are only relevant to a specific scope.
Multicast addresses from FF01:: through FF0F:: are
reserved, well-known addresses.
Multicast Assigned Address
RFC 2373 defines and reserves several IPv6
addresses within the multicast scope for the
Solicited-Node Multicast Address
For each unicast and anycast address configured on an interface of a node or router, a corresponding solicited-node multicast address is automatically enabled.
The solicited-node multicast address is scoped to the local link.
Replacement of ARP in IPv4
ARP is not used in IPv6, the solicited-node multicast address is used by nodes and routers to learn the link-layer addresses of neighbor nodes and routers on the same local link.
As with ARP in IPv4, knowledge of link-layer addresses of neighbor nodes is mandatory to make link-layer frames to deliver IPv6 packets.
Duplicate Address Detection (DAD)
DAD is part of NDP.
It allows a node to verify whether an IPv6 address is already in use on its local link before using that address to configure its own IPv6 address with stateless autoconfiguration.
The solicited-node multicast address is used to probe the local link in search of a specific unicast or anycast address already configured on another node.
Solicited-Node Multicast Address Representations
Consists of the prefix FF02::1:FF00:0000/104 + low-order 24- bit of the unicast or anycast address.
Low-order 24-bit of the unicast or anycast address is appended
to the prefix FF02::1:FF.
Solicited-Node Multicast Address Representations
Examples of Solicited-Node Multicast Addresses Made from Unicast Addresses
Anycast Address
Anycast Address
Anycast addresses can be considered a conceptual cross between unicast and multicast addressing.
Unicast send to this one address
Multicast send to every member of this group
Anycast send to any one member of this group
In choosing which member to send to, for efficiency reasons normally send to the closest one - closest in routing terms.
So, anycast mean “send to the closest member of this group”.
The network itself plays the key role in anycast by routing the packet to the nearest destination by measuring network distance.
Anycast addresses use aggregatable global unicast addresses.
They can also use site-local or link-local addresses.
Note that it is impossible to distinguish an anycast address from
Reserved Anycast Address
Also called the subnet-router anycast address.
All IPv6 routers are required to support subnet-
router anycast addresses for each of their subnet
interfaces.
So, How many IPv6 addresses can a host
have?
IPv6 Addresses for a Host
An IPv4 host with a single network adapter typically has a single IPv4 address assigned to that adapter.
An IPv6 host, however, usually has multiple IPv6 addresses - even with a single interface.
An IPv6 host is assigned the following unicast addresses:
1.
A link-local address for each interface
2.
Unicast addresses for each interface (which could be a
IPv6 Addresses for a Host
Typical IPv6 hosts are logically multihomed because they
have at least two addresses with which they can receive packets
1.
a link-local address for local link traffic
2.
a routable site-local or global address.
Additionally, each host is listening for traffic on the following multicast addresses:
1.
The interface-local scope all-nodes multicast address (FF01::1)
2.
The link-local scope all-nodes multicast address (FF02::1)
3.
The solicited-node address for each unicast address on each interface
4.
The multicast addresses of joined groups on each interface
And, How many IPv6 addresses can a host
have?
IPv6 Addresses for a Router
An IPv6 router is assigned the following unicast addresses:
A link-local address for each interface
Unicast addresses for each interface (which could be a site-local address and one or multiple global unicast addresses)
A Subnet-Router anycast address
Additional anycast addresses (optional)
The loopback address (::1) for the loopback
interface
IPv6 Addresses for a Router
Additionally, each router is listening for traffic on the following multicast addresses:
The interface-local scope all-nodes multicast address (FF01::1)
The interface-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)
IPv6 Interface Identifiers
The last 64 bits of an IPv6 address are the interface identifier that is unique to the 64-bit prefix of the IPv6 address.
The following are the ways in which an IPv6 interface identifier is determined:
A 64-bit interface identifier that is derived from the Extended
Unique Identifier (EUI)-64 address. The 64-bit EUI-64 address is defined by the Institute of Electrical and Electronic Engineers
(IEEE). EUI-64 addresses are either assigned to a network
adapter or derived from IEEE 802 addresses. This is the default behavior for IPv6 in Windows XP and Windows Server 2003.
As defined in RFC 3041, it might have a temporarily assigned,
randomly generated interface identifier to provide a level of
anonymity when acting as a client.
IPv6 Interface Identifiers
As defined in RFC 2472, an interface identifier can be based on link-layer addresses or serial numbers, or randomly generated when configuring a Point-to-Point Protocol (PPP) interface and an EUI-64 address is not available.
It is assigned during manual address configuration.
It is a permanent interface identifier that is randomly
generated to mitigate address scans of unicast IPv6
addresses on a subnet. This is the default behavior for
IPv6 in Windows Vista and Windows Server “Longhorn.”
EUI-64 address-based
interface identifiers
IPv6 Modified EUI-64 Format
Stateless autoconfiguration is a mechanism that allows nodes on a network to configure their IPv6 addresses themselves without any intermediary device, such as a DHCP server.
The link-local address and stateless
autoconfiguration are functions of IPv6 that
automatically expand the Ethernet MAC address
based on a 48-bit format into a 64-bit format (EUI-
64).
The IPv6 Modified EUI-64 Format
It is essential that all devices on the same network use the same mapping technique
The most common type of layer 2 addresses are IEEE 802 MAC addresses.
Layer 2 addresses= 48 bits, arranged into two blocks of 24.
Upper 24 bits = organizationally unique identifier (OUI), with different values assigned to individual organizations
Lower 24 bits = device identifier
EUI-64 Format
It is similar to the 48-bit MAC format, except that while the OUI remains at 24 bits, the device identifier becomes 40 bits instead of 24.
This provides gives each manufacturer 65,536 times as many
device addresses within its OUI.
Converting 48-Bit MAC Addresses to
IPv6 Modified EUI-64 Identifiers
IPv6 Address with an Embedded IPv4 Address
IPv4-compatible IPv6 address is a special unicast IPv6 address
used by transition mechanisms on hosts and routers to automatically create IPv4 tunnels to deliver IPv6 packets over IPv4 networks.
Address is made up of six high-order fields of 16-bit hexadecimal
values, represented by X characters, followed by four low-order
fields of 8-bit decimal values (IPv4 address), represented by d
characters (for a total of 32 bits).
IPv6 Address with an Embedded IPv4 Address
Two kinds of IPv6 addresses have an embedded IPv4 address:
1.
IPv4-compatible IPv6 address
Used to establish an automatic tunnel to carry IPv6 packets over IPv4 networks.
related to a transition mechanism of the IPv6 protocol .
2.
IPv4-mapped IPv6 address
Used only on the local scope of nodes having both IPv4 and IPv6
stacks.
IPv6 Address with an Embedded IPv4 Address
IPv4-compatible IPv6 address
IPv4-mapped IPv6 address
IPv6 Address Representation for URL
colon (:) character is already defined to specify an optional port number for example:
www.example.net:8080/index.html
https://www.example.com:8443/abc.html
In IPv6, the URL parser of Internet browsers must be able to differentiate between the colon of a port number and the colon in an IPv6 address.
To identify the IPv6 address while still keeping the colon character for URL format (port number):
the IPv6 address must be enclosed in brackets
IPv6 and Subnetting
The only acceptable form to represent a network mask in IPv6 is CIDR notation.