CGNAT 환경에서 게임하는 방법
CGNAT란?
CGNAT(Carrier-Grade NAT, 통신사급 NAT)는 LSN(Large-Scale NAT) 또는 NAT444라고도 불리며, 인터넷 서비스 제공자(ISP)가 IPv4 주소를 아끼기 위해 쓰는 기술입니다. 고객마다 고유한 공인 IP 주소를 주는 대신, 여러 고객을 하나의 공유 공인 IP 뒤에 둡니다.
아파트 건물을 떠올려 보세요. 세대마다 도로명 주소가 따로 있는 게 아니라 모두가 건물 주소 하나를 같이 씁니다. ISP의 NAT 장비가 '관리실' 역할을 하며 트래픽을 올바른 세대(내 집 네트워크)로 보내 줍니다.
ISP가 CGNAT를 쓰는 이유:
- •IPv4 주소가 고갈됐습니다 (약 43억 개밖에 없음)
- •IPv6 인프라를 완전히 구축하는 것보다 저렴합니다
- •모바일 통신사는 거의 예외 없이 씁니다
- •일부 가정용 ISP도 주소 부족 때문에 도입했습니다
CGNAT 여부 확인하는 법
내가 CGNAT 뒤에 있는지 잘 모르겠다면, 믿을 만한 세 가지 방법이 있습니다.
방법 1: 공유기 IP와 외부 IP 비교
공유기의 WAN IP 확인
공유기 관리자 페이지에 로그인해 WAN/인터넷 IP 주소를 찾으세요. 보통 10.x.x.x, 100.64-127.x.x, 172.16-31.x.x 같은 형태입니다
외부 IP 확인
whatismyip.com에 접속하거나 Google에서 "what is my IP"를 검색하세요
비교
두 IP가 다르면 CGNAT(또는 이중 NAT) 뒤에 있는 것입니다
방법 2: CGNAT IP 대역 확인
공유기의 WAN IP가 다음 대역에 속하면 확실히 CGNAT 뒤에 있는 것입니다.
| IP 대역 | 설명 |
|---|---|
| 100.64.0.0 – 100.127.255.255 | 공식 CGNAT 대역 (RFC 6598) |
| 10.0.0.0 – 10.255.255.255 | 사설 대역 (ISP 내부) |
| 172.16.0.0 – 172.31.255.255 | 사설 대역 (덜 흔함) |
방법 3: Traceroute 테스트
아무 공용 서버로 traceroute를 실행해 보세요. 공용 인터넷에 닿기 전에 사설 IP 홉이 여러 개 보인다면 CGNAT 뒤에 있는 것입니다.
# Windows
tracert 8.8.8.8
# macOS/Linux
traceroute 8.8.8.8
처음 몇 홉의 IP가 100.64-127이나 10.x.x.x로 시작한다면, 트래픽이 공용 인터넷에 닿기 전에 거치는 CGNAT 인프라입니다.
CGNAT에서 포트포워딩이 안 되는 이유
기존의 포트포워딩은 특정 포트로 들어오는 트래픽을 게이밍 PC로 보내도록 공유기를 설정하는 방식입니다. 하지만 CGNAT에서는 두 가지 문제가 있습니다.
문제 1: 이중 NAT
게임 트래픽이 이제 NAT 장비 두 개를 거쳐야 합니다.
- •집 공유기 (내가 제어 가능)
- •ISP의 CGNAT 장비 (내가 제어 불가)
내 공유기에서 포트포워딩을 완벽하게 설정해도, ISP의 CGNAT는 그 포트를 내게 넘겨주지 않습니다.
문제 2: 공유된 공인 IP
다른 플레이어에게 보이는 공인 IP는 나만의 것이 아니라 수백 명의 다른 고객과 함께 쓰는 것일 수 있습니다. 들어오는 연결이 정확히 나에게 도달할 방법이 없습니다.
문제 3: 고정 IP 선택지 없음
CGNAT를 쓰는 많은 ISP는 고정 IP를 제공하지 않거나, 전용 공인 IPv4에 비싼 요금(보통 월 $10-30 추가)을 받습니다.
ISP에 전화해 '포트를 열어 달라'고 해도 CGNAT에서는 소용없습니다. ISP 쪽 해결책은 전용 공인 IP 요청(가능한 경우), 기업용 요금제로 변경, IPv6 주소 받기뿐입니다.
MoleTun이 CGNAT를 해결하는 방법
MoleTun은 고급 NAT 우회 기술로 CGNAT를 통과해서도 P2P 직접 연결을 맺습니다. 방법은 이렇습니다.
NAT 홀 펀칭
CGNAT가 막는 들어오는 연결을 기다리는 대신, MoleTun은 두 플레이어가 동시에 나가는 연결을 시작하게 합니다.
- •조정: 두 플레이어 모두 MoleTun의 STUN/조정 서버에 연결합니다
- •탐색: 서버가 각 플레이어의 외부 IP와 포트 매핑을 파악합니다
- •타이밍: 두 플레이어에게 동시에 서로에게 패킷을 보내라고 지시합니다
- •홀 펀칭: 이 나가는 패킷이 양쪽 NAT 장비에 '구멍을 뚫습니다'
- •직접 연결: 이제 NAT가 이 연결을 정상적인 양방향 트래픽으로 인식합니다
이게 가능한 이유는 NAT 장비(CGNAT 포함)가 나가는 연결과 그 응답은 허용하고, 요청하지 않은 들어오는 트래픽만 막기 때문입니다.
대체 릴레이
드물게 NAT 홀 펀칭이 실패하는 경우(양쪽 모두 대칭형 NAT이거나 방화벽이 공격적인 경우), MoleTun은 자동으로 저지연 릴레이 서버를 통해 트래픽을 보냅니다.
| 연결 유형 | 지연 영향 | 사용 시점 |
|---|---|---|
| P2P 직접 연결 | 추가 0ms | 연결의 약 85% |
| 홀 펀칭 | <1ms 추가 | 연결의 약 10% |
| 릴레이 | 5-15ms 추가 | 연결의 약 5% |
MoleTun이 가장 좋은 연결 방식을 자동으로 고릅니다. 아무것도 설정할 필요 없이 그냥 됩니다.
CGNAT 환경에서 MoleTun 설정하기
MoleTun 다운로드
moletun.com/download에서 내 플랫폼용 MoleTun을 받으세요
방 만들기
'방 만들기'를 클릭하고 친구에게 코드를 공유하세요. 계정이 필요 없습니다.
연결 유형 확인
연결되면 MoleTun이 연결 상태를 보여 줍니다. 초록색 = P2P 직접 연결, 노란색 = 릴레이.
게임 실행
게임의 LAN/로컬 멀티플레이 모드를 시작하세요. 다른 방 멤버가 로컬 네트워크 플레이어로 보입니다.
CGNAT 게임 성능 최적화
MoleTun이 연결 문제를 해결해 줘도 성능을 더 끌어올릴 수 있습니다.
최상의 결과를 위해:
- •Wi-Fi 대신 유선 이더넷 연결을 쓰세요
- •대역폭을 많이 쓰는 앱(스트리밍, 다운로드)을 닫으세요
- •릴레이로 연결됐다면 릴레이 부하가 적은 한산한 시간대에 해 보세요
연결이 불안정하다면:
- •ISP의 CGNAT 장비가 과부하일 수 있으니 다른 시간대에 해 보세요
- •잠깐 모바일 데이터로 바꿔 ISP 문제인지 테스트해 보세요
- •문제가 계속되면 ISP에 전용 IP 옵션을 문의하세요
CGNAT vs 이중 NAT
이 두 용어는 자주 헷갈립니다.
| 상황 | 원인 | 해결책 |
|---|---|---|
| CGNAT | ISP가 나를 자기 NAT 뒤에 둠 | MoleTun (사용자가 고칠 방법 없음) |
| 이중 NAT | 공유기가 두 대 (예: ISP 모뎀 + 내 공유기) | ISP 모뎀을 브리지 모드로, 또는 MoleTun |
| CGNAT + 이중 NAT | 두 상황이 겹침 | MoleTun이 둘 다 처리 |
MoleTun은 세 가지 상황 모두에서 특별한 설정 없이 작동합니다.
고정 IP를 받으면 CGNAT를 피할 수 있나요?▼
ISP에 따라 다릅니다. 일부는 월 추가 요금을 받고 전용 IPv4를 제공합니다. 전화해서 '공인' 또는 '전용' IPv4 주소를 요청하세요. IPv6만 제공한다면 게임에는 여전히 MoleTun이 최선입니다.
IPv6가 CGNAT에 도움이 되나요?▼
그렇기도 하고 아니기도 합니다. IPv6는 모두에게 공인 주소를 줘서 NAT가 필요 없게 합니다. 하지만 IPv6를 지원하지 않는 게임이 많고, 친구가 IPv4만 쓴다면 여전히 직접 연결할 수 없습니다. MoleTun은 IPv4/IPv6 변환을 자동으로 처리합니다.
ISP는 왜 CGNAT를 쓰나요?▼
IPv4 주소는 2011년에 바닥났습니다. CGNAT를 쓰는 ISP는 한정된 주소를 더 많은 고객에게 나눠 쓰고 있는 겁니다. 특히 모바일 통신사와 신규 가정용 인터넷 업체에서 흔합니다.
CGNAT에서 게임하면 공인 IP가 있을 때보다 느린가요?▼
MoleTun의 P2P 직접 연결이라면 차이가 전혀 없습니다. 차이를 느끼는 건 릴레이를 써야 하는 경우(약 5%)뿐인데, 5-15ms의 지연이 더해져도 대부분의 게임은 충분히 플레이할 수 있습니다.
시작할 준비가 되셨나요?
MoleTun을 다운로드하고 1분 안에 플레이를 시작하세요.
MoleTun 다운로드