~/network/subnetting
IP 주소 & 할당

Subnetting

서브넷 마스크와 호스트 수 계산

CIDR ↔ 서브넷 마스크 변환

/24 = 11111111.11111111.11111111.00000000 → 255.255.255.0
/23 = 11111111.11111111.11111110.00000000 → 255.255.254.0
/22 = 11111111.11111111.11111100.00000000 → 255.255.252.0

자주 쓰는 호스트 수 표

Prefix서브넷 마스크호스트 비트사용 가능 호스트
/24255.255.255.08254
/23255.255.254.09510
/22255.255.252.0101,022
/21255.255.248.0112,046
/20255.255.240.0124,094
/19255.255.224.0138,190
/18255.255.192.01416,382

전 세계 IP를 서브넷 2개로 쪼개면 어떻게 될까?

전 세계 IP를 IPv4 전체 주소 공간 (0.0.0.0 ~ 255.255.255.255)이라고 보면, 2개로 나눈다 = 1비트를 기준으로 나눈다 = /1 서브넷이 된다. 즉, 전체 /0 네트워크를 /1 두 개로 쪼개는 것이다.

  • /0 -> 아무 것도 안 나눈 상태 (전체)
  • /1 -> 맨 앞 1비트로 나눔
0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 0.0.0.0/1
1xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 128.0.0.0/1

첫 번째 서브넷 : 0.0.0.0/1

  • 범위: 0.0.0.0 ~ 127.255.255.255
  • 특징: 첫 번째 비트가 0인 모든 IP

두 번째 서브넷 : 128.0.0.0/1

  • 범위: 128.0.0.0 ~ 255.255.255.255
  • 특징: 첫 번째 비트가 1인 모든 IP

/1은 전체 주소 공간을 두 개로 나누는 것이고, /2는 네 개, /3은 여덟 개로 나누는 방식이다. prefix 길이가 1씩 증가할 때마다 네트워크는 2배씩 더 잘게 분할되며, 이는 앞에서부터 고정되는 비트 수가 하나씩 늘어나기 때문이다.

prefix 길이가 n이면 네트워크는 2ⁿ개로 분할되며, prefix가 1 증가할 때마다 네트워크 수는 2배, 각 네트워크의 호스트 수는 절반으로 줄어든다.

번외) 전 세계 IP를 서브넷 4개로 쪼개기 : /0/2로 나누면, 2² = 4개 네트워크 생성

00xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 0.0.0.0/2
01xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 64.0.0.0/2
10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 128.0.0.0/2
11xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx → 192.0.0.0/2