What Is IPv6? The Complete Guide to IPv6 Addresses

Last Updated: October 2026

Key Takeaways

  • ✓ IPv6 uses 128-bit addresses, providing 3.4 × 1038 unique addresses — solving IPv4's exhaustion of its 4.3 billion address space.
  • ✓ IPv6 addresses are written as eight groups of four hex digits separated by colons (e.g., 2001:db8::1) and can be shortened by omitting leading zeros and using ::.
  • ✓ Key address types include global unicast (public), link-local (fe80::), unique local (fd00::), multicast (ff00::), and loopback (::1).
  • ✓ IPv6 eliminates the need for NAT — every device can have a globally routable address, simplifying peer-to-peer communication.
  • ✓ Check your IPv6 connectivity with our What Is My IP tool, and learn more about IP fundamentals in our What Is an IP Address guide.

Why IPv6 Exists: The IPv4 Exhaustion Problem

The internet was built on IPv4 (Internet Protocol version 4), which uses 32-bit addresses and provides approximately 4.3 billion unique addresses. When IPv4 was designed in the early 1980s, that seemed like an inexhaustible supply. No one imagined that billions of smartphones, tablets, laptops, servers, IoT devices, smart TVs, security cameras, and connected appliances would all need IP addresses simultaneously.

By the early 1990s, it became clear that IPv4 addresses would eventually run out. Technologies like NAT (Network Address Translation) and CIDR (Classless Inter-Domain Routing) were introduced as stopgap measures to extend the lifespan of IPv4 by reducing address waste. These measures worked remarkably well — they delayed exhaustion by decades — but they did not solve the fundamental problem.

The Internet Assigned Numbers Authority (IANA) allocated the last blocks of IPv4 addresses to Regional Internet Registries (RIRs) in February 2011. Since then, RIRs across the world have progressively exhausted their pools. APNIC (Asia-Pacific) hit its limit in 2011, RIPE NCC (Europe) in 2012, LACNIC (Latin America) in 2014, ARIN (North America) in 2015, and AFRINIC (Africa) in 2017. Today, new IPv4 addresses can only be obtained by purchasing them on a secondary market, where individual addresses sell for $30–$50 or more.

IPv6 was developed by the IETF specifically to replace IPv4 and solve the address shortage permanently. Using 128-bit addresses, IPv6 provides approximately 3.4 × 1038 unique addresses — that is 340 undecillion, or roughly 670 quadrillion addresses for every square millimeter of Earth's surface. Running out of IPv6 addresses is not a concern.

IPv6 Address Format

An IPv6 address is 128 bits long, written as eight groups of four hexadecimal digits, with each group separated by a colon. Each group represents 16 bits of the address. Here is an example of a full IPv6 address:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Compared to an IPv4 address like 192.168.1.1, IPv6 addresses are obviously much longer. To make them more manageable, IPv6 defines two shortening rules.

Rule 1: Omit Leading Zeros

Within each 16-bit group, leading zeros can be removed. For example:

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334 becomes 2001:db8:85a3:0000:0000:8a2e:370:7334
  • A group of 0000 becomes just 0 (you must keep at least one digit)

Applying this rule to the full address: 2001:db8:85a3:0:0:8a2e:370:7334

Rule 2: Double Colon (::) for Consecutive Zero Groups

One or more consecutive groups that are all zeros can be replaced with a double colon (::). This substitution can only be used once per address to avoid ambiguity. Applying both rules to our example:

2001:db8:85a3::8a2e:370:7334

The :: replaced the two consecutive 0000:0000 groups. Here are more examples of shortening:

  • fe80:0000:0000:0000:0000:0000:0000:0001 → fe80::1
  • 0000:0000:0000:0000:0000:0000:0000:0001 → ::1 (the loopback address)
  • 2001:0db8:0000:0000:0000:0000:0000:0000 → 2001:db8::

When expanding a shortened address, count the number of groups present and add enough zero groups to reach a total of eight. For example, 2001:db8::1 has three visible groups (2001, db8, and 1), so five groups of zeros are implied between db8 and 1.

IPv6 Address Types

IPv6 defines several address types, each identified by its prefix. Understanding these types is essential for configuring and troubleshooting IPv6 networks.

Global Unicast Addresses (2000::/3)

Global unicast addresses are the IPv6 equivalent of public IPv4 addresses. They are globally unique and routable on the internet. These addresses are assigned by ISPs and are the addresses used for all internet communication over IPv6. The current allocation range starts at 2000:: and runs through 3fff::, though in practice most assignments are from the 2001:: and 2400::–2c00:: blocks.

A global unicast address typically has three parts: the global routing prefix (assigned by the ISP, usually 48 bits), the subnet ID (chosen by the organization, usually 16 bits), and the interface identifier (identifies the specific device, 64 bits). This structure gives every organization 65,536 possible subnets, each supporting 264 hosts — an astounding amount of address space.

Link-Local Addresses (fe80::/10)

Every IPv6-enabled interface automatically generates a link-local address beginning with fe80::. These addresses are used for communication on the local network segment and are never forwarded by routers. Link-local addresses are essential for IPv6's core operations: Neighbor Discovery Protocol (NDP), router solicitation and advertisement, and duplicate address detection all rely on link-local communication.

Unlike IPv4's link-local range (169.254.x.x / APIPA), which indicates a DHCP failure, IPv6 link-local addresses are a normal and permanent part of every interface's configuration. An IPv6 interface will always have a link-local address, even if it also has a global unicast address.

Unique Local Addresses (fc00::/7)

Unique Local Addresses (ULAs) are the IPv6 equivalent of RFC 1918 private addresses. They use the prefix fc00::/7, though in practice only fd00::/8 is currently defined for use. ULAs are intended for internal network communication and are not routed on the global internet.

A ULA includes a 40-bit random identifier after the fd prefix, making collisions between different organizations extremely unlikely. This is useful when two organizations need to connect their networks via VPN without worrying about address conflicts — a significant improvement over IPv4 private addressing where conflicts are common.

Multicast Addresses (ff00::/8)

IPv6 multicast addresses begin with ff and are used for one-to-many communication. A single packet sent to a multicast address is delivered to all interfaces that have joined that multicast group. IPv6 replaces IPv4 broadcast (which does not exist in IPv6) with multicast. For example, ff02::1 reaches all nodes on the local link, and ff02::2 reaches all routers on the local link. Multicast is fundamental to IPv6 operations including Neighbor Discovery and router advertisement.

Anycast Addresses

An anycast address is syntactically identical to a unicast address but is assigned to multiple interfaces (usually on different nodes). When a packet is sent to an anycast address, the network delivers it to the nearest interface with that address, as determined by the routing protocol. Anycast is commonly used for load balancing and redundancy — for example, DNS root servers and CDN edge nodes use anycast to direct users to the closest server automatically.

Loopback Address (::1)

The IPv6 loopback address is ::1 (fully written: 0000:0000:0000:0000:0000:0000:0000:0001). It serves the same purpose as 127.0.0.1 in IPv4 — packets sent to this address never leave the device and are processed internally. Developers use it to test network services running on the local machine.

IPv6 Prefix Lengths

Like IPv4's subnet masks and CIDR notation, IPv6 uses prefix lengths to define the network portion of an address. The prefix length is written after the address with a slash, such as /64 or /48. The number indicates how many of the 128 bits represent the network portion.

  • /128 — A single host address (equivalent to IPv4's /32).
  • /64 — The standard subnet size for a LAN segment. The last 64 bits are the interface identifier. This is the most common prefix length you will encounter.
  • /48 — A typical allocation from an ISP to an organization or large home. Provides 65,536 /64 subnets.
  • /32 — A typical allocation from a Regional Internet Registry (RIR) to an ISP.
  • /16 and shorter — Used for major allocations at the top of the addressing hierarchy.

The convention of using /64 for all LAN subnets is strongly recommended and required by SLAAC. Unlike IPv4 where you might use /24, /25, /26, or any other prefix to optimize address utilization, IPv6 has so many addresses that there is no need to use subnets smaller than /64 on a LAN segment.

IPv4 vs. IPv6 Comparison

Here is a comprehensive comparison of the two protocol versions:

FeatureIPv4IPv6
Address size32 bits128 bits
Address count~4.3 billion~3.4 × 1038
NotationDotted decimal (192.168.1.1)Colon hexadecimal (2001:db8::1)
NAT requiredCommonly usedNot needed (end-to-end connectivity)
Address resolutionARP (Address Resolution Protocol)NDP (Neighbor Discovery Protocol)
AutoconfigurationDHCP onlySLAAC + optional DHCPv6
Header sizeVariable (20–60 bytes)Fixed 40 bytes (extension headers optional)
BroadcastSupportedReplaced by multicast
IPsecOptionalBuilt-in (mandatory support)

Transition Mechanisms: Dual-Stack, Tunneling, and Translation

The internet cannot switch from IPv4 to IPv6 overnight. Billions of devices, routers, applications, and services need to be updated or replaced. Several transition mechanisms allow IPv4 and IPv6 to coexist during the migration:

Dual-Stack

Dual-stack is the most straightforward transition approach. A dual-stack device or network runs both IPv4 and IPv6 simultaneously. When connecting to an IPv6-enabled server, it uses IPv6; when connecting to an IPv4-only server, it falls back to IPv4. Most modern operating systems (Windows, macOS, Linux, iOS, Android) are dual-stack capable out of the box.

Dual-stack is the recommended approach by the IETF and is the strategy used by most major ISPs deploying IPv6. The downside is that it requires maintaining both protocol stacks, including separate addressing, routing, firewall rules, and monitoring — effectively running two networks in parallel until IPv4 can be decommissioned.

Tunneling (6to4, Teredo, ISATAP)

Tunneling mechanisms encapsulate IPv6 packets inside IPv4 packets, allowing IPv6 traffic to cross networks that only support IPv4. Key tunneling technologies include:

  • 6to4 — Automatically creates IPv6 tunnels over the IPv4 internet. Uses the prefix 2002::/16 and embeds the IPv4 address in the IPv6 address. Largely deprecated due to reliability issues and security concerns.
  • Teredo — Tunnels IPv6 through IPv4 NAT, making it useful for devices behind home routers. Uses the prefix 2001:0::/32. Enabled by default on some Windows versions, though increasingly unnecessary as native IPv6 deployment grows.
  • ISATAP — Used within enterprise networks to tunnel IPv6 over an IPv4 intranet. Primarily a Microsoft technology.
  • 6in4 / Tunnel brokers — Manual IPv6-in-IPv4 tunnels using protocol 41. Services like Hurricane Electric's Tunnel Broker provide free IPv6 connectivity through configured tunnels.

As native IPv6 deployment increases, tunneling mechanisms are becoming less relevant. Most are considered transitional and may be disabled by default in future operating system releases.

NAT64 and DNS64

NAT64 allows IPv6-only networks to communicate with IPv4-only servers by translating between the two protocols at the network boundary. DNS64 works alongside NAT64 by synthesizing AAAA (IPv6) records for domains that only have A (IPv4) records, directing traffic through the NAT64 translator. This approach is used by mobile carriers that have deployed IPv6-only networks (like T-Mobile in the US) — when a customer device needs to reach an IPv4-only website, NAT64 handles the translation transparently.

SLAAC and DHCPv6: IPv6 Address Configuration

One of IPv6's significant improvements over IPv4 is stateless address autoconfiguration (SLAAC), which allows devices to configure their own addresses without a central server.

How SLAAC Works

  1. The device brings up its interface and generates a link-local address (fe80::).
  2. It performs Duplicate Address Detection (DAD) to ensure the link-local address is unique on the network.
  3. It sends a Router Solicitation (RS) message to the all-routers multicast address (ff02::2).
  4. A local router responds with a Router Advertisement (RA) containing the network prefix (e.g., 2001:db8:1::/64) and configuration flags.
  5. The device combines the prefix with a self-generated 64-bit interface identifier to create a global unicast address.
  6. It performs DAD on the new global address and begins using it.

The interface identifier can be generated using EUI-64 (derived from the device's MAC address) or using random/privacy extensions (RFC 4941), which generate temporary addresses that change periodically to prevent tracking. Modern operating systems default to privacy extensions.

DHCPv6

While SLAAC handles address assignment, it does not provide all the configuration details a device might need (such as DNS server addresses, NTP servers, or other options). DHCPv6 fills this gap and comes in two modes:

  • Stateless DHCPv6: The device uses SLAAC for its address but queries a DHCPv6 server for additional configuration like DNS servers. The router sets the "Other" (O) flag in its RA to indicate this mode.
  • Stateful DHCPv6: The DHCPv6 server assigns the IPv6 address directly, similar to how DHCPv4 works. The router sets the "Managed" (M) flag in its RA. This mode is often used in enterprise environments where administrators need centralized control over address assignments.

Checking If You Have IPv6

Determining whether your connection supports IPv6 is easy with several methods:

  • Our What Is My IP tool: Visit What Is My IP — if an IPv6 address is displayed alongside your IPv4 address, you have IPv6 connectivity.
  • test-ipv6.com: This site runs a comprehensive suite of tests and gives you a score out of 10 for your IPv6 readiness.
  • Command line (Windows): Run ipconfig and look for an "IPv6 Address" line under your active adapter. If it shows a global address starting with 2 or 3, you have IPv6.
  • Command line (macOS/Linux): Run ifconfig or ip -6 addr show and look for a scope global IPv6 address.
  • Ping test: Run ping -6 google.com (Windows) or ping6 google.com (macOS) or ping -6 google.com (Linux). If you get replies, IPv6 is working.

IPv6 Adoption Statistics

IPv6 adoption has been steadily growing. As of 2026, Google's statistics show that approximately 45–50% of users accessing Google services do so over IPv6. Adoption varies dramatically by country:

  • India leads with over 70% IPv6 adoption, driven by Reliance Jio's IPv6-first mobile network.
  • France and Germany are above 60%, with major ISPs like Free, Orange, and Deutsche Telekom deploying IPv6 widely.
  • United States is around 50%, with Comcast, AT&T, T-Mobile, and Verizon all supporting IPv6.
  • Japan and Brazil are around 45–50%, with steady growth.
  • China and Russia lag behind at under 20%, though China has announced aggressive IPv6 deployment targets.

On the content side, all major platforms (Google, Facebook, Netflix, Amazon, Cloudflare, Akamai) are fully accessible over IPv6. The "long tail" of smaller websites and services is slower to adopt, but CDN providers that support IPv6 by default are accelerating this trend.

IPv6 Security Considerations

IPv6 introduces both security improvements and new considerations:

  • End-to-end connectivity: Without NAT, every device can be directly reachable from the internet. This makes proper firewall configuration essential — you cannot rely on NAT's side effect of blocking unsolicited inbound connections.
  • IPsec support: IPv6 was designed with IPsec as a mandatory component, providing built-in support for authentication and encryption at the network layer. In practice, IPsec deployment is still optional and application-layer encryption (TLS) remains the primary security mechanism.
  • Larger address space complicates scanning: A /64 subnet contains 264 addresses, making brute-force network scanning practically impossible. Attackers cannot simply sweep a subnet to find active hosts as they can in IPv4.
  • Privacy extensions: IPv6 privacy extensions (RFC 4941) generate temporary, random addresses that change periodically, making it harder to track devices by their IP address.
  • NDP attacks: IPv6's Neighbor Discovery Protocol is susceptible to spoofing and man-in-the-middle attacks similar to ARP attacks in IPv4. Mitigations include RA Guard and SEND (Secure Neighbor Discovery).
  • Dual-stack complexity: Running both IPv4 and IPv6 doubles the attack surface. Administrators must maintain firewall rules and monitoring for both protocol stacks.

Frequently Asked Questions

What is IPv6 and why was it created?

IPv6 (Internet Protocol version 6) is the latest version of the Internet Protocol, designed to replace IPv4. It was created because IPv4 only provides about 4.3 billion addresses, which is insufficient for the billions of devices now connected to the internet. IPv6 uses 128-bit addresses, providing approximately 3.4 × 1038 unique addresses — enough to give every grain of sand on Earth trillions of addresses.

What does an IPv6 address look like?

An IPv6 address is 128 bits long, written as eight groups of four hexadecimal digits separated by colons. For example: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. It can be shortened by omitting leading zeros and replacing consecutive zero groups with ::, becoming 2001:db8:85a3::8a2e:370:7334.

What are the main types of IPv6 addresses?

The main types are: Global Unicast (2000::/3) for public internet communication; Link-Local (fe80::/10) for local segment communication; Unique Local (fc00::/7) for private networks; Multicast (ff00::/8) for one-to-many delivery; Anycast for nearest-node delivery; and Loopback (::1) for the local device.

What is the difference between IPv4 and IPv6?

IPv4 uses 32-bit addresses (~4.3 billion) in dotted-decimal notation; IPv6 uses 128-bit addresses (3.4 × 1038) in colon-hex notation. IPv4 commonly requires NAT; IPv6 provides enough addresses to eliminate it. IPv4 uses ARP; IPv6 uses NDP. IPv6 also features mandatory IPsec support, simplified fixed-size headers, SLAAC for automatic address configuration, and multicast instead of broadcast.

What is dual-stack and how does it help with IPv6 transition?

Dual-stack means running both IPv4 and IPv6 on the same device or network simultaneously. The device automatically uses IPv6 when connecting to IPv6-enabled services and falls back to IPv4 for the rest. This is the most common transition strategy used by ISPs and networks because it requires no tunneling or translation — both protocols simply work side by side.

How do I check if I have IPv6 connectivity?

Use our What Is My IP tool to see if an IPv6 address is displayed. You can also run ipconfig (Windows) or ip -6 addr show (Linux) and look for a global IPv6 address. Running ping -6 google.com will confirm connectivity if you get replies. The website test-ipv6.com provides a comprehensive connectivity assessment.

What is SLAAC in IPv6?

SLAAC (Stateless Address Autoconfiguration) lets IPv6 devices configure their own addresses without a DHCP server. The device combines a network prefix received from the local router with a self-generated interface identifier to create a globally unique address. This simplifies network setup significantly compared to IPv4, which requires either DHCP or manual configuration.

Does IPv6 make NAT unnecessary?

Yes. With enough addresses for every device to have a globally unique, publicly routable address, IPv6 eliminates the primary reason NAT exists. Security is handled by stateful firewalls rather than NAT. Some organizations still use IPv6 NAT (NAT66/NPTv6) for policy reasons, but it is neither required nor recommended. Removing NAT simplifies peer-to-peer connections, VoIP, gaming, and other applications that struggle with NAT traversal.