IT/개발 지식›네트워크•
4분
•서브네팅(Subnetting)
나중에 나 자신이 봤을 때 "아 맞다!" 할 수 있도록 정리한 복습 노트
📌 핵심 용어 먼저 정리
| 용어 | 예시 | 의미 |
|---|---|---|
| IP 주소 | 192.168.1.100 | 개별 컴퓨터 한 대의 주소 |
| 서브넷 마스크 | 255.255.255.0 | 네트워크/호스트 구분 도구 |
| CIDR 표기 | /24 | 네트워크 비트 수를 /숫자로 표현 |
| CIDR 표기법 | 192.168.1.0/24 | IP + 서브넷 마스크를 한번에 표현 |
| 네트워크 주소 | 192.168.1.0 | 서브넷의 첫 주소 (사용 불가) |
| 브로드캐스트 주소 | 192.168.1.255 | 서브넷의 끝 주소 (사용 불가) |
| 호스트 주소 | 192.168.1.1 ~ .254 | 실제 장치에 할당 가능한 주소 |
🏘️ 네트워크 vs 호스트
쉽게 말하면:
네트워크 = 동네 (서울시 강남구 테헤란로)
호스트 = 그 동네의 집 (123호)
IP 주소에서 보면:
192.168.1.100 / 24
192.168.1 → 네트워크 부분 (어느 동네?)
.100 → 호스트 부분 (몇 번 집?)
같은 네트워크(동네)에 있으면 직접 통신 가능
다른 네트워크(동네)면 라우터(출입문)를 거쳐야 함
🔢 /24 의 의미 (CIDR)
IP 주소는 총 32비트로 구성됨
192 . 168 . 1 . 100
11000000.10101000.00000001.01100100
/24 라면 → 앞 24비트가 네트워크, 나머지 8비트가 호스트
[네트워크: 24비트][호스트: 8비트]
192.168.1 .0~255
| CIDR | 네트워크 비트 | 호스트 비트 | 호스트 수 |
|---|---|---|---|
| /24 | 24비트 | 8비트 | 254개 |
| /25 | 25비트 | 7비트 | 126개 |
| /26 | 26비트 | 6비트 | 62개 |
| /27 | 27비트 | 5비트 | 30개 |
호스트 수 공식
2^(32 - /숫자) - 2
-2 하는 이유: 네트워크 주소 + 브로드캐스트 주소 제외
🍕 서브넷 & 서브네팅이란?
서브넷(Subnet) = 큰 네트워크를 잘게 나눈 작은 네트워크
서브네팅(Subnetting) = 나누는 작업 자체
피자에 비유하면:
피자 한 판 = 192.168.1.0/24 (하나의 큰 네트워크)
↓ 서브네팅 (자르는 작업)
조각 1 = 192.168.1.0/26 (서브넷 1)
조각 2 = 192.168.1.64/26 (서브넷 2)
조각 3 = 192.168.1.128/26 (서브넷 3)
왜 나누나?
- IP 낭비 방지 → 254개를 한 부서에 주기엔 너무 많음
- 보안 → 서브넷 간 트래픽을 라우터로 통제
- 성능 → 브로드캐스트 범위를 줄여 네트워크 혼잡 감소
📐 서브넷 마스크란?
"어디서 자를지" 알려주는 도구
1이 연속된 부분 → 네트워크
0이 연속된 부분 → 호스트
/26 → 1이 26개
11111111.11111111.11111111.11000000
= 255 . 255 . 255 . 192
마지막 옥텟 변환표 (자주 나옴!)
| CIDR | 2진수 | 10진수 |
|---|---|---|
| /24 | 00000000 | 0 |
| /25 | 10000000 | 128 |
| /26 | 11000000 | 192 |
| /27 | 11100000 | 224 |
| /28 | 11110000 | 240 |
| /29 | 11111000 | 248 |
| /30 | 11111100 | 252 |
📏 FLSM이란?
Fixed Length Subnet Mask
= 모든 서브넷을 똑같은 크기로 자르는 방식
- FLSM → 피자를 똑같이 자르기
- VLSM → 피자를 필요한 만큼 자르기
FLSM의 핵심 규칙
무조건 2의 제곱수로만 나눌 수 있음
3개 필요 → 2² = 4개짜리로 나누고 3개 사용
(1개는 여분으로 낭비됨 → FLSM의 단점)
🧮 103번 문제 풀이
문제: 192.168.1.0/24 네트워크를 FLSM 방식으로 3개의 서브넷으로 나눴을 때, 두 번째 네트워크의 브로드캐스트 IP 주소를 10진수로 쓰시오.
Step 1. 몇 비트 빌릴까?
3개의 서브넷 필요 → 2ⁿ ≥ 3
2¹ = 2 ❌
2² = 4 ✅ → 2비트 차용
Step 2. 새 CIDR
기존: /24
빌린 비트: +2
새 CIDR: /26
Step 3. 서브넷당 IP 개수
2^(32-26) = 2⁶ = 64개
호스트 수 = 64 - 2 = 62개
Step 4. 서브넷 목록
| 순번 | 네트워크 주소 | 호스트 범위 | 브로드캐스트 |
|---|---|---|---|
| 1번 | 192.168.1.0/26 | .1 ~ .62 | 192.168.1.63 |
| 2번 | 192.168.1.64/26 | .65 ~ .126 | 192.168.1.127 ✅ |
| 3번 | 192.168.1.128/26 | .129 ~ .190 | 192.168.1.191 |
| (여분) | 192.168.1.192/26 | .193 ~ .254 | 192.168.1.255 |
시작: 0
+64 → 64 (2번째 서브넷 시작)
+64 → 128 (3번째 서브넷 시작)
2번째 브로드캐스트 = 3번째 시작 - 1 = 128 - 1 = 127
✅ 정답: 192.168.1.127
💡 핵심 공식 모음
1. 호스트 수 = 2^(32 - /숫자) - 2
2. 새 CIDR = 기존 /숫자 + 빌린 비트 수
3. 브로드캐스트 = 다음 서브넷 시작주소 - 1
4. 서브넷당 크기 = 2^(32 - 새 CIDR)
🔄 FLSM 풀이 흐름 요약
① 필요한 서브넷 수 확인
② 2ⁿ ≥ 서브넷 수 → n비트 차용
③ 새 CIDR = 기존 /숫자 + n
④ 서브넷당 IP = 2^(32 - 새 CIDR)
⑤ 0부터 서브넷 크기만큼 증가하며 목록 작성
⑥ 브로드캐스트 = 다음 서브넷 시작 - 1