목차
- 서브넷 마스크 (Subnet Mask)란?
- 서브넷 마스크의 역할
- 서브넷 마스크의 작동 원리
우리가 어떤 IP주소를 배정받으면 보통은 이 주소를 그대로 사용하지 않는다. 왜냐하면 자신의 입맛에 맞추어야 하기 때문이다.
예를 들어 클래스 B 주소를 받았다. 이를 바로 쓸 수 있을까?
이렇게 큰 네트워크를 구성하면 브로드캐스트의 영향이 너무 커서 아마 아무것도 할 수 없을것이다. 즉 나누어 써야 한다.
이렇게 주어진 IP주소를 각 네트워크 환경에 맞게 나누어 주기 위해 씌워주는 이진수의 조합을 서브넷 마스크라고 한다.
서브넷으로 나누는 가장 큰 이유는 브로드캐스트 영역을 나누는 것과 IP주소를 아끼기 위함이다.
서브넷 마스크는 IP 주소와 함께 작동하여 특정 IP 주소가 어떤 네트워크에 속하는지 그리고 어떤 장치(호스트)인지를 구분하는 역할을 한다.
클래스 A의 디폴트 서브넷 마스크: 255.0.0.0 -> 1111 1111.0000 0000.0000 0000.0000 0000
클래스 B의 디폴트 서브넷 마스크: 255.255.0.0 -> 1111 1111.0000 0000.0000 0000.0000 0000
클래스 C의 디폴트 서브넷 마스크: 255.255.255.0 -> 1111 1111.0000 0000.0000 0000.0000 0000
네트워크 클래스의 설명은 지난 차시를 참고하자. (네트워크 학습 일기 16차시)
네트워크 부분: 서브넷 마스크에서 1로 된 부분은 네트워크를 나타낸다.
호스트 부분: 0으로 된 부분은 네트워크 내의 개별 장치(호스트)를 나타낸다.
서브넷 마스크는 IP 주소와 비트 단위로 논리곱(AND) 연산을 수행하여 네트워크 주소를 알아낸다.
이 경우에는 IP주소가 클래스 C에 해당하고 클래스 C의 디폴트 서브넷 마스크인 255.255.255.0을 씌워보았다.
먼저 둘다 이진수로 바꾼다.
1101 0010.0110 0100.0110 0100.0000 0001 - IP주소
1111 1111.1111 1111.1111 1111.0000 0000 - 서브넷 마스크
그 다음 두 이진수를 논리적 AND연산해 서브넷 네트워크를 구한다.
1101 0010.0110 0100.0110 0100.0000 0000 - 서브넷 네트워크
십진수로 변환하면: 210.100.100.0
이렇게 나온 값 210.100.100.0이 210.100.100.1의 네트워크 부분이다.
이 경우에는 클래스 C에서 클래스 C의 디폴트 서브넷 마스크를 씌웠으므로 딱히 네트워크를 나누지 않았다.
이 경우에는 IP주소가 클래스 B에 해당하고 클래스 B의 디폴트 서브넷 마스크가 아닌 새로운 서브넷 마스크 255.255.255.0를 씌워보았다.
각각 이진수 변환하면
1001 0110.1001 0110.0110 0100.0000 0001 - IP주소
1111 1111.1111 1111.1111 1111.0000 0000 - 서브넷 마스크
AND 하면
1001 0110.1001 0110.0110 0100.0000 0000 - 서브넷 네트워크
십진수로 변환하면: 150.150.100.0
이렇게 나온 값 150.150.100.0이 150.150.100.1의 네트워크 부분이다.
이 의미는 클래스 B 주소를 클래스 C처럼 사용한다는 뜻이다.
즉 네트워크 부분이 3자리로 늘고 호스트 부분이 한 자리로 줄어들었다.
이렇게 하나의 주소를 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것을 서브네팅 이라고 한다.