본문 바로가기

서버운영 (TA, ADMIN)/인프라

[인프라] NAT에 의한 IP 주소 변환

글로벌 IP 주소는 그 수가 부족해지고 있기 때문에 이에 대한 대응으로서 사설 IP주소를 활용하는 NAT(Network Address Translation)가 이용되고 있습니다.


사설 IP 주소와 글로벌 IP를 변환함으로써, 각각의 기기가 글로벌 IP를 가지지 않은 채로 글로벌 네트워크와 통신을 할 수 있게 해주는 기술이 NAT입니다. 엄밀하게 말해서 NAT라고 하기보다는 IP 주소와 접속포트를 변환하는 NAPT(Network Address Port Translation)가 사용되는 경우가 많습니다.


실제로는 NAT 라우터가 소스 IP와 소스 포트 및 목적지 IP와 목적지 포트를 기억해 둠으로써 IP 주소를 변환하는 구조입니다. 이는 가정용 라우터에서도 흔히 사용되고 있으며, 대규모 서비스에서도 많이 사용되고 있습니다.



그림과 같이 라우터를 통과하는 타이밍에 소스(PC → 서버) IP 주소(SRC), 목적지(서버 → PC) IP 주소(DST)로 IP 주소가 변환됩니다.




참고)




L4-NAT의 'NAT'는 Network Address Translation의 약자로 IP 주소를 변환하는 것을 말합니다. 엄밀하게는 IP 주소와 함께 통신에 사용하는 포트 번호까지 변환하는 NAPT(Network Address and Port Translation)을 사용하는 경우가 많으며 매우 일반적인 방식입니다. 오픈 소스 소프트웨어(OSS)의 경우는 Linux Virtual Server(LVS)와 조합하여 사용하는 keepalived로 구현할 수 있습니다.