사용법
CIDR(`10.0.0.0/24`·`192.168.1.0/26`·`2001:db8::/32` 등)을 붙여 넣으면 네트워크 주소, 브로드캐스트 주소, 사용 가능한 첫·마지막 호스트, 서브넷 마스크(점 10진수와 2진수 양쪽), 와일드카드 마스크, 총 호스트 수, 사용 가능한 호스트 수(IPv4에서는 네트워크와 브로드캐스트를 뺀 값)로 분해됩니다. IPv6 입력에서는 네트워크와 첫·마지막 주소를 완전 전개형과 압축 `::` 표기 양쪽으로 표시합니다.
VPC 크기 설계, 사설 서브넷 분할 계획, 방화벽 규칙 트러블슈팅, 라우팅 테이블 점검에 사용하세요. `/24`는 "256개 IP, 사용 가능 254", `/16`은 "65 536개 IP", `/8`은 "1600만"입니다. CIDR 프리픽스는 off-by-one로 잘못 읽기 쉽습니다(*네트워크부에 쓰는 비트 수*이지 호스트용으로 남는 비트 수가 아닙니다). 이 계산기는 그 프리픽스를 AWS 콘솔이나 Cisco 설정에 그대로 붙여 넣을 수 있는 구체 숫자로 바꿔 줍니다. 처리는 모두 BigInt 연산으로 브라우저 안에서 끝나며 IP 주소가 기기 밖으로 나가지 않습니다.
자주 묻는 질문
`/24`는 실제로 무엇을 의미하나요?
슬래시 뒤의 숫자는 네트워크 식별에 쓰는 앞쪽 비트 수입니다. 이 예시에서는 IPv4 32비트 중 24비트입니다. 남은 8비트가 네트워크 내 호스트를 식별하며 2^8 = 256개 주소를 만듭니다. IPv6도 같은 원리로 `/64`는 네트워크부 64비트와 호스트부 64비트, 서브넷당 2^64개 주소입니다. 프리픽스 숫자가 작을수록 네트워크가 크고(호스트 비트가 많고), 클수록 네트워크가 작습니다(호스트 비트가 적습니다).
IPv4에서 첫 주소와 마지막 주소를 못 쓰는 이유는?
첫 주소(호스트 비트가 모두 0)는 **네트워크 주소**로, 서브넷 자체를 가리키는 라벨이며 호스트가 아닙니다. 마지막 주소(호스트 비트가 모두 1)는 **브로드캐스트 주소**로, 서브넷 안의 모든 호스트에 전달하는 특별한 목적지입니다. RFC 950에서 둘 다 예약했습니다. IPv6은 브로드캐스트를 갖지 않으므로(멀티캐스트가 같은 역할) 이 관례를 버리고, v4의 "네트워크"·"브로드캐스트"에 해당하는 주소까지 포함해 모든 주소가 사용 가능합니다.
RFC 1918 사설 범위는?
인터넷으로 라우팅되지 않는 내부 네트워크용으로 3개 블록이 예약되어 있습니다. `10.0.0.0/8`(1600만 주소), `172.16.0.0/12`(100만 주소, 172.16.0.0~172.31.255.255), `192.168.0.0/16`(6.5만 주소)입니다. 가정용 라우터는 `192.168.0.0/16`, 기업 네트워크는 보통 `10.0.0.0/8`을 고릅니다. RFC 6598은 캐리어 그레이드 NAT(ISP와 공중 인터넷 사이) 용도로 `100.64.0.0/10`을 추가했습니다. IPv6에도 자체 사설 범위 `fc00::/7`(ULA, RFC 4193)이 있습니다.
와일드카드 마스크가 뭐고 언제 쓰나요?
와일드카드 마스크는 서브넷 마스크의 비트 반전입니다. 서브넷 마스크가 0인 위치에 1이 섭니다. `/24`라면 서브넷 마스크가 `255.255.255.0`이고 와일드카드가 `0.0.0.255`입니다. Cisco의 ACL과 OSPF 영역 정의는 서브넷 마스크 대신 와일드카드 마스크를 받습니다. AWS 보안 그룹과 현대 방화벽은 대부분 CIDR을 직접 받습니다. "Cisco가 요구하면 이걸 붙여 넣는다"는 감각으로 와일드카드 열을 보세요.
VPC CIDR이 `10.0.0.0/16`인데 서브넷은 어느 크기가 좋나요?
실용적인 기본값은 서브넷당 `/24`입니다. 각 256개 IP, `/16` 안에 256개 서브넷 확보가 가능하고 라우팅 테이블·보안 그룹에서도 읽기 좋은 크기입니다. AWS VPC 모범 사례는 애플리케이션 서브넷에 `/20`~`/24`, 관리·트랜짓 서브넷에 `/27`~`/28`을 권장합니다. `/28`보다 작은(16개 IP, AWS 예약 후 사용 가능 11) 크기는 피하세요. Kubernetes·Fargate 워크로드에서는 ENI 요건이 빠르게 늘어납니다.
두 CIDR이 겹치는지 어떻게 확인하나요?
각 CIDR의 네트워크 주소와 전체 범위를 계산한 뒤, 한쪽 시작이 다른 쪽 범위 안에 있는지 봅니다. `10.0.0.0/16`(10.0.0.0~10.0.255.255)과 `10.0.5.0/24`(10.0.5.0~10.0.5.255)는 후자가 전자에 완전히 포함되므로 겹칩니다. `10.0.0.0/16`과 `10.1.0.0/16`은 인접하지만 별개입니다. 이 도구는 한 번에 하나의 CIDR을 다루므로 각각을 붙여 넣어 첫 주소와 마지막 주소를 비교하세요. 프로그램으로 판정하려면 `ipaddress`(Python)·`netaddr`(Ruby)·`cidr-tools`(Node) 같은 라이브러리를 쓰세요.
관련 개념
CIDR(Classless Inter-Domain Routing, RFC 4632)는 1993년에 옛 A·B·C 클래스풀 주소 체계를 대체했습니다. 새 `주소/프리픽스` 형식은 클래스풀의 8·16·24비트라는 고정 경계가 아닌, 임의의 비트 경계에서 주소 공간을 나눌 수 있게 했습니다 — IPv4 주소가 고갈되어 더 세분된 할당이 필요했던 당시 세계에 큰 승리였습니다. IETF의 CIDR 도입은 IPv4의 실용 수명을 약 20년 늘리고 BGP 라우팅 테이블 크기를 다룰 만한 규모로 유지했습니다.
사람과 기계의 시각을 잇는 4가지 핵심 숫자가 있습니다. **프리픽스 길이**(예: `/24`)는 앞쪽 네트워크 비트 수입니다. **서브넷 마스크**(`255.255.255.0`)는 그 비트를 1로 세운 비트 패턴입니다. **와일드카드 마스크**(`0.0.0.255`)는 서브넷 마스크의 비트 반전입니다. **호스트 수**는 IPv4에서 2^(32 − 프리픽스), IPv6에서 2^(128 − 프리픽스)입니다. Cisco IOS는 ACL과 OSPF에서 와일드카드 마스크를 사용하고, 현대 도구는 CIDR 표기를 직접 사용합니다.
인접한 3가지 개념도 알아 둘 가치가 있습니다. **VLSM**(Variable-Length Subnet Masking)은 CIDR이 가능하게 한 것으로, 같은 네트워크 안에서 서로 다른 크기의 서브넷을 공존시킬 수 있습니다. 예를 들어 `/22` 부모를 `/24` + `/23` + `/24`로 나누는 식입니다. **NAT**(Network Address Translation, RFC 2663)는 여러 사설 IP가 하나의 공중 IP를 공유하게 해서 라우팅되지 않는 RFC 1918 범위가 실용적으로 동작하는 이유가 됩니다. **Anycast**는 같은 IP를 여러 위치에서 광고하고 BGP가 가장 가까운 곳으로 보내게 합니다 — CDN, 공중 DNS 리졸버(`1.1.1.1`·`8.8.8.8`), DDoS 스크러빙의 핵심 트릭입니다. CIDR은 이 3가지 모두의 토대입니다.