iBetter Books
수정

서브넷 계산법 (네트워크 ID, 호스트 범위, 브로드캐스트)

서브넷 계산의 세 가지 핵심

서브넷팅 문제를 풀 때 구해야 하는 것은 세 가지입니다.

  1. 네트워크 ID (네트워크 주소): 이 서브넷을 대표하는 주소
  2. 사용 가능한 호스트 범위: 실제 장치에 할당할 수 있는 주소
  3. 브로드캐스트 주소: 이 서브넷의 모든 장치에 전송하는 주소

이 세 가지를 구하는 단계별 방법을 확실히 익혀봅시다.

단계 1. AND 연산으로 네트워크 ID 구하기

네트워크 ID는 IP 주소와 서브넷 마스크를 AND 연산하면 나옵니다. AND 연산은 두 비트가 모두 1일 때만 1이 되는 연산입니다.

AND 연산 규칙:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0

예제를 풀어봅시다.

문제: IP 주소 192.168.1.130, 서브넷 마스크 255.255.255.192의 네트워크 ID는?

IP 주소:       11000000.10101000.00000001.10000010  (192.168.1.130)
서브넷 마스크:  11111111.11111111.11111111.11000000  (255.255.255.192)
───────────────────────────────────────────────────
AND 결과:      11000000.10101000.00000001.10000000  (192.168.1.128)

마지막 옥텟만 자세히 봅시다.

IP:     10000010  (130)
마스크:  11000000  (192)
AND:    10000000  (128)

네트워크 ID는 192.168.1.128입니다.

더 빠른 방법: 블록 크기 활용

매번 2진수 변환을 하면 시간이 오래 걸립니다. 시험에서는 블록 크기(Block Size)를 이용하는 것이 훨씬 빠릅니다.

블록 크기는 256 - 서브넷 마스크 값입니다.

서브넷 마스크가 255.255.255.192일 때
블록 크기 = 256 - 192 = 64

블록 크기가 64라는 것은, 서브넷이 64개씩 끊어진다는 뜻입니다.

서브넷 0: 192.168.1.0    (0번째)
서브넷 1: 192.168.1.64   (64번째)
서브넷 2: 192.168.1.128  (128번째)
서브넷 3: 192.168.1.192  (192번째)

IP 주소 192.168.1.130은 128과 192 사이에 있으므로, 이 IP가 속한 네트워크 ID는 192.168.1.128입니다. 2진수 변환 없이도 같은 답을 얻었습니다.

단계 2. 브로드캐스트 주소 구하기

브로드캐스트 주소는 다음 네트워크 ID - 1입니다.

네트워크 ID: 192.168.1.128
다음 네트워크 ID: 192.168.1.192
브로드캐스트: 192.168.1.191  (192 - 1)

또는 네트워크 ID의 호스트부를 모두 1로 채우면 됩니다.

네트워크 ID: 192.168.1.10000000
호스트부 모두 1: 192.168.1.10111111 = 192.168.1.191

단계 3. 사용 가능한 호스트 범위 구하기

  • 첫 번째 호스트: 네트워크 ID + 1
  • 마지막 호스트: 브로드캐스트 주소 - 1
네트워크 ID:    192.168.1.128  (할당 불가)
첫 번째 호스트:  192.168.1.129
마지막 호스트:   192.168.1.190
브로드캐스트:    192.168.1.191  (할당 불가)

전체 과정 정리

IP 주소와 서브넷 마스크가 주어졌을 때의 풀이 순서입니다.

1. 블록 크기 = 256 - 서브넷 마스크의 변하는 옥텟 값
2. 네트워크 ID = IP 주소가 속하는 블록의 시작 주소
3. 브로드캐스트 = 다음 블록 시작 - 1
4. 호스트 범위 = (네트워크 ID + 1) ~ (브로드캐스트 - 1)
5. 호스트 수 = 2^(호스트 비트 수) - 2

예제 1: 클래스 C + /25

문제: 192.168.10.200/25의 네트워크 ID, 호스트 범위, 브로드캐스트 주소를 구하세요.

/25 → 서브넷 마스크: 255.255.255.128
블록 크기 = 256 - 128 = 128

서브넷: 192.168.10.0, 192.168.10.128

200은 128~255 구간 → 네트워크 ID: 192.168.10.128
브로드캐스트: 192.168.10.255 (다음 블록 시작 256 - 1 = 255)
호스트 범위: 192.168.10.129 ~ 192.168.10.254
호스트 수: 2^7 - 2 = 126

예제 2: 클래스 C + /27

문제: 192.168.5.100/27의 네트워크 ID, 호스트 범위, 브로드캐스트 주소를 구하세요.

/27 → 서브넷 마스크: 255.255.255.224
블록 크기 = 256 - 224 = 32

서브넷: .0, .32, .64, .96, .128, .160, .192, .224

100은 96~127 구간 → 네트워크 ID: 192.168.5.96
브로드캐스트: 192.168.5.127 (128 - 1)
호스트 범위: 192.168.5.97 ~ 192.168.5.126
호스트 수: 2^5 - 2 = 30

예제 3: 클래스 B + /20

클래스 B에서 서브넷팅하면, 변하는 옥텟이 세 번째 옥텟이 됩니다.

문제: 172.16.45.100/20의 네트워크 ID, 호스트 범위, 브로드캐스트 주소를 구하세요.

/20 → 서브넷 마스크: 255.255.240.0
세 번째 옥텟이 변하는 옥텟
블록 크기 = 256 - 240 = 16 (세 번째 옥텟 기준)

세 번째 옥텟의 서브넷: .0, .16, .32, .48, ...

45는 32~47 구간 → 네트워크 ID: 172.16.32.0
브로드캐스트: 172.16.47.255 (48 - 1 = 47, 마지막 옥텟은 255)
호스트 범위: 172.16.32.1 ~ 172.16.47.254
호스트 수: 2^12 - 2 = 4,094

클래스 B에서는 세 번째 옥텟에서 블록 크기를 적용하고, 네 번째 옥텟은 0(네트워크 ID)이나 255(브로드캐스트)가 됩니다.

흔한 실수

서브넷 계산에서 자주 하는 실수 세 가지를 정리합니다.

실수 1: 네트워크 주소와 브로드캐스트 주소를 호스트에 포함시킴

❌ 호스트 범위: 192.168.1.128 ~ 192.168.1.191
✅ 호스트 범위: 192.168.1.129 ~ 192.168.1.190

실수 2: 블록 크기 계산을 잘못함

❌ 블록 크기 = 서브넷 마스크 값 (예: 192)
✅ 블록 크기 = 256 - 서브넷 마스크 값 (256 - 192 = 64)

실수 3: 변하는 옥텟을 잘못 선택함

서브넷 마스크 255.255.240.0에서
❌ 네 번째 옥텟(0)으로 블록 크기 계산
✅ 세 번째 옥텟(240)으로 블록 크기 계산 → 256 - 240 = 16

시험 포인트

  • 네트워크 ID = IP AND 서브넷 마스크
  • 블록 크기 = 256 - 서브넷 마스크의 변하는 옥텟 값
  • 브로드캐스트 = 다음 네트워크 ID - 1
  • 호스트 범위 = (네트워크 ID + 1) ~ (브로드캐스트 - 1)
  • 호스트 수 = 2^(호스트 비트 수) - 2

직접 해보자

  • 10.1.100.50/16의 네트워크 ID, 호스트 범위, 브로드캐스트를 구해보세요.
  • 정답: 네트워크 ID 10.1.0.0, 호스트 범위 10.1.0.1~10.1.255.254, 브로드캐스트 10.1.255.255