CIDR 표기법 이해 - 네트워크 서브넷 계산과 IP 대역 표현법 완벽 정리
CIDR 표기법의 원리부터 서브넷 마스크 변환, 실무 계산법까지 네트워크 관리에 필요한 핵심 지식을 한 곳에 정리했습니다
![]()
서버 설정이나 방화벽 규칙을 만질 때 192.168.1.0/24 같은 표현을 본 적 있으실 겁니다. 슬래시 뒤에 붙는 숫자가 무슨 뜻인지 몰라서 그냥 복사해서 붙여넣기만 했다면, 이 글이 도움이 될 겁니다. CIDR 표기법 이해는 네트워크를 다루는 모든 작업의 출발점입니다.
CIDR 표기법이란 무엇인가
CIDR은 Classless Inter-Domain Routing의 약자로, 1993년에 도입된 IP 주소 할당 방식입니다. 기존에는 A, B, C 클래스로 나누어 IP를 할당했는데, 이 방식은 주소 낭비가 심했습니다.
예를 들어 C 클래스는 254개의 호스트만 사용할 수 있고, B 클래스는 65,534개의 호스트를 지원합니다. 500개의 IP가 필요한 조직은 C 클래스로는 부족하고 B 클래스를 받으면 65,000개 이상이 낭비됩니다.
CIDR 표기법은 이 문제를 해결합니다. IP 주소 + 슬래시(/) + 프리픽스 길이 형태로, 네트워크 범위를 유연하게 지정할 수 있습니다.
- 192.168.1.0/24 - 앞의 24비트가 네트워크 주소, 나머지 8비트가 호스트 주소
- 10.0.0.0/8 - 앞의 8비트가 네트워크 주소, 나머지 24비트가 호스트 주소
- 172.16.0.0/12 - 앞의 12비트가 네트워크 주소, 나머지 20비트가 호스트 주소
CIDR 표기법 이해의 핵심은 단 하나입니다. 슬래시 뒤 숫자가 클수록 네트워크 범위는 좁아지고, 작을수록 넓어집니다. /32는 IP 1개, /0은 모든 IP를 의미합니다.
서브넷 마스크와 프리픽스 길이의 관계
서브넷 마스크와 CIDR 프리픽스 길이는 같은 정보를 다른 형태로 표현한 것입니다. 서브넷 마스크 255.255.255.0은 이진수로 변환하면 앞에서부터 1이 24개 연속됩니다. 그래서 /24와 동일합니다.
변환 원리
서브넷 마스크는 32비트 이진수입니다. 1이 연속으로 나오는 부분이 네트워크 주소, 0인 부분이 호스트 주소입니다.
- 255.255.255.0 = 11111111.11111111.11111111.00000000 = /24
- 255.255.0.0 = 11111111.11111111.00000000.00000000 = /16
- 255.255.255.128 = 11111111.11111111.11111111.10000000 = /25
호스트 수 계산 공식
사용 가능한 호스트 수는 간단한 공식으로 구합니다.
사용 가능한 호스트 수 = 2^(32 - 프리픽스 길이) - 2
여기서 2를 빼는 이유는 네트워크 주소(첫 번째)와 브로드캐스트 주소(마지막)를 제외해야 하기 때문입니다. 다만 /31과 /32는 특수 용도로 사용되며, /31은 포인트 투 포인트 링크에서 2개 호스트를 모두 사용할 수 있습니다.
CIDR 블록 계산 방법
실제로 CIDR 블록의 시작 IP와 끝 IP를 계산하는 방법을 단계별로 알아보겠습니다.
예제: 192.168.10.0/22 분석
1단계 - 호스트 비트 수를 구합니다. 32 - 22 = 10비트
2단계 - 총 IP 개수를 구합니다. 2^10 = 1,024개
3단계 - IP 범위를 계산합니다.
- 시작: 192.168.10.0
- 끝: 192.168.13.255
- 사용 가능한 호스트: 1,022개 (네트워크 주소와 브로드캐스트 주소 제외)
세 번째 옥텟이 10에서 13까지인 이유를 살펴보겠습니다. /22는 세 번째 옥텟의 상위 6비트까지가 네트워크 부분입니다. 10을 이진수로 변환하면 00001010인데, 하위 2비트(10)가 호스트 영역이므로 00001000(8)부터 00001011(11)까지가 아닌, 00001010의 네트워크 기준으로 00001010(10)~00001101(13)이 범위가 됩니다.
빠른 계산 팁
/24보다 작은 프리픽스 길이에서 범위를 빠르게 구하려면, 256을 블록 크기의 배수로 나누면 됩니다. /22의 경우 세 번째 옥텟에서 블록 크기는 4(2^2)이므로, 시작 옥텟 값이 4의 배수여야 합니다.
주요 CIDR 블록 한눈에 보기
실무에서 자주 사용되는 CIDR 블록을 정리했습니다. 이 표 하나면 대부분의 상황에서 CIDR 표기법 이해에 필요한 정보를 바로 확인할 수 있습니다.
| CIDR 표기 | 서브넷 마스크 | 총 IP 수 | 사용 가능 호스트 | 일반 용도 |
|---|---|---|---|---|
| /32 | 255.255.255.255 | 1 | 1 | 단일 호스트 지정 |
| /30 | 255.255.255.252 | 4 | 2 | 포인트 투 포인트 링크 |
| /28 | 255.255.255.240 | 16 | 14 | 소규모 서브넷 |
| /24 | 255.255.255.0 | 256 | 254 | 일반 LAN 네트워크 |
| /22 | 255.255.252.0 | 1,024 | 1,022 | 중소규모 네트워크 |
| /20 | 255.255.240.0 | 4,096 | 4,094 | 대규모 사무실 |
| /16 | 255.255.0.0 | 65,536 | 65,534 | 대규모 네트워크 |
| /8 | 255.0.0.0 | 16,777,216 | 16,777,214 | 대형 ISP/기업 |
실무에서 CIDR을 활용하는 사례
1. 클라우드 VPC 설계
AWS, GCP, Azure 같은 클라우드에서 VPC(Virtual Private Cloud)를 생성할 때 CIDR 블록 지정은 필수입니다. 일반적으로 VPC에는 /16을, 서브넷에는 /24를 할당합니다. 나중에 확장이 필요할 수 있으므로 처음부터 넉넉하게 잡는 것이 좋습니다.
2. 방화벽 규칙 설정
특정 IP 대역에서 오는 트래픽만 허용하거나 차단할 때 CIDR을 사용합니다. 예를 들어 회사 내부망 10.0.0.0/8에서 오는 트래픽만 허용하고, 외부 접근을 차단하는 식입니다.
3. BGP 라우팅
인터넷 서비스 제공자(ISP)는 BGP 프로토콜로 라우팅 정보를 교환할 때 CIDR 블록 단위로 경로를 광고합니다. 여러 개의 작은 네트워크를 하나의 큰 CIDR 블록으로 합쳐서 광고하는 것을 경로 집약(Route Aggregation)이라고 합니다. 이 기법 덕분에 글로벌 라우팅 테이블의 크기를 관리 가능한 수준으로 유지할 수 있습니다.
4. 접근 제어 목록(ACL)
웹 서버나 API 서버에서 특정 네트워크 대역의 접근만 허용할 때도 CIDR을 씁니다. nginx 설정에서 allow 192.168.1.0/24;처럼 사용하면 해당 서브넷의 모든 IP를 한 줄로 허용할 수 있습니다.
5. 사설 IP 대역
RFC 1918에서 정의한 사설 IP 대역도 CIDR로 표현합니다.
- 10.0.0.0/8 - 대규모 기업 내부망 (IP 약 1,677만 개)
- 172.16.0.0/12 - 중규모 네트워크 (IP 약 104만 개)
- 192.168.0.0/16 - 가정용 공유기 기본 대역 (IP 약 6.5만 개)
CIDR 표기법은 처음에는 낯설지만, 원리를 한 번 이해하면 네트워크 관련 작업 전반에서 활용할 수 있습니다. 오늘 배운 내용을 실전에 적용해 보세요. 클라우드 콘솔에서 VPC를 하나 만들어 보거나, 현재 사용 중인 네트워크의 서브넷 마스크를 CIDR로 변환해 보는 것이 가장 좋은 연습입니다.