IT/네트워크

[네트워크] NAT(Network Address Translation) 이란?

s워니얌 2024. 8. 29. 11:20

 

 

📝 NAT(Network Address Translaion) 개념

 

네트워크 주소 변환을 줄여서 NAT이라고 한다. NAT은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. 한 마디로 Network Address인 IP를 변환(Translation)하겠다는 의미이다. 

 

NAT을 이용하는 이유는 대게 사설 네트워크(Private Network)에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.

 

IP 주소에는 Public IP(공인 IP)와 Private IP(사설IP)가 있다. IP를 굳이 두 종류로 나눈 이유는 IPv4 주소의 낭비를 막고 공인 인터넷을 굳이 사용하지 않아도 되는 단말들에게 망이든 중복 사용 가능한 IP를 주기 위함이다. 

 

사설 IP를 할당받은 단말이 인터넷을 사용해야 된다면 단말의 IP는 어떻게 변화할까?

 

예를들어 카페에서 노트북을 한다고 했을 때 보통 와이파이로 노트북과 인터넷을 연결할 것이다. 무선 공유기를 통해 IP를 할당받았고 그 정보는 다음과 같다. 

 

출처 : Inpa Dev

 

IP를 확인해보니 172.30.1.136이다. 해당 IP는 Private Network에 속하는 약속된 Private IP(사설 IP) 범위대이다.

 

Private Network에서 사용 가능한 Private IP( 사설 IP)
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

 

 

따라서 카페에 있는 공유기에 연결된 모든 단말들은 Private IP(사설 IP)를 보유하게 된다. 그렇다면 인터넷을 사용할 때는 어떻게 되는걸까? 인터넷은 공인 IP로만 연결되어 통신이 가능하다. 사설 IP를 Source Address로 유지한 채 인터넷으로 나아가는 걸까??

 

공인인터넷망과 컴퓨터 사이에는 내 컴퓨터에게 IP를 할당해주는 공유기가 있다. 그리고 공유기는 공인 IP를 보유하며 인터넷과 맞닿아있다.

 

Private IP(172.30.1.36)뿐인 내 컴퓨터가 외부 서비스(8.8.8.8)을 사용하고자 공유기로 나아가면, 공유기는 Private IP(172.30.1.36)뿐인 내 컴퓨터의 IP를 공유기 자신의 공인 IP로 전환(Translation)하게 된다. 즉) 공유기를 지나 외부 인터넷으로 나아갈 때는 공유기의 공인 IP를 가지고 원하는 Destination Address로 향하는 것이다.

 

 

 

📝 NAT의 과정

 

공유기에 연결된 컴퓨터들은 각각의 사설 아이피를 부여받는다. 예를 들어 내 사설 아이피는 192.168.0.3이다.

 

 

만약 회사의 erp 시스템 사이트에 접속하고 싶으면, 컴퓨터는 게이트웨이 어드레스에 해당되는 IP머신(공유기)에게 신호를 보낸다. 

 

 

 

신호를 받은 공유기는 다음 순서에 따라 erp 사이트에 요청을 보낸다.

 

1. 요청 받은 내부 ip를 기록한다. (192.168.0.4) 누가 요청했는지 알아야하니까.

2. 요청한 컴퓨터 ip는 외부에서 접속할 수 없는 사설 ip이다. 따라서 사설 ip를 공인 ip로 변환한다.

 

 

 

이제, 공유기는 이 요청은 public ip address로 ERP 사이트에 요청을 하고 ERP 사이트는 그 요청을 처리한다. 그리고 다시 공인 IP (59.6.66.238)로 보내고, 공유기에서 다시 사설 IP(192.168.0.4)로 보내서 통신을 완료한다.

 

즉) Private IP를 사용하고 있는 컴퓨터가 사설 바깥쪽에 있는 Public IP에 해당되는 외부세계에 접속할 수 있게 된다 .이때 사용하는 기술이 바로 NAT이라고 보면 된다. 

 

 

 


 

[참고]

 

 

 

🌐 NAT(Network Address Translation) 이란 무엇인가?

NAT (Network Address Translation) 개념 네트워크 주소 변환(network address translation, 줄여서 NAT)은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록

inpa.tistory.com

 

반응형