공인 IP와 사설 IP를 알아보기 전에 이 개념이 어떻게 생겨나게 됐는지 정리해 봅시다.
IP 주소 체계가 생겨나서부터 계속 IPv4를 사용해 왔습니다.
IPv4가 가지고 있는 주소의 범위는 43억개로 이것만으로 충분히 많은 양이라고 초창기에는 생각되어 왔습니다.
하지만, 기술의 발전으로 네트워크의 주소는 데스크톱뿐만이 아니라, 랩톱, 태블릿, 스마트폰 등 여러 네트워크 애플리케이션에서 IP주소를 필요로 하기 시작하였고, 빠른 속도로 IP 주소는 고갈되어 왔습니다.
사실, 이미 43억개의 숫자 이상의 주소를 사용하고 있다고 봐도 무방합니다. 이 말은 즉, 이미 주소는 고갈 상태에 이르렀다는 것입니다.
하지만, 이미 IPv4에서 할당할 수 있는 주소의 범위를 넘어섰음에도 불구하고 우리는 별다른 문제 없이 네트워크를 사용하고 있습니다.
즉, 이 문제점을 해결해준 것들이 존재한다는 것입니다.
이것을 해결해준 것으로 NAT(Network Address Translation)과 IPv6 주소 체계가 있습니다.
우리는 여기서 NAT에 대해서 알아볼 것입니다.
NAT(Network Address Translation) 기술은 사설 IP와 공인 IP 주소 간에 주소 변환을 수행하여 여러 호스트들이 단일 공인 IP 주소를 공유하며 인터넷을 사용할 수 있도록 해주는 기술입니다.
이 기능을 통해서 사설망이 만들어 집니다.
사설망에서 사용하는 사설 IP는 광역 네트워크(WAN)에서는 사용할 수 없습니다. 예를 들어, 한 사설망의 호스트가 10.0.0.0/24의 주소를 사용하고 있다고 생각해 봅시다. 이 주소는 호스트가 속해 있는 사설망(LAN)에서만 유효합니다. 왜냐하면 이 주소들의 블록을 사용하는 수십만 개의 네트워크가 있기 때문입니다.
NAT기능을 수행하는 것은 일반적으로 라우터입니다.
즉, NAT 가능 라우터가 이 역할을 수행하면서 홈 네트워크 내의 여러 호스트들에게 사설 IP를 부여해 주는 것입니다.
그렇다면 어떻게 이 부여해주는 것일까요? 수동으로 일일히 부여해 준다고 생각하면 너무 많은 수고가 들어갈 것으로 예상됩니다.
사실 이 기능은 무엇과 굉장히 비슷합니다. DHCP(Dynamic Host Configuration Protocol)입니다.
라우터는 ISP의 DHCP 서버로부터 주소를 얻고, NAT-DHCP-라우터로 제어되는 홈 네트워크 주소 공간에서 DHCP 서버를 실행하여 컴퓨터에게 주소를 제공합니다.
라우터는 NAT 변환 테이블(NAT translation table)을 사용하고, 그 테이블에 IP 주소와 포트 번호를 포함하여 홈 네트워크의 내부 호스트와 외부 호스트와의 네트워크 통신을 하게 해줍니다.
가볍게 동작 방식을 보자면 다음과 같습니다.
이러한 과정을 통해서 통신이 이루어집니다.
NAT는 IP 주소의 부족 문제를 해결하고, 내부 네트워크의 보안을 강화하는 데 도움을 줍니다. 이 기능 덕분에 기기들이 각각의 사설 IP 주소를 사용하여 내부 네트워크에서 통신할 수 있으면서, 인터넷 통신에는 공인 IP 주소를 사용할 수 있습니다.
이제 공인 IP와 사설 IP가 어떻게 사용되는지 확인했습니다. 공인 IP와 사설 IP에 대해서 정리하고 마무리 하겠습니다.
인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 제공자)가 제공하는 IP주소입니다. 공용 IP 주소라도 불리며 외부에 공개되어 있는 IP 주소입니다.
인터넷 주소 할당 방식에 CIDR(Classless Interdomain Routing)라는 것이 있습니다.
최상위 비트(most significant bit, MSB)를 사용하고, 이를 주소의 프리픽스(prefix) 혹은 네트워크 프리픽스라고 합니다.
CIDR이 채택되기 전에는 IP 주소의 네트워크 부분을 8, 16, 24비트로 제한했고, 8, 16, 25비트 서넷 주소를 갖는 서브넷을 각각 A, B, C 클래스 네트워크로 분류했기 때문에 이러한 주소 체계는 클래스 주소체계(classful addressing)라고 알려져 있습니다.
사설 IP(Private IP) 주소는 공유기가 노트북, 스마트 TV, 휴대폰 등 홈 네트워크에 연결된 장치에 할당된 내부 IP 주소를 의미합니다. 사설 IP 주소는 로컬 네트워크에 할당되며 다른 네트워크의 IP 주소와 중복될 수 있습니다. 사설 IP 주소는 각자의 내부 네트워크에서 사용되기에 다른 네트워크의 IP 주소와 중복되더라도 문제가 없기 때문입니다. 대신 동일한 로컬 네트워크에 연결된 장치에는 같은 사설 IP 주소를 할당할 수 없습니다.
특징을 정리하자면 다음과 같습니다.
IP 주소를 나누는 방식에는 정적 IP와 동적 IP가 존재합니다.
동적 IP 주소는 시간이 지남에 따라 변화하는 IP 주소를 의미하며 유동 IP 주소라고도 합니다. 동적 IP 주소는 인터넷 업체가 할당되며 장치를 재부팅하거나, 새로운 장치를 네트워크에 추가하거나, 네트워크 설정을 수정할 때 마다 변경되는 IP 주소입니다. 하지만, IP 주소가 변경된다고 해서 인터넷 연결에 문제가 생기는 것은 아니며, 대부분의 가정에서는 동적 IP 주소를 사용하고 있습니다.
정적 IP 주소는 동적 IP 주소와 달리 변화하지 않는 IP 주소를 의미하며 고정 IP 라고도 합니다. 보통 정적 IP 주소는 웹사이트를 호스팅하거나 이메일 및 FTP 서비스를 제공하는 서버에서 할당하며, 안정적인 인터넷 연결과 웹 주소의 일관성을 유지해야 하는 공공 기관에서 사용되기도 합니다. 게임이나 VoIP 연결을 위해 개인이 정적 IP 주소를 사용하는 경우도 있지만 정적 IP 주소의 단점 때문에 보통 가정에서는 사용하지 않습니다.
이 개념에 때문에 사실 본인은 공인 IP는 정적 IP로만 이루어져 있고, 사설 IP의 경우 두 개다 사용하는 줄 알았지만, 이것은 잘못된 개념으로 인한 오해입니다.
가정집이라고 해서 전부 다 사설 IP인 것이 아닙니다. 우리가 사용하고 있는 유선 인터넷 서비스는 동적 공인 IP를 사용합니다. 인터넷 사용자 제공자(ISP)는 공인 IP 주소를 자동으로 할당하고 관리하며, 일정 시간이 지난 후에 IP 주소가 변경될 수 있습니다.
동적 공인 IP를 사용하는 이유는 IP 주소 자원을 효율적으로 관리하고 비용을 절감하기 위함입니다. 대부분의 가정용 사용자에게는 고정된 IP 주소가 필요하지 않기 때문에, 동적 공인 IP를 사용하면 충분합니다. 그러나 웹 서버, 메일 서버, VPN 서버 등과 같이 고정 IP 주소가 필요한 서비스를 운영하려면 정적 IP를 사용해야 합니다. 이 경우에는 일반적으로 ISP로부터 추가 비용을 지불하여 정적 IP를 할당받을 수 있습니다.
Reference