As a tech enthusiast, you might have come across the term “IPv6” and wondered about its origins and how it differs from its predecessor, IPv4. Despite the name, IPv6 is not merely an extension of IPv4 but rather a significant leap forward in the evolution of Internet Protocol (IP) addressing. In this article, we’ll delve into the unique features and explore how it addresses the limitations of IPv4, making it a more efficient and secure protocol for modern networks. Hosting and colocation providers are increasingly adopting IPv6 to cater to the growing demand for advanced networking solutions.

The Absence of Subnet Masks in IPv6

One of the most notable differences between v6 and v4 is the absence of subnet masks in v6. While both protocols support Classless Inter-Domain Routing (CIDR), IPv6 is more straightforward from a user’s perspective. An IPv6 address consists of two parts: the first half represents the global internet segment, while the second half represents the local segment. This is the recommended way of using v6.

When you visit a website that displays your IP, such as WhatismyipWhatever, it will show your v6 IP in the following format:

1111:2222:3333:4444:5555:6666:7777:8888

However, your Internet Service Provider (ISP) only knows the prefix part, which is 1111:2222:3333:4444, and assigns this /64 block to you. The remaining part is unique to each device in your network. Your ISP will forward all packets starting with 1111:2222:3333:4444 to your router, which then further directs the packets to the intended devices. The second half (5555:6666:7777:8888) can be referred to as the INTERFACE_ID, which is unique to your devices.

The Absence of NAT in IPv6

Another significant difference between v6 and v4 is the absence of Network Address Translation (NAT) in IPv6. In fact, there is no public standard for NAT in IPv6. Although there was a draft proposal called NAT66, it never materialized into an actual standard.

The reason why NAT is not necessary in IPv6 is that, theoretically, every device on Earth can have its own globally accessible address. Initially, this might seem odd, as NAT provides a sense of security in IPv4 networks, preventing direct access to local devices from external networks unless explicitly allowed through UPnP or port forwarding.

However, the reality is that NAT is not a security barrier; it’s merely an alternative packet forwarding mechanism. By default, your router should not forward connection attempts from the outside to local devices. Therefore, in an IPv6 environment, you can achieve the same level of security without using NAT. In fact, with IPv6 addresses, you can directly access any device on your local network without going through the router or configuring a VPN separately, as long as you authenticate yourself.

While assigning unique addresses to each device offers convenience, it also raises a security-related concern. Since each device has a unique identifier, it can be individually identified and tracked, posing a threat to our privacy. To mitigate this, modern operating systems have introduced the concept of temporary addresses, where the INTERFACE_ID changes periodically. This way, you can use a permanent address to receive incoming connections while exposing a frequently changing secondary temporary address when initiating connections.

Stateless Address Autoconfiguration (SLAAC) in IPv6

Another unique feature is its ability to automatically configure addresses without relying on a DHCP server or manual network configuration. A device can obtain an IP address independently without consulting a central server. This process is achieved through a protocol called Stateless Address Autoconfiguration (SLAAC), which follows these steps:

  1. The operating system generates a 64-bit device identifier, usually randomly, such as 5555:6666:7777:8888, which forms the INTERFACE_ID part of your address.
  2. The operating system prefixes the INTERFACE_ID with fe80, which is the network prefix for local use only. So now, your address becomes: fe80::5555:6666:7777:8888. (Note that the “a::b” syntax here means: “all zero-valued segments between ‘a’ and ‘b’.” We’ll discuss this in more detail later.)
  3. Your device sends a packet to a designated neighbor multicast group on the local network to ensure that no other device is using the same address, a process known as Duplicate Address Detection (DAD). The chances of being assigned a duplicate address are very low.
  4. The device sends its acquired local address to the router (which, unlike in IPv4, is always accessible via the multicast address ff02::2) and requests the router’s actual prefix by sending an RS (Router Solicitation) ICMPv6 packet. The router responds with an RA (Router Advertisement) packet, and the device replaces fe80 with the actual prefix provided in the response. This becomes your current internet address.

The advantage of stateless configuration is that it reduces management overhead on the router: the router doesn’t need to maintain IP configuration information for each device on the network separately. This can lead to better performance, especially in large networks.

In conclusion, IPv6 offers several unique features that set it apart from IPv4, making it a more efficient and secure protocol for modern networking. The absence of subnet masks, NAT, and the presence of SLAAC contribute to a more streamlined and manageable networking experience. As hosting and colocation providers continue to adopt IPv6, it’s essential for tech enthusiasts and professionals to understand these differences and leverage the benefits of IPv6 in their networks.