CIDR / 서브넷 계산기

IPv4와 IPv6 블록의 네트워크 주소, 호스트 범위, 마스크, 주소 수를 구하고 등분할도 할 수 있습니다.

접두사 길이/24
네트워크
192.168.1.0/24
네트워크 주소
192.168.1.0
브로드캐스트 주소
192.168.1.255
사용 가능 범위
192.168.1.1 – 192.168.1.254
사용 가능 주소 수
254
전체 주소 수
256
서브넷 마스크
255.255.255.0
와일드카드 마스크
0.0.0.255
사설192.168.0.0/16
분할 수

이 도구가 하는 일

192.168.1.0/24 같은 CIDR 블록은 주소 범위를 간결하게 이름 붙이는 방법입니다. 이 도구는 그것을 받아 거기서 따라오는 물음에 답합니다: 범위가 어디서 시작하고 끝나는지, 몇 개의 주소를 지니는지, 그중 몇 개를 머신에 줄 수 있는지, 서브넷 마스크는 어떻게 생겼는지, 특정 주소가 안에 드는지, 그리고 더 작은 조각으로 자르면 무엇을 얻는지입니다.

IPv4와 IPv6를 다루고, 네트워크 주소만큼이나 선뜻 호스트 주소도 받습니다 — ip addr에서 그대로 192.168.1.57/24를 붙여넣으면 그 주소가 사는 블록을 알려 줍니다. 모두 브라우저 안에서 하는 산술입니다: 조회도 서버도 없고, 네트워크를 뽑아도 동작합니다.

슬래시 숫자의 뜻

IPv4 주소는 32비트입니다. 슬래시 뒤의 숫자 — 접두사 길이 — 는 그중 몇 비트가 네트워크를 식별하는지 말하고, 나머지가 그 안의 호스트를 식별합니다. /24는 처음 24비트를 고정하고 8을 자유로 남겨, 그래서 2^8 = 256개의 주소를 지닙니다.

192.168.1.0                           # 주소
11000000.10101000.00000001.00000000   # 그 32비트
11111111.11111111.11111111.00000000   # /24 마스크: 1이 24개, 0이 8개

마스크가 1인 곳은 그 비트가 네트워크에 속해 블록의 모든 주소에서 고정되고, 0인 곳은 그 비트가 자유로 변해 호스트를 식별합니다. 접두사 비트가 하나 늘 때마다 블록이 반이 됩니다. 그 관계가 서브넷화의 전부이고, 표를 외우기보다 몸에 새길 만합니다:

  • /24 — 256 주소, 254 사용 가능. 고전적인 작은 네트워크.
  • /25 — 128 주소, 126 사용 가능. /24의 절반.
  • /26 — 64 주소, 62 사용 가능.
  • /30 — 4 주소, 2 사용 가능. 전통적인 점대점 링크.
  • /16 — 65 536 주소. /24의 16배를, 다시 16배.

두 주소가 빠지는 이유

/24는 256개 주소를 지니지만 사용 가능한 것은 254개뿐입니다. IPv4가 그중 둘을 씁니다. 블록의 첫 주소는 네트워크 주소로, 블록 자체를 이름 붙이고 어느 인터페이스에도 할당되지 않습니다. 마지막은 브로드캐스트 주소로, 링크의 모든 호스트에 한꺼번에 닿습니다. 익숙한 2^n − 2가 거기서 옵니다.

두 접두사가 그 공식을 깨고, 대부분의 계산기가 적어도 하나를 틀립니다:

  • /31은 두 주소를 지니고 공식은 사용 가능 0이라 합니다. RFC 3021은 점대점 링크를 위해 /31을 정하며, 거기서는 브로드캐스트 주소가 필요 없고 두 주소가 모두 할당됩니다 — 양 끝에 하나씩. 옳은 답은 2입니다.
  • /32는 단일 주소이고 공식은 −1이라 합니다. /32는 정확히 한 호스트를 이름 붙입니다. 방화벽 규칙이나 경로에서 단일 서버에 쓰는 것입니다.

이 도구는 RFC 3021을 따라 그 경우에 2와 1을 보고합니다. 다른 계산기가 /31에 사용 가능한 주소가 없다고 하면, 그것은 교과서 공식을 성립하는 지점을 넘어 적용한 것입니다.

서브넷 마스크와 와일드카드 마스크

서브넷 마스크는 접두사 길이와 같은 정보를 점 넷으로 쓴 것입니다: 네트워크 비트가 1, 호스트 비트가 0입니다. /24는 255.255.255.0입니다. 오래된 설정 형식은 마스크를, 새 것은 접두사를 원하고, 둘은 서로 바꿔 쓸 수 있습니다.

와일드카드 마스크는 서브넷 마스크를 뒤집은 것 — /24에서 0.0.0.255 — 입니다. Cisco 액세스 리스트와 OSPF 네트워크 문이 그것으로 쓰이고, 그 뒤집힘이 분명히 말할 만큼 자주 사람을 걸립니다: 와일드카드 마스크에서 0 비트는 "맞아야 함"을, 1 비트는 "상관없음"을 뜻하고, 서브넷 마스크의 반대입니다.

IPv6는 예외가 적은 같은 생각

IPv6 주소는 32가 아니라 128비트이고, 접두사는 똑같이 돕니다 — /64는 처음 64비트를 고정합니다. 산술은 같고, 바뀌는 것은 IPv4의 두 성가심이 사라지는 것입니다.

  • 브로드캐스트 주소가 없습니다. IPv6는 브로드캐스트를 멀티캐스트로 바꿔, 접두사 끝에 예약되는 것이 없습니다.
  • 앞에도 예약되는 것이 없어, 블록의 모든 주소가 할당 가능하고 사용 가능 수가 총수와 같습니다. (서브넷의 모두-0 주소는 서브넷 라우터 애니캐스트 주소로, 범위의 구멍이 아니라 라우팅 관례입니다.)
  • 점 서브넷 마스크가 없습니다. IPv6는 늘 접두사 길이로 쓰입니다. 텍스트로 된 128비트 마스크는 읽을 수 없고 아무것도 그것을 요구하지 않습니다.

/64는 단일 링크의 표준 크기입니다. 무상태 주소 자동 설정이 64개의 호스트 비트를 기대하기 때문입니다. 사이트는 대개 /48이나 /56을 받고 그것을 /64로 나눕니다 — VLAN이나 세그먼트마다 하나. 그래서 이 도구는 /48을 /64로 선뜻 나누고 그것이 65 536개라고 알려 줍니다.

주소 수가 빠르게 커지므로 2의 거듭제곱으로도 온전한 숫자로도 표시됩니다: /32는 2^96개 주소를 지니고, 그것은 79 228 162 514 264 337 593 543 950 336입니다. 거듭제곱이 읽을 수 있는 것, 숫자가 복사하는 것입니다.

IPv6 주소를 정규 방식으로 쓰기

IPv6 주소 하나를 여러 방식으로 쓸 수 있어, 둘을 눈으로 비교하는 것을 미덥지 않게 합니다. RFC 5952는 단일 정규 텍스트 형태를 정하고, 그것이 이 도구가 내는 것입니다:

  • 소문자 16진수이고 그룹 안에 앞의 0이 없습니다 — 2001:0db8은 2001:db8이 됩니다.
  • 모두-0 그룹의 가장 긴 연속이 ::로 바뀌고, 가장 긴 것만입니다. 동점이면 가장 왼쪽 연속이 이깁니다.
  • 단일 0 그룹은 결코 압축되지 않습니다. ::는 아무것도 아끼지 못하면서 두 번째 철자를 만들기 때문입니다.

확장 형태가 그 옆에, 모든 그룹을 네 자리로 채워 표시됩니다. 그것은 정규가 아니지만, 주소 목록을 비교할 때 열에서 정렬되는 형태입니다.

블록 나누기

하나의 네트워크를 여러 개의 같은 것으로 자르는 것은 사람이 보통 서브넷 계산기에 와서 하는 작업입니다. 접두사 비트가 하나 늘 때마다 서브넷 수가 배가 되고 그 크기가 반이 됩니다: /24는 두 개의 /25, 네 개의 /26, 여덟 개의 /27이 됩니다.

192.168.1.0/24  ->  /26
192.168.1.0/26      # 주소   0-63
192.168.1.64/26     # 주소  64-127
192.168.1.128/26    # 주소 128-191
192.168.1.192/26    # 주소 192-255

서브넷은 부모를 정확히 타일링합니다 — 틈도 겹침도 없이 — 이는 주소 공간을 손으로 깎을 때 확인할 만한 성질입니다. 수가 빠르게 큼에 유의하세요: /8을 /24로 나누면 65 536개 네트워크라, 여기 목록은 상한이 있고 답을 조용히 자르는 대신 진짜 총수를 그 옆에 보고합니다.

특정한 뜻을 지닌 범위

어떤 블록은 특정한 목적으로 예약되고, 그 하나 안에 있는 네트워크는 여기서 이름표가 붙습니다. 가장 자주 나오는 것:

  • 사설(RFC 1918) — 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. 조직 안에서 라우팅 가능하고 공개 인터넷에서는 결코 아닙니다.
  • 루프백 — IPv4에서 127.0.0.0/8, IPv6에서 ::1. 호스트를 결코 떠나지 않는 트래픽.
  • 링크 로컬 — 169.254.0.0/16과 fe80::/10. 스스로 할당하고 한 링크에서만 유효. 이 범위의 IPv4 주소는 대개 DHCP가 실패했음을 뜻합니다.
  • 캐리어급 NAT — 100.64.0.0/10. 가입자와 ISP 사이에 쓰이고, 자기 네트워크에서 보이면 ISP 쪽 NAT의 징후입니다.
  • 문서용 — 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32. 예제용으로 예약되어 있습니다.
  • 고유 로컬 — fc00::/7. RFC 1918 사설 공간의 IPv6 짝.

이름표는 블록 전체가 특수 범위 안에 있을 때만 붙지, 그저 겹칠 때는 아닙니다. 0.0.0.0/0은 존재하는 모든 사설 범위를 덮지만 그 자체가 사설은 아니고, 그렇지 않다고 말하는 것은 아무 말 안 하는 것보다 나쁩니다.

/24에는 호스트가 몇 개인가

/24는 주소 256개를 담고 그중 사용 가능한 것은 254개입니다. 프리픽스가 32비트 가운데 24비트를 고정하고 8비트를 남기므로 블록은 2^8 = 256개 주소가 되며, IPv4는 그 첫 주소를 네트워크 자신에게, 마지막 주소를 브로드캐스트에 씁니다. 위 절에서 설명한 2^n − 2가 이것이고, n은 호스트 비트 수입니다. 이 뺄셈은 /30까지의 모든 IPv4 프리픽스에서 성립하고 그 아래 둘에서는 성립하지 않습니다. /31은 사용 가능 주소가 0이 아니라 2개이고 /32는 −1이 아니라 1개이며, 이 도구는 그렇게 보고합니다.

  • 서브넷 마스크는 255.255.255.0이고 와일드카드 마스크는 0.0.0.255입니다. 네 숫자 가운데 셋이 통째로 고정되므로 /24는 점 표기에서 그대로 읽어낼 수 있는 유일한 프리픽스입니다. 마지막 숫자가 호스트이고 그 앞의 셋이 네트워크입니다.
  • 사용 가능 범위는 .1부터 .254까지입니다. 네트워크 주소가 .0, 브로드캐스트 주소가 .255이며, 이 도구는 범위의 어느 한쪽 끝을 빈칸으로 남기지 않고 둘 다 이름을 붙입니다.
  • /24는 /25 둘, /26 넷, /27 여덟입니다. 프리픽스가 1비트 늘 때마다 절반이 됩니다. 그리고 /24 자신도 /16에 들어가는 256개 /24 가운데 하나입니다.
  • 오래된 문서는 이것을 class C 네트워크라고 부릅니다. CIDR이 대체한 클래스 방식에서 class C가 정확히 24비트의 네트워크였기 때문입니다. 그래서 이 도구는 글자가 아니라 슬래시 뒤의 숫자를 요구합니다. /26에는 클래스가 없습니다.

254는 재고 목록이 아니라 산술입니다. 돌아가는 네트워크에서는 라우터나 게이트웨이가 하나를 가져가고, DHCP 풀은 보통 범위 전체가 아니라 일부에 설정되므로 실제로 연결할 수 있는 장비는 253대 이하가 됩니다. 254는 주소 계획이 거기서 시작하는 상한이라고 보십시오.

/16에는 호스트가 몇 개인가

/16은 주소 65,536개를 담고 그중 사용 가능한 것은 65,534개입니다. 16비트가 고정되고 16비트가 자유이므로 2^16 = 65,536이고, 양 끝에서 같은 주소 두 개가 빠집니다. /30까지 성립하고 거기서 멈추는 뺄셈이며, 이유는 위의 /31과 /32와 같습니다.

  • 서브넷 마스크는 255.255.0.0이고 와일드카드 마스크는 0.0.255.255이므로, 점 표기의 앞 두 숫자가 네트워크이고 뒤 두 숫자가 호스트를 가리킵니다.
  • /16은 256개 /24입니다. 사람들이 /16에 실제로 수행하는 나눗셈이 이것이고, 여기의 분할 기능이 하는 일도 그것입니다. /16을 주고 /24를 요청하면 목록과 그 옆에 총합이 나옵니다.
  • 192.168.0.0/16은 하나의 /16이고, 가정용 라우터가 주소를 나눠주는 사설 범위입니다. 그래서 192.168.1.0/24가 거의 모두가 본 블록이 되었습니다. 그 안에 들어가는 것은 이 도구가 사설 (RFC 1918)이라고 표시합니다.
  • 오래된 문서는 /16을 class B 네트워크라고 부릅니다. class B는 조직에 통째로 배정되었으므로, 그것을 하나의 네트워크로 떠올리는 습관이 거기서 남았습니다.

65,534대를 한 링크에 두는 사람은 없습니다. /16은 브로드캐스트 도메인이 아니라 할당 단위입니다. 링크의 모든 호스트가 그 링크의 브로드캐스트와 ARP 트래픽을 보므로, 이 크기에서는 범위가 차기 훨씬 전에 운용이 되지 않습니다. 그래서 /16에 관해 쓸모 있는 질문은 호스트를 몇 개 담느냐가 아니라 어떻게 자르느냐입니다. 256개 /24로, 1,024개 /26으로, 또는 세그먼트가 실제로 필요한 만큼으로.

/8에는 호스트가 몇 개인가

/8은 주소 16,777,216개를 담고 그중 사용 가능한 것은 16,777,214개입니다. 호스트 비트가 24개이므로 2^24에서 네트워크 주소와 브로드캐스트 주소를 뺀 값입니다. 사람이 손으로 쓰는 가장 큰 블록이고, 실제로는 거의 언제나 같은 블록, 곧 세 사설 범위 가운데 가장 큰 10.0.0.0/8입니다.

  • 서브넷 마스크는 255.0.0.0이고 와일드카드 마스크는 0.255.255.255입니다. 점 표기의 첫 숫자만 고정되고 나머지 셋이 계획에 남습니다.
  • /8은 256개 /16, 또는 65,536개 /24입니다. 이 마지막 숫자가 바로 이 페이지의 분할 목록에 한도가 있고, 답을 조용히 잘라내는 대신 진짜 총합을 그 옆에 찍는 이유입니다.
  • 10.0.0.0/8은 여기서 사설 (RFC 1918)로 표시되고 127.0.0.0/8은 루프백 범위입니다. 둘 다 폭이 여덟 비트인 것은 클래스 방식이 class A를 정확히 그렇게 만들었기 때문이고, 라벨은 클래스보다 오래 남았습니다.
  • 반면 공용 주소 공간의 /8은 전혀 다른 것입니다. IPv4 전체에 256개뿐이고, 수십 년 전에 조직과 지역 등록기관에 배분되었습니다.

16,777,214는 쓸모 있는 어떤 의미로도 호스트 수가 아닙니다. 한 링크에 천육백만 주소는 누구도 운용하는 네트워크가 아닙니다. /8은 주소 계획이고, 계획을 재는 기준은 서브넷을 몇 개 얻는지와 하나하나가 얼마를 쓰는지입니다. 어느 서브넷이든 자기 네트워크 주소와 브로드캐스트 주소를 쓰므로, /8을 /24로 자르면 65,536개 네트워크를 얻고 그 대가로 131,072개 주소를 씁니다. 이것이 서브네팅의 값이고, 계획이 각 세그먼트에 겨우 맞는 가장 작은 서브넷이 아니라 감당할 수 있는 가장 큰 서브넷을 고르는 이유입니다.

IPv6 /64에는 주소가 몇 개인가

/64는 주소 18,446,744,073,709,551,616개, 곧 2^64를 담습니다. 8비트가 아니라 64비트가 자유인 같은 산술이고, 그 전부가 사용 가능합니다. 뺄 것이 없습니다. IPv6에는 브로드캐스트 주소가 없고 프리픽스 앞쪽에 아무것도 예약하지 않으므로 사용 가능 수가 총수와 같습니다. 이 도구가 IPv6 블록에 브로드캐스트 주소도 점 표기 마스크도 0으로 보여주는 대신 아예 보여주지 않는 이유도 그것입니다.

  • 수는 자릿수 옆에 2의 거듭제곱으로도 찍힙니다. 2^64가 읽는 형태이고 자릿수가 복사하는 형태입니다.
  • /64는 한 링크의 표준 크기이며, 그 링크가 두 대를 싣든 이천 대를 싣든 상관없습니다. 상태 없는 주소 자동 설정이 주소의 마지막 64비트를 호스트 자신이 만들므로, 프리픽스는 호스트 수가 아니라 방식에 의해 64로 고정됩니다.
  • /64는 더 큰 할당에서 나옵니다. /48은 65,536개 /64이고 /56은 그중 256개이며, 사이트가 나누라고 받는 것은 보통 이 둘 중 하나입니다.
  • 인터페이스 하나는 보통 자기 /64에서 주소를 한 번에 여러 개 가집니다. 자동 설정이 프리픽스로 만든 주소와, 대개 그 옆에 시간이 지나면 교체되는 임시 프라이버시 주소입니다. 주소 수로 장비를 세는 것은 이 방향으로도 어긋납니다.

이 수를 용량으로 읽는 것이 IPv4 습관이 부르는 실수입니다. /64는 채우려고 만든 크기가 아니고, 아무것도 그것을 채우지 않으며, 어떤 할당 정책도 그것을 기대하지 않습니다. 그 크기는 호스트가 누구에게도 묻지 않고 링크에서 자기 주소를 만들 수 있게 하려는 것입니다. /64가 답하는 질문은 사이트에 링크가 몇 개인가이며, 장비가 몇 대인가가 아닙니다.

자주 묻는 질문

/24에는 사용 가능한 호스트가 몇 개인가요?
254개입니다. 블록은 256개 주소를 지니고, 첫 주소는 네트워크 주소, 마지막은 브로드캐스트 주소라 어느 것도 인터페이스에 할당될 수 없습니다. 같은 뺄셈으로 /25는 126, /26은 62, /30은 2가 됩니다.
다른 계산기는 0이라는데 이것이 /31에 사용 가능한 주소가 둘이라고 하는 이유는 무엇인가요?
RFC 3021이 점대점 링크를 위해 /31을 정하며, 거기서는 브로드캐스트 주소가 쓸모없고 두 주소가 모두 할당되기 — 링크 양 끝에 하나씩 — 때문입니다. 0이라 보고하는 계산기는 2^n − 2 공식을 성립하는 범위를 넘어 적용하고 있습니다.
서브넷 마스크와 와일드카드 마스크의 차이는 무엇인가요?
서로 뒤집은 것입니다. 서브넷 마스크는 네트워크 비트에 1을 지니고(/24에서 255.255.255.0), 와일드카드 마스크는 거기 대신 0을 지닙니다(0.0.0.255). 와일드카드 마스크에서 0은 비트가 맞아야 함을, 1은 무시됨을 뜻하고, 서브넷 마스크가 쌓는 직관의 반대입니다.
네트워크 주소가 아닌 주소를 붙여넣을 수 있나요?
네, 그리고 그것이 흔한 경우입니다. 192.168.1.57/24를 주면 네트워크가 192.168.1.0/24임을 보이고 입력한 주소가 그 안의 호스트라고 알립니다. 그것이 바로 ip addr나 ipconfig에서 얻는 것이라 먼저 편집할 필요가 없습니다.
IPv6가 브로드캐스트 주소나 서브넷 마스크를 보이지 않는 이유는 무엇인가요?
둘 다 존재하지 않기 때문입니다. IPv6는 브로드캐스트를 멀티캐스트를 위해 버려 접두사 끝에 예약되는 것이 없고, 점 마스크가 아니라 늘 접두사 길이로 쓰입니다. IPv6 블록의 모든 주소가 할당 가능해 사용 가능 수가 총수와 같습니다.
IPv6 서브넷은 어느 크기의 접두사여야 하나요?
거의 모든 경우 /64입니다. 무상태 주소 자동 설정이 64개의 호스트 비트를 가정하므로 더 작은 접두사는 보통 링크에서 그것을 깨뜨립니다. 사이트는 대개 /48이나 /56을 할당받아 세그먼트마다 하나의 /64로 나눕니다 — /48에는 65 536개가 있어 아낄 필요가 없습니다.
제가 입력한 것이 서버로 전송되나요?
아니요. 모두 브라우저 안에서 도는 산술입니다 — 아무것도 조회·업로드·기록되지 않습니다. 그래서 네트워크 연결이 전혀 없어도 계속 동작합니다.
/16의 서브넷 마스크는 무엇인가
255.255.0.0입니다. 프리픽스 길이와 마스크는 같은 정보를 두 가지로 적은 것이고, 딱 떨어지는 세 프리픽스는 각각 숫자 하나를 통째로 더 고정합니다. /8은 255.0.0.0, /16은 255.255.0.0, /24는 255.255.255.0입니다. 8의 배수가 아닌 프리픽스는 대신 숫자 안쪽에 떨어집니다. /26은 255.255.255.192이고, 이런 경우야말로 이 도구에 맡길 만합니다.
class C 네트워크란 무엇인가
CIDR이 대체한 방식에서의 /24입니다. 클래스 기반 주소 지정은 네트워크 부분을 8, 16, 24비트로 고정했습니다. class A, class B, class C입니다. 그래서 class C는 주소 256개와 사용 가능 주소 254개를 담았고, 오늘의 /24와 정확히 같습니다. RFC 1519가 1993년에 클래스를 임의의 프리픽스 길이로 대체했고, 그래서 이 도구는 슬래시 뒤의 숫자를 요구합니다. /26이나 /19에는 이름 붙일 클래스가 없습니다.
/16에 /24는 몇 개 있는가
256개입니다. 프리픽스가 1비트 늘 때마다 수가 두 배가 되므로 /16은 256개 /24이고 /8은 256개 /16 또는 65,536개 /24입니다. 블록을 붙여넣고 「분할 수」를 더 작은 프리픽스로 맞추십시오. 서브넷을 나열하고 목록 옆에 진짜 총합을 보고합니다. 총합이 어떤 목록에든 찍어야 할 양을 넘어서면 그것이 중요해집니다.
IPv6 /64에 주소는 몇 개 있는가
18,446,744,073,709,551,616개, 곧 2^64이고 전부 사용 가능합니다. IPv6에는 브로드캐스트 주소가 없고 프리픽스 앞쪽에 아무것도 예약하지 않으므로 아무것도 빠지지 않고 사용 가능 수가 총수와 같습니다. 여기서 IPv6의 답이 IPv4의 답보다 길어지는 대신 짧아지는 유일한 곳입니다.

관련 도구