본문 바로가기

정보처리기사

서브넷 마스크와 문제 유형

서브넷 마스크란?

IP주소의 네트워크 아이디와 호스트 아이디를 구분하기 위해 사용한다. 255.255.0.0이 있을 때, 255로 된 부분은 무시하고 0으로 된 부분에서 호스트 아이디로 사용한다.

 

CIDR 표기법과 예시

IP 주소 : 198.168.0.1

CIDR 표기법 : 198.168.0.1/25

서브넷 마스크 : 255.255.255.128

 

- CIDR 표기법은 IP 주소를 클래스(A,B,C..)로 나누지 않고 1 bit 단위로 할당하는 방식으로 연속된 1 bit가 몇개가 있는지 파악하면 된다. 예를 들어, 198.168.0.1/25 는 연속된 1 bit가 25bit가 있는 것으로 8bit * 3 (3 옥텟)이다. bit 단위로 나타내면, 11111111.11111111.11111111.10000000 이다. 이 bit를 2진수 → 10진수로 바꾸어, 서브넷 마스크 값을 구할 수 있다. 즉, 서브넷 마스크는 255.255.255.128이다. 여기서 1이 연속한 부분은 네트워크 주소, 나머지 0이 있는 자리는 호스트 주소이다. 

 

문제 유형 1. 

- 주어진 예시 : CIDR 표기법의 IP 주소 (198.168.0.1/25)

- 목적 : 서브넷 마스크 값 구하기 (255.255.255.128)

- 풀이

더보기

CIDR 표기법에서 IP 주소를 뺀 맨 뒤의 /(슬래쉬) 25는 1 bit가 몇개인지 나타내는 것이다. 25 bit이므로 옥텟을 구분하여 2진수로 표기했을 때, 11111111.11111111.11111111.10000000 이다. 이 bit를 2진수 → 10진수로 바꾸어, 서브넷 마스크 값을 구할 수 있다. 즉, 서브넷 마스크는 255.255.255.128이다.

 

문제 유형 2.

- 주어진 예시 : IPv4의 클래스 단위(A,B,C..), 서브넷 갯수(26개), 호스트 갯수(4~5개)

- 목적 : 서브넷 마스크 값 구하기

- 풀이

더보기

우선 서브넷 갯수는 네트워크 수를 의미하는 것이다. 네트워크의 수는 2의 거듭제곱으로 계산하면 된다. 서브넷(네트워크)의 갯수는 26개 이므로 2의 5제곱, 32개는 있어야 한다. 2의 5제곱은 8개의 bit 중, 최소 5개의 1 bit가 있어야 하므로 1111 1000 으로 표기한다. 서브넷(네트워크)는 앞에서부터 1을 채우고 나머지는 0으로 호스트로 구분된다. 1111 1000은 10진법으로 계산시 248이며, 서브넷 마스크 값은 255.255.255.248

 

<*서브넷 마스크와 1111 1000 에 대한 설명>

서브넷 마스크는 네트워크와 호스트 아이디를 구분하는 것이다. 연속된 1은 네트워크 아이디, 나머지 0은 호스트 아이디이다. 문제에서 주어진 클래스 단위(C 클래스)로 네트워크 아이디와 호스트 아이디를 구분할 수 있다. 예를 들어 C 클래스면 255.255.255.x로 앞에 3개의 옥텟은 1 bit로 연속되어 표기하고 나머지 부분은 서브넷 마스크로 나누어 쓰면 된다. 

 

문제 유형 3.

- 주어진 예시 : 클래스 단위(B 주소), 서브넷 마스크 값(255.255.255.240)

- 목적 : 서브넷 수와 호스트 수 구하기

- 풀이

더보기

B 클래스는 255.255.x.x로 2개의 옥텟을 네트워크 주소로, 나머지 2개의 옥텟은 호스트 주소로 사용한다. 그래서 예시로 주어진 서브넷 마스크 값 255.255.255.240의 맨 뒷 2개의 옥텟(255.240)을 서브넷 마스크로 구성한 것이다. 255.240은 1 bit로 표현하면 11111111.11110000이다. 1bit는 서브넷(네트워크) 수는 12개이므로 2의 12제곱을 계산하면 4096이다. 나머지 0으로 표기된 것은 호스트 갯수이며, 4개이므로 2의 4제곱으로 16이 나온다. 

하지만, 호스트 갯수는 맨 앞 뒤(네트워크 주소와 브로드캐스트 주소) 2개를 제외해야 하므로 총 호스트 갯수는 14이다.

'정보처리기사' 카테고리의 다른 글