CIDR / IP 서브넷 계산기
변환BigInt로 IPv4/IPv6 CIDR 블록의 네트워크 주소, 브로드캐스트, 마스크, 호스트 범위, 클래스를 계산합니다.
- 네트워크 주소
- 넷마스크
- 와일드카드
- 브로드캐스트
- 첫 호스트
- 마지막 호스트
- 전체 주소 수
- 사용 가능한 호스트
- IP 클래스
- IP 버전
- 범위
이 페이지에서
CIDR란?#
CIDR — Classless Inter-Domain Routing — 은 IP 주소 블록을 기술하는 a.b.c.d/n 표기입니다. 슬래시 뒤의 숫자가 접두사 길이입니다. 즉 선행 비트 몇 개가 고정되고 나머지 비트가 블록 안의 개별 호스트를 식별하는지를 나타냅니다. 192.168.1.0/24는 처음 24비트(192.168.1 부분)를 고정하고 마지막 옥텟을 자유롭게 두어 정확히 256개 주소를 만듭니다. 바로 그 가정용 네트워크 범위입니다.
CIDR이 존재하는 이유는, 옛날의 “A클래스 / B클래스 / C클래스” 체계가 세 가지 경직된 크기로만 주소 블록을 나눠 주어 막대한 공간을 낭비했기 때문입니다. CIDR은 주소 공간을 2의 거듭제곱 크기 블록으로(/23, /27, /29…) 자를 수 있게 해 낭비를 막습니다. 같은 표기가 방화벽 허용 목록, 라우팅 테이블 항목, 클라우드 보안 그룹, DNS ACL을 작성하는 방식이기도 합니다.
이 페이지는 CIDR(또는 단일 주소)을 파싱하여 전체 서브넷 분석을 보여 줍니다. 네트워크 주소, 브로드캐스트, 넷마스크, 와일드카드, 첫/마지막 사용 가능 호스트, 전체/사용 가능 호스트 수, 레거시 IP 클래스, IP 버전, 그리고 주소가 사설(RFC 1918 / ULA) 범위에 속하는지. IPv4와 IPv6를 모두 지원하며 BigInt로 완전한 128비트 정밀도를 제공합니다. 일반 JavaScript Number는 2^53을 넘기는 IPv6 연산을 조용히 망가뜨릴 것입니다.
사용 방법#
- 입력(CIDR / IP) 필드에 CIDR 또는 주소를 입력합니다. 페이지는 샘플로
192.168.1.130/24로 시작하며, 본인 것으로 바꾸면 됩니다. 단일 주소는 IPv4의 경우/32, IPv6의 경우/128로 취급됩니다. - 결과 패널은 입력하는 대로 채워집니다. 필드는 다음과 같습니다. 네트워크 주소(서브넷의 기본 주소, 호스트 비트는 0), 넷마스크(접두사가 암시하는 마스크), 와일드카드(IPv4 전용 — 넷마스크의 비트별 NOT, Cisco 스타일 ACL에 사용), 브로드캐스트(IPv4 전용, IPv6는 없음), 첫 호스트 와 마지막 호스트(할당 가능 범위), 전체 주소 수, 사용 가능한 호스트, 클래스(레거시 A/B/C/D/E), IP 버전, 범위(사설 또는 공용).
- 예제 로 기본 예시를 다시 불러오거나, 지우기 로 필드를 비웁니다.
주요 기능#
- 완전한 IPv6 정밀도. 모든 계산이 BigInt로 동작하므로 주소 수가 수천조에 이르는
/48이나/64IPv6 블록도 부동소수점 근사가 아니라 정확합니다. - 정확한 호스트 수, 가장자리 접두사 포함.
/31은 RFC 3021 점대점 쌍으로 취급합니다(사용 가능 2, 예약된 브로드캐스트 없음)./32는 단일 호스트./30은 정확히 사용 가능 2. 이 페이지는 모든 접두사에2^(32-p) - 2를 맹목적으로 적용하지 않습니다. - RFC 1918 및 ULA 감지. 사설 범위(IPv4
10/8,172.16/12,192.168/16, IPv6fc00::/7,fe80::/10,::1)는 범위 필드에 표시되어, 블록이 공용 인터넷에서 라우팅 가능한지 한눈에 알 수 있습니다. - 와일드카드 마스크.
permit ip any 192.168.1.0 0.0.0.255스타일 규칙을 작성할 때 유용합니다. 마스크가 넷마스크와 반전됩니다. - RFC 5952에 따른 IPv6 압축. 출력 주소는 가장 긴 0 연속을
::로 축소하고, 소문자로, 선행 0 없이 표현합니다. 방화벽과 라우터가 기대하는 정규 형태입니다. - IPv4 매핑 IPv6.
::ffff:192.168.1.1같은 입력도 올바르게 파싱되어 정규화됩니다.
사용 예#
기본값 192.168.1.130/24:
Network: 192.168.1.0
Netmask: 255.255.255.0
Wildcard: 0.0.0.255
Broadcast: 192.168.1.255
First host: 192.168.1.1
Last host: 192.168.1.254
Total: 256
Usable: 254
Class: C
Version: IPv4
Scope: Private
입력한 주소 192.168.1.130은 블록 안의 호스트이지 네트워크 주소가 아님에 주목하세요. 네트워크 주소는 호스트 비트를 마스킹해 0으로 만든 결과입니다. 사용 가능 254라는 수는 전체 256 − 네트워크 1 − 브로드캐스트 1입니다. 그래서 /24를 흔히 느슨하게 “사용 가능 호스트 254”라고 부릅니다.
점대점 링크의 경우 /31로 전환합니다.
Input: 10.0.0.0/31
Usable: 2 (RFC 3021: both addresses usable, no reserved broadcast)
First host: 10.0.0.0
Last host: 10.0.0.1
IPv6의 경우 표준 LAN 서브넷 크기인 2001:db8::/64를 시도해 보세요.
Network: 2001:db8::
Total: 18446744073709551616 (2^64 — every address in the block is usable; IPv6 has no broadcast)
Scope: Public
FAQ#
왜 /24는 사용 가능 호스트가 256이 아니라 254인가요?#
모든 IPv4 서브넷(/31과 /32 제외)에서 두 주소가 예약되기 때문입니다. 네트워크 주소(호스트 비트가 모두 0)는 서브넷 자체를 식별하고, 브로드캐스트 주소(호스트 비트가 모두 1)는 서브넷의 모든 호스트에 한 번에 도달합니다. 그래서 /24는 2^8 = 256개 주소가 있지만 인터페이스에 할당할 수 있는 것은 256 − 2 = 254뿐입니다.
/31은 무엇에 쓰나요? 사용 가능 호스트가 없어 보이는데요.#
예전 규칙에서는 /31이 2 − 2 = 0의 사용 가능 호스트를 가져 쓸모가 없었습니다. RFC 3021이 점대점 링크(두 라우터를 직접 연결하는 종류)용으로 /31을 재정의했습니다. 두 주소 모두 사용 가능하고 예약된 브로드캐스트가 없습니다. 이 페이지는 RFC 3021을 따르므로 /31은 사용 가능 2를 보여 줍니다. 2000년 이전 기기는 여전히 옛 동작을 기대할 수 있습니다.
IPv6도 처리할 수 있나요?#
네, 완전히. IPv6 접두사는 /128(단일 주소)까지 올라가고 주소 연산은 BigInt로 동작하므로 /48이나 /32 제공자 블록도 정확합니다. IPv6은 브로드캐스트 주소도 레거시 클래스도 없습니다. 블록의 모든 주소가 사용 가능하므로 사용 가능 수가 전체 수와 같습니다. 범위 필드는 여전히 ULA(fc00::/7)와 링크 로컬(fe80::/10) 범위를 사설로 표시합니다.
도구가 내가 입력한 IP와 다른 네트워크 주소를 보여 주는 이유는?#
입력한 IP가 블록의 호스트이지 블록의 기본 주소가 아니기 때문입니다. 네트워크 주소는 내_ip AND 넷마스크이며, 이는 호스트 비트를 0으로 만듭니다. 192.168.1.130/24을 입력하면 “192.168.1.0/24 안의 호스트 .130”을 기술하는 것입니다. /24 블록 자체는 .0에서 시작합니다. .128에서 시작하는 블록을 의도했다면 192.168.1.128/25이라고 쓰세요.
내 주소가 “사설”로 표시되는 이유는?#
내부용으로 예약되어 공용 인터넷에서 라우팅되지 않는 범위 중 하나에 속하기 때문입니다. IPv4 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 또는 IPv6 fc00::/7(고유 로컬)과 fe80::/10(링크 로컬). 이 범위의 트래픽은 NAT나 터널 없이는 인터넷에 닿을 수 없습니다. 클라우드 보안 그룹이나 공용 서비스를 설정 중이라면 거의 항상 공용 주소를 원할 것입니다.