[Network] NAT(Network Address Translation) 이란?
- Setting/네트워크
- 2025. 4. 20. 01:39

NAT(Network Address Translation) 이란?

NAT(Network Address Translation)은 네트워크 주소를 변환해 주는 기술입니다. 주로 내부 네트워크(사설망)의 여러 기기들이 하나의 공인 IP 주소를 사용하여 외부 인터넷과 통신할 수 있도록 해줍니다.
집이나 사무실의 인터넷 공유기(라우터)가 바로 이 NAT 기능을 수행하는 대표적인 장비입니다. 공유기는 ISP로부터 받은 공인 IP 주소 하나를 가지고, 그 아래에 연결된 여러 기기(PC, 스마트폰 등)에는 사설 IP 주소를 할당한 후, 이들 기기가 인터넷과 통신할 때 주소를 변환시켜 줍니다.
NAT 필요 이유

현재 널리 사용되는 IP 주소 체계는 IPv4(Internet Protocol version 4)입니다. IPv4 주소는 인터넷에 연결된 각 기기를 식별하는 고유한 번호로, 32비트 숫자로 이루어져 있습니다. 우리가 흔히 보는 '192.168.1.1'과 같은 점으로 구분된 10진수 형태가 바로 IPv4 주소입니다
32비트 체계인 IPv4는 이론적으로 약 43억 개의 고유한 주소를 만들 수 있습니다. 인터넷 초기에는 이 정도면 충분하다고 생각했지만, 예상보다 훨씬 빠른 속도로 인터넷이 폭발적으로 성장하면서 문제가 발생했습니다. 전 세계적으로 인터넷 사용자 수가 급증하고, 한 사람이 사용하는 인터넷 연결 기기(PC, 스마트폰, 태블릿, 스마트 TV 등)의 수도 늘어나면서 43억 개의 주소로는 턱없이 부족해진 것입니다. 국제인터넷주소관리기구(IANA)와 같은 기관들은 이미 할당할 수 있는 IPv4 주소 블록이 대부분 소진되었다고 발표했습니다.
이러한 IPv4 주소 고갈 문제를 해결하기 위한 아이디어가 바로 NAT입니다. NAT는 한정된 공인 IP 주소를 여러 기기가 함께 공유하여 사용할 수 있도록 하는 기술입니다. 즉, 인터넷 서비스 제공업체(ISP)로부터 할당받은 하나의 공인 IP 주소를 가지고, 집이나 회사 내의 여러 기기들이 인터넷에 접속할 수 있게 해주는 것입니다.
NAT 동작 방식

NAT의 작동 원리를 이해하기 위해서는 먼저 '공인 IP 주소'와 '사설 IP 주소'의 차이를 알아야 합니다.
- 공인 IP 주소 (Public IP Address): 전 세계적으로 유일하며 인터넷상에서 직접 통신이 가능한 주소입니다. 인터넷 서비스 제공업체(ISP)가 할당해 주며, 웹 서버나 메일 서버 등 외부에서 접근해야 하는 서비스들은 이 공인 IP 주소를 사용합니다.
- 사설 IP 주소 (Private IP Address): 가정이나 회사와 같은 특정 로컬 네트워크(LAN) 내부에서만 사용되는 주소입니다. 이 주소들은 전 세계적으로 유일하지 않으며, 다른 네트워크에서도 중복되어 사용될 수 있습니다. 인터넷 상에서는 직접 통신이 불가능합니다. 일반적으로 10.x.x.x, 172.16.x.x ~ 172.31.x.x, 192.168.x.x 대역의 주소가 사설 IP로 사용됩니다.
NAT는 바로 이 공인 IP와 사설 IP 사이에서 '주소 변환'을 수행하는 역할을 합니다. NAT 기능은 주로 집이나 회사 네트워크와 인터넷을 연결하는 관문 역할을 하는 라우터나 방화벽 장비에 탑재되어 있습니다.
내부에서 외부 (Outbound)
- 내부 네트워크의 PC (192.168.100.3:3855)가 외부 웹 서버 (209.131.36.158:80)로 데이터를 보냅니다.
- 이 데이터 패킷은 먼저 공유기(NAT 장비)에 도착합니다.
- 공유기는 패킷의 출발지 주소를 사설 IP(192.168.100.3:3855)에서 자신의 공인 IP 주소(예: 145.12.131.7:6282)로 변환합니다.
- 이때, 어떤 내부 기기의 요청인지 구분하기 위해 출발지 포트 번호도 새로운 임의의 포트 번호로 변환합니다. (3855 → 6282)
- 공유기는 이 변환 정보를 NAT 테이블에 기록합니다. (192.168.100.3:3855 → 145.12.131.7:6282)
- 변환된 패킷을 외부 웹 서버로 전송합니다.
외부에서 내부 (Inbound)
- 외부 웹 서버 (209.131.36.158:80)가 응답 데이터를 공유기의 공인 IP 주소와 변환된 포트 번호(145.12.131.7:6282)로 보냅니다.
- 공유기는 NAT 테이블을 참조하여 이 데이터가 원래 어떤 내부 기기(192.168.100.3:3855)의 요청에 대한 응답인지 확인합니다.
- 패킷의 목적지 주소를 공유기의 공인 IP에서 해당 PC의 사설 IP 주소(192.168.100.3)로, 목적지 포트 번호도 원래의 포트 번호(3855)로 변환합니다.
- 변환된 패킷을 해당 PC로 전달합니다.
NAT 종류
Static NAT
- 작동 방식: 사설 IP 주소와 공인 IP 주소를 1:1로 영구적으로 고정하여 매핑합니다. 마치 특정 직원에게 전용 직통 전화번호를 부여하는 것과 같습니다.
- 주요 용도: 외부에서 항상 동일한 주소로 접근해야 하는 내부 서버(예: 웹 서버, 이메일 서버)를 운영할 때 사용됩니다. 외부에서 해당 공인 IP 주소로 접속하면 항상 지정된 내부 서버로 연결됩니다.
- 한계: 1:1 매핑이므로 공인 IP 주소를 절약하는 효과는 없습니다.
Dynamic NAT
- 작동 방식: 여러 개의 공인 IP 주소를 '풀(pool)'로 만들어 놓고, 내부 장치가 인터넷에 접속을 요청할 때마다 사용 가능한 공인 IP 주소를 동적으로 할당합니다. 사용이 끝나면 해당 공인 IP는 다시 풀로 반환되어 다른 장치가 사용할 수 있게 됩니다. 마치 회사에서 공용 차량을 필요할 때마다 빌려 쓰는 것과 비슷합니다.
- 주요 용도: 내부 사용자들이 외부 인터넷에 접속해야 하지만, 외부에서 특정 내부 장치로 직접 접속할 필요는 없을 때 사용됩니다. 정적 NAT보다는 IP 주소를 절약할 수 있습니다.
- 한계: 동시에 접속하는 내부 장치 수가 공인 IP 풀의 개수보다 많으면 접속이 불가능할 수 있습니다. 외부에서 내부 장치로 먼저 연결을 시작하기 어렵습니다.
PAT (Port Address Translation) / NAPT
- 작동 방식: 하나의 공인 IP 주소와 여러 개의 사설 IP 주소를 포트 번호를 이용하여 N:1로 매핑합니다. 앞서 설명한 포트 변환 메커니즘을 사용합니다. 마치 하나의 아파트 건물 주소(공인 IP)에 여러 개의 호수(포트 번호)가 있는 것과 같습니다.
- 주요 용도: 가장 일반적으로 사용되는 NAT 방식으로, 가정용 공유기나 대부분의 기업 네트워크에서 인터넷 접속을 위해 사용됩니다.
- 장점: 공인 IP 주소를 가장 효율적으로 사용할 수 있습니다.