onlinetools.dev

CIDR / 서브넷 계산기

IPv4·IPv6 CIDR 블록의 네트워크, 브로드캐스트, 마스크, 호스트 범위를 계산

로컬 실행
loading…
이 도구에 대해

10.20.0.0/16이나 2001:db8::/48 같은 CIDR 블록을 입력하면 그에 관한 모든 정보를 한 번에 볼 수 있습니다: 네트워크 주소, 브로드캐스트(IPv6에서는 마지막 주소), 넷마스크와 와일드카드 마스크, 사용 가능한 첫 호스트와 마지막 호스트, 주소 개수, 그리고 어떤 특수 용도 대역에 속하는지 — RFC 1918 사설 대역, 캐리어급 NAT, 링크 로컬, 문서용, 멀티캐스트 등. 주소만 입력해도 되고, 넷마스크 표기(192.168.1.0 255.255.255.0)와 Cisco 와일드카드 형식(0.0.0.255)도 사용할 수 있습니다.

대신 10.0.0.1 - 10.0.0.200 같은 범위를 붙여 넣으면, 그 범위를 정확히 덮는 가장 작은 CIDR 블록 목록을 얻을 수 있습니다. 방화벽 규칙, 보안 그룹, 허용 목록이 실제로 받아들이는 형태가 바로 이것입니다. 분할 보기는 블록을 같은 크기의 서브넷으로 나누어(/16을 /24로, /32를 /48로) VPC와 VLAN 설계를 돕고, 포함 여부 확인은 특정 주소가 블록 안에 들어가는지 알려줍니다.

모든 연산은 BigInt로 처리되므로 IPv6 주소 개수도 부동소수점으로 반올림되지 않고 정확합니다: /64에는 "1.8e19"가 아니라 18446744073709551616개의 주소가 있습니다. 온라인 조회는 전혀 하지 않습니다 — 이 도구가 아는 것은 IANA 특수 용도 대역이지 주소의 소유자가 아닙니다 — 그리고 내부 네트워크 구성은 브라우저 밖으로 나가지 않습니다.

자주 묻는 질문

/24의 사용 가능한 호스트가 왜 256개가 아니라 254개인가요?
IPv4에서 서브넷의 첫 주소는 네트워크 자체를 가리키고 마지막 주소는 브로드캐스트 주소이므로, 둘 다 호스트에 할당할 수 없습니다. 예외는 /31과 /32입니다. /31은 RFC 3021에 따라 점대점 링크에서 전부(호스트 2개) 사용할 수 있고, /32는 단일 주소입니다. IPv6에는 브로드캐스트가 없으므로 IPv6 블록의 모든 주소가 사용 가능한 주소로 계산됩니다.
"호스트 비트가 설정되어 있음"은 무슨 뜻인가요?
입력한 주소가 해당 블록의 시작 주소가 아니라는 뜻입니다. 예를 들어 10.1.2.3/8이 그렇습니다. 대부분의 도구는 이를 조용히 10.0.0.0/8로 내림하지만, strict 모드의 Python ipaddress 모듈이나 일부 클라우드 콘솔처럼 거부하는 경우도 있습니다. 이 계산기는 실제 네트워크 주소를 보여주므로 정규 형식을 그대로 붙여 넣을 수 있습니다.
앞에 0이 붙은 주소는 왜 거부되나요?
시스템마다 그 의미를 다르게 해석하기 때문입니다. 고전적인 inet_aton 파서는 010을 8진수(8)로 읽지만, 대부분의 다른 파서는 10진수(10)로 읽습니다 — 이 불일치는 실제로 접근 제어 우회를 일으킨 적이 있습니다. 추측하는 대신, 계산기는 앞의 0 없이 숫자를 쓰도록 요청합니다.
범위는 어떻게 CIDR 블록으로 변환되나요?
시작 주소부터 탐욕적으로 처리합니다: 각 단계에서 현재 주소에 정렬되어 있고 범위의 끝을 넘지 않는 가장 큰 블록을 취한 뒤 다음으로 넘어갑니다. 이렇게 하면 블록 수가 최소가 됩니다. 192.168.0.0 – 192.168.255.255처럼 정렬된 범위는 /16 하나로 합쳐지고, .1 – .10처럼 어중간한 범위는 다섯 개가 필요합니다.
와일드카드 마스크는 어디에 쓰나요?
넷마스크를 반전한 것으로(/24라면 0.0.0.255), Cisco IOS 액세스 리스트와 OSPF network 구문에서 범위를 표현하는 방식입니다. 계산기에는 어느 형식이든 붙여 넣을 수 있으며, 와일드카드 마스크를 인식해 프리픽스 길이로 변환합니다.
관련 도구