인터넷을 구성하는 모든 통신은 결국 하나의 질문으로 귀결된다. 특정 데이터를 어디로 보내야 하는가. 이 질문에 답하기 위해 고안된 체계가 바로 IP 주소이며, 그 주소를 효율적으로 나누고 관리하기 위한 도구가 서브넷 마스크와 CIDR 표기법이다. 네트워크를 처음 접하는 사람뿐 아니라 시스템 운영, 클라우드 인프라 설계, 보안 정책 수립을 담당하는 실무자에게도 이 세 가지 개념은 반드시 정확히 이해하고 있어야 하는 기초 지식에 해당한다. 본 글에서는 IP 주소의 구조부터 서브넷 마스크의 계산 원리, 클래스 기반 주소 체계의 한계, 그리고 이를 극복하기 위해 등장한 CIDR 방식까지 단계적으로 살펴본다.

▍ IP 주소의 구조와 네트워크 상의 역할
IP 주소는 인터넷 프로토콜을 사용하는 네트워크에서 각 장치를 식별하기 위해 부여되는 고유한 숫자 값이다. IPv4 기준으로 IP 주소는 32비트 이진수로 구성되며, 이를 8비트씩 네 덩어리로 나누어 각 덩어리를 10진수로 표기하고 점으로 구분하는 방식이 일반적으로 사용된다. 예를 들어 192.168.1.10과 같은 형태가 그것이다.
중요한 점은 IP 주소 하나가 두 가지 서로 다른 정보를 동시에 담고 있다는 사실이다. 앞부분은 해당 장치가 속한 네트워크를 가리키는 네트워크 주소이고, 뒷부분은 그 네트워크 내에서 개별 장치를 구분하는 호스트 주소이다. 문제는 IP 주소 하나만 봐서는 어디까지가 네트워크 부분이고 어디부터가 호스트 부분인지 알 수 없다는 데 있다. 바로 이 경계를 알려주는 역할을 하는 것이 서브넷 마스크이다.
▍ 서브넷 마스크란 무엇이며 어떻게 동작하는가
서브넷 마스크는 IP 주소와 짝을 이루어 함께 사용되는 값으로, 32비트 중 어느 구간이 네트워크 부분이고 어느 구간이 호스트 부분인지를 이진수의 1과 0으로 표시한 값이다. 이진수로 변환했을 때 1로 채워진 구간은 네트워크를 의미하고, 0으로 채워진 구간은 호스트를 의미한다.
가장 흔히 사용되는 서브넷 마스크 중 하나인 255.255.255.0을 예로 들면, 이를 이진수로 바꾸었을 때 앞의 24자리가 모두 1이고 나머지 8자리가 모두 0인 구조를 갖는다. 이는 IP 주소의 앞 24비트, 즉 처음 세 옥텟이 네트워크를 나타내고 마지막 옥텟만이 호스트를 구분하는 데 사용된다는 의미이다. IP 주소와 서브넷 마스크를 비트 단위로 AND 연산하면 해당 네트워크의 주소를 산출할 수 있으며, 이 원리는 라우터가 패킷을 어느 네트워크로 보내야 하는지 판단하는 기초가 된다.
호스트 부분에 해당하는 비트 수를 알면 해당 네트워크 안에서 사용할 수 있는 주소의 개수도 계산할 수 있다. 호스트 비트가 n개라면 이론상 2의 n제곱만큼의 주소 조합이 나오지만, 이 중 모든 비트가 0인 주소는 네트워크 자체를 가리키는 네트워크 주소로, 모든 비트가 1인 주소는 해당 네트워크 전체에 신호를 보내는 브로드캐스트 주소로 예약되어 있기 때문에 실제 장치에 할당 가능한 주소는 2의 n제곱에서 2를 뺀 값이 된다.

▍ 클래스 기반 주소 체계와 그 한계
인터넷 초창기에는 IP 주소를 클래스라는 고정된 단위로 나누어 관리하는 방식이 사용되었다. 이를 클래스풀 주소 체계라고 부른다. 이 방식에서는 첫 번째 옥텟의 값에 따라 클래스 A, B, C, D, E로 구분되며, 각 클래스마다 네트워크 부분과 호스트 부분의 길이가 고정되어 있었다.

이 표에서 알 수 있듯이 클래스 방식은 규모 사이의 간극이 지나치게 컸다. 클래스 A는 하나의 조직에 천육백만 개가 넘는 호스트 주소를 부여할 수 있었던 반면, 클래스 C는 254개의 호스트만 수용할 수 있었다. 300대의 장치를 운용해야 하는 조직이 있다면 클래스 C로는 부족하고 클래스 B를 받으면 6만 개가 넘는 주소 중 대부분이 낭비되는 구조적 문제가 발생했다. 이러한 비효율은 IPv4 주소 자원이 유한하다는 현실과 맞물려 심각한 주소 고갈 문제로 이어졌으며, 동시에 인터넷 백본 라우터가 관리해야 하는 라우팅 테이블의 크기도 급격히 증가시키는 원인이 되었다.
▍ CIDR 표기법의 등장과 원리
이러한 한계를 해결하기 위해 도입된 방식이 CIDR, 즉 클래스 없는 도메인 간 라우팅이다. CIDR은 고정된 클래스 경계를 버리고, 네트워크 부분의 길이를 조직의 실제 필요에 맞추어 자유롭게 설정할 수 있도록 한 방식이다. 표기법 자체는 IP 주소 뒤에 슬래시와 숫자를 붙이는 형태를 취하며, 이때 슬래시 뒤의 숫자는 서브넷 마스크에서 1로 채워진 비트의 개수를 의미한다.
예를 들어 192.168.1.0/24라는 표기는 앞의 24비트가 네트워크를 나타내고 나머지 8비트가 호스트를 나타낸다는 뜻이며, 이는 서브넷 마스크 255.255.255.0과 동일한 의미를 갖는다. CIDR의 핵심은 이 숫자가 클래스처럼 8, 16, 24로 고정되어 있지 않고 1부터 32까지 어떤 값도 취할 수 있다는 데 있다. 이 덕분에 필요한 호스트 수에 딱 맞는 크기의 네트워크를 설계하는 것이 가능해졌다.

▍ 서브네팅 계산과 실제 주소 범위 산출
서브네팅이란 하나의 큰 네트워크 대역을 여러 개의 작은 네트워크로 나누는 작업을 의미한다. 조직 내에서 부서별로, 혹은 서비스별로 트래픽과 보안을 분리하고자 할 때 서브네팅이 사용된다. 프리픽스 길이가 늘어날수록, 즉 네트워크 부분의 비트 수가 늘어날수록 하나의 서브넷이 담을 수 있는 호스트 수는 줄어들지만 대신 더 많은 수의 서브넷으로 나눌 수 있게 된다.
다음 표는 자주 사용되는 프리픽스 길이별로 서브넷 마스크와 사용 가능한 호스트 수를 정리한 것이다.

이 표를 활용하는 방법을 예시로 살펴보면, 192.168.1.0/24 대역을 두 개의 동일한 크기 서브넷으로 나누고자 할 경우 프리픽스를 한 단계 늘려 /25로 설정하면 된다. 그 결과 192.168.1.0부터 192.168.1.127까지가 하나의 서브넷, 192.168.1.128부터 192.168.1.255까지가 또 다른 서브넷으로 분리된다. 이렇게 나뉜 두 서브넷은 서로 다른 네트워크로 취급되기 때문에 직접 통신이 불가능하며, 라우터를 거쳐야만 데이터가 오갈 수 있다는 점도 실무에서 놓치기 쉬운 부분이다.
또한 각 서브넷 조직이 균일한 크기를 요구하지 않는 경우에는 가변 길이 서브넷 마스크, 즉 VLSM 방식을 활용하여 필요한 만큼만 주소를 할당하는 설계도 가능하다. 이는 대규모 네트워크를 설계할 때 주소 낭비를 최소화하는 데 효과적인 접근 방식으로 평가된다.

▍ 클래스 방식과 CIDR 방식의 차이 비교
클래스 방식과 CIDR 방식의 근본적인 차이는 네트워크 크기를 결정하는 유연성에 있다. 클래스 방식은 사전에 정해진 몇 가지 크기 중에서만 선택이 가능했던 반면, CIDR 방식은 실제 필요한 주소 수에 맞추어 임의의 크기로 네트워크를 설계할 수 있다는 점에서 근본적으로 다른 접근을 취한다.
아울러 CIDR은 여러 개의 작은 네트워크 대역을 하나의 큰 대역으로 요약하여 표현하는 라우트 집약 기능도 함께 제공한다. 예를 들어 192.168.0.0/24부터 192.168.3.0/24까지 네 개의 대역은 192.168.0.0/22라는 하나의 대역으로 합쳐서 표현할 수 있다. 이러한 집약 기능은 인터넷 백본을 구성하는 라우터가 유지해야 하는 라우팅 테이블의 항목 수를 크게 줄여주며, 이는 결과적으로 라우팅 처리 성능과 인터넷 전반의 확장성에 긍정적인 영향을 미친다.
현재 전 세계 인터넷 라우팅은 사실상 전적으로 CIDR 방식을 기반으로 운영되고 있으며, 클라우드 서비스에서 가상 네트워크를 구성할 때에도 CIDR 표기법을 통해 대역을 지정하는 것이 표준적인 절차로 자리 잡았다. 클래스 기반 개념은 역사적 배경을 이해하는 차원에서는 여전히 의미가 있지만, 실제 설계 단계에서는 CIDR 방식이 사실상 유일한 표준으로 사용된다고 볼 수 있다.
▍ 실무에서의 CIDR 활용과 설계 시 고려사항
실무에서 네트워크 대역을 설계할 때는 단순히 현재 필요한 호스트 수만 고려해서는 안 된다. 향후 조직이나 서비스가 확장될 가능성, 가용 영역 혹은 물리적 위치별로 대역을 분리해야 할 필요성, 그리고 다른 네트워크와 연결될 때 주소가 중복되지 않아야 한다는 제약까지 종합적으로 고려해야 한다. 지나치게 작은 대역을 할당하면 이후 주소가 부족해져 재설계가 필요해지고, 반대로 지나치게 큰 대역을 할당하면 다른 네트워크와의 충돌 가능성이 높아지고 관리 복잡도도 함께 증가한다.
또한 서브넷을 나눌 때는 용도에 따라 대역을 구분하는 방식이 널리 사용된다. 외부에서 접근이 가능해야 하는 자원과 내부에서만 접근해야 하는 자원을 서로 다른 서브넷에 배치하고, 각 서브넷 단위로 트래픽 정책이나 접근 제어 규칙을 다르게 적용하는 구조가 대표적이다. 이러한 설계는 트래픽을 논리적으로 분리함으로써 특정 구간에서 발생한 문제가 전체 네트워크로 확산되는 것을 억제하는 효과도 함께 갖는다.
마지막으로 CIDR 계산은 수작업으로도 가능하지만, 실무에서는 계산의 정확성을 검증하기 위해 온라인 계산 도구나 소프트웨어를 병행하여 활용하는 경우가 많다. 다만 계산 도구에만 의존할 경우 원리에 대한 이해 없이 결과값만 사용하게 되는 한계가 있으므로, 비트 연산의 기본 원리를 이해한 상태에서 도구를 검증 수단으로 활용하는 접근이 바람직하다.

글을 마치며
IP 주소와 서브넷 마스크, 그리고 CIDR 표기법은 겉으로 보기에는 단순한 숫자 조합처럼 보이지만, 실제로는 인터넷이라는 거대한 네트워크가 효율적으로 동작할 수 있도록 하는 근본적인 설계 원리를 담고 있다. 서브넷 마스크는 하나의 IP 주소 안에서 네트워크와 호스트를 구분하는 기준을 제공하며, CIDR은 이 구분을 클래스라는 고정된 틀에서 벗어나 상황에 맞게 유연하게 조정할 수 있도록 만든 방식이다. 두 개념을 함께 이해하면 서브네팅의 원리, 라우팅 테이블의 동작 방식, 그리고 클라우드 환경에서의 가상 네트워크 설계까지 폭넓게 응용할 수 있는 기초를 갖추게 된다. 네트워크 설계나 운영 업무를 다루는 과정에서 이러한 원리를 정확히 짚어두는 것은 이후 더 복잡한 라우팅과 보안 개념을 학습하는 데에도 튼튼한 토대가 될 것이다.
'연예이슈' 카테고리의 다른 글
| IPv4와 IPv6의 구조적 차이, 그리고 인터넷이 IPv6 전환을 서두르는 이유 (0) | 2026.07.22 |
|---|---|
| ARP의 작동 원리와 IP 주소가 MAC 주소로 변환되는 과정에 대한 심층 분석 (0) | 2026.07.21 |
| 대칭키와 공개키 암호화 방식의 차이: 원리부터 실무 활용까지 완전 분석 (0) | 2026.07.21 |
| OSI 모델과 TCP/IP 모델 비교로 이해하는 네트워크 통신 과정의 원리 (0) | 2026.07.21 |
| CI(연계정보)란 무엇인가: 온라인 본인확인 식별체계의 구조와 보안적 함의 (0) | 2026.07.21 |