The IPv4 Shortage Problem
The internet was built using IPv4 addresses. The problem? There are only about 4.3 billion IPv4 addresses available, and there are currently over 15 billion connected devices in the world.
We ran out of new IPv4 addresses years ago.
While the ultimate solution is transitioning to IPv6 (which has enough addresses for every atom on Earth), that transition is taking a long time. In the meantime, Internet Service Providers (ISPs) had to find a workaround.
That workaround is Carrier-Grade NAT (CGNAT).
What is CGNAT?
To understand CGNAT, you first need to understand regular NAT (Network Address Translation).
Regular NAT (Your home router):
You have multiple devices in your home (phones, TVs, laptops). Your router gives them all private IP addresses (192.168.1.x). When they access the internet, the router translates all their traffic to use your single public IP address.
Result: 10 devices share 1 public IP.
Carrier-Grade NAT (Your ISP's router): Because ISPs don't have enough public IPs to give one to every customer, they apply the exact same concept on a massive scale. The ISP gives your home router a private IP address. Your traffic goes to the ISP's massive router, which translates it to a shared public IP. Result: 1,000 homes share 1 public IP.
How to Tell if You Are Behind CGNAT
It is very easy to check if your ISP is using CGNAT:
- Find your visible Public IP: Visit our What's My IP tool and note the IP address shown.
- Find your router's WAN IP: Log into your home router's admin panel (usually
192.168.1.1) and look for the "WAN IP" or "Internet IP". - Compare them:
- If the two IPs match, you have a dedicated public IP.
- If the two IPs are different (especially if the router WAN IP starts with
10.x.x.xor100.64.x.x), you are behind CGNAT.
Note: The 100.64.0.0/10 block is officially reserved worldwide specifically for CGNAT.
The Problems with CGNAT
For 95% of users who just browse the web, watch Netflix, and use social media, CGNAT is completely invisible. It works perfectly.
However, CGNAT breaks the internet for power users:
1. Port Forwarding is Impossible
Because you share a public IP with hundreds of strangers, you cannot forward a port to your specific house. The ISP's router will simply drop incoming connection requests.
2. Hosting Servers
You cannot host a web server, Minecraft server, or Plex server from home because nobody on the outside internet can initiate a connection to your specific router.
3. Peer-to-Peer Gaming
Many multiplayer games (like Nintendo Switch online games or older PC games) rely on P2P connections. CGNAT often results in "Strict NAT" errors, preventing you from joining friends' lobbies.
4. IP Bans
If someone sharing your CGNAT public IP gets IP-banned from a website or game, you get banned too, because the website sees you both as the same IP.
How to Bypass CGNAT
If you are stuck behind CGNAT and need port forwarding, you have a few options:
- Ask for a Static IP: Call your ISP. Many will provide a dedicated public IP for a small monthly fee ($5-$10/month).
- Use a VPN with Port Forwarding: Some premium VPNs offer port forwarding features, allowing you to bypass your ISP's NAT entirely.
- Use Tunnels (Cloudflare Tunnels, Tailscale, Ngrok): If you are hosting a web app or server, these tools create an outbound tunnel from your server to the internet, completely bypassing the need for port forwarding.
As the internet continues its slow migration to IPv6, CGNAT will eventually become unnecessary. Until then, it remains a necessary evil to keep the internet growing.
