Networking

IPv4 vs. IPv6

IPv4 is the fourth Internet Protocol version, and IPv6 the sixth one. This tutorial explains the differences between them, assuming the reader has basic notions on IPv4 but hasn’t IPv6 notions.

From IPv4 to IPv6

IPv4 is the most implemented Internet Protocol version despite the existence of the newer version IPv6. Pv4 supports over 4.000 million IP addresses, becoming insufficient for the global IP addresses demand. Internet Service Providers use NAT to distribute public IP addresses among different private networks to afford this problem. For example, by 2012, when IPv6 was implemented, China had a population of 1,343,239,923 but only 330,321,408 IPv4 addresses, 245 IP addresses per 1000 inhabitants. Brazil has 48,572,160 IP addresses with a population of 205,716,890. Like any other citizen, Brazilian and Chinese individuals have more than one network device.

To overcome this problem, IPv6 was developed, supporting over 340 trillion trillion trillion IP addresses, more than any demand we can expect in the following millenniums.

IPv6 presents a new scenario in which all your domestic devices, all devices, can get a public IP without the need to NAT each device. In such a scenario, routers wouldn’t translate from private to public IP addresses and vice-versa. Instead, they will route data to public addresses. Thus while many people think IPv6 is complicated, it actually simplifies network architectures.

The reason behind the dominance of the older IPv4 over the current IPv6 is the quantity of networks and devices worldwide already configured for IPv4. Therefore both protocol versions coexist while IPv6 increases its presence.

Paradoxically, IPv6, which was launched in 2012 is more developed in undeveloped countries in which networking and the internet were implemented later than in developed countries that received most of the available IPv4 addresses. This difficulty created by the lack of IPv4 addresses pushed undeveloped countries to implement IPv6 faster than developed countries. Countries like India, Malaysia, or Vietnam, which had few IP addresses compared to their population, lead the IPv6 implementation.

Differences between IPv4 and IPv6

IPv4 and IPv6 are different designs of the internet protocol. A fast view shows us an IPv4 address has the format 8.8.8.8 while an IPv6 address format seems like 2800:3f0:4002:803::200e.

As said previously, IPv6 presents many advantages over IPv4, starting by routing tasks simplification turning NAT unnecessary, IPv6 is auto configurable.

Other IPv6 advantages include IPSEC mandatory implementation, while in IPv4, it is possible but optional. This results in a considerable security improvement over IPv4. IPv6 also brings new multicast implementations. Unlike IPv4, IPv6 uses multicast groups instead of broadcast addresses.

Mobile IPv6 also presents numerous advantages over the mobile IPv4 resulting in better performance and security.

Some additional IPv4 and IPv6 differences are listed in the following table and explained below.

Characteristic IPv4 IPv6
Available addresses 4,294,967,296 340,282,366,920,938,463,463,374,607,431,768,211,456
Bits 32 128
Blocks or sections 4 octets 8 hextet
Notation Decimal Hexadecimal
MAC resolution ARP NDP
Address assignment DHCP/Manual Autoconfigured

Bits: as shown in the table above, IPv4 addresses are made of 4 octets of 8 bits each. IPv6 addresses are made of 128 bits divided into different bit groups depending on the format.

The following two tables below show bits allocation for an IPv4 C class address and an IPv6 private address.

IPv4

IP 192 168 1 45
Bits 8 8 8 8
Use NETWORK NETWORK NETWORK HOST

IPv6

IP 2001 0db8:0000: 0000 :0000:8a2e:0370:7334
Bits 1 40 16 64
Use NETWORK NETWORK NETWORK INTERFACE

Block sections: While IPv4 addresses are divided into 4 dotted digits (octets), IPv6 addresses are made of 8 blocks or hextet separated by a double colon. It is important to note blocks with zeros can be omitted, and many times IPv6 addresses are shortened; for example, the address 2000:0db8:0000:0000:0000:8a2e:0370:7334 may be displayed as 2000:db8::8a2e:370:7334.

IPv4 addresses are shown in the decimal format, while IPv6 addresses are expressed in hexadecimal format. Of course, an IPv6 address can also be decimal; for example, Google DNS IPv6 address is 2001:4860:4860::8888.

MAC resolution: While IPv4 uses Address Resolution Protocol (ARP) to translate IPv4 to MAC physical addresses, IPv6 uses the Neighbour Discovery Protocol (NDP) for the same purpose, with features such as redirects, router discovery, neighbor presence, redirects, and stateless auto-configuration.

Address assignment: The autoconfiguration ability is one of IPv6’s main features. It is also achieved using NDP. The device requests a prefix that verifies the created link’s uniqueness and determines the address by combining the interface ID generated from the MAC address with the subnet prefix.

Historical differences:

IPv4 was created in 1981, and IPv6 was released in 1998 (officially launched in 2012). IPv4 was the first public Internet Protocol implementation developed by the DARPA (Defense Advanced Research Projects Agency). The Internet Engineering Task Force developed iPv6. IPv6 growth history can be followed from the link.

Conclusion:

Still, today many network administrators didn’t deal with IPv6 and are inexperienced with this protocol, despite being the current version. As you can see, while there are big differences between both Internet Protocol versions, IPv6 makes it simpler to deal with networking; the fear of this protocol by some is unfounded.

Performance improvement without packet fragmentation, NAT removal, Built-in Quality of Service (QoS), Internet Protocol Security (IPSEC), Autoconfiguration, and simplified header are the main advantages depicting the evolution from IPv4. IPv6 demand is growing, with major ISP and mobile service providers acquiring IPv6 address space. It is expected both Internet Protocol versions will continue coexisting in the future despite IPv6 continuous growth. You can check updated IPv6 growth progress, including per-country adoption statistics at per-country-ipv6-adoption.

I hope this tutorial was useful for you to understand the differences between IPv4 and IPv6.

About the author

David Adams

David Adams is a System Admin and writer that is focused on open source technologies, security software, and computer systems.