집에서 여러 기기가 인터넷을 쓸 수 있는 이유가 NAT 덕분입니다. 하나의 공인 IP로 여러 사설 IP 기기가 인터넷에 접속할 수 있게 해주는 기술입니다.


NAT란

NAT(Network Address Translation) 은 사설 IP와 공인 IP 간 주소를 변환하는 기술입니다.

NAT 주소 변환 과정

PLAINTEXT
사설 네트워크                NAT 라우터              인터넷
192.168.1.10 ──┐
192.168.1.11 ──┤── NAT ──→ 203.0.113.1 ──→ 서버
192.168.1.12 ──┘   (주소 변환)

NAT 유형

1. Static NAT (1:1)

사설 IP와 공인 IP를 1:1로 고정 매핑합니다.

2. Dynamic NAT

사설 IP를 공인 IP 풀에서 동적으로 매핑합니다.

3. PAT / NAPT (Port Address Translation)

가장 많이 사용 되는 방식입니다. 하나의 공인 IP를 포트 번호로 구분합니다.

PLAINTEXT
NAT 테이블:
| 사설 IP:포트          | 공인 IP:포트         | 목적지           |
|----------------------|---------------------|-----------------|
| 192.168.1.10:50001   | 203.0.113.1:40001  | 8.8.8.8:443     |
| 192.168.1.11:50002   | 203.0.113.1:40002  | 8.8.8.8:443     |
| 192.168.1.12:60001   | 203.0.113.1:40003  | 1.1.1.1:80      |

하나의 공인 IP로 약 65,000개의 동시 연결이 가능합니다 (포트 번호 범위).


NAT의 장단점

장점:

  • IPv4 주소 절약 (사설 IP는 무한히 재사용 가능)
  • 내부 네트워크 구조 은닉 (보안)

단점:

  • 외부에서 내부로 접속 어려움 → 포트 포워딩 필요
  • P2P 통신 복잡 → NAT Traversal (STUN, TURN, ICE)
  • End-to-End 원칙 위반

NAT Traversal

NAT 뒤의 장비와 직접 통신하기 위한 기법입니다.

기법설명
STUN자신의 공인 IP/포트를 알아냄
TURN중계 서버를 통해 통신
ICESTUN + TURN 조합으로 최적 경로 선택

WebRTC가 이 기법들을 사용하여 브라우저 간 P2P 통신을 구현합니다.


핵심 포인트

  • NAT가 IPv4 수명을 연장한 방법: 사설 IP로 공인 IP 소비 최소화
  • 포트 포워딩: 외부에서 내부 서버 접근을 위해 NAT 테이블에 고정 매핑 추가
  • CGNAT: 통신사가 NAT를 중복 적용 (사설 IP → 통신사 사설 IP → 공인 IP)

정리

NAT는 IPv4 주소 고갈을 해결한 핵심 기술이면서, 동시에 P2P 통신을 어렵게 만든 원인이기도 합니다. PAT 방식으로 하나의 공인 IP에 수만 개의 사설 IP가 매핑되는 원리를 이해하면 됩니다.

댓글 로딩 중...