TestePing
EN

Home / Guides

The difference between IPv4 and IPv6

Updated · 3 min read

Open My IP →

Every device connected to the internet needs an address to receive data: the IP address. Two versions of this system coexist today, IPv4 and IPv6. Most of the time you don't even notice which one you are using, but understanding the difference helps you solve problems with remote access, gaming and servers.

The difference in a table

FormatIPv4: 200.160.2.3 · IPv6: 2804:14c:1a2b::1
SizeIPv4: 32 bits · IPv6: 128 bits
Number of addressesIPv4: about 4.3 billion · IPv6: about 340 undecillion
StatusIPv4: exhausted · IPv6: plentiful
SharingIPv4: common (NAT and CGNAT) · IPv6: every device can have its own

Why IPv4 ran out

IPv4 was created in the 1980s, when 4.3 billion addresses seemed more than enough. With computers, phones, TVs, cameras and smart bulbs all online, the math stopped working. The regional registries, including ARIN in North America, have already handed out virtually all of their free blocks.

The workaround was sharing. At home, the router gets one public IPv4 address and shares it among all devices using NAT. Many ISPs went further and started sharing a single public IPv4 address among several customers, which is called CGNAT. It works for browsing, but it gets in the way of anyone who needs to accept incoming connections, such as game servers and cameras.

What IPv6 solves

With 128 bits, IPv6 has enough addresses to give every device on the planet a public IP, with huge room to spare. That removes the need for NAT and CGNAT, simplifies direct connections between devices and improves routing. For the average user, the main benefit is practical: when the ISP uses CGNAT on IPv4, IPv6 is often the way to get remote access.

How to read an IPv6 address

An IPv6 address is written as eight groups of four hexadecimal digits (0 to 9 and a to f), separated by colons. To shorten it, leading zeros can be dropped and one run of all-zero groups can be replaced by ::, only once. So 2001:0db8:0000:0000:0000:0000:0000:0001 is the same as 2001:db8::1.

Does my connection have IPv6?

In the US, most major ISPs, both cable and fiber, already provide IPv6, and a large share of traffic already runs over it. To check, look in your router's panel for an IPv6 address on the internet (WAN) connection, or use an IPv6 connectivity test. TestePing's My IP shows your IPv4 and IPv6 side by side: if the IPv6 field says there is no IPv6, your connection does not have it yet.

If your connection has no IPv6, check whether the option is enabled on your router. On many ISP-supplied models it comes turned off. If it still does not show up, ask your ISP.

Do I need to do anything?

For browsing, no. Websites, apps and operating systems pick the best available version on their own, and both run at the same time (known as dual stack).

It is worth paying attention if you:

  • need remote access and your ISP uses CGNAT: IPv6 may be the answer;
  • run a website or server: publishing over IPv6 too (an AAAA record in DNS) broadens your reach and avoids longer paths for IPv6-only users;
  • allow access by IP in a firewall or panel: remember to allow IPv6 too, or access may fail for only some users.

Security

Without NAT, every IPv6 device can, in theory, be reached from the internet. That is why the router's firewall is essential: it should block unsolicited incoming connections on IPv6 as well, which most current routers already do by default. It is worth checking.