서브넷 마스크란?
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이다.
'정보처리기사' 카테고리의 다른 글
정보처리기사 자바 정리 #01 (0) | 2023.09.20 |
---|---|
정보처리기사 파이썬 정리1 (0) | 2023.09.20 |
정보처리기사 자바 정리 #00 (0) | 2023.09.19 |
서브네팅과 서브넷 계산 (0) | 2023.09.12 |