📐 CIDR 표기법과 서브넷 마스크 계산법

/24 같은 CIDR 표기를 서브넷 마스크로 바꾸는 법

192.168.1.0/24 같은 표기를 네트워크 설정 화면에서 본 적이 있을 겁니다. /24는 무엇을 뜻하고, 이걸 서브넷 마스크로는 어떻게 바꿀까요? 이 글에서는 CIDR 표기법의 의미, 서브넷 마스크와의 관계, 그리고 사용 가능한 호스트 개수를 직접 계산하는 방법을 실제 예시로 설명합니다.

CIDR 표기법이란

CIDR(Classless Inter-Domain Routing)는 IP 주소 뒤에 /숫자를 붙여 네트워크 부분의 길이를 나타내는 표기법입니다. IPv4 주소는 32비트로 이루어져 있는데, 이 중 앞쪽 몇 비트를 "네트워크를 식별하는 부분"으로, 나머지 뒤쪽 비트를 "그 네트워크 안의 개별 호스트를 식별하는 부분"으로 나눕니다. /24는 앞쪽 24비트가 네트워크 부분이고, 나머지 8비트(32-24)가 호스트 부분이라는 뜻입니다. 과거 클래스 기반 주소 체계(A/B/C 클래스)의 경직된 구조를 대체하기 위해 도입되어, 필요한 만큼 유연하게 네트워크 크기를 나눌 수 있게 해줍니다.

CIDR을 서브넷 마스크로 바꾸기

서브넷 마스크는 CIDR의 prefix 길이를 32비트 중 앞에서부터 그만큼을 1로, 나머지를 0으로 채운 뒤 8비트씩 끊어 10진수로 표현한 것입니다. /24라면 앞 24비트가 전부 1이고 나머지 8비트가 0이므로, 이진수로는 11111111.11111111.11111111.00000000이 되고, 이를 10진수로 옮기면 255.255.255.0이 됩니다. 자주 쓰이는 몇 가지를 미리 정리하면 다음과 같습니다.

prefix가 8의 배수가 아닐 때는 마지막 옥텟이 128, 192, 224, 240, 248, 252, 254 같은 값이 되는데, 이는 남은 비트 수만큼 1을 채웠을 때의 값입니다. 예를 들어 /25는 마지막 옥텟에서 1비트만 1(10000000)이므로 128이 됩니다.

사용 가능한 호스트 수 계산하기

한 네트워크 대역 안에 몇 개의 주소가 있는지는 호스트 비트 수로 결정됩니다. 전체 주소 개수는 2^(32-prefix)이고, 이 중 맨 앞은 네트워크 주소(그 대역 자체를 가리키는 예약 주소), 맨 뒤는 브로드캐스트 주소(대역 전체에 보내는 예약 주소)로 쓰이기 때문에 실제 호스트에 할당 가능한 개수는 2^(32-prefix) - 2입니다. /24를 예로 들면 호스트 비트가 8개이므로 전체 주소는 2^8 = 256개이고, 여기서 네트워크·브로드캐스트 2개를 빼면 254개가 실제로 기기에 할당할 수 있는 주소입니다. 192.168.1.0/24라면 네트워크 주소는 192.168.1.0, 브로드캐스트 주소는 192.168.1.255이고, 사용 가능한 주소는 192.168.1.1부터 192.168.1.254까지입니다. 다만 /31(점대점 링크용, 2개 주소 모두 호스트로 사용)이나 /32(호스트 하나만 지칭)처럼 네트워크·브로드캐스트 구분이 없는 특수한 prefix도 있습니다.

더 큰 예시로 확인해보기

/16이라면 호스트 비트가 16개이므로 전체 주소는 2^16 = 65,536개, 사용 가능한 주소는 65,534개입니다. 서브넷 마스크는 255.255.0.0이 됩니다. 이렇게 prefix 숫자 하나만으로 네트워크 범위, 서브넷 마스크, 사용 가능 호스트 수를 모두 계산할 수 있지만, 매번 손으로 이진수를 변환하는 건 번거롭고 실수하기도 쉽습니다. 아무 CIDR 표기나 입력하면 네트워크 주소부터 브로드캐스트, 사용 가능 범위까지 즉시 계산해주는 도구를 쓰면 훨씬 빠르고 정확합니다.

CIDR 표기법 전체 표 (/0 ~ /32)

프리픽스별 서브넷 마스크·와일드카드 마스크·주소 수를 한눈에 정리한 참고표입니다. 실제 계산값(node로 검증)으로, 서브넷 설계나 방화벽 규칙 작성 시 바로 참고할 수 있습니다.

CIDR서브넷 마스크와일드카드 마스크총 주소 수사용 가능 호스트
/00.0.0.0255.255.255.2554,294,967,2964,294,967,294
/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646
/2192.0.0.063.255.255.2551,073,741,8241,073,741,822
/3224.0.0.031.255.255.255536,870,912536,870,910
/4240.0.0.015.255.255.255268,435,456268,435,454
/5248.0.0.07.255.255.255134,217,728134,217,726
/6252.0.0.03.255.255.25567,108,86467,108,862
/7254.0.0.01.255.255.25533,554,43233,554,430
/8255.0.0.00.255.255.25516,777,21616,777,214
/9255.128.0.00.127.255.2558,388,6088,388,606
/10255.192.0.00.63.255.2554,194,3044,194,302
/11255.224.0.00.31.255.2552,097,1522,097,150
/12255.240.0.00.15.255.2551,048,5761,048,574
/13255.248.0.00.7.255.255524,288524,286
/14255.252.0.00.3.255.255262,144262,142
/15255.254.0.00.1.255.255131,072131,070
/16255.255.0.00.0.255.25565,53665,534
/17255.255.128.00.0.127.25532,76832,766
/18255.255.192.00.0.63.25516,38416,382
/19255.255.224.00.0.31.2558,1928,190
/20255.255.240.00.0.15.2554,0964,094
/21255.255.248.00.0.7.2552,0482,046
/22255.255.252.00.0.3.2551,0241,022
/23255.255.254.00.0.1.255512510
/24255.255.255.00.0.0.255256254
/25255.255.255.1280.0.0.127128126
/26255.255.255.1920.0.0.636462
/27255.255.255.2240.0.0.313230
/28255.255.255.2400.0.0.151614
/29255.255.255.2480.0.0.786
/30255.255.255.2520.0.0.342
/31255.255.255.2540.0.0.122 *
/32255.255.255.2550.0.0.011 *

* /31은 point-to-point 링크용으로 2개 주소를 모두 사용합니다(RFC 3021). /32는 단일 호스트를 지정합니다. 그 외 프리픽스의 "사용 가능 호스트"는 네트워크 주소와 브로드캐스트 주소 2개를 제외한 값입니다.

📐 이 작업, 도구로 바로 해보세요

CIDR 표기법과 서브넷 마스크 계산법 — /24 같은 CIDR 표기를 서브넷 마스크로 바꾸는 법

다른 가이드

🔁
도메인 IP 주소 확인하는 방법
도메인이 가리키는 실제 서버 IP를 찾는 법
🛰️
DNS 전파 확인하는 방법 (TTL이란?)
네임서버 변경 후 전파 여부와 TTL 개념 정리
📡
내 IP 주소 확인하는 가장 쉬운 방법
공인 IP·사설 IP 차이와 확인 방법
🩺
SSL 인증서 만료일 확인하는 방법
브라우저 없이 인증서 만료일을 확인하는 법
🪪
JWT 토큰 구조 이해하고 디코딩하는 방법
Header·Payload·Signature 3부분 구조 설명
🗝️
Apache Basic 인증(.htpasswd) 파일 만드는 법
APR1-MD5 해시로 .htpasswd 생성하는 법
🔑
안전한 비밀번호 만드는 기준과 생성 방법
길이·문자 조합·엔트로피로 보는 비밀번호 강도
🔐
Base64 인코딩이란? 언제 어떻게 쓰나
이메일 첨부·데이터 URI에 쓰이는 이유
📘
JSON Formatter로 API 응답 가독성 높이기
압축된 JSON을 보기 좋게 정리하는 법
🗓️
유닉스 타임스탬프 변환하는 방법
1970년 기준 초 단위 시간을 날짜로 바꾸는 법
🗃️
지저분한 SQL 쿼리 포맷팅하는 방법
한 줄 SQL을 절 단위로 정렬하는 법
🎨
HEX RGB HSL 색상 코드 변환하는 방법
세 가지 색상 표기법의 차이와 변환법
🔠
카멜케이스 스네이크케이스 등 표기법 정리
camelCase·snake_case·PascalCase 언제 쓰나
🆚
두 텍스트 파일 차이 비교하는 방법
코드·문서 버전 간 차이를 빠르게 찾는 법