서브넷 마스크 계산법, CIDR

정지범·3일 전

🌐 서브넷 마스크(Subnet Mask) & CIDR 계산법

정보처리기사 실기에서 IP 주소, 서브넷 마스크, CIDR을 이용하여 다음과 같은 값을 구하는 문제가 출제될 수 있다.

  • 서브넷 마스크
  • 네트워크 주소
  • 브로드캐스트 주소
  • 사용 가능한 호스트 범위
  • 사용 가능한 호스트 개수
  • CIDR 값
  • 동일 네트워크 여부
  • 네트워크 분할(FLSM)

처음에는 복잡해 보이지만 핵심 규칙 몇 개만 알고 있으면 대부분 계산할 수 있다.


1. IPv4 기본 구조

IPv4 주소는 다음과 같이 4개의 숫자로 구성된다.

192.168.10.77

.을 기준으로 나누면

192 | 168 | 10 | 77

각각의 칸을 옥텟(Octet) 이라고 한다.

각 옥텟은 8bit이고 총 4개의 옥텟이 존재하므로

8bit × 4 = 32bit

즉,

IPv4 주소의 전체 크기는 32bit이다.

각 옥텟은

0 ~ 255

의 값을 가질 수 있다.


2. 기본 용어

서브넷(Subnet)

큰 네트워크를 여러 개의 작은 네트워크로 나눈 것이다.

예를 들어 하나의 회사 네트워크를

개발팀
인사팀
회계팀

등으로 나누어 관리할 수 있다.


서브넷 마스크(Subnet Mask)

IP 주소에서

네트워크 부분 | 호스트 부분

을 구분하기 위해 사용하는 값이다.

예를 들어

255.255.255.0

과 같은 형태로 표현한다.


CIDR

서브넷 마스크를 /숫자 형태로 간단하게 표현하는 방법이다.

예를 들어

192.168.10.77/24

에서

/24

가 CIDR 표기이다.

/24는 IPv4의 32bit 중

네트워크 비트 : 24bit
호스트 비트   : 8bit

를 사용한다는 의미이다.


프리픽스(Prefix)

CIDR에서 / 뒤에 붙는 숫자를 의미한다.

/26

이라면 Prefix는

26

이다.


호스트(Host)

해당 네트워크에 연결되어 IP 주소를 할당받는 장비를 의미한다.

예를 들면

PC
서버
라우터
프린터

등이 있다.


네트워크 주소(Network Address)

하나의 네트워크 범위에서 가장 첫 번째 주소이다.

해당 네트워크 자체를 나타내기 때문에 일반적으로 장비에 할당하지 않는다.


브로드캐스트 주소(Broadcast Address)

하나의 네트워크 범위에서 가장 마지막 주소이다.

해당 네트워크에 속한 모든 장비에 데이터를 전달하기 위해 사용하기 때문에 일반적으로 장비에 할당하지 않는다.


3. CIDR의 의미

다음 주소가 있다고 하자.

192.168.10.77/26

IPv4는 총

32bit

이다.

여기에서 /26은

네트워크 비트 = 26bit

라는 의미이다.

따라서 호스트 비트는

32 - 26 = 6bit

이다.

즉,

네트워크 : 26bit
호스트   : 6bit

이다.

⭐ 중요

/26 = 호스트 비트가 26개

가 아니다.

반드시

/26 = 네트워크 비트가 26개

로 기억한다.


4. 서브넷 마스크의 비트 값

한 옥텟은 8bit이며 각 비트의 값은 다음과 같다.

128  64  32  16  8  4  2  1

네트워크 부분은 1, 호스트 부분은 0으로 표현한다.

모든 비트가 1이면

11111111

이고,

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 255

가 된다.

따라서

11111111 = 255

이다.


5. /26이 255.255.255.192인 이유

/26은 네트워크 비트를 26개 사용한다.

앞의 3개 옥텟에서

8 + 8 + 8 = 24bit

를 사용한다.

그러면 추가로

26 - 24 = 2bit

가 필요하다.

마지막 옥텟의 앞쪽 2bit를 사용하면

11000000

이다.

각 비트 값을 계산하면

128 + 64 = 192

따라서

/26
= 255.255.255.192

가 된다.


6. 꼭 알아둘 서브넷 마스크 값

마지막 옥텟의 비트를 하나씩 채우면 다음과 같다.

10000000 = 128
11000000 = 192
11100000 = 224
11110000 = 240
11111000 = 248
11111100 = 252
11111110 = 254
11111111 = 255

즉 마스크 숫자는 다음 순서로 증가한다.

128 → 192 → 224 → 240 → 248 → 252 → 254 → 255

7. 자주 사용하는 CIDR 표

CIDR서브넷 마스크블록 크기전체 주소사용 가능 호스트
/22255.255.252.04 (3번째 옥텟)10241022
/23255.255.254.02 (3번째 옥텟)512510
/24255.255.255.0256256254
/25255.255.255.128128128126
/26255.255.255.192646462
/27255.255.255.224323230
/28255.255.255.240161614
/29255.255.255.248886
/30255.255.255.252442

⭐ 시험에서 특히 많이 보는 범위

/24 = 255.255.255.0
/25 = 255.255.255.128
/26 = 255.255.255.192
/27 = 255.255.255.224
/28 = 255.255.255.240
/29 = 255.255.255.248
/30 = 255.255.255.252

8. 블록 크기 계산법 ⭐

서브넷 문제에서 가장 중요한 계산이다.

서브넷 마스크에서

255도 아니고 0도 아닌 값

을 찾는다.

그리고

256 - 해당 값

을 계산한다.

이 값이 블록 크기(Block Size) 이다.

예를 들어

255.255.255.192

라면

256 - 192
= 64

따라서 주소가

64개씩

나뉜다.

범위는

0   ~ 63
64  ~ 127
128 ~ 191
192 ~ 255

가 된다.

⭐ 암기

마스크는 왼쪽부터 채우고, 블록 크기는 256에서 뺀다.


9. 네트워크 주소와 브로드캐스트 주소 계산

예제

192.168.10.77/26

STEP 1. /26의 서브넷 마스크

/26
= 255.255.255.192

STEP 2. 블록 크기

256 - 192
= 64

STEP 3. 주소 범위 나누기

0   ~ 63
64  ~ 127
128 ~ 191
192 ~ 255

IP 주소의 마지막 값은

77

이므로

64 ~ 127

범위에 들어간다.


STEP 4. 네트워크 주소

범위의 첫 번째 주소가 네트워크 주소이다.

192.168.10.64

STEP 5. 브로드캐스트 주소

범위의 마지막 주소가 브로드캐스트 주소이다.

192.168.10.127

STEP 6. 사용 가능한 호스트 범위

네트워크 주소와 브로드캐스트 주소는 제외한다.

따라서

192.168.10.65
~
192.168.10.126

이다.

정리하면

구분결과
IP192.168.10.77/26
서브넷 마스크255.255.255.192
네트워크 주소192.168.10.64
브로드캐스트 주소192.168.10.127
사용 가능 호스트192.168.10.65 ~ 192.168.10.126
사용 가능 호스트 수62개

10. 사용 가능한 호스트 개수 계산

호스트 비트가 n개라면 전체 주소 개수는

2^n

이다.

일반적인 IPv4 서브넷 문제에서는

네트워크 주소
브로드캐스트 주소

두 개를 사용할 수 없으므로

사용 가능한 호스트 수 = 2^n - 2

로 계산한다.


예제 : /26

IPv4 전체는 32bit이다.

32 - 26 = 6

호스트 비트는 6개이다.

전체 주소는

2^6 = 64

사용 가능한 호스트는

64 - 2
= 62개

예제 : /28

32 - 28 = 4

전체 주소

2^4 = 16

사용 가능한 호스트

16 - 2
= 14개

11. /22, /23은 세 번째 옥텟을 계산한다

항상 마지막 옥텟을 계산하는 것은 아니다.

예를 들어

255.255.252.0

을 보자.

255도 아니고 0도 아닌 숫자인

252

가 세 번째 옥텟에 있다.

따라서 IP 주소에서도 세 번째 옥텟을 계산해야 한다.


12. /22 계산

/22
= 255.255.252.0

블록 크기는

256 - 252
= 4

따라서 세 번째 옥텟이

0 ~ 3
4 ~ 7
8 ~ 11
12 ~ 15
...
28 ~ 31
32 ~ 35
36 ~ 39
...

와 같이 4씩 나뉜다.


예제

192.168.35.10/22

세 번째 옥텟은

35

이다.

35가 들어가는 범위는

32 ~ 35

이다.

따라서

네트워크 주소
192.168.32.0
브로드캐스트 주소
192.168.35.255

사용 가능한 호스트는

192.168.32.1
~
192.168.35.254

이다.


13. /23 계산

/23
= 255.255.254.0

블록 크기는

256 - 254
= 2

따라서 세 번째 옥텟이

0 ~ 1
2 ~ 3
4 ~ 5
6 ~ 7
8 ~ 9
10 ~ 11
12 ~ 13
...

형태로 나뉜다.


예제

192.168.11.20/23

세 번째 옥텟

11

은

10 ~ 11

범위에 들어간다.

따라서 네트워크 주소는

192.168.10.0

이다.

반면

192.168.12.20/23

이라면 12는

12 ~ 13

범위에 들어가므로 네트워크 주소는

192.168.12.0

이다.


14. 같은 네트워크인지 확인하는 방법

예를 들어

192.168.10.200/23
192.168.11.30/23

두 주소가 있다고 하자.

/23은

255.255.254.0

이고 블록 크기는

256 - 254
= 2

이다.

따라서 세 번째 옥텟 범위는

0~1
2~3
4~5
...
10~11
12~13

이다.

첫 번째 IP의 세 번째 옥텟

10

두 번째 IP의 세 번째 옥텟

11

모두

10~11

범위에 속한다.

따라서 두 IP의 네트워크 주소는 모두

192.168.10.0/23

이므로

두 IP는 같은 네트워크에 속한다.


15. FLSM

FLSM(Fixed Length Subnet Mask) 은 하나의 네트워크를 동일한 크기의 여러 서브넷으로 나누는 방법이다.

예를 들어

192.168.1.0/24

네트워크를 최소 3개의 동일한 네트워크로 나눈다고 하자.

서브넷은

2개
4개
8개
16개
...

와 같이 2의 거듭제곱 단위로 나눌 수 있다.

따라서 정확하게 3개로 동일하게 나누는 것이 아니라

최소 3개 필요
→ 4개로 분할

한다.


16. /24를 4개의 네트워크로 나누기

원래

/24

의 전체 주소는

256개

이다.

4개로 나누면

256 / 4
= 64

따라서 각각 64개의 주소를 갖는다.

범위는

서브넷주소 범위네트워크 주소브로드캐스트
10~63192.168.1.0192.168.1.63
264~127192.168.1.64192.168.1.127
3128~191192.168.1.128192.168.1.191
4192~255192.168.1.192192.168.1.255

17. 왜 /24가 /26이 되는가?

4개의 네트워크를 구분하려면

00
01
10
11

처럼 2bit가 필요하다.

기존 네트워크 비트는

/24

였으므로 2bit를 추가하면

24 + 2
= 26

따라서

/26

이 된다.

즉,

/24를 2개로 분할 → /25
/24를 4개로 분할 → /26
/24를 8개로 분할 → /27
/24를 16개로 분할 → /28

이다.

⭐ 암기

2개  → +1bit
4개  → +2bit
8개  → +3bit
16개 → +4bit

18. 필요한 호스트 수로 CIDR 구하기

이번에는 반대로

장비 N대를 연결하려면 CIDR이 몇이어야 하는가?

를 구할 수 있다.

예를 들어 장비가

50대

필요하다고 하자.

호스트 비트가 5bit이면

2^5 = 32
32 - 2 = 30

30대밖에 사용할 수 없다.

부족하다.

6bit이면

2^6 = 64
64 - 2 = 62

62대까지 사용할 수 있다.

50대를 수용할 수 있다.

따라서 호스트 비트는

6bit

가 필요하다.

IPv4 전체가 32bit이므로

32 - 6
= 26

따라서 정답은

/26

이다.


19. 장비 70대가 필요하다면?

6bit의 경우

2^6 - 2
= 62

부족하다.

7bit의 경우

2^7 - 2
= 126

70대를 수용할 수 있다.

따라서

32 - 7
= 25

정답은

/25

이다.


20. 장비 500대가 필요하다면?

8bit라면

2^8 - 2
= 254

부족하다.

9bit라면

2^9 - 2
= 510

500대를 수용할 수 있다.

따라서

32 - 9
= 23

정답은

/23

이다.


21. 시험 문제 풀이 순서 ⭐⭐⭐

서브넷 문제가 나오면 다음 순서대로 계산하면 된다.

STEP 1

서브넷 마스크에서

255도 아니고 0도 아닌 숫자

가 있는 옥텟을 찾는다.


STEP 2

블록 크기를 계산한다.

256 - 마스크 값

STEP 3

IP 주소의 같은 위치에 있는 옥텟을 확인한다.


STEP 4

해당 숫자가 어느 블록에 포함되는지 찾는다.

예를 들어 블록 크기가 32라면

0~31
32~63
64~95
96~127
128~159
160~191
192~223
224~255

이다.


STEP 5

블록의 첫 번째 주소

= 네트워크 주소

STEP 6

블록의 마지막 주소

= 브로드캐스트 주소

STEP 7

사용 가능한 호스트 범위

네트워크 주소 + 1
~
브로드캐스트 주소 - 1

22. 실전 예제 1

172.16.8.201/27

/27의 서브넷 마스크는

255.255.255.224

블록 크기

256 - 224
= 32

범위

0~31
32~63
64~95
96~127
128~159
160~191
192~223
224~255

201은

192~223

에 들어간다.

따라서

네트워크 주소
172.16.8.192
브로드캐스트 주소
172.16.8.223

사용 가능 호스트

172.16.8.193
~
172.16.8.222

23. 실전 예제 2

192.168.50.141/28

/28은

255.255.255.240

블록 크기

256 - 240
= 16

범위

0~15
16~31
32~47
48~63
64~79
80~95
96~111
112~127
128~143
144~159
...

141은

128~143

범위이다.

따라서

네트워크 주소
192.168.50.128
브로드캐스트 주소
192.168.50.143

사용 가능한 호스트

192.168.50.129
~
192.168.50.142

24. 실전 예제 3 - /21

172.20.18.40/21

/21을 서브넷 마스크로 변환하면

255.255.248.0

이다.

왜 248인가?

세 번째 옥텟에서 5bit를 사용하므로

128 + 64 + 32 + 16 + 8
= 248

블록 크기

256 - 248
= 8

세 번째 옥텟의 범위는

0~7
8~15
16~23
24~31
...

IP의 세 번째 옥텟은

18

이므로

16~23

범위에 들어간다.

따라서

네트워크 주소
172.20.16.0
브로드캐스트 주소
172.20.23.255

이다.


25. 실전 예제 4 - /30

192.0.2.8/30

/30은

255.255.255.252

블록 크기

256 - 252
= 4

따라서

8~11

이 하나의 네트워크이다.

8  = 네트워크 주소
9  = 사용 가능
10 = 사용 가능
11 = 브로드캐스트 주소

따라서 장비에 할당 가능한 주소는

192.0.2.9
192.0.2.10

이다.


26. 시험에서 자주 틀리는 부분 ⚠️

① /26을 호스트 비트라고 생각하는 경우

❌

/26 = 호스트 비트 26개

⭕️

/26 = 네트워크 비트 26개

호스트 비트
= 32 - 26
= 6개

② 마스크 값을 블록 크기로 착각

예를 들어

255.255.255.192

라고 해서 블록 크기가 192가 아니다.

256 - 192
= 64

따라서 블록 크기는

64

이다.


③ 네트워크 주소와 브로드캐스트 주소를 호스트로 사용

예를 들어

192.168.1.64 ~ 192.168.1.127

이라면

192.168.1.64
= 네트워크 주소

192.168.1.127
= 브로드캐스트 주소

이므로 실제 사용 가능한 주소는

192.168.1.65
~
192.168.1.126

이다.


④ 무조건 마지막 옥텟만 계산

예를 들어

255.255.252.0

에서는 252가 세 번째 옥텟에 있다.

따라서 IP 주소의

세 번째 옥텟

을 계산해야 한다.


⑤ 3개의 서브넷이 필요하면 3개로 나눈다고 생각

동일한 크기의 서브넷은

2
4
8
16
32
...

와 같이 나뉜다.

따라서

최소 3개 필요
→ 4개로 분할

한다.


27. 빠르게 외우는 방법 ⭐

마스크 값

128
192
224
240
248
252
254
255

/24 이후 CIDR

/25 → 128
/26 → 192
/27 → 224
/28 → 240
/29 → 248
/30 → 252

블록 크기

/25 → 128
/26 → 64
/27 → 32
/28 → 16
/29 → 8
/30 → 4

즉 /25부터 보면

128 → 64 → 32 → 16 → 8 → 4

계속 절반으로 줄어든다.


사용 가능한 호스트 수

/25 → 126
/26 → 62
/27 → 30
/28 → 14
/29 → 6
/30 → 2

28. 시험 직전 핵심 공식 ⭐⭐⭐

IPv4 전체 비트

32bit

호스트 비트

32 - CIDR

전체 주소 개수

2^(호스트 비트)

사용 가능한 호스트 수

2^(호스트 비트) - 2

블록 크기

256 - 서브넷 마스크의 기준 옥텟 값

네트워크 주소

해당 블록의 첫 번째 주소

브로드캐스트 주소

해당 블록의 마지막 주소

사용 가능 범위

네트워크 주소 + 1
~
브로드캐스트 주소 - 1

📌 최종 요약

서브넷 문제를 보면 가장 먼저

255도 아니고 0도 아닌 마스크 값

을 찾는다.

그다음

256 - 마스크 값

으로 블록 크기를 구한다.

예를 들어

192.168.10.77/26

이라면

/26
→ 255.255.255.192

256 - 192
= 64

따라서 범위는

0~63
64~127  ← 77이 여기 포함
128~191
192~255

결과는

네트워크 주소
→ 192.168.10.64

브로드캐스트 주소
→ 192.168.10.127

사용 가능 호스트
→ 192.168.10.65 ~ 192.168.10.126

사용 가능 호스트 수
→ 62개

이다.


🧠 한 줄 암기

CIDR은 네트워크 비트 수 → 256에서 마스크 값을 빼서 블록 크기 계산 → 블록의 처음은 네트워크 주소, 끝은 브로드캐스트 주소, 가운데가 사용 가능한 호스트 주소!

profile
성실하자:)

0개의 댓글