서브넷
서론
IP 주소에서 호스트의 0, 1은 각각 네트워크 전체를 가리키는 네트워크 주소와 같은 네트워크 안에 있는 모든 컴퓨터나 장비에게 패킷을 전송하는 브로드캐스트 주소를 의미한다고 했다. A 클래스만 해도 1677만 7214개의 주소를 사용할 수 있는데, 모든 컴퓨터에게 브로드캐스트 패킷을 전송하면 네트워크가 혼잡해질 것이다. 이 문제는 A 클래스 같은 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다.
서브넷팅
위의 그림처럼 네트워크를 분할하는 것을 서브넷팅(Subneting)이라 하고, 분할된 네트워크를 서브넷(Subnet)이라고 한다.
A 클래스는 앞의 8비트(1 옥텟)는 네트워크 ID로, 뒤의 24비트는 호스트 ID로 사용할 수 있는데, 뒤의 24비트 중 일부를 서브넷 ID로 사용할 수 있다!
서브넷 마스크
하지만 IP 주소를 서브넷팅하면 어디까지가 네트워크 ID이고, 어디부터가 호스트 ID인지 판단하기 어렵다.
서브넷 마스크는 네트워크 ID와 호스트 ID를 식별하기 위한 값이다.
B와 C는 각각 255.255.0.0, 255.255.255.0이다.
서브넷 마스크를 "/"로 나타낸 것을 프리픽스 표기법이라고 하는데, 예를 들면 255.255.255.0은 /24로 쓸 수 있는 것이다.(앞의 24비트)
C 클래스에서 호스트 ID의 4비트를 서브넷 ID로 사용한다고 해보자.
서브넷팅을 하기 전에 서브넷 마스크는 똑같이 255.255.255.0이다.
서브넷팅을 한 후에는 255.255.255.240이 서브넷 마스크이다. 이를 프리픽스 표기법으로 나타내면 /28인 것이다.
서브넷 마스크와 IP 주소를 AND 연산하여 네트워크 ID를 구할 수 있다