[Network] NAT(Network Address Translation) 이란?

Network Address Translation
Network Address Translation

 

NAT(Network Address Translation) 이란?

NET(Network Address Translation) - 출처 : 위키미디어
NET(Network Address Translation) - 출처 : 위키미디어

NAT(Network Address Translation)은 네트워크 주소를 변환해 주는 기술입니다. 주로 내부 네트워크(사설망)의 여러 기기들이 하나의 공인 IP 주소를 사용하여 외부 인터넷과 통신할 수 있도록 해줍니다.

 

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

 

 

NAT 필요 이유

IPv4 exhaustion time - 출처 : 위키미디어
IPv4 exhaustion time - 출처 : 위키미디어

현재 널리 사용되는 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 동작 방식

NET(Network Address Translation) - 출처 : 위키미디어
NET(Network Address Translation) - 출처 : 위키미디어

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)

  1. 내부 네트워크의 PC (192.168.100.3:3855)가 외부 웹 서버 (209.131.36.158:80)로 데이터를 보냅니다.
  2. 이 데이터 패킷은 먼저 공유기(NAT 장비)에 도착합니다.
  3. 공유기는 패킷의 출발지 주소를 사설 IP(192.168.100.3:3855)에서 자신의 공인 IP 주소(예: 145.12.131.7:6282)로 변환합니다.
  4. 이때, 어떤 내부 기기의 요청인지 구분하기 위해 출발지 포트 번호도 새로운 임의의 포트 번호로 변환합니다. (3855 → 6282)
  5. 공유기는 이 변환 정보를 NAT 테이블에 기록합니다. (192.168.100.3:3855 → 145.12.131.7:6282)
  6. 변환된 패킷을 외부 웹 서버로 전송합니다.

 

외부에서 내부 (Inbound)

  1. 외부 웹 서버 (209.131.36.158:80)가 응답 데이터를 공유기의 공인 IP 주소와 변환된 포트 번호(145.12.131.7:6282)로 보냅니다.
  2. 공유기는 NAT 테이블을 참조하여 이 데이터가 원래 어떤 내부 기기(192.168.100.3:3855)의 요청에 대한 응답인지 확인합니다.
  3. 패킷의 목적지 주소를 공유기의 공인 IP에서 해당 PC의 사설 IP 주소(192.168.100.3)로, 목적지 포트 번호도 원래의 포트 번호(3855)로 변환합니다.
  4. 변환된 패킷을 해당 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 주소를 가장 효율적으로 사용할 수 있습니다.

 

 

같이 보면 좋은 글

IPv4, IPv6 전환 기술 알아보기

IP주소와 IPv4, IPv6 개념 알아보기

TCP, UDP 알아보기

TCP/IP 4 계층 알아보기

OSI 7 계층 알아보기

Email : caramelnim@gmail.com