근거리 통신망(LAN, Local Area Network)은 한 가정이나 사무실 안에서 작동하는 모든 기기의 네트워크 통신을 체계적으로 정리하고 보호하기 위한 구조입니다.
좀 더 쉽게 풀어보겠습니다. "한 가정이나 사무실 안"이라는 표현은 유선 또는 무선으로 네트워크 공유기(라우터)에 연결된 모든 기기를 가리킵니다. 이 공유기는 Wi-Fi 액세스 포인트일 수도 있고, 인터넷 서비스 제공업체(ISP)에서 제공받은 모뎀일 수도 있습니다.
"정리"란 각 기기에 고유한 식별 주소를 부여하고, 해당 기기가 로컬 네트워크 밖의 인터넷에 어떻게 접근할 수 있는지 규칙을 정하는 것을 의미합니다.
"보호"란 외부 네트워크에서 내부 기기로 들어오는 트래픽 요청을 검사하고 필터링하여, 승인되지 않았거나 잠재적으로 위험한 접근을 차단하는 것을 뜻합니다.
IPv4 주소 지정 방식
예시를 통해 살펴보겠습니다. 아래 그림에서 라우터는 183.23.100.34라는 공인(public) IP 주소를 가지며, 들어오고 나가는 모든 트래픽은 이 주소와 연결됩니다.
동시에 라우터는 DHCP(Dynamic Host Configuration Protocol) 서버 역할도 수행하여, 집안의 PC, 노트북, 스마트폰, 서버 등 모든 기기에 사설(private) IP 주소를 할당합니다. 기기들은 서로 통신할 때 이 주소들을 사용합니다.

모든 로컬 기기가 "NAT IP 주소"를 사용한다고 표시되어 있는 점에 주목하세요. NAT(Network Address Translation, 네트워크 주소 변환)는 사설 LAN 내부의 기기를 관리하는 데 사용되는 방식입니다.
그런데 왜 굳이 NAT를 사용할까요? 라우터와 같은 종류의 공인 IP 주소를 모든 기기에 부여하면 안 될까요?
그 답을 이해하려면 IPv4부터 짚고 넘어가야 합니다. IPv4 주소는 점(.)으로 구분된 4개의 8비트 옥텟으로 이루어진 32비트 숫자로, 형태는 다음과 같습니다.
192.168.1.10서브넷 표기법
네트워크 주소가 어떤 서브넷에 속하는지 시스템이 정확히 파악하는 것은 매우 중요합니다. 이를 위해 어떤 옥텟이 네트워크 부분이고 어떤 옥텟이 기기에 사용 가능한지 명확하게 전달할 수 있는 표준 표기법이 필요합니다.
널리 사용되는 표기법은 두 가지입니다. 바로 CIDR(Classless Inter-Domain Routing) 표기법과 넷마스크(netmask)입니다.
CIDR 방식에서 하나의 네트워크는 192.168.1.0/24처럼 표현할 수 있습니다. /24는 처음 세 개의 옥텟(8×3=24비트)이 네트워크 부분임을 나타내며, 네 번째 옥텟만 기기 주소로 사용할 수 있다는 의미입니다. 두 번째 네트워크(서브넷)는 CIDR로 192.168.2.0/24로 표기됩니다.
같은 두 네트워크는 넷마스크 255.255.255.0으로도 표현할 수 있습니다. 즉, 처음 세 개 옥텟의 8비트 전체가 네트워크에 사용되고, 네 번째 옥텟은 기기에 할당된다는 뜻입니다.
사설 네트워크의 이해
이론상 IPv4 프로토콜은 1.0.0.0부터 255.255.255.255까지 약 40억 개의 고유한 주소를 제공합니다.
하지만 이 40억 개의 주소가 모두 실제로 사용 가능하더라도, 이미 세상에 존재하는 수십억 대의 휴대폰과 노트북·데스크톱 컴퓨터, 그리고 네트워크에 연결된 자동차, 가전제품, 사물인터넷(IoT) 기기까지 감당하기에는 턱없이 부족합니다. 앞으로 더 늘어날 기기들은 말할 것도 없죠.
그래서 네트워크 엔지니어들은 사설 네트워크 전용으로 사용할 세 개의 IPv4 주소 범위를 따로 지정했습니다. 이 범위의 주소를 사용하는 기기는 공용 인터넷에서 직접 접근할 수 없으며, 변환 과정을 거치지 않으면 인터넷 리소스에도 접근할 수 없습니다. 세 가지 범위는 다음과 같습니다.
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255NAT에서 'T'가 무엇의 약자였는지 기억나시나요? 바로 Translation(변환)입니다. NAT 기능이 있는 라우터는 LAN과 인터넷 사이의 트래픽 요청에서 사용된 사설 IP 주소를 라우터 자신의 공인 주소로 변환합니다. 그런 다음 라우터는 이름 그대로 해당 요청을 적절한 목적지로 라우팅합니다.
이 간단한 주소 체계 재설계 덕분에 수십억 개의 주소를 절약하여, 사설 네트워크에 속하지 않는 휴대폰 같은 기기에 사용할 수 있게 되었습니다. 전 세계의 가정과 사무실에서 작동하는 수많은 노트북과 PC는 공유기의 공인 IP를 편리하고 매끄럽게 공유하게 된 것이죠.
문제가 해결된 걸까요? 글쎄요, 아직입니다. 이렇게 주소를 효율적으로 사용하더라도, 인터넷에 계속 연결되는 기기의 폭발적인 증가를 감당하기에는 여전히 부족합니다. 이 문제를 해결하기 위해 네트워크 엔지니어들이 새롭게 만들어낸 것이 바로 IPv6 프로토콜입니다. IPv6 주소의 예는 다음과 같습니다.
2002:0df6:0001:004b:0100:6c2e:0370:7234꽤 복잡해 보이죠? 그리고 앞서 본 IPv4 예시보다 훨씬 큰 숫자처럼 느껴집니다.
네, 실제로 그렇습니다. 일부 IPv4 주소는 비교적 잘 외울 수 있지만, 이런 거대한 주소를 통째로 외워두려는 사람은 거의 없습니다.
우선 IPv6는 16진수를 사용합니다. 즉, 0~9의 숫자뿐 아니라 알파벳 처음 여섯 글자(a~f)도 함께 사용합니다. 게다가 옥텟이 8개로 늘었고, 주소 길이도 32비트가 아닌 128비트입니다.
결국 IPv6가 완전히 구현되면 주소가 고갈될 위험은 아주 오랫동안(다시 말해 사실상 영원히) 사라집니다. 그렇다면 주소 할당 관점에서는 더 이상 사설 NAT 네트워크가 필요하지 않다는 뜻입니다.
다만 보안을 고려하면 여전히 LAN 내부에서 기기에 일정 수준의 보호 장치를 마련해 두는 것이 좋습니다.