An IPv6 address is a 128-bit alphanumeric value that identifies an endpoint device in an Internet Protocol Version 6 (IPv6) network. IPv6 is the successor to a previous addressing infrastructure, IPv4, which had limitations IPv6 was designed to overcome. Notably, IPv6 has drastically increased address space compared to IPv4.
The Internet Protocol (IP) is a method in which data is sent to different computers over the internet. Each network interface, or computer, on the internet will have at least one IP address that is used to uniquely identify that computer. Every device that connects to the internet is assigned an IP address. Which is why there was a concern with the number of IP addresses in IPv4, and why the Internet Engineering Task Force (IETF) defined the new IPv6 standard.
Operating systems (OSes) like Windows 10, macOS and Ubuntu support IPv6. Currently, the use of address types is mixed. Devices in use now will either use IPv6 or IPv4. Domain name systems (DNSes) have supported IPv6 since 2008.
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 to connect an ever-greater number of computing devices and the rapidly expanding numbers of items with embedded connectivity, thanks to the internet of things (IoT). The number of potential IPv6 addresses has been calculated to be over 340 undecillion (or 340 trillion trillion trillion). 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 64-bit extended unique identifier (EUI-64) format defined by the Institute of Electrical and Electronics Engineers (IEEE).
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 zeros. The shortened version would look like:
The specific layout of an IPv6 address may vary somewhat, depending on its format. Three basic parts that make up the address are the routing prefix, the subnet ID and the interface ID.
Both the routing prefix and the subnet ID represent two main levels in which the address is constructed -- either global or site-specific. The routing prefix is the number of bits that can be subdivided -- typically, decided by Internet Registries and Internet Service Providers (ISPs). If you were to look at an IPv6 address, the leftmost set of numbers -- the first 48 bits -- is called the site prefix. The subnet ID is the next 16 bits. The subnet ID lays out site topology. The last 64-bits are called the interface ID, which can be automatically or manually configured.
Types of IPv6 addresses
There are different types and formats of IPv6 addresses, of which, it's notable to mention that there are no broadcast addresses in IPv6. Some examples of IPv6 formats include:
- Global unicast. 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.
- Unicast address. Used to identify the interface of an individual node.
- Anycast address. Used to identify a group of interfaces on different nodes.
- Multicast address. An address used to define multicast Multicasts are used to send a single packet to multiple destinations at one time.
- Link local addresses. 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
IPv6 addresses can bring a variety of benefits, including:
- More efficient routing with smaller routing tables and aggregation of prefixes.
- 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, voice over IP (VoIP) and stronger security.
IPv6 also still uses the same two families of routing protocols – Interior Gateway Protocol (IGP) and Exterior Gateway Protocol (EGP).
IPv6 vs. IPv4: What are the differences?
The biggest and most notable difference between IPv4 and IPv6 is the increase in addresses. With IPv4 being a 32-bit IP address and IPv6 being a 128-bit IP address, the number of IP addresses available grows drastically.
However, one drawback to using an IPv6 address is that IPv4 is still widely used. Communication between IPv4 and IPv6 machines is not directly possible, meaning IPv4 addresses won't be able to see an IPv6 page, and vice versa. Gateway equipment is required to get around this. Dual-stack IP implementation is one such method. In this process, a domain name system (DNS) can return an IPv4 or IPv6 IP address.
Switching from IPv4 to IPv6 also requires a lot of technical expertise, effort and time.
Other differences between IPv4 and IPv6 include:
- IPv6 is based on an alphanumeric addressing method, while IPv4 is only numeric.
- IPv6 binary bits are separated by a colon, while IPv4 binary bits are separated by a period.
- IP security is required by IPv6, while it is optional in IPv4.
- IPv6 uses an IP security (IPSec) protocol, while IPv4 relies on applications.
- Networks can be automatically configured with IPv6, while IPv4 networks have to be configured either manually or through Dynamic Host Configuration Protocol (DHCP).
- IPv6 has eight header fields with a 40-character length; IPv4 has 20 header fields with an eight-character length.
- IPv6 does not have any checksum fields.
- To map MAC addresses, IPv6 uses NDP (Neighbor Discovery Protocol), while IPv4 uses ARP (Address Resolution Protocol).