✨ Carrier-Grade Network Address Translation (CGNAT)
Carrier-Grade Network Address Translation (CGNAT) (캐리어급 네트워크 주소 변환), 또는 Large-Scale NAT (LSN) (대규모 NAT)은 Internet Service Provider (ISP) (인터넷 서비스 제공업체)가 IPv4 (Internet Protocol version 4) 주소 고갈 문제에 대응하고 IPv6 (Internet Protocol version 6) 전환을 지원하기 위해 사용하는 Network Address Translation (NAT) (네트워크 주소 변환)의 일종입니다. 이는 다수의 최종 사용자(가정 또는 모바일 네트워크)가 하나의 공인 IPv4 주소를 공유할 수 있도록 하는 이중 NAT (Double NAT) 구조를 채택한 대규모 솔루션입니다.
CGNAT는 최종 사용자 네트워크에서의 NAT 기능에 더해 ISP 네트워크 내부에 한 겹의 변환 계층을 추가하는 NAT444 구조를 핵심으로 합니다.
100.64.0.0/10 을 사용합니다.[내 폰 192.168.0.55] (고객 사설 IP)
↓ (1차 NAT)
[공유기 192.168.0.1 / 211.34.56.78] (ISP 사설 IP: 100.64.x.x 범위일 수 있으나 예시에서는 공인처럼 보임. CGNAT 대상 IP)
↓ (2차 CGNAT)
[ISP 엣지 211.34.56.1] (CGNAT 장비)
↓ (공인 IP + 포트 변환)
[ISP 공인 IP (다수가 공유)] → [KIX] → [네이버 서버 223.130.195.200]
참고: 위 예시 다이어그램에서 공유기에 할당된 WAN 주소(
211.34.56.78)가 공인 주소처럼 보이지만, 실제 CGNAT 환경에서는 이는100.64.x.x범위의 ISP 사설 IP 주소이며, 이 주소가 CGNAT 장비에서 공인 IP 주소로 최종 변환됩니다.
Traceroute (트레이스라우트) 명령어는 특정 목적지까지 패킷이 거쳐가는 라우터(Hop, 홉)의 IP 주소를 순서대로 보여줍니다. CGNAT 환경에서는 NAT 장비가 Hop으로 표시되거나, 변환된 IP 주소로 표시될 수 있습니다.
$ traceroute naver.com
1 192.168.0.1 (공유기)
2 211.34.56.1 (SKT 엣지)
3 211.34.100.50 (CGNAT 후)
4 10.100.0.1 (SKT 백본)
5 203.233.100.1 (KIX)
6 223.130.195.200 (네이버 서버)
192.168.0.X)에서 공유기의 WAN 주소(이 경우 CGNAT의 입력 주소)로 변환됩니다.10.x.x.x는 ISP의 내부 Private IP 주소 대역으로, ISP의 코어 네트워크 내부를 지나고 있음을 보여줍니다.CGNAT는 Port Address Translation (PAT) (포트 주소 변환)을 사용하여 다수의 사용자를 구별합니다. 이로 인해 다음과 같은 기술적 제약이 발생합니다.
| 이슈 유형 | 상세 설명 |
|---|---|
| Double NAT 문제 | NAT444 구조로 인해 Port Forwarding (포트 포워딩), DMZ (Demilitarized Zone) 설정, Inbound (인바운드, 수신) 연결이 필요한 P2P (Peer-to-Peer) 통신이나 게임 서버 호스팅이 불가능하거나 매우 복잡해집니다. |
| IP 추적의 복잡성 | 하나의 공인 IP 주소를 여러 가입자가 공유하므로, 특정 악성 트래픽 발생 시, ISP는 방대한 Port 할당 로그를 분석해야만 실제 가입자를 특정할 수 있습니다. |
| Port 고갈 | CGNAT 장비는 각 가입자에게 할당할 수 있는 TCP (Transmission Control Protocol) 및 UDP (User Datagram Protocol) Port 범위가 제한되어 있어, 사용자가 과도한 동시 연결을 시도하면 Port가 고갈되어 추가 연결이 차단될 수 있습니다. |
| 콜래터럴 데미지 | 한 공유 IP 사용자가 차단 목록에 오르면, 해당 IP를 공유하는 다른 선량한 사용자들까지 서비스 접근이 차단되는 피해(Collateral Damage)를 입을 수 있습니다. |
CGNAT는 현재 IPv4 고갈 문제 해결을 위한 필수적인 기술이지만, End-to-End 연결성을 저해하고 Port 제한을 두는 등 최종 사용자 경험에 직접적인 영향을 미칠 수 있습니다.
CGNAT는 Internet Service Provider (ISP) (인터넷 서비스 제공업체)가 IP 주소 부족 문제를 해결하기 위해 사용하는 특별한 방법이에요.
CGNAT 환경은 기본적으로 NAT (Network Address Translation)가 두 번 일어나는 Double NAT 구조, 즉 NAT444를 사용합니다.
| 단계 | 수행 장소 | 변환 목적 | 비유에서의 역할 |
|---|---|---|---|
| 1차 NAT | Home Router (공유기) | 내 컴퓨터의 사설 IP 주소를 공유기의 WAN IP (ISP가 할당한 사설 주소)로 바꿉니다. | 101호 내부에서 101호 입구로 우편물을 들고 나가는 것. |
| 2차 NAT | CGNAT 장비 (ISP) | 공유기의 WAN IP (ISP 사설 주소)를 ISP 공인 IP 주소로 최종 변환합니다. | 101호 입구에서 아파트 경비실로 우편물이 이동하여 대표 주소로 바뀌는 것. |
사용자 PC (192.168.1.100)가 네이버 서버 (223.130.195.200)로 접속하는 경우:
192.168.1.100 (내 방 주소) 도착지: 223.130.195.200 (네이버 주소)100.64.0.5 (공유기 WAN IP. ISP가 정한 아파트 101호 대표 주소)로 변환.203.233.100.10 (ISP의 공인 대표 IP. 아파트 전체 대표 주소)로 변환.203.233.100.10 으로 인식합니다.핵심: 당신이 보낸 패킷은 인터넷에 나가기 전에 두 개의 주소 변환 장치(공유기, CGNAT)를 거치기 때문에 Double NAT이라고 불리는 것입니다.
CGNAT는 외부에서 나가는 통신 (Outbound) 에는 문제가 없지만, 외부에서 나에게 들어오는 통신 (Inbound) 에는 치명적인 문제를 일으킵니다.
203.233.100.10)로 접속을 시도합니다.101호, 102호) 전달해야 할지 알 수 없습니다.203.233.100.10)를 사용해서 해킹이나 스팸 메일을 보내면, 외부 서비스(예: 해외 웹사이트, 게임 서버)는 이 공인 IP를 차단 목록에 올립니다.CGNAT는 IPv4의 임시 해결책일 뿐이며, 근본적인 해결책은 모든 기기가 고유한 공인 IP 주소를 가질 수 있는 IPv6로 전환하는 것입니다.