10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 열한번째 주제는 Network Address Translation(NAT)입니다.
01234567891011
Network is Fun! Network Address Translation(NAT)
인터넷에 연결하기 위해서는 공인 IP 주소가 필요합니다.
이러한 공인IP는 ICANN(Internet Corporation for Assigned Names and Numbers)라는 불리는 미국의 비영리 사설 기관에서 국가마다 인터넷 도메인 네임과 주소를 지정해주기 때문에 사용할 수 있는 수가 한정적이에요. 반면에 인터넷에 접속하고자 하는 단말기는 계속해서 늘어나고 있죠.
그래서 인터넷과 연결된 공인 IP 내에 사설망을 구축해 연결된 디바이스에 사설 IP를 부여해서 공인 IP 없이도 인터넷 통신이 가능하게 하는데요.
바로 이 때 공인 IP를 사설 IP로 바꾸는 오늘의 주인공, NAT(Network Address Translation)의 활약이 펼쳐집니다.
사설 IP로 인터넷에 데이터를 보낼 때NAT의 동작 원리를 살펴볼게요. 사설 IP를 가진 PC에서 전송하고자 하는 데이터는 우선 인터넷과 직접 연결된 라우터에서 내부 사설망과 연결된 포트인 Gateway로 전달됩니다. 이 때 데이터의 목적지 IP는 공인 IP인 3.4.5.6, 출발지 IP는 사설 IP인 10.0.0.5죠.
Gateway로 전송된 데이터는 NAT 기능으로 출발지 IP가 공인 IP인 1.2.3.4로 바뀌게 됩니다. 이제 이 데이터는 인터넷에서 통신이 가능해졌고,IP주소는 바뀌었지만 남아있는 Port 넘버로 사설망 내 어느 PC에서 데이터가 전달됐는지가 확인할 수 있어요.
그러면 이제 이렇게 외부에서 받은 데이터를 사설망에서 받을 때의 NAT 동작 원리는 어떻게 될까요? 우선 외부에서 데이터를 받은 서버는 목적지 IP를 확인하여 이 데이터를 전송합니다. 이 때 IP는 공인 IP인 5.6.7.8이네요.
전달된 데이터는 NAT으로 Port 넘버를 확인해 연결돼 있는 PC의 사설 IP를 확인하여 데이터를 전달합니다. 이때 변경되는 목적지 IP는 사설 IP인 10.0.1.6이 되죠.
이렇게 공인 IP로 구성된 사설망을 이용하면 여러 대의 노드가 인터넷 통신 시 하나의 공인 IP를 사용할 수 있어 공인 IP 주소가 절약되고,
내부망에서는 사설 IP 주소로 통신하고, 인터넷과 같은 외부망에서는 공인 IP로 통신하기 때문에 내부 네트워크를 외부 침입자로부터 보호할 수도 있습니다.