서브네팅이란 한정된 IP 주소를 같은 양으로 나누어주기 위한 나누기 방법이라고 이해할 수 있습니다.
우선 IP 주소를 생각해보고 넘어가겠는데요. IP 주소는 32 bit 로 이루어져 있는데요. 32 bit는 너무 큰 숫자이기 때문에 우리는 IPv4라는 이름을 붙인, 8bit 4개를 이어서 붙인 주소를 주로 사용합니다. 255.255.255.255 이런 식의 IP 주소인 것이죠. 이런 상황에서 다음 예시를 보겠습니다.
우선 첫 번째 예시입니다. IPv4 주소가 192.168.1.0/24 라면 마지막 8비트만 사용가능합니다. 즉 10진수로 말하자면 총 256개의 IP를 내가 마음대로 사용할 수 있는 상태라는 것이죠. 이 상황에서 만약 3명에게 동일하게 나누어주려고 한다면 총 2비트를 나누어주는데 사용해야합니다. 그래서 가용한 8비트 중 앞 2 비트는 구분하는 용도로 사용하게 되고, 나머지 IP 주소는 6비트로 표현하게 되는데, 나눈 각 IP 주소의 첫 번째 주소는 네트워크 주소로 자동 할당되고, 마지막 주소는 브로드캐스트 주소로 자동 할당되어, 최종적으로 사용할 수 있는 IP 주소는 6비트로 사용 가능한 개수 - 2 가 됩니다.
두 번째 예시는 기출문제인데요.
위와 같은 상황에서 네트워크 주소를 구하고, 네트워크 주소와 브로드캐스트 주소를 제외한 사용 가능 호스트의 수는 몇개일까요?
우선, 서브넷 마스크를 2진수로 표현해야 합니다. 11111111. 11111111. 11111111. 11000000 입니다. 즉, 사용 가능한 비트는 서브넷 마스크를 제외한 6비트이고 마지막 8비트 중에서 앞 2비트는 나누어주기 위한 비트로 총 4개로 나뉘어 진다는 것을 알 수 있습니다. 즉 2의 6승인 총 64개의 IP 주소를 각각 나누어줄 수 있다는 것이죠.
이것을 표로 표현하면 위와 같습니다. 현재 IP 주소는 마지막 8비트의 숫자가 132로 3번째에 해당합니다. 따라서 네트워크 주소는 192.168.1.128이 되고 네트워크 주소와 브로드캐스트 주소를 제외한 사용 가능 호스트의 수는 62개입니다.