The difference between IPv4 and IPv6 addresses

IPv4 and IPv6 are two versions of the Internet Protocol, a set of rules that govern how devices communicate over the Internet. In this blog post, we will delve into the key differences between IPv4 and IPv6 addresses, including their structure, address space, features, and the implications of their coexistence on the Internet.

Table of Contents

Address Space

The most significant difference between IPv4 and IPv6 addresses lies in their address space. IPv4 addresses use a 32-bit addressing scheme, which allows for approximately 4.3 billion unique IP addresses. While this was initially deemed sufficient, the rapid growth of the Internet and the increasing number of connected devices have led to the exhaustion of available IPv4 addresses.

IPv6 addresses, on the other hand, use a 128-bit addressing scheme, providing a vastly larger address space of 2128 (around 3.4 x 1038) unique IP addresses. This immense increase in address space ensures that the Internet can continue to grow and accommodate an ever-expanding number of devices without the risk of address exhaustion.

Address Structure

IPv4 addresses consist of 32 bits divided into four 8-bit octets, each representing a number between 0 and 255. These octets are written in decimal format and separated by periods (e.g.,

IPv6 addresses, in contrast, consist of 128 bits divided into eight 16-bit groups. Each group is represented by four hexadecimal digits and separated by colons (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334). To simplify the notation, leading zeros within a group can be omitted, and consecutive groups containing only zeros can be replaced by a double colon (::) once in an address (e.g., 2001:db8:85a3::8a2e:370:7334).

Subnetting and Address Allocation

Subnetting is a technique used in both IPv4 and IPv6 to divide an IP address space into smaller subnetworks for efficient management and allocation. In IPv4, subnet masks are used to distinguish the network portion and host portion of an address, while IPv6 uses prefix lengths for the same purpose.

IPv4 addresses are typically allocated in blocks of varying sizes, based on the needs of the organizations receiving the addresses. This allocation method can lead to inefficiencies and fragmentation of the IPv4 address space.

IPv6 addresses, however, are allocated using a more hierarchical and structured approach, with the majority of the address space reserved for future use. The current global unicast address allocation uses a fixed /64 subnet size, resulting in more efficient and streamlined address management.

Routing and Packet Structure

IPv6 introduces several improvements to the routing process and packet structure, which help optimize performance and enable new features. Some of the key differences between IPv4 and IPv6 routing and packet structure include:


IPv6 was designed with security in mind, incorporating features that address some of the security concerns associated with IPv4. One significant security improvement is the mandatory support for IPsec (Internet Protocol Security), a suite of protocols that provide encryption, authentication, and integrity for IP packets. While IPsec is also available for IPv4, its implementation is optional and not as widespread.

Additionally, the vast address space of IPv6 makes it more difficult for attackers to perform address scanning, a common reconnaissance technique used in IPv4 networks to identify potential targets.

However, the coexistence of IPv4 and IPv6 during the transition period can introduce new security challenges, as organizations need to manage and secure both address spaces simultaneously.

Coexistence of IPv4 and IPv6

The transition from IPv4 to IPv6 is a gradual process that requires the coexistence of both address spaces for an extended period. Various transition mechanisms have been developed to facilitate communication between IPv4 and IPv6 networks, including:

5 min. read
14 Oct 2022

Join our newsletter to keep updated from our news.