더북(TheBook)

7.1 NAT/PAT

NAT(Network Address Translation, 네트워크 주소 변환)는 사용자 모르게 실생활에서 많이 사용하는 기술입니다. 가정에서 사용하는 노트북과 PC는 공유기를 통해서, 통신사에 LTE나 5G로 연결된 스마트폰은 통신사 장비 어디선가 NAT를 수행해 외부와 통신하게 됩니다. 회사 네트워크에서도 NAT와 PAT를 매우 많이 사용합니다. 라우터나 L3 스위치와 같은 L3 장비에서도 쓰이고 특히 방화벽과 로드 밸런서와 같이 세션을 다루는 L4 이상의 장비에서는 매우 빈번히 사용되는 기술입니다. NAT 동작을 이해하면 이런 장비의 동작 방식을 더 쉽게 이해할 수 있습니다.

NAT는 이름 그대로 네트워크 주소를 변환하는 기술입니다. NAT는 기본적으로 하나의 네트워크 주소에 다른 하나의 네트워크 주소로 변환하는 1:1 변환이 기본이지만 IP 주소가 고갈되는 문제를 해결하기 위해 1:1 변환이 아닌 여러 개의 IP를 하나의 IP로 변환하기도 합니다. 여러 개의 IP를 하나의 IP로 변환하는 기술도 NAT 기술 중 하나이고 NAT로 통칭하여 불리기도 하지만 실제 공식 용어는 NAPT(Network Address Port Translation, RFC2663)입니다. NAPT의 경우, 실무에서는 PAT(Port Address Translation)라는 용어로 더 많이 사용되기 때문에 본서에서도 PAT라는 용어로 설명하겠습니다.

“NAT는 IP 주소를 다른 IP 주소로 변환해 라우팅을 원활히 해주는 기술”이라고 인터넷 표준 문서에서 정의하고 있습니다. 사설 IP에서 공인 IP로 전환하는 것뿐만 아니라 공인 IP에서 사설 IP로 주소를 전환할 수 있고 사설 IP에서 또 다른 사설 IP나 공인 IP에서 또 다른 공인 IP로의 전환도 NAT로 정의될 수 있습니다. 이 개념을 좀 더 확장하면 IPv4 주소를 IPv6 주소로 변환하거나 그 반대로 IP 주소를 변환하는 기술인 AFT(Address Family Translation)도 NAT 기술의 일종입니다. 이렇듯 다양한 NAT 기술과 방법이 존재하지만 NAT가 가장 많이 사용되는 경우는 사설 IP 주소에서 공인 IP 주소로 전환하는 경우입니다.

NAT는 서비스의 전체 흐름을 파악하는 데 매우 중요한 요소입니다. 이번 장에서는 NAT와 PAT가 어떤 기술인지, 어떻게 동작하는지, 어떤 NAT 방식이 있는지 자세히 알아보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.