Internet connected devices have become pervasive, leading to a massive increase in the number of devices that connect to the internet. The 32-bit IPv4 address system has approximately 4.3 billion possible addresses and many of those are reserved.
Since every device that connects to the internet is assigned an IP address, the addresses available under the IPv4 addressing standard have been exhausted. To help remedy this situation, the Internet Engineering Task Force (IETF) developed the IPv6 standard in the mid 1990's.
This lesson covers the following topics:
IPv6 format
IPv6 components
IPv6 address types
The following list describes the format of an IPv6 address:
An IPv6 address is a 128-bit address made up of 8 16-bit blocks.
Each block is separated by a colon.
Each block is comprised of 4 hexadecimal values between 0000 and FFFF. Each block represents 16 bits of data (FFFF = 1111 1111 1111 1111).
There is approximately 2 128 (340 undecillion or 340 trillion trillion) available IPv6 addresses. The specific number of IPv6 addresses is 340,282,366,920,938,463,463,374,607,431,768,211,456
Because IPv6 addresses are so long, there are rules you can use to simplify an address. These rules are:
Leading zeros can be omitted in each section. For example, the quartet 0284 could also be written as 284.
An address with consecutive zeros can be expressed more concisely by substituting a double colon for the group of zeros. For example:
FEC0:0000:0000:0000:78CD:1283:F398:23AB
FEC0::78CD:1283:F398:23AB (concise form)
Removing the zeros and simplifying the address is also known as address compression.
You can use address compression only once per address. For example, FEC2:0000:0000:0000:78CA:0000:0000:23AB can be abbreviated as:
FEC2::78CA:0:0:23AB
or
FEC2:0:0:0:78CA::23AB
but not
FEC2::78CA::23AB
An IPv6 address is divided into two equal parts. The left side is the prefix and the right side is the interface ID. The prefix is comparable to the network ID in a IPv4 address and the interface ID is comparable to the host ID.
IPv6 Components Description | |
Prefix | The first 64-bits make up the prefix.
|
Interface ID | The last 64-bits in the address is the interface ID. This is a unique identifier for each device, similar to a MAC address.
To ensure that the interface ID is unique for every host on the network, IPv6 uses the Extended Unique Identifier 64 (EUI-64) format. Following are some details of the EUI-64 format:
The interface ID can also be generated using a special algorithm that generates a completely randomized ID. This guarantees that each device will have a unique ID. |
Every device on the network must be assigned an IP address. With IPv6, each device can have multiple addresses. The following table describes the different types of IPv6 addresses:
Address Type Description | ||
Unicast | Unicast addresses are assigned to a single interface for the purpose of allowing one host to send and receive data. Packets sent to a unicast address are delivered to the interface identified by that address. | |
Link-local | Link-local addresses (also known as local link addresses) are valid only on the current subnet. These addresses are similar to an APIPA IPv4 address. Details include:
Do not use link-local IPv6 addressing on routed networks. Routers do not forward packets destined for link-local addresses to other subnets. | |
Unique local | Unique local addresses are private addresses used for communication within a site or between a limited number of sites. They are commonly used for network communications that do not cross a public network; they are the equivalent of private addressing in IPv4. Details include the following:
The process for designing a network addressing scheme when using unique local addresses is similar to that used for global unicast addresses. The key difference is how the prefix is defined. Because the address range is not registered, a global routing prefix does not have to be requested from an ISP. Instead, each organization defines its own prefix. | |
Global unicast | Global unicast addresses are assigned to individual interfaces that are globally unique. All IPv6 addresses that aren't specifically reserved for other purposes are defined as global unicast addresses.
| |
Multicast | Multicast addresses represent a dynamic group of hosts. Packets sent to a multicast address are sent to all interfaces identified by that address. If you use different multicast addresses for different functions, only the devices that need to participate in a particular function will respond to the multicast; devices that do not need to participate in the function will ignore the multicast. Details include:
The following are well-known multicast addresses:
There are no broadcast addresses in IPv6. IPv6 uses multicast addresses instead of broadcast addresses. | |
Anycast | The anycast address is a unicast address that is assigned to more than one interface, typically belonging to different hosts. An anycast packet is routed to the nearest interface having that address (based on routing protocol decisions). Details include:
| |
Loopback | The local loopback address for the local host is 0:0:0:0:0:0:0:1 (also identified as ::1 or ::1/128). The local loopback address is not assigned to an interface. It can verify that the TCP/IP protocol stack is properly installed on the host. |