An IPv6 address is a 128-bit alphanumeric string that identifies an endpoint device in the Internet Protocol Version 6 (IPv6) addressing scheme. IPv6 addresses are preferred by professional users such as network engineers, tech companies, datacenters and mobile carriers.
It has been a concern for some time that the IPv4 addressing scheme was running out of potential addresses. The IPv6 format was created to enable the trillions of new IP addresses required to connect not only an ever-greater number of computing devices but also the rapidly expanding numbers of items with embedded connectivity. In the Internet of Things (IoT) scenario, objects, animals and people are provided with unique identifiers and the ability to automatically transfer data over a network without requiring human-to-human or human-to-computer interaction.
IPv6 expands the available address space sufficiently to enable anything conceivable to have an IP address. The number of potential IPv6 addresses has been calculated as over 340 undecillion. According to Computer History Museum docent Dick Guertin, that number allows an IPv6 address for each atom on the surface of the planet-- with enough left over for more than 100 more similar planets.
Format of an IPv6 address
In precise terms, an IPv6 address is 128 bits long and is arranged in eight groups, each of which is 16 bits. Each group is expressed as four hexadecimal digits and the groups are separated by colons.
An example of a full IPv6 address could be:
An IPv6 address is split into two parts, a network and a node component. The network component is the first 64 bits of the address and is used for routing. The node component is the later 64 bits and is used to identify the address of the interface. It is derived from the physical, or MAC, address using the IEEE’s EUI-64 format.
The network node can be split even further into a block of 48 bits and a block of 16 bits. The upper 48 bit section is used for global network addresses. The lower 16 bit section is controlled by network administrators and is used for subnets on an internal network.
Further, the example address can be shortened as the addressing scheme allows the omission of any leading zero as well as any sequences consisting of only zeroes. The shortened version would look like:
Types of IPv6 addresses
The three types of IPv6 addresses are as follows:
- Global unicast addresses- These addresses are routable on the internet and start with 2001: as the prefix group. Global unicast addresses are the equivalent of IPv4 public addresses.
- Link local addresses- This is one of the two internal address types that are not routed on the internet. Link local addresses are used inside an internal network, are self-assigned and start with fe80: as the prefix group.
- Unique local addresses- This is the other type of internal address that is not routed on the internet. Unique local addresses are equivalent to the IPv4 addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16.
Advantages and disadvantages of IPv6 addresses
Converting to an IPv6 network, and thus, IPv6 addresses can bring a variety of benefits, including:
- More efficient routing with smaller routing tables and aggregation of prefixes.
- More simplified packet processing due to more streamlined packet headers.
- Support of multicast packet flows.
- Hosts can generate their own IP addresses.
- Eliminates the need for network address translation (NAT).
- Easier to implement services like peer-to-peer (P2P) networks, VoIP and stronger security.
One drawback to using an IPv6 address is that IPv4 is still widely used. Communication between IPv4 and IPv6 machines is not possible directly and requires gateway equipment. Switching from IPv4 to IPv6 also requires a lot of technical skill, effort and time. Additionally, IPv6 addresses are more complex, harder to read and difficult to remember.