CIDR 및 IP 서브넷 계산기
IPv4·IPv6 네트워크의 범위, 마스크, 크기를 계산하고 서브넷으로 나누며, 무엇이 무엇을 포함하거나 겹치는지 확인하세요.
코드 예제
내 프로젝트에 그대로 복사해서 쓰세요. 모든 예제는 해당 언어의 표준 라이브러리만 사용하므로 설치할 것이 없습니다.
const cidr = '192.168.1.0/24'
const ip = '192.168.1.42'
const toNumber = (address) => address.split('.').reduce((total, octet) => total * 256 + Number(octet), 0)
const [network, prefix] = cidr.split('/')
const size = 2 ** (32 - Number(prefix))
const contains = Math.floor(toNumber(ip) / size) === Math.floor(toNumber(network) / size)
console.log(contains)기능 소개
IPv4와 IPv6 네트워크의 범위, 넷마스크, 와일드카드, 크기를 계산하고, 네트워크를 서브넷으로 나누고, 무엇이 무엇을 포함하거나 겹치는지 확인합니다. 모든 계산이 정확해서 IPv6도 사용할 수 있습니다.
사용 방법
- 한 줄에 네트워크 하나씩 입력하거나 붙여넣습니다. 예:
192.168.1.0/24,2001:db8::/32. 주소만 입력하면 단일 호스트로 처리하며,/255.255.255.0같은 IPv4 넷마스크도 사용할 수 있습니다. - 모드를 고릅니다. 상세는 각 네트워크의 범위와 크기를 보여 주고, 나누기는 선택한 프리픽스 크기의 서브넷으로 나누고, 포함은 주소가 각 네트워크에 속하는지 확인하고, 겹침은 서로 겹치는 네트워크를 찾습니다.
- 출력 아래에서 첫 번째 네트워크의 자세한 정보(마스크, 와일드카드, 사용 가능한 호스트, 주소 유형)를 확인합니다.
예제
192.168.1.77/24 → 192.168.1.0/24 · 192.168.1.0–192.168.1.255 · 256
10.0.0.0/24를 /26으로 나누면 다음과 같습니다.
10.0.0.0/26
10.0.0.64/26
10.0.0.128/26
10.0.0.192/26
알아두면 좋은 점
- /24는 주소 256개를 담고, 비트가 하나 줄어들 때마다 두 배가 됩니다.
- IPv4에서는 첫 번째 주소와 마지막 주소가 각각 네트워크 주소와 브로드캐스트 주소이므로 /24의 사용 가능한 호스트는 254개입니다. /31(RFC 3021)과 /32는 모든 주소를 사용합니다.
- /64는 IPv6 네트워크 하나의 일반적인 크기입니다.
- 나누기 결과에는 서브넷을 최대 1024개까지만 표시합니다.
CIDR 표기법이란?
CIDR은 네트워크를 주소와 프리픽스 길이로 씁니다. 192.168.1.0/24라면 앞 24비트가 네트워크를, 나머지가 호스트를 나타냅니다. /24는 256개 주소를 가지며, 비트가 하나 줄 때마다 두 배가 됩니다. IPv6도 128비트로 똑같이 동작하며 /64가 네트워크 하나의 일반적인 크기입니다.
자주 묻는 질문
IPv4 서브넷에서 주소 두 개를 쓸 수 없는 이유는?
첫 주소는 네트워크를, 마지막은 브로드캐스트를 가리키므로 /24의 사용 가능한 호스트는 254개입니다. /31 점대점 네트워크(RFC 3021)와 /32 단일 호스트는 모든 주소를 씁니다.
나누기는 무엇을 하나요?
네트워크를 같은 크기의 더 작은 네트워크로 자릅니다. 10.0.0.0/24를 /26으로 나누면 64개 주소씩 서브넷 4개가 됩니다. 서브넷은 최대 1024개까지 나열됩니다.
이 도구가 네트워크를 어딘가로 전송하나요?
아니요. 모든 계산은 브라우저에서 정확한 정수 연산으로 이루어져 IPv6도 지원합니다. 입력한 내용은 저희 서버로 전송되지 않습니다.