에듀테크 프로젝트 대시보드
NAT (네트워크 주소 변환)
우리 집 컴퓨터·폰은 전부 192.168.x.x 같은 사설 IP를 쓴다. 이 주소는 전 세계에서 수십억 대가
똑같이 쓰고 있어서 인터넷에서는 길을 찾을 수 없다. 그런데도 인터넷이 되는 이유는 공유기(라우터)가
바깥으로 나가는 패킷의 출발지 IP·포트를 자기 공인 IP·포트로 바꿔치기하고, 그 대응 관계를
NAT 표에 적어 두기 때문이다. 응답이 돌아오면 표를 거꾸로 찾아 원래 기기로 되돌려 보낸다.
포트까지 바꿔 여러 기기가 공인 IP 하나를 나눠 쓰는 방식을 PAT(포트 주소 변환) 또는
NAT 오버로딩이라 부른다 — 오늘날 가정용 공유기가 하는 일이 바로 이것이다.
왼쪽 사설망 기기 하나(파랑)와 오른쪽 인터넷 서버 하나(주황)를 클릭해 고른 뒤 패킷 보내기를 누르세요.
| 내부 (사설 IP:포트) | → 변환된 외부 (공인 IP:포트) | 목적지 서버 | 상태 |
|---|---|---|---|
| 아직 표가 비어 있습니다 | |||
기기 192.168.0.10 가 브라우저에서 93.184.216.34:80 에 접속하면,
OS는 임의의 출발 포트(예: 51514)를 붙여 패킷을 만든다. 공유기는 이렇게 처리한다:
# 나갈 때 (아웃바운드) src 192.168.0.10:51514 dst 93.184.216.34:80 │ 공유기가 출발지를 바꿔치기 (+ 표에 기록) ▼ src 203.0.113.7:40001 dst 93.184.216.34:80 # 공인 IP로 나감 # 돌아올 때 (인바운드) — 서버는 40001로 답한다 src 93.184.216.34:80 dst 203.0.113.7:40001 │ 표에서 40001 을 찾아 원래 주인에게 되돌림 ▼ src 93.184.216.34:80 dst 192.168.0.10:51514 # 내 PC로 도착
203.0.113.7:40001 로 연결을 시도해도 대응 줄이 없으면 공유기가 그냥 폐기한다 → NAT가 사실상 방화벽 역할도 한다.| 측면 | NAT 덕분에 | NAT 때문에 |
|---|---|---|
| IPv4 주소 | 공인 IP 1개로 수백 대 연결 | 진짜 해결이 아닌 임시방편 (근본 해결은 IPv6) |
| 보안 | 외부에서 내부로 임의 접속 차단 | 보안을 NAT에 의존하면 위험 (방화벽 아님) |
| 서버 운영 | — | 집에서 서버를 열려면 포트 포워딩 설정 필요 |
| P2P·화상통화 | — | 양쪽 다 NAT 뒤 → STUN/TURN·홀펀칭으로 우회 |
192.168.0.50:80 으로 넘겨라"라고 고정 줄을 미리 박아두는 것. 집 NAS·게임 서버를 열 때 쓴다.192.168.0.1)에서 실제 NAT 세션 표를 직접 볼 수 있는 제품도 많다.