서브넷 마스크 개념(The Concepts of Subnet Mask!)
우선, 서브넷 마스크의 개념을 쉽게 설명하면, TCP/IP 데이터 통신에서, 하나의 컴퓨터가 다른 네트워크 장치와 통신하는 영역을 논리적으로 내부와 외부(일반적으로 인터넷)로 나누는데 사용하는 도구이다. 이렇게 나누어진 영역들이 바로 서브넷이다.
예를 들어 학교에 비유하면, 각각의 교실들이, 그 학교 내부에서만 고유한 교실 번호가 부여된 일종의 서브넷이다. 즉, 교실을 나누는 기준(학생 명수, 교실 면적 등)이 바로 서브넷 마스크이다. 여기서 교실 번호가 서브넷 아이디(Subnet ID)이다. 임의의 교실에서, 특정한 다른 교실의 내용을 직접 알 수는 없다. 다른 교실과 연락하려면, 복도로 나가야 한다. 나아가서, 다른 학교의 특정한 교실과 연락하려면, 교문 밖으로 나가야 한다.
여기서, 복도와 교문의 역할이 데이터 통신에서는 라우터이다. 이 경우, 교문 밖이 바로 인터넷이다.
서브넷 마스크 상세 설명
1. Subnet mask 는 IP 주소에서 "network id" 와 "host id" 영역을 구분하는, 일종의 가리개(마스크)이다. 기본적으로 IP 주소 같이 4 byte 로 되어 있다. 예를 들면 255.0.0.0, 255.255.0.0, 255.255.255.0, 255.255.255.192와 같다.
2. Subnet mask 는 이진법 숫자로 보면, 이진수 1 과 이진수 0으로 구성되는데, 배열 순서를 보면 network id 부분은 이진수 1로 표현되고, "host id" 부분은 이진수 0으로 표현된다. 이때 "network id" 부분의 이진수 1은 연속된 1로 구성된다. 즉, 이진수 1들 사이에 이진수 0 이 포함되면 안된다. 재미있게 표현하면, 우리가 사용하는 마스크(탈) 중간에 구멍이 나면 가리고 싶은 부분이 보이게 되어 마스크(탈)의 효과가 없어지게 된다.
3. 디폴트(Default) subnet mask: A class - 255.0.0.0, B class - 255.255.0.0, C class - 255.255.255.0. 하나의 IP 주소를 예로 들어 보면, 10.1.1.100의 경우 A class 이므로 network id 는 IP 주소 4 bytes 중, subnet mask 에서 이진수 1 인 부분 즉, 255(이진수로 11111111) 부분인 10.0.0.0 이 된다. 이 경우 host id 는 1.1.100 이다.
4. 그러나 필요에 따라 subnet mask 는 바뀔 수 있다. 즉, 하나의 network 을 2의 배수로 나누거나, 2의 배수 개의 network 을 하나의 network 로 합칠 때에 subnet mask 는 상황에 맞게 조정된다. 예를 들어, 위의 10.1.1.100 과 디폴트 subnet mask 인 255.0.0.0 을 subnet mask 만 255.255.0.0 으로 바꾸면, network id 는 10.1.0.0 이고 host id 는 1.100 이 된다. 또한 subnet mask 를 255.255.255.0 으로 바꾸면, network id 는 10.1.1.0 이고 host id 는 100 이 된다.
5. B class 인 172.16.1.0 과 디폴트 subnet mask 인 255.255.0.0 을 subnet mask 만 255.255.255.0 으로 바꾸면, network id 는 172.16.1.0 이고 host id 는 0 이 된다. 또한 subnet mask 를 255.0.0.0 으로 바꾸면, network id 는 172.0.0.0 이고 host id 는 16.1.0 이 된다.
6. 같은 요령으로 C class 인 192.168.1.100 과 디폴트 subnet mask 인 255.255.255.0 을 subnet mask 만 255.255.0.0 으로 바꾸면, network id 는 192.168.0.0 이고 host id 는 1.100 인 된다.
7. 서브넷마스크를 좀더 세밀하게 변경하려면, 서브넷팅과 슈퍼넷팅을 참조하면 된다(https://timetolive.tistory.com/9)
'Software' 카테고리의 다른 글
네트워크 개수 와 호스트 개수 구하는 방법 (0) | 2023.02.11 |
---|---|
CCNA 자격증 취득하려는 분들에게 드리는 조언(Advice for the CCNA Examinee) (0) | 2023.02.09 |
서브넷팅, 슈퍼넷팅 목적과 사용방법(How to Use Subnetting, Supernetting) (0) | 2023.02.07 |
Program Coding 과 챗GPT (Chat GPT) (0) | 2023.02.05 |
인터넷 나침반 IP주소 (IP Address), 클래스 (Class), 네트워크ID (Network ID), 호스트ID (Host ID) (0) | 2023.02.01 |