한눈에 보기
CIDR 표기는 "주소/숫자" 한 덩어리로 IP 대역의 시작점과 크기를 함께 나타냅니다. 슬래시 뒤 숫자는 앞에서부터 몇 비트가 네트워크 부분인지를 뜻하고, 남은 비트가 호스트 몫이 됩니다. 이 글은 위 카드의 개념을 계산 절차로 연결해, 어떤 주소가 어느 대역에 속하는지 직접 구하는 법과 대역을 나누는 방법(VLSM)을 검산된 예시로 보여줍니다.
- 프리픽스 길이 p의 IPv4 대역은 주소 2^(32-p)개를 가지며, 일반 대역의 사용 가능 호스트는 그보다 2개 적습니다(/31, /32는 예외).
- 네트워크 주소는 "주소의 앞 p비트는 그대로, 나머지는 0", 브로드캐스트 주소는 "나머지를 모두 1"로 구합니다.
- 프리픽스가 1 늘면 대역 크기가 절반이 되고, 1 줄면 두 배가 됩니다.
- 문서·교육용 예시에는 실제 주소와 충돌하지 않도록 RFC 5737이 예약한 192.0.2.0/24 같은 대역을 씁니다. 아래 예시도 이를 따랐습니다.
배경: 클래스 방식에서 CIDR로
1993년 9월의 RFC 1519는 CIDR을 제안하면서 당시의 문제를 크게 셋으로 짚었습니다. 클래스 C 네트워크(호스트 254개)는 중간 규모 조직에 너무 작고, 클래스 B(최대 65,534개)는 대부분의 조직에 너무 컸다는 B 클래스 소진 문제, 라우팅 테이블이 기존 소프트웨어·장비·운영자가 감당하기 어려울 만큼 커지는 문제, 그리고 장기적으로 32비트 주소 공간이 고갈될 수 있다는 문제입니다. 제안의 핵심은 주소를 블록 단위로 통신사 등에 배정해 경로를 묶어 알릴 수 있게(집계) 하는 것이었습니다. 이 문서는 2006년 8월의 RFC 4632(BCP 122)로 대체되었고, RFC 4632는 접두사를 "IPv4 주소, 슬래시, 0에서 32 사이 십진수(유효 비트 수)"로 쓴다고 설명합니다. 예로 클래스 B였던 172.16.0.0은 172.16.0.0/16으로 쓰며 앞 16비트가 네트워크 부분입니다.
계산 방법: 주소가 어느 대역에 속하는가
아래 값은 모두 node 스크립트로 검산한 것입니다. 192.168.10.77/26을 예로 들면, 64개 주소 블록이 0, 64, 128, 192에서 시작하므로 77은 64번 블록에 속합니다.
| 입력 | 서브넷 마스크 | 네트워크 주소 | 브로드캐스트 | 사용 가능 호스트 |
|---|---|---|---|---|
| 192.168.10.77/26 | 255.255.255.192 | 192.168.10.64 | 192.168.10.127 | 192.168.10.65 ~ .126 (62개) |
| 192.0.2.200/27 | 255.255.255.224 | 192.0.2.192 | 192.0.2.223 | 192.0.2.193 ~ .222 (30개) |
| 198.51.100.130/25 | 255.255.255.128 | 198.51.100.128 | 198.51.100.255 | 198.51.100.129 ~ .254 (126개) |
| 172.20.0.1/12 | 255.240.0.0 | 172.16.0.0 | 172.31.255.255 | 1,048,574개 |
마지막 줄은 172.16.0.0/12가 172.16.0.0부터 172.31.255.255까지의 16개 /16 블록을 한 덩어리로 묶는다는 것을 보여줍니다. 이 대역은 RFC 1918의 사설 주소 범위이니 사설 IP 대역 글을 함께 보세요. 비트 연산에 익숙하지 않다면 옥텟 하나씩 보되, 경계가 8의 배수가 아닌 옥텟(위 예에서는 마지막 또는 두 번째 옥텟)만 블록 크기로 나눠 계산하면 됩니다.
프리픽스 길이별 크기 한눈에 보기
| 프리픽스 | 서브넷 마스크 | 전체 주소 수 | 사용 가능 호스트 |
|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2 (RFC 3021, 점대점 링크) |
| /32 | 255.255.255.255 | 1 | 1 (단일 호스트) |
/31 예외의 근거: RFC 3021
RFC 3021(2000년 12월, 점대점 링크의 31비트 접두사)은 /31에서 주소 두 개를 모두 호스트 주소로 쓰도록 허용해, 표준적으로 /30을 쓰면 주소 4개가 소비되던 링크의 소비량을 절반으로 줄입니다. 이 문서는 그 대신 이 링크에서는 대역 전체로 보내는 직접 브로드캐스트가 불가능해진다고 설명하며, 양쪽 장비 중 한쪽만 /31을 지원하면 링크가 제대로 동작하지 않을 수 있다는 점도 주의사항으로 적고 있습니다. 그러므로 /31은 장비가 지원하는 점대점 구간에서만 쓰고, 일반 LAN에는 쓰지 않는 것이 일반적입니다.
실전 예시: 한 대역을 용도별로 나누기 (VLSM)
아래는 실제 조직의 사례가 아닌 가상 예시입니다. 192.0.2.0/24 대역을 호스트 수요가 서로 다른 다섯 구간에 배정해야 한다고 가정합니다. 큰 구간부터 자리를 잡으면 낭비와 겹침을 막기 쉽습니다.
| 용도(가상) | 필요 호스트 | 배정 대역 | 사용 가능 호스트 | 범위 |
|---|---|---|---|---|
| A 구간 | 100 | 192.0.2.0/25 | 126 | 192.0.2.0 ~ 192.0.2.127 |
| B 구간 | 50 | 192.0.2.128/26 | 62 | 192.0.2.128 ~ 192.0.2.191 |
| C 구간 | 25 | 192.0.2.192/27 | 30 | 192.0.2.192 ~ 192.0.2.223 |
| D 구간 | 10 | 192.0.2.224/28 | 14 | 192.0.2.224 ~ 192.0.2.239 |
| 장비 간 링크 | 2 | 192.0.2.240/30 | 2 | 192.0.2.240 ~ 192.0.2.243 |
각 배정은 필요한 호스트 수를 수용하는 가장 작은 블록입니다(100명은 /25, 50명은 /26 등). 마지막 /30 이후 192.0.2.244 ~ 192.0.2.255가 남아 이후 확장에 쓸 수 있습니다. 블록의 시작 주소가 자기 크기의 배수여야 한다는 점(예: /26은 64의 배수 경계)이 설계의 핵심 제약입니다. 실제 구성에서는 증설 여유를 두어 더 큰 블록을 잡는 경우가 많습니다. 똑같이 균등하게 나누려면 192.0.2.0/24를 /26 네 개(0, 64, 128, 192에서 시작)로 쪼갭니다.
IPv6에서의 CIDR
IPv6도 같은 슬래시 표기를 쓰지만 주소가 128비트라 감각이 다릅니다. 하나의 /48 안에는 /64가 2^16 = 65,536개 들어가고, /64 하나에는 2^64개의 주소가 있습니다(18,446,744,073,709,551,616개). 문서 예시용 프리픽스로는 RFC 3849가 2001:db8::/32를 지정했습니다. 어떤 길이의 프리픽스를 이용자에게 배정할지는 사업자 정책마다 다르므로 단정하지 말고 이용 중인 사업자 안내를 확인하세요. 자세한 주소 종류는 IPv6 주소 종류 글에서 볼 수 있습니다.
흔한 오해와 정정
- 오해: /24는 "24개 호스트"라는 뜻이다. 실제: 24는 네트워크 부분의 비트 수이고, 호스트는 2^(32-24)-2 = 254개입니다.
- 오해: 대역의 모든 주소를 기기에 배정할 수 있다. 실제: 일반 대역에서는 첫 주소(네트워크)와 끝 주소(브로드캐스트)를 쓰지 못합니다. /31, /32는 예외입니다.
- 오해: 프리픽스 숫자가 클수록 큰 네트워크다. 실제: 반대입니다. /8이 /24보다 훨씬 큽니다.
- 오해: 임의의 주소에 임의의 길이를 붙여 대역을 쓸 수 있다. 실제: 192.168.10.77/26처럼 쓸 수는 있어도 그 대역의 이름은 네트워크 주소 192.168.10.64/26입니다. 정확한 대역 표기는 호스트 비트가 0이어야 깔끔합니다.
한계와 더 알아볼 점
이 글은 IPv4 서브네팅 계산과 기본 개념에 초점을 두었고, 경로 집계(수퍼네팅)의 상세 규칙, BGP에서 접두사 길이가 필터링되는 관행, 사업자별 IPv6 배정 정책은 다루지 않았습니다. 또한 일부 장비는 /31 지원 여부가 다를 수 있으므로 실제 장비 설정 전에는 제조사 문서를 확인하세요. 직접 계산해보고 싶다면 서브넷 마스크 계산기로 위 표의 값을 대조해볼 수 있습니다.
직접 서브넷을 계산해보고 싶다면
IP 주소와 CIDR 프리픽스를 입력해 서브넷 마스크, 네트워크 주소, 브로드캐스트 주소까지 자동으로 계산하려면서브넷 마스크 계산기를 이용해보세요.
사설 IP 대역이 궁금하다면
192.168.0.0/16처럼 자주 보는 사설 IP 대역의 의미가 궁금하다면사설 IP 주소 대역(RFC 1918) 완전정리도 참고해보세요.
자주 묻는 질문
CIDR과 서브넷 마스크는 뭐가 다른가요?
둘은 같은 정보를 다르게 표현한 것뿐입니다. "255.255.255.0"이라는 서브넷 마스크를 CIDR 방식으로는 "/24"라고 더 짧게 표기하며, 컴퓨터 안에서는 결국 같은 의미로 처리됩니다.
왜 유독 /24 대역이 자주 보이나요?
254개의 사용 가능한 호스트 주소를 제공하는 /24는 가정이나 소규모 사무실 네트워크 규모에 적당히 맞아떨어지는 크기라, 공유기 기본 설정이나 소규모 네트워크 구성에서 관례적으로 자주 채택되고 있습니다.
192.168.1.130은 192.168.1.0/25 안에 있나요?
없습니다. /25는 128개 주소 블록이어서 192.168.1.0/25는 .0 ~ .127이고, .130은 그 다음 블록인 192.168.1.128/25에 속합니다(node로 검산). 같은 주소를 /24로 보면 192.168.1.0/24 안에 포함됩니다.
필요한 호스트 수로 프리픽스를 고르는 간단한 방법이 있나요?
필요한 호스트 수에 2를 더한 값 이상인 가장 작은 2의 거듭제곱을 찾습니다. 예를 들어 호스트 50개면 52 이상이므로 64가 되고 64 = 2^6이니 호스트 비트 6개, 즉 /26입니다. 증설을 고려해 한 단계 큰 블록을 잡기도 합니다.
CIDR 표기는 IPv4 전용인가요?
아닙니다. IPv6도 2001:db8::/32처럼 같은 방식으로 프리픽스 길이를 씁니다. 다만 주소가 128비트라 브로드캐스트 개념이 없고, 계산 단위가 훨씬 큽니다.
이어 읽기
IP 주소 클래스에서 CIDR 이전 방식을, IPv4 주소 고갈에서 CIDR이 풀려던 문제의 후속 이야기를,IPv4와 IPv6의 차이에서 두 체계의 비교를 볼 수 있습니다.