본문으로 건너뛰기

IP 서브넷 계산기: CIDR, 넷마스크 및 호스트 범위

주소와 CIDR 프리픽스를 입력해 IPv4 서브넷 정보를 계산합니다. 네트워크 주소와 브로드캐스트 주소, 사용 가능한 호스트 범위, 서브넷 마스크, 와일드카드 마스크를 확인할 수 있습니다.

IP Subnet Calculator

Results

CIDR Notation
192.168.1.0/24
Network Address
192.168.1.0
First Usable Host
192.168.1.1
Last Usable Host
192.168.1.254
Usable Hosts
254
Total Addresses
256
Broadcast Address
192.168.1.255
Subnet Mask
255.255.255.0
Wildcard Mask
0.0.0.255

Subnet Mask in Binary

Results follow RFC 791 (IPv4 addressing), RFC 4632 (CIDR notation), RFC 950 with RFC 919 and RFC 922 (network and broadcast reservation), and RFC 3021 (/31 point-to-point links).

로딩 계산기...
📚

문서화

IP 서브넷 계산기

IP 서브넷 계산기는 IPv4 주소와 접두사 길이를 바탕으로 네트워크 세부 정보를 계산합니다. 이 두 입력으로 네트워크 주소, 브로드캐스트 주소, 사용 가능한 호스트 주소 범위, 서브넷 마스크 및 와일드카드 마스크를 구합니다.

계산기의 기능

이 도구는 점으로 구분된 네 개의 숫자로 작성된 IPv4 주소(예: 192.168.1.10)와 0에서 32 사이의 접두사 길이를 입력으로 받습니다. 두 값을 192.168.1.10/24처럼 CIDR 형식으로 함께 입력해도 됩니다. /24 부분은 자동으로 접두사 필드로 이동합니다.

계산기는 다음을 반환합니다.

  • CIDR 표기: 주소/접두사 형식의 네트워크(예: 192.168.1.0/24).
  • 네트워크 주소: 블록의 첫 번째 주소입니다. 네트워크 자체를 나타냅니다.
  • 브로드캐스트 주소: 블록의 마지막 주소입니다. 이 주소로 보낸 메시지는 서브넷의 모든 호스트에 도달합니다.
  • 사용 가능한 호스트 범위: 장치가 실제로 사용할 수 있는 첫 번째 주소와 마지막 주소입니다.
  • 사용 가능한 호스트 수전체 주소 수: 블록에 포함된 주소 수와 장치에 할당할 수 있는 주소 수입니다.
  • 서브넷 마스크와일드카드 마스크: 점으로 표기한 마스크(예: 255.255.255.0)와 그 역마스크인 0.0.0.255입니다.
  • 옥텟당 8비트로 서브넷 마스크를 비트 단위로 펼쳐 표시합니다.

결과는 RFC 791(IPv4 주소 지정), RFC 4632(CIDR 표기), RFC 950 및 RFC 919, RFC 922(네트워크 및 브로드캐스트 예약), RFC 3021(/31 지점 간 링크)을 따릅니다.

서브넷팅 작동 방식

IPv4 주소는 32비트 숫자입니다. 이를 네 개의 옥텟으로 작성하며, 각 옥텟은 8비트이고 0에서 255 사이의 값을 가집니다. 접두사 길이는 이 32비트를 두 부분으로 나눕니다. 접두사가 지정하는 수만큼의 앞쪽 비트는 네트워크를 나타냅니다. 나머지 비트는 해당 네트워크 안의 호스트를 나타냅니다.

/24 네트워크는 네트워크 부분에 24비트를 사용하고 호스트에 8비트를 남깁니다. 호스트 비트 8개는 2⁸ = 256개의 주소를 제공합니다. /26 네트워크에는 6개의 호스트 비트만 남으므로 2⁶ = 64개의 주소를 가집니다.

서브넷 마스크는 동일한 분할을 주소로 나타냅니다. 네트워크 비트마다 1비트를, 호스트 비트마다 0비트를 둡니다. /24의 경우 255.255.255.0입니다. 와일드카드 마스크는 서브넷 마스크의 모든 비트를 뒤집은 것입니다. 특히 Cisco 장비의 라우터 액세스 목록은 와일드카드 마스크로 주소를 일치시키므로 이 도구는 두 마스크를 모두 표시합니다.

서브넷 공식

0에서 30 사이의 접두사 길이 p에 대해 계산기는 RFC 950 및 RFC 4632에 정의된 다음 규칙을 적용합니다.

  • 서브넷 마스크 = 32비트 워드의 상위 p개 비트를 1로 설정한 값.
  • 네트워크 주소 = IP 주소 AND 서브넷 마스크(비트 단위 AND는 두 입력 모두에 1이 있는 경우에만 비트를 유지합니다).
  • 브로드캐스트 주소 = 네트워크 주소 OR 와일드카드 마스크(모든 호스트 비트를 1로 설정).
  • 전체 주소 수 = 2⁽³²⁻ᵖ⁾.
  • 사용 가능한 호스트 수 = 2⁽³²⁻ᵖ⁾ − 2. 이 뺄셈은 RFC 950 및 RFC 919에서 예약한 네트워크 주소와 브로드캐스트 주소를 제외합니다.
  • 사용 가능한 첫 호스트 = 네트워크 주소 + 1. 사용 가능한 마지막 호스트 = 브로드캐스트 주소 − 1.

두 접두사 길이에는 다른 규칙이 적용됩니다. /31은 정확히 2개의 주소를 가지며 RFC 3021에 따라 지점 간 링크에서는 두 주소 모두 사용 가능한 호스트가 되고 브로드캐스트 주소는 없습니다. /32는 하나의 주소를 나타냅니다. 전체 주소 1개, 사용 가능 주소 1개이며 브로드캐스트는 없습니다. 이 두 경우 도구는 네트워크를 나타내기 위해 예약된 주소가 없으므로 첫 번째 주소를 "네트워크 주소" 대신 "프리픽스 기준 주소"로 표시합니다.

모든 결과는 하나의 32비트 숫자에 대한 산술 연산으로 계산됩니다. 도구는 주소를 하나씩 나열하지 않으므로 전체 4,294,967,296개의 IPv4 주소를 포함하는 /0도 /32와 같은 속도로 계산됩니다.

풀이 예시

접두사 길이가 /26인 주소 10.128.7.33의 경우:

  1. 서브넷 마스크: 26개의 1비트 뒤에 6개의 0비트를 두면 11111111.11111111.11111111.11000000이 되며, 이는 255.255.255.192로 읽습니다.
  2. 네트워크 주소: 주소와 마스크에 AND 연산을 적용합니다. 처음 세 옥텟은 변경 없이 유지됩니다. 마지막 옥텟에서 33은 이진수로 00100001이고, 11000000과 AND 연산을 하면 00000000, 즉 0이 됩니다. 네트워크 주소는 10.128.7.0이므로 CIDR 표기는 10.128.7.0/26입니다.
  3. 브로드캐스트 주소: 모든 6개 호스트 비트를 1로 설정합니다. 마지막 옥텟은 00111111이 되고 이는 63입니다. 브로드캐스트 주소는 10.128.7.63입니다.
  4. 개수: 전체 주소는 2⁶ = 64개이고, 사용 가능한 호스트는 64 − 2 = 62개입니다.
  5. 호스트 범위: 10.128.7.1부터 10.128.7.62까지입니다.
  6. 와일드카드 마스크: 서브넷 마스크의 역마스크인 0.0.0.63입니다.

도구의 기본 입력인 192.168.1.10/24을 사용한 두 번째 예는 다음과 같습니다. 네트워크 192.168.1.0, 브로드캐스트 192.168.1.255, 호스트 192.168.1.1부터 192.168.1.254까지, 전체 256개 중 사용 가능한 호스트 254개, 서브넷 마스크 255.255.255.0, 와일드카드 마스크 0.0.0.255입니다.

도구가 따르는 규칙

앞을 영으로 채운 옥텟은 거부됩니다. 도구는 010.1.1.1을 10.1.1.1로 읽지 않고 거부합니다. 이는 의도된 동작입니다. ping과 curl, 그리고 대부분의 운영 체제 이름 해석기에서 내부적으로 사용되는 POSIX inet_aton 함수는 앞에 영이 있는 옥텟을 팔진수로 처리하므로 010.1.1.1은 해당 프로그램에서 8.1.1.1을 의미합니다. 모든 해석 방식과 일치하는 십진수 또는 팔진수 추측은 불가능하므로 이 도구는 둘 다 허용하지 않습니다. 같은 이유로 /08로 작성한 접두사도 거부됩니다.

호스트 수에서 두 개를 뺍니다. 일부 계산기는 원시 블록 크기를 호스트 수로 표시합니다. 이 도구는 RFC 950을 따릅니다. /0부터 /30까지의 모든 블록에서 호스트 부분이 모두 0이면 네트워크를 나타내고 모두 1이면 브로드캐스트이므로 두 주소를 모두 제외합니다. 따라서 /24에는 254개의 사용 가능한 호스트가 있으며 256개가 아닙니다.

/31에는 사용 가능한 호스트가 2개 있습니다. 2000년에 발표된 RFC 3021 이전에 작성된 오래된 문헌에서는 예약 주소 두 개를 빼면 0이 남기 때문에 /31을 사용할 수 없다고 설명합니다. RFC 3021은 지점 간 링크에서 두 예약을 모두 없앴고 라우터는 수십 년 동안 이를 지원해 왔으므로, 도구는 사용 가능한 호스트 2개와 브로드캐스트 주소 없음으로 표시합니다.

/0에서 /32 사이의 모든 접두사를 허용합니다. /0은 전체 IPv4 주소 공간을 포함하는 유효한 블록이며, 라우팅 테이블에서 0.0.0.0/0이 기본 경로로 나타나는 방식과도 일치합니다.

IPv4만 지원합니다. IPv6(RFC 4291)는 128비트 주소와 다른 표기법을 사용하므로 이 도구의 범위에 포함되지 않습니다. 또한 도구는 사설 주소나 루프백 주소 같은 특수 목적 범위(RFC 6890)를 표시하지 않으며 주소 산술만 계산합니다.

자주 묻는 질문

/24에는 사용 가능한 호스트가 몇 개 있나요? 254. /24에는 8개의 호스트 비트가 남으므로 2⁸ = 256개의 주소가 생깁니다. 이 중 네트워크 주소와 브로드캐스트 주소 두 개는 예약됩니다. 따라서 장치에 사용할 수 있는 주소는 254개입니다.

와일드카드 마스크란 무엇인가요? 서브넷 마스크를 비트 단위로 뒤집은 것입니다. 서브넷 마스크가 1인 위치에는 와일드카드 마스크가 0이고, 반대도 마찬가지입니다. 마스크 255.255.255.0의 와일드카드 마스크는 0.0.0.255입니다. 많은 라우터의 액세스 제어 목록은 와일드카드 마스크를 사용해 규칙이 일치하는 주소를 설명합니다.

/31에는 왜 브로드캐스트 주소가 없나요? /31에는 주소가 두 개뿐입니다. 하나를 네트워크에, 하나를 브로드캐스트에 예약하면 남는 주소가 없으므로 RFC 3021은 /31을 두 주소가 모두 호스트이고 브로드캐스트 주소가 없는 지점 간 링크로 정의합니다. 계산기는 사용 가능한 호스트 2개를 표시하고 브로드캐스트를 해당 없음으로 표시합니다.

010.1.1.1은 왜 10.1.1.1로 읽지 않고 거부되나요? 운영 체제마다 일반적인 십진수 해석이 다르기 때문입니다. POSIX inet_aton은 앞에 영이 있는 옥텟을 팔진수로 읽으므로 대부분의 시스템에서 010은 8을 의미합니다. 입력을 거부하는 것이 사용자의 컴퓨터가 처리하는 방식과 조용히 달라지지 않는 유일한 방법입니다.

전체 주소 수와 사용 가능한 호스트 수의 차이는 무엇인가요? 전체 주소 수는 블록의 전체 크기이며 32에서 접두사 길이를 뺀 값의 2제곱입니다. 사용 가능한 호스트 수는 여기서 예약된 두 주소를 뺀 값입니다. 단, /31에서는 두 주소 모두 사용할 수 있고 /32에서는 하나의 주소 자체가 호스트입니다.

192.168.1.10/24의 네트워크 주소는 무엇을 의미하나요? 그 주소는 192.168.1.0입니다. 주소의 처음 24비트를 유지하고 호스트 비트를 0으로 설정해 구합니다. 이는 서브넷 전체를 식별하며 장치에 할당할 수 없습니다.

참고 문헌

  1. Postel, J. "RFC 791: 인터넷 프로토콜." IETF, 1981.
  2. Mogul, J. 및 J. Postel. "RFC 950: 인터넷 표준 서브네팅 절차." IETF, 1985.
  3. Mogul, J. "RFC 919: 인터넷 데이터그램 브로드캐스팅." IETF, 1984.
  4. Fuller, V. 및 T. Li. "RFC 4632: 클래스리스 도메인 간 라우팅(CIDR)." IETF, 2006.
  5. Retana, A. 외. "RFC 3021: IPv4 지점 간 링크에서 31비트 접두사 사용." IETF, 2000.