Server

FW - NAT(Network Address Translation)

kiritoni 2025. 1. 18. 01:15
반응형

NAT

NAT (Network Address Translation)이란, 네트워크 주소 변환이다. NAT가 언제 쓰일까? NAT는 다양한 용도가 있지만, 대부분 사설 네트워크 (Priavate Network)에 속한 여러 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해서 쓰인다. NAT는 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서, 라우터를 통해 네트워크 트래픽을 주고받는 기술이다. 

 

IP 주소는 크게 두 개로 나눌 수 있다. 

공인 IP(Public IP), 그리고 사설 IP(Priavate IP)가 있다. 

이를 통해 IPv4의 낭비를 막고, 공인 인터넷을 사용하지 않아도 되는 단말들에게 어느 망이든 중복되어 사용할 수 있는 IP를 줄 수 있다. 

 

IPv4는 약 43억개의 한정된 주소를 사용할 수 있는데, 이 수요가 크게 증가하면서 더 이상 IPv4를 할당할 수 없을 것이라는 문제가 제기되었다. 이를 위해 IPv6가 개발되었지만, 여전히 IPv4를 사용할 수 있는데, 이는 Private Network 덕분이다.

 

공인망(외부망, 인터넷)에서는 공인 IP가, 사설망(내부망)에서는 사설 IP가 사용된다. 사설망의 IP 주소 범위는 RFC 1918, RFC 4193이라는 표준으로 약속되어있다. 일반적으로 집, 카페, 학교 등등에서는 공유기가 우리가 사용하는 컴퓨터, 휴대폰 등에 사설 IP를 할당해준다. 기업에서도 마찬가지로 방화벽, 스위치 등에 사설 IP와 서브넷 마스크를 지정하고, 게이트웨이로 사용하며 연결된 서버에 사설 IP를 할당한다.

 

Gateway
Gateway는 서로 다른 네트워크 간의 통신을 중계하거나 연결하기 위한 장치나 시스템을 의미한다. 
Gateway 장비는 다른 대역으로 라우팅이 가능한 L3 스위치 이상의 장비이다. 
즉, 3계층인 네트워크 계층 이상부터 게이트웨이 기능을 갖고 있다. 

 

 

카페에서 와이파이를 연결해서 인터넷에 접속한다고 하면, 무선 공유기를 통해 IP를 할당받는다. 

네트워크 정보에서 IPv4 주소를 확인해보면 사전에 약속된 Private Network 범위에 속한다. 

 

그런데 인터넷을 실제로 사용할 때는 공인 IP로만 통신이 가능하다.

즉, 사설 IP를 가지고는 공인망에 해당하는 인터넷을 사용할 수 없다. 

그렇다면 우리는 어떻게  사설 IP만 가지고 있는데도 인터넷을 사용할 수 있는 것일까? 

 

이때 NAT라는 기술이 사용된다. 

공인 인터넷망과 내 컴퓨터 사이에는 내 컴퓨터에게 IP를 할당해주는 공유기가 있다.

사설 IP만 받은 내 컴퓨터가 인터넷 등 외부 서비스를 사용하려고 공유기로 나가면, 이 공유기는 사설 IP를 자신의 공인 IP로 변환해준다. 

 

만약 tistory라는 사이트에 접속하고 싶다면,

1) 내 컴퓨터가 gateway address에 해당되는 IP머신(공유기)에 신호를 보낸다. 

2) 신호를 받은 공유기가 tistory에 요청을 보낸다. 

3) 우선 요청받은 내부 IP를 기록한다. 

4) 내부 IP는 사설 IP다. 사설 IP를 공인 IP로 변환해준다.

5) 그러면 공유기는 요청을 공인 IP 로 tistory에 요청을 하고, tistory는 그 요청을 처리한다. 

6) 그리고 다시 공인 IP로 보내고, 공유기에서 다시 사설 IP로 통신을 완료한다. 

 

간단하게 말해서 NAT는 사설 IP를 사용하고 있는 서버가 사설 바깥쪽에 있는 공인 IP에 해당되는 외부세계에 접속할 수 있도록 해준다.

 

 

반응형

'Server' 카테고리의 다른 글

[Linux] 서버에 사용자를 추가하고, 관리자 그룹에 추가하기  (0) 2025.03.10
VLAN  (0) 2025.01.21
IP와 서브넷  (0) 2025.01.21
스위치  (0) 2025.01.21
Docker Network  (0) 2025.01.20