본문으로 바로가기

NAT/PAT : IP 주소 변환, SNAT과 DNAT

category 🌐 Network/🌐 Network 2021. 3. 31. 19:18

NAT이란, Network Address Translation, 말 그대로 네트워크 주소를 변환하는 기술입니다.

쉽게 말해 IP주소를 다른 IP 주소로 변환하는 것입니다.

 

하나의 ip 주소를 사용하여 여러 단말 장비를 포함하는 네트워크를 구축할 수 있게 도와주는 기술로, 실생활에서 광범위하게 사용되고 있습니다. 특정 계층이 아니라 3계층 이상에서 빈번하게 사용되는 기술입니다. 가정에서 사용하는 컴퓨터는 공유기에는 NAT 기술이 들어가 있으며 를 통해서, 스마트폰은 통신사 장비를 통해서 NAT을 수행하여 외부와 통신하게 됩니다. 원격 통신을 위해 통과해야 하는 게이트웨이에 NAT이 들어가 있는 모양새가 많은 편.

 

하나의 ip 주소를 다른 하나의 ip로 변환하는 것을 NAT

여러 개의 ip를 하나의 ip로 변환하는 것도 NAT이지만 정확하게는 NAPT(PAT)이라고 부릅니다. 

궤가 같은 기술이니 NAT으로 통칭해서 부르기도 합니다.

 

흔히 사설 IP를 공용 IP로 변환하기는 하지만, 사실 NAT은 공용 => 사설, 사설 => 사설 등 다양한 전환이 가능합니다.

IPv4과 IPv6 상호 변환인 AFT도 NAT 기술의 일종입니다.

 

NAT/PAT의 필요성

1. ipv4 기반 부족으로 인한 공인 ip와 사설 ip의 구분

2. 사설 ip를 노출하지 않음으로서 보안 강화

3. 대외계 네트워크를 위해 Double NAT 기술 활용

등등...

 

쉽게 말해서 그냥 공인/사설 IP 분리를 사용하려면 NAT이 필요해진다는 것으로 충분합니다.

 

NAT/PAT은 어떻게 동작하는가

요청받아서 NAT 테이블을 참고하여 매핑된 본 주소와 포트를 참고하여 변환된 주소를 기반으로 요청을 보냅니다.

아래처럼요.

 

PAT은 여러 개의 ip를 하나의 ip로 변환하는 작업이므로 단순 NAT과는 조금 다른 과정을 거치게 됩니다.

외부에 있는 다수의 ip를 하나의 ip로 묶는 작업이므로 출발지의 ip 만 아니라 출발지 포트도 변경됩니다. 

그런데 잘 생각해보면, 사용 가능한 포트는 (많긴 하지만) 제한되어 있습니다. 포트 갯수보다 동시 사용자가 많을 경우에는 공인 ip하나가 아니라 pool로 구성해야 합니다.

 

NAT : SNAT, DNAT

NAT은 어떤 IP를 변경하는지에 따라 SNATDNAT으로 구분됩니다.

Source NAT은 출발지 IP를 변경 => 사설에서 공인으로 통신할 때 많이 사용

Destination NAT은 도착지 IP를 변경 => 로드 밸런서에 많이 사용

 

SNAT은 사설에서 공인으로 통신할 때 많이 사용됩니다. 사설망의 IP가 요청을 보내면 SNAT을 통해서 공인아이피로 바뀐 후에 공인 아이피의 이름으로 요청을 보내게 됩니다. 

 

DNAT는 상식적으로, Virtual IP에 요청을 하면, 로드 밸런서가 내부적으로 내부 IP로 리버스 프록시하잖아요?

그겁니다. 도착지 IP를 변경하는 것.

 

 

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체