
컴퓨터 네트워크
Network Address TranslationNAT (네트워크 주소 변환)
NAT(Network Address Translation)은 패킷의 IP 주소(및 포트)를 변환하는 기술이다. 주로 사설 IP 주소를 공인 IP 주소로 변환하여 IPv4 주소 고갈 문제를 완화하고 내부 네트워크를 외부로부터 숨기는 데 사용된다.
NAT 동작 원리
NAT 테이블 예시:
NAT 종류
| 종류 | 설명 | 용도 |
|---|---|---|
| SNAT (Source NAT) | 출발지 IP 변환, 아웃바운드 | 가정/기업 인터넷 접속 |
| DNAT (Destination NAT) | 목적지 IP 변환, 인바운드 | 포트 포워딩, 로드 밸런서 |
| PAT/NAPT | IP+포트 모두 변환 | 가장 일반적인 NAT |
| Full Cone NAT | 동일 내부 IP:포트 → 고정 외부 매핑 | P2P 친화적 |
| Symmetric NAT | 목적지마다 다른 매핑 | 가장 엄격, P2P 어려움 |
NAT의 문제점
- 1.End-to-End 원칙 위반: 외부에서 내부로 직접 연결 불가
- 2.P2P 어려움: BitTorrent, VoIP, 게임 등에서 문제
- 3.프로토콜 의존성: FTP, SIP 같은 프로토콜은 페이로드에 IP 주소 포함 → ALG(Application Layer Gateway) 필요
- 4.성능 오버헤드: 모든 패킷마다 변환 테이블 조회
NAT 우회 기술
- •STUN (Session Traversal Utilities for NAT): 공인 IP:포트 발견
- •TURN: 릴레이 서버 이용
- •ICE: STUN + TURN 조합으로 최적 경로 선택 (WebRTC에서 사용)
- •UPnP: 라우터에 자동 포트 포워딩 요청