서브넷 마스크를 이해하기 위해서는 이진수와 Losical AND에 대한 이해가 필요합니다.
Losical AND에 대해 간단히 설명하자면
Losical AND의 성질은 양쪽이 모두 1이여야 결과값이 1이 된다는 겁니다.
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1 이라는 연산 결과가 나옵니다.
그럼 이제 서브넷 마스크에 대해 알아보도록 하겠습니다.
서브넷 마스크란 말 뜻 그대로 서브,즉 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 됩니다.
예를 들어 클래스 B를 받아서 서브넷을 만들지 않고 그냥 사용하는 경우는 브로드캐스트 도메인이 너무 커져서
브로드캐스트가 너무 많이 발생하게 됩니다. 따라서 정상적인 통신이 불가능해지며 이 네트워크에는 서브네팅이 필요합니다.
즉 서브넷 마스크는 커다란 네트워크를 잘게 나누기 위해서 필요합니다.
◇ 서브넷 마스크의 기본
모든 IP 주소에는 서브넷 마스크가 따라다닙니다.
IP 주소를 나누어서 쓰기 위해서 사용하는 서브넷 마스크는 그 주소를 나누지 않더라도 항상 그 옆에 붙어 다닌다는 겁니다.
그래야 그 주소를 나눈 건지 나누지 않은 건지 알 수 있기 때문입니다.
나누지 않고 쓰는 경우의 서브넷 마스크를 디폴트 서브넷 마스크, 즉 기본 서브넷 마스크 라고 합니다.
클래스 C의 경우 디폴트 서브넷 마스크는 255.255.255.0입니다.
클래스 B의 경우 디폴트 서브넷 마스크는 255.255.0.0이고, 또 클래스 A는 255.0.0.0입니다.
그럼 서브넷 마스크는 어떻게 고쳐야 할까요?
여기서 정확히 알아두어야 할 것이 '서브넷 마스크란 IP 주소를 가지고 어디까지가 네트워크 부분이고, 또 어디까지가 호스트 부분인가를 나타내는 역할은 한다'는 겁니다. 따라서 서브넷 마스크를 보면 그 IP 주소의 네트워크 부분과 호스트 부분을 알 수 있습니다.
이때 네트워크 부분은 서브넷 마스크가 이진수로 '1'인 부분이고, 호스트 부분은 서브넷 마스크가 이진수로 '0'인 부분입니다.
예를 들어 210.100.100.1의 서브넷 마스크가 255.255.255.0이라면 255.255.255.0은 1111 1111.1111 1111.1111 1111.1111 1111.과 같습니다.
1인 부분이 네트워크 부분이므로 앞에 세자리까지는 네트워크 부분이 되고 뒤에 한 자리는 호스트 부분이 되는 겁니다.
따라서 210.100.100이 네트워크 부분이고 나머지 1이 호스트 부분입니다.
클래스 C의 성격과 똑같죠? 그래서 255.255.255.0이 클래스 C의 디폴트 서브넷 마스크가 되는 겁니다.
1101 0010.0110 0100.0110 0100.0000 0001 = 210.100.100.1 → IP 주소
1111 1111.1111 1111.1111 1111.0000 0000 = 255.255.255.0 → 서브넷 마스크
1101 0010.0110 0100.0110 0100.0000 0000 = 210.100.100.0 → 서브넷 네트워크
논리적 AND를 하게 되면 아래에 나온 답이 바로 서브넷이 됩니다.
어떤 IP 주소라도 서브넷 마스크를 통과 시키게 되면(논리적 AND 연산) 네트워크 부분이 어디까지인지를 알 수 있습니다.
즉 서브넷 마스크는 디폴트 서브넷 마스크와 무언가 변형을 한 서브넷 마스크로 나누어 볼 수 있습니다.
그리고 서브넷 마스크를 사용하는 이유는 커다란 네트워크(호스트 숫자가 많은 네트워크)를 작은 네트워크 여러 개로 나누어서 쓰기 위해서 입니다. 서브넷 마스킹은 기존 IP 주소의 호스트 부분의 일부를 네트워크 부분으로 바꾸는 작업입니다.
◇ 서브넷 마스크의 기본 성질
서브넷 마스크로 만들어진 네트워크, 즉 서브넷은 이제 하나의 네트워크이기 때문에 서로 나뉘어진 서브넷끼리는 라우터를 통해서만 통신이 가능합니다. 즉 서브넷은 하나의 독립된 네트워크로 생각하면 됩니다.
또 하나의 성질은 서브넷 마스크는 이진수로 썼을 때 '1'이 연속적으로 나와야 한다는 겁니다.
예를 들어 255.255.255.10이란 서브넷 마스크는 사용할 수 없습니다.
왜냐하면 이진수로 바꿨을 때 1111 1111.1111 1111.1111 1111.0000 0101로 0101과 같이 1이 연속적으로 나오지 않았기 때문에
이런 서브넷 마스크는 사용하지 않습니다.
출처:시스코 네트워킹