1. 서브넷팅(Subnetting)
- 목적: IP 주소 낭비 방지
- 방법: 원본 네트워크를 여러 개의 네트워크로 분리하는 계산 작업
Ex1) 서브넷팅

▶ 서브넷팅 -> C Class 하나로 IP 할당 가능
- 원본 네트워크: 198.133.219.0/24 -> IP 개수: 2^8 - 2 = 254개
- 서브넷 개수: 5개 이상 (내부 네트워크 3개 + WAN 구간 2개, IP 할당이 필요한 네트워크 개수)
- 최대 필요한 IP 주소 개수: 29개
-> 2^x - 2 >= 29개
※ WAN 구간에선 IP 2개 필요, 내부 네트워크는 Host 개수만큼 필요하다.
| 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
즉, x = 4이면 IP 개수가 부족하고, x = 6이면 IP 낭비가 발생하며, 심지어는 서브넷 개수가 부족할 수도 있다.
때문에, x = 5가 가장 적합하다.
-> 2^5 - 2 = 30개 (host id = 5 -> IP 30개)
198.133.219.000 00000
255.255.255.000 00000
255.255.255.111 00000 -> 255.255.255.224 -> /27
198.133.219.000 00000 -> 198.133.219.0 ~ 198.133.219.31 (네트워크 이름 ~ 서브넷 브로드캐스트 주소)
198.133.219.001 00000 -> 198.133.219.32 ~ 198.133.219.63
198.133.219.010 00000 -> 198.133.219.64 ~ 198.133.219.95
198.133.219.011 00000 -> 198.133.219.96 ~ 198.133.219.127
198.133.219.100 00000 -> 198.133.219.128 ~ 198.133.219.159
198.133.219.101 00000 -> 198.133.219.160 ~ 198.133.219.191
198.133.219.110 00000 -> 198.133.219.192 ~ 198.133.219.223
198.133.219.111 00000 -> 198.133.219.224 ~ 198.133.219.255
설정 가능한 IP 주소 범위에선 서브넷별 네트워크 이름, 서브넷 브로드캐스트 주소를 빼주어야 한다.
※ 0 -> 32 -> 64 -> ... -> 224: 32씩 증가 (규칙 존재)
이렇게 되면 사용 가능한 IP가 30개씩 있는 서브넷이 총 8개 만들어진다.
즉, /27 mask를 사용해야 한다. (서브넷팅)
서브넷별 네트워크 이름
- 198.133.219.0/27
- 198.133.219.32/27
- 198.133.219.64/27
- 198.133.219.96/27
- 198.133.219.128/27
- 198.133.219.160/27
- 198.133.219.192/27
- 198.133.219.224/27
Ex2) 141.160.7.148/24
- 네트워크 이름? 141.160.7.0/24
- 서브넷 브로드캐스트 주소? 141.160.7.255
※ 네트워크 이름 작성시, prefix도 꼭 작성해 주어야 한다.
Ex3) 141.160.7.148/27
- 네트워크 이름? 141.160.7.128/27
- 서브넷 브로드캐스트 주소? 141.160.7.159
141.160.7.100 10100
255.255.255.111 00000
-> 141.160.7.100 00000 ~ 141.160.7.100 11111
255.255.255.11100000 (스킬: 32에서 1이 처음 등장 -> 32씩 증가)
- 0
- 32
- 64
- 96
- 128 ~ 159 <- 148
- 160
- 192
- 224
Ex4) 182.167.211.0/27 네트워크 이름에 포함되는 설정 가능한 IP 주소 범위를 구하여라.
255.255.255.11100000
-> 32에서 1이 처음 등장하므로 32씩 증가
- 0 ~ 31
- 32
이때, 네트워크 이름과 서브넷 브로드캐스트 주소는 설정 가능한 IP 주소 범위에서 제외되므로
설정 가능한 IP 주소 범위는 182.167.211.1 ~ 182.167.211.30 이다.
Ex5) 132.21.128.0/23 네트워크 이름에 포함되는 설정 가능한 IP 주소 범위를 구하여라.
255.255.11111110.0
-> 4번째 옥텟이 아닌 3번째 옥텟을 봤을 때 2에서 1이 처음 등장하므로 2씩 증가
- 0.0
- 2.0
- 4.0
- ...
- 128.0 ~ 129.255
- 130.0
설정 가능한 IP 주소 범위는 132.21.128.1 ~ 132.21.129.254 이다.
⭐ CCNA 기출 문제

172.16.4.0/21이라고 나와있으므로, 255.255.11111000.0, 즉 A이다.

user가 30-40명인 층이 총 8층짜리라는 것은 ip가 40*8(320)개는 있어야 한다는 의미이다.
2^x - 2 >= 320
x = 9 (host id 개수)
-> /23 -> 255.255.11111110.0 -> 255.255.254.0, 즉 A이다.

/25 -> 255.255.255.10000000 (128에서 처음 1이 시작되므로 128씩 증가)
0 ~ 127 <- 192.168.25.100/25
128 ~ 255 <- 192.168.25.128/25
256 ~ 383
즉, 둘은 현재 다른 네트워크이다.
192.168.25.100 -> 192.168.25.01100100
192.168.25.128 -> 192.168.25.10000000
같은 네트워크로서 통신하기 위해서 서브넷 마스크가 255.255.255.0이여야 한다.

2^x - 2 >= 20
x = 5
-> 255.255.255.11100000 -> 255.255.255.224 (서브넷 마스크)
즉, 정답은 B or D이다.
B: 10.10.225.001 10000
D: 10.10.225.001 00000
이때, 문제가 "Which IPv4 network and subnet mask", 즉 네트워크와 서브넷 마스크를 고르라고 한 것이다.
때문에 네트워크 이름에 해당하는 D가 정답이다. (32씩 증가하는 성질을 이용하면 32의 배수가 네트워크 이름임을 알 수 있음)
※ 서브넷 계산기
- https://www.site24x7.com/tools/ipv4-subnetcalculator.html
- https://www.solarwinds.com/free-tools/advanced-subnet-calculator
2. VLSM(Variable Length Subnet Mask)
서브넷팅을 실시한 서브넷의 서브넷 마스크를 더 조정하여 IP 주소 낭비를 최소화하는 기능이다.

▶ 원본 네트워크: 133.200.0.0/16
원본 네트워크 IP 개수: 2^16 -2 = 65,534개
서브넷 개수: LAN 8개 + WAN 7개 = 15개 이상
최대 필요한 IP 주소 개수: 4000개
※ 시스템이 많을 수록 브로드캐스트 양이 많아져 내부 네트워크의 퍼포먼스가 떨어지기에 권장 사항은 네트워크당 254개이다.
2^x - 2 >=4000
x = 12
2^12 - 2 = 4094개
133.200.0000 0000.00000000
255.255.0000 0000.00000000
-> 255.255.1111 0000.00000000 -> 255.255.240.0 -> /20
133.200.0000 0000.00000000 -> 133.200.0.0 ~ 133.200.15.255 -> Host 4000개 구간 할당
133.200.0001 0000.00000000 -> 133.200.16.0 ~ 133.200.31.255 -> Host 3500개 구간 할당
133.200.0010 0000.00000000 -> 133.200.32.0 ~ 133.200.47.255 -> Host 2500개 구간 할당
133.200.0011 0000.00000000 -> 133.200.48.0 ~ 133.200.63.255
133.200.0100 0000.00000000 -> 133.200.64.0 ~ 133.200.79.255
...
133.200.1111 0000.00000000 -> 133.200.240.0 ~ 133.200.255.255
-> IP 개수 4094짜리인 서브넷 16개 중 3개 할당하여 13개 남음
Host 개수가 2046개 이하인 네트워크엔 서브넷팅한 것을 또 서브넷팅하여 할당하자! (VLSM)
133.200.0011 0000.00000000 -> 133.200.48.0 ~ 133.200.63.255 -> VLSM
133.200.0100 0000.00000000 -> 133.200.64.0 ~ 133.200.79.255
...
133.200.1111 0000.00000000 -> 133.200.240.0 ~ 133.200.255.255
-> 4094짜리 서브넷은 12개 남음
1) Host 1000개 구간 VLSM
- 133.200.0011 0000.00000000 -> 133.200.48.0 ~ 133.200.63.255
원본 네트워크: 133.200.48.0/20 -> 2^12 - 2 = 4094개
2^x - 2 >= 1000
x = 10
2^10 - 2 = 1022개
133. 200.0011 00 00.00000000
255.255.1111 11 00.00000000 -> 255.255.252.0 -> /22
133.200.0011 00 00.00000000 -> 133.200.48.0 ~ 133.200.51.255 -> Host 1000개 구간 할당
133.200.0011 01 00.00000000 -> 133.200.52.0. ~ 133.200.55.255 -> VLSM
133.200.0011 10 00.00000000 -> 133.200.56.0 ~ 133.200.59.255
133.200.0011 11 00.00000000 -> 133.200.60.0 ~ 133.200.63.255
-> 4094개 서브넷 12개, 1022개 서브넷 2개 남음
2) Host 500개 구간 VLSM
- 133.200.0011 01 00.00000000 -> 133.200.52.0. ~ 133.200.55.255
원본 네트워크: 133.200.52.0/22 -> 2^10 = 1022개
2^x -2 >= 500
x = 9
2^9 - 2 = 510개
133.200.001101 0 0.00000000 -> 133.200.52.0 ~ 133.200.53.255 -> Host 500개 구간 할당
133.200.001101 1 0.00000000 -> 133.200.54.0 ~ 133.200.55.255 -> VLSM
-> 여전히 4094개 서브넷 12개, 1022개 서브넷 2개 남음
3) Host 230개 구간 VLSM
- 133.200.001101 1 0.00000000 -> 133.200.54.0 ~ 133.200.55.255
원본 네트워크: 133.200.54.0/23 -> 2^9 = 510개
2^x -2 >= 230
x=8
2^8 - 2 = 254개
133.200.0011011 0.00000000 -> 133.200.54.0 ~ 133.200.54.255 -> Host 230개 구간 할당
133.200.0011011 1.00000000 -> 133.200.55.0 ~ 133.200.55.255 -> VLSM
-> 여전히 4094개 서브넷 12개, 1022개 서브넷 2개 남음
4) Host 25, 22개 구간 VLSM
- 133.200.0011011 1.00000000 -> 133.200.55.0 ~ 133.200.55.255
원본 네트워크: 133.200.55.0/24 -> 2^8 - 2 = 254개
2^x - 2 >= 25
x=5
2^5 - 2 = 30개
133.200.55.000 00000 -> 133.200.55.0 ~ 133.200.55.31 -> Host 25개 구간 할당
133.200.55.001 00000 -> 133.200.55.32 ~ 133.200.55.63 -> Host 22개 구간 할당
133.200.55.010 00000 -> 133.200.55.64 ~ 133.200.55.95 -> VLSM
133.200.55.011 00000 -> 133.200.55.96 ~ 133.200.55.127
...
133.200.00110111.111 00000 -> 133.200.55.224 ~ 133.200.55.255
-> 4094개 서브넷 12개, 1022개 서브넷 2개, 254개 서브넷 5개 남음
6) WAN P2P 구간 7개 VLSM
- 133.200.55.010 00000 -> 133.200.55.64 ~ 133.200.55.95
원본 네트워크: 133.200.55.64/27 -> 2^5 - 2 = 30개
2^x - 2 >= 2
x =2
2^2 - 2 = 2개
133.200.55.010 000 00 -> 133.200.55.64 ~ 133.200.55.67
133.200.55.010 001 00 -> 133.200.55.68 ~ 133.200.55.71
...
133.200.55.010 111 00 -> 133.200.55.92 ~ 133.200.55.95
-> 2개 서브넷 8개 중 7개 WAN P2P 구간에 할당
※ P2P: Point-to-Point
-> 총 4094개 서브넷 12개, 1022개 서브넷 2개, 254개 서브넷 5개, 2개 서브넷 1개 남음

▶ VLSM 개념
Ex1) 다음 환경은 서브넷팅만 실시한 환경인가? 아님 VLSM까지 실시된 환경인가?

▶ 확실히 알 수 X
A 클래스는 기본 IP가 1600만 개짜리이기에 이를 한 번에 254개짜리로 서브넷팅하는 경우는 거의 없다.
때문에 VLSM까지 실시되었을 가능성이 높으나, 확신할 수는 없다.
Ex2) 다음 환경은 서브넷팅만 실시한 환경인가? 아님 VLSM까지 실시된 환경인가?

▶ VLSML까지 실시된 환경
mask가 24, 30으로 다양하기에 VLSM까지 실시되었음을 알 수 있고, 원본 네트워크는 A Class의 13이라고 볼 수 있다.
※ /31 -> 2^1 - 2 = 0 이기에 IP 설정 불가능, /30 -> 2^2 - 2 = 이기에 매무 자주 사용 (라우터 간 연결)
3. 주소 요약
서브넷팅 및 VLSM을 실시한 IP 대역들을 효율적으로 관리하기 위해서 주소 요약이 필요하다. 또한, 라우터와 라우터 간에 라우팅 업데이트를 진행할 때 경로 정보를 최소화하기 위해서 주소 요약이 필요하다.
※ 라우팅 업데이트: 라우터 간에 서로 경로를 교환하는 것을 말하며, 이때 경로가 여러 개이기 때문에 라우팅 업데이트시 주고받는 정보의 양을 줄이기 위해 주소 요약이 필요하다.
1) 클래스풀 요약
클래스 기본 서브넷 마스크를 기준으로 요약하는 방법이며 권장하지 않는다.
- 네트워크 이름이 중첩이 되고, 요약하는 범위가 너무 크기 때문에 현재는 사용하지 않음
Ex1) A 클래스(255.0.0.0 -> /8)

▶ A 클래스 클래스풀 요약
Ex2) B 클래스(255.255.0.0 -> /16)

▶ B 클래스 클래스풀 요약
Ex3) C 클래스(255.255.255.0 -> /24)

▶ C 클래스 클래스풀 요약
2) 상세 요약
Ex1) 클래스풀 요약 -> 상세 요약

Ex2) 원본 네트워크 아이디가 서로 다른 경우 -> 클래스풀 요약 X -> 상세 요약 X -> 그냥 앞으로 요약 (단순 CIDR 표기)

/24까지도 비트가 똑같지 않기 때문에 상세 요약은 커녕 클래스풀 요약 조차도 불가능하다. 때문에 과거엔 요약이 불가했지만 현재는 단순 CIDR를 표기하는 방식으로 앞으로 요약하는 방식을 사용한다. (e.g., /24 -> /21)
※ CIDR: IP 주소에 '서브넷 마스크 길이'를 슬래시(/) 뒤에 붙여서 표현하는 방식이다. -> IP주소/Prefix길이
- A Class: 10.0.0.0 ~ 10.255.255.255 (대) -> 10.0.0.0/8
- B Class: 172.16.0.0 ~ 172.31.255.255 (중) -> 172.16.0.0/12
- C Class 192.168.0.0 ~ 192.168.255.255 (소) -> 192.168.0.0/16
3) 주소 요약 예제
Ex1) A 클래스 IP 주소를 상세 요약하여라.
0 0000000. 0 1111111.
-> A 클래스 IP 주소: 0.0.0.0 ~ 127.255.255.255
0 0000000.00000000.00000000.00000000
0 0000000.00000000.00000000.00000001
~
0 1111111.11111111.11111111.11111111
-> 서브넷 마스크: 10000000.0.0.0 -> 128.0.0.0 -> /1
요약 -> 0.0.0.0/1
Ex2) B 클래스 IP 주소를 상세 요약하여라.
10 000000. 10 111111.
-> B 클래스 IP 주소: 128.0.0.0 ~ 191.255.255.255
10 000000.00000000.00000000.00000000
10 000000.00000000.00000000.00000001
~
10 111111.11111111.11111111.11111111
-> 서브넷 마스크: 11000000.0.0.0 -> 192.0.0.0 -> /2
요약 -> 128.0.0.0/2
Ex3) C 클래스 IP 주소를 상세 요약하여라.
110 00000. 110 11111.
-> C 클래스 IP 주소: 192.0.0.0 ~ 223.255.255.255
110 00000.00000000.00000000.00000000
110 00000.00000000.00000000.00000001
~
110 11111.11111111.11111111.11111111
-> 서브넷 마스크: 11100000.0.0.0 -> 125.0.0.0 -> /3
요약 -> 192.0.0.0/3
Ex4) 요약 IP 정보인 '121.160.0.0/13'에 포함되는 IP 주소 범위는 어떻게 되는가?
121.160.0.0/13 -> 121.10100000.0.0/13
121.10100 000.0.0
~
121.10100 111.255.255
IP 주소 범위: 121.160.0.0 ~ 121.167.255.255
※ IP 주소 전체를 요약하면 '0.0.0.0/0' 이다.
와일드카드 마스크
서브넷 마스크를 0 <-> 1 한 것을 말한다.
- e.g., 서브넷 마스크: 255.255.0.0 / 255.255.255.252 -> 와일드카드 마스크: 0.0.255.255 / 0.0.0.3
와일드카드 마스크 사용 예제 1
192.168.1.0/24 ~ 192.168.255.0/24 중에 3번째 옥텟이 홀수인 서브넷을 한 줄로 정의하여라.
192.168.0000000 1.0
192.168.0000001 1.0
192.168.0000010 1.0
192.168.0000011 1.0
~
192.168.1111111 1.0
-> 255.255.00000001.0 이기에 서브넷 마스크 표기 불가 (서브넷 마스크 규칙: 1이 앞에서부터 연속되어야 함)
이럴 때 규칙이 없는 와일드카드 마스크를 사용하면 된다.
255.255.00000001.0 -> 0.0.11111110.255 -> 0.0.254.255
한 줄로 정의: 192.168.1.0 0.0.254.255
와일드카드 마스크 사용 예제 2
192.168.1.0/24 ~ 192.168.3.0/24, 192.168.8.0/24 ~ 192.168.11.0/24 서브넷을 한 줄로 정의하여라.
192.168.0000 0 0 01.0
192.168.0000 0 0 10.0
192.168.0000 0 0 11.0
192.168.0000 1 0 00.0
192.168.0000 1 0 01.0
192.168.0000 1 0 10.0
192.168.0000 1 0 11.0
-> 255.255.11110100.0 (마지막 옥텟은 0 ~ 255 이기에 서브넷 마스크 255 아님 주의)
와일드카드 마스크: 0.0.00001011.255 -> 0.0.11.255
한 줄로 정의: 192.168.0.0 0.0.11.255
와일드카드 마스크 사용 예제 3
192.168.5.0/24, 192.168.7.0/24, 192.168.10.0/24, 192.168.14.0/24 서브넷을 두 줄로 정의하여라.
두 줄로 정의하는 것은 홀수는 홀수끼리 짝수는 짝수끼리 묶으면 된다.
192.168.000001 0 1.0
192.168.000001 1 1.0
-> 255.255.111111 0 1.0 -> 0.0.00000010.255 -> 0.0.2.255
192.168.00001 0 10.0
192.168.00001 1 10.0
-> 255.255.11111 0 11.0 -> 0.0.00000100.255 -> 0.0.4.255
두 줄로 정의: 192.168.5.0 0.0.2.255 / 192.168.10.0 0.0.4.255
'Network > CCNA' 카테고리의 다른 글
| [IP 라우팅] - 1. Cisco IOS 명령어 (1) | 2025.09.03 |
|---|---|
| [TCP/IP] - 6. IP 주소 특징 (6) | 2025.08.04 |
| [TCP/IP] - 5. 와이어샤크 필터 (3) | 2025.07.29 |
| [TCP/IP] - 4. 데이터 전송 프로토콜 (6) | 2025.07.24 |
| [TCP/IP] - 3. TCP&UDP 서비스 (0) | 2025.07.16 |