Carrier-Grade NAT (CGNAT): Complete Guide
Carrier-Grade NAT (CGNAT), also known as Large-Scale NAT (LSN) or NAT444, is a network address translation method used by Internet Service Providers to share a single public IP address among multiple customers. Understanding CGNAT is crucial for troubleshooting connectivity issues and understanding modern internet infrastructure.
What is CGNAT?
CGNAT is Network Address Translation performed at the ISP level, adding an additional layer of NAT between your home router and the internet. This allows ISPs to conserve IPv4 addresses by sharing one public IP among many customers.
The Problem CGNAT Solves
IPv4 address exhaustion: - Only 4.3 billion IPv4 addresses exist - Billions of internet users and devices - ISPs running out of public IPs - New customers need connectivity
Traditional solution:
Each customer gets one public IP
Customer uses NAT at home for multiple devices
ISP needs one public IP per customer
CGNAT solution:
Multiple customers share one public IP
ISP uses NAT at their level
Customers get private IPs from ISP
Conserves public IPv4 addresses
How CGNAT Works
Double NAT Architecture
Without CGNAT (traditional):
Your Device (192.168.1.100)
↓
Home Router NAT (Public IP: 203.0.113.45)
↓
Internet
With CGNAT (NAT444):
Your Device (192.168.1.100)
↓
Home Router NAT (ISP Private IP: 100.64.0.50)
↓
ISP CGNAT (Public IP: 203.0.113.45 - shared)
↓
Internet
The Translation Process
Step 1: Your device to home router ``` Source: 192.168.1.100:54321 Destination: 93.184.216.34:80
Home router translates: Source: 100.64.0.50:12345 Destination: 93.184.216.34:80 ```
Step 2: Home router to ISP CGNAT ``` Source: 100.64.0.50:12345 Destination: 93.184.216.34:80
ISP CGNAT translates: Source: 203.0.113.45:65432 Destination: 93.184.216.34:80 ```
Step 3: Website sees
Source: 203.0.113.45:65432
(Shared with many other customers)
RFC 6598 Address Space
CGNAT uses special private range:
Range: 100.64.0.0 to 100.127.255.255
CIDR: 100.64.0.0/10
Purpose: Shared Address Space for CGNAT
Total addresses: 4,194,304
Why this range? - Not used by home networks - Separate from RFC 1918 (192.168.x.x, 10.x.x.x, 172.16.x.x) - Prevents conflicts - Specifically for ISP use
Detecting CGNAT
Check Your WAN IP
Method 1: Router admin page
1. Log into router (192.168.1.1)
2. Check WAN/Internet IP address
3. If it starts with 100.64.x.x → CGNAT
4. If it's a public IP → No CGNAT
Method 2: Compare IPs
1. Check router's WAN IP
2. Visit whatismyip.com or ippigly.com
3. If different → CGNAT
4. If same → No CGNAT
Example:
Router WAN IP: 100.64.25.100 (private)
Public IP (from website): 203.0.113.45
Result: You're behind CGNAT
Signs You're Behind CGNAT
Indicators: - Router WAN IP is 100.64.x.x - Port forwarding doesn't work - Can't host servers - Gaming NAT type: Strict/Moderate - VoIP quality issues - P2P applications struggle
Problems Caused by CGNAT
Port Forwarding Impossible
Traditional NAT:
Internet → Your Public IP:80 → Your Server
Port forwarding works
With CGNAT:
Internet → Shared Public IP:80 → ???
ISP's CGNAT doesn't know which customer
Port forwarding impossible from your end
Impact: - Can't host web servers - Can't host game servers - Can't access security cameras remotely - Can't run services from home
Gaming Issues
NAT Types:
Open NAT: Best (no CGNAT)
Moderate NAT: Okay (single NAT)
Strict NAT: Poor (CGNAT)
Problems: - Can't host game lobbies - Reduced matchmaking pool - Connection issues - Voice chat problems - Longer wait times
Affected games: - Call of Duty - Fortnite - Minecraft (hosting) - Any P2P games
VoIP and Video Calling
Issues: - Poor call quality - Connection failures - One-way audio - Dropped calls - Increased latency
Affected services: - Skype - Zoom (sometimes) - WhatsApp calls - FaceTime - SIP phones
P2P Applications
Affected: - BitTorrent (reduced peers) - File sharing - Video conferencing - Remote desktop - Cryptocurrency nodes
Why: - Can't accept incoming connections - Rely on relay servers - Reduced performance - Limited functionality
Multiple Devices Issues
Problem:
ISP CGNAT has limited ports per customer
Many devices sharing those ports
Port exhaustion possible
Symptoms: - Intermittent connectivity - Some devices can't connect - Random disconnections - Slow performance
IP-Based Services
Problems: - Shared IP with other customers - IP reputation issues - Geolocation inaccuracy - Can't whitelist your IP - Blacklist affects multiple users
Example:
One customer's abuse → IP blacklisted
All customers sharing that IP affected
Email delivery issues
Website access blocked
Workarounds and Solutions
Request Public IP from ISP
Best solution:
Contact ISP
Request dedicated public IPv4 address
May require:
- Business plan upgrade
- Additional monthly fee ($5-20)
- Static IP service
Benefits: - Eliminates CGNAT - Port forwarding works - Gaming NAT: Open - Full functionality restored
Use IPv6
If ISP provides IPv6:
Enable IPv6 on router
Get public IPv6 address
No NAT needed
End-to-end connectivity
Benefits: - No CGNAT - Direct connectivity - Port forwarding works - Future-proof
Limitations: - Not all services support IPv6 - Some devices don't support IPv6 - Dual-stack still needed
VPN with Port Forwarding
Some VPN providers offer port forwarding:
Your Network → VPN → Internet
VPN provides public IP and port
Forward traffic through VPN
Providers: - PIA (Private Internet Access) - AirVPN - Mullvad
Use cases: - Hosting services - Gaming - Torrenting - Remote access
Cloud/VPS Reverse Proxy
Setup:
Rent VPS with public IP
Configure reverse proxy
Tunnel traffic to your home
VPS forwards to your services
Tools: - Nginx reverse proxy - Cloudflare Tunnel - ngrok - frp (fast reverse proxy)
Example with Cloudflare Tunnel:
Your Server → Cloudflare Tunnel → Internet
No port forwarding needed
Works behind CGNAT
Free for personal use
UPnP/NAT-PMP (Limited)
May help with some applications:
Enable UPnP on router
Applications auto-configure NAT
Only works for home router NAT
Doesn't solve CGNAT
Helps with: - Some games - Torrent clients - Media servers
Doesn't help with: - Hosting public services - Incoming connections through CGNAT
Gaming-Specific Solutions
Use game-specific relays: - Xbox Live relay servers - PlayStation Network - Steam networking - Discord voice servers
Enable DMZ on router:
Puts one device outside home NAT
Doesn't solve CGNAT
May improve gaming slightly
Security risk
ISP Perspectives on CGNAT
Why ISPs Use CGNAT
Address conservation: ``` Without CGNAT: 1,000 customers = 1,000 public IPs needed
With CGNAT: 1,000 customers = 10-50 public IPs needed Massive savings ```
Cost savings: - IPv4 addresses cost $20-50 each - Thousands of customers - Millions in savings - Delays IPv6 investment
Rapid deployment: - Quick to implement - No customer equipment changes - Transparent to most users - Solves immediate problem
ISP CGNAT Implementations
Typical ratios:
Conservative: 20-50 customers per IP
Moderate: 50-100 customers per IP
Aggressive: 100-500 customers per IP
Port allocation:
Per customer: 256-2048 ports
Depends on ISP policy
Affects number of simultaneous connections
CGNAT and IPv6 Transition
The Long-Term Solution
IPv6 eliminates need for CGNAT:
IPv6 addresses: 340 undecillion
Every device gets unique address
No NAT needed
End-to-end connectivity
Current state: - Many ISPs deploying IPv6 - Dual-stack (IPv4 + IPv6) common - CGNAT for IPv4, native IPv6 - Gradual transition
Dual-Stack Approach
Best practice:
IPv6: Native, no NAT
IPv4: CGNAT (for legacy)
Devices prefer IPv6
Fall back to IPv4 if needed
Benefits: - IPv6 for modern services - IPv4 compatibility maintained - Smooth transition - Best of both worlds
Testing and Troubleshooting
Verify CGNAT Status
Test 1: Check WAN IP ```bash
On router or via admin page
If 100.64.x.x → CGNAT
```
Test 2: Port test
1. Set up port forward on router
2. Test from external network
3. If fails → likely CGNAT
Test 3: Trace route ```bash traceroute 8.8.8.8
Look for 100.64.x.x addresses
Indicates CGNAT
```
Diagnosing CGNAT Issues
Gaming NAT type test:
Xbox: Settings → Network → NAT Type
PlayStation: Settings → Network → Connection Status
PC games: Usually in network settings
Port forwarding test:
1. Configure port forward
2. Use canyouseeme.org
3. Test your port
4. If fails → CGNAT or firewall
Connection test:
Try hosting a service
Test from external network
If unreachable → CGNAT blocking
Best Practices
For Users Behind CGNAT
1. Understand limitations - Know what won't work - Plan accordingly - Don't blame your router
2. Request public IP if needed - Contact ISP - Explain use case - Be prepared to pay
3. Use workarounds - VPN with port forwarding - Cloud services - IPv6 when available
4. Enable IPv6 - Check ISP support - Enable on router - Test connectivity - Prefer IPv6 services
For ISPs
1. Communicate clearly - Inform customers about CGNAT - Explain limitations - Offer alternatives
2. Provide options - Public IP upgrade path - IPv6 deployment - Reasonable pricing
3. Allocate sufficient ports - Don't over-subscribe - Monitor usage - Adjust as needed
4. Deploy IPv6 - Long-term solution - Reduces CGNAT dependency - Better customer experience
Future of CGNAT
Temporary Solution
CGNAT is a stopgap: - Delays IPv4 exhaustion impact - Not a permanent solution - Adds complexity - Degrades user experience
IPv6 Adoption
As IPv6 grows: - CGNAT becomes less necessary - IPv4 relegated to legacy - Better end-to-end connectivity - Improved functionality
Timeline: - Short term (2024-2026): CGNAT prevalent - Medium term (2026-2030): IPv6 majority - Long term (2030+): IPv4 legacy, IPv6 standard
Conclusion
Carrier-Grade NAT is a necessary but imperfect solution to IPv4 address exhaustion. While it allows ISPs to conserve addresses and serve more customers, it introduces limitations that affect gaming, hosting services, and certain applications. Understanding CGNAT helps you diagnose issues, find workarounds, and make informed decisions about internet service.
Related Articles
NAT and IPv4
- NAT (Network Address Translation) - Basic NAT explained
- IPv4 Exhaustion - Why CGNAT exists
- IPv4 Private Ranges - RFC 1918 addresses
- Private vs Public IP - Address types
IPv6 Transition
- IPv6 vs IPv4 - Long-term solution
- IPv6 Adoption - Deployment status
- IPv6 Benefits - Why IPv6 eliminates CGNAT
- Dual Stack Networking - Running both protocols
Network Configuration
- Port Forwarding - Difficult with CGNAT
- Static vs Dynamic IP - IP assignment
- Internet Service Providers - ISP infrastructure
Explore More
- Networking Basics - Essential concepts
- IPv4 Guide - Complete IPv4 resource hub
Key takeaways: - CGNAT adds ISP-level NAT, sharing public IPs among customers - Uses 100.64.0.0/10 address space - Prevents port forwarding and hosting services - Causes gaming, VoIP, and P2P issues - Detect by checking if WAN IP is 100.64.x.x - Solutions: Request public IP, use IPv6, VPN, or cloud services - Temporary measure until IPv6 adoption - ISPs use it to conserve IPv4 addresses - Not inherently bad, but has limitations - IPv6 is the long-term solution
Whether you're troubleshooting connection issues, planning to host services, or simply understanding your internet connection, knowledge of CGNAT empowers you to work within its limitations or find appropriate solutions.