서브넷 마스크(Subnet Mask)는 1985년 TCP/IP 프로토콜의 발전 과정에서 도입되었다. 초기 인터넷은 A, B, C 클래스 체계를 사용했는데, 이는 너무 경직되어 있어 IP 주소의 효율적인 할당이 어려웠다. 서브넷 마스크는 이 문제를 해결하기 위해 등장했다.
서브넷 마스크의 역사와 필요성
초기 인터넷에서는 IP 주소의 첫 바이트만 보고 클래스를 구분했다:
- A 클래스: 1-126으로 시작
- B 클래스: 128-191로 시작
- C 클래스: 192-223으로 시작
이 방식은 큰 문제가 있었다. 1000대의 호스트가 필요한 조직은 B 클래스(65534개)를 할당받아야 했고, 이는 심각한 주소 낭비를 초래했다. 서브넷 마스크는 이런 비효율성을 해결하기 위한 해답이었다.
서브넷 마스크의 구조와 원리
서브넷 마스크는 연속된 1과 0으로 구성된 32비트 값이다:
255.255.255.0
- 이진수: 11111111.11111111.11111111.00000000
- 1: 네트워크 부분 (고정)
- 0: 호스트 부분 (변경 가능)
255.255.255.128
- 이진수: 11111111.11111111.11111111.10000000
- 더 작은 네트워크로 분할 가능
서브넷 마스크의 실제 동작
IP 주소(192.168.1.10)와 서브넷 마스크(255.255.255.0)가 만나면:
- AND 연산으로 네트워크 주소 계산
IP: 192.168.1.10 11000000.10101000.00000001.00001010
Mask: 255.255.255.0 11111111.11111111.11111111.00000000
-----------------------------------------------------
Net: 192.168.1.0 11000000.10101000.00000001.00000000
- 네트워크 범위 결정
- 네트워크 주소: 192.168.1.0
- 첫 번째 호스트: 192.168.1.1
- 마지막 호스트: 192.168.1.254
- 브로드캐스트: 192.168.1.255
주요 서브넷 마스크 값과 용도
255.0.0.0 (A 클래스)
- 대형 네트워크용
- 약 1600만개 호스트
- 정부나 대형 기관에서 사용
255.255.0.0 (B 클래스)
- 중형 네트워크용
- 약 6만 5천개 호스트
- 대학이나 기업에서 사용
255.255.255.0 (C 클래스)
- 소형 네트워크용
- 254개 호스트
- 소규모 사무실이나 가정에서 사용
255.255.255.192
- 초소형 네트워크용
- 62개 호스트
- 부서나 프로젝트 팀에서 사용
CIDR과의 관계
1993년 CIDR가 도입되면서 서브넷 마스크는 /24와 같은 접두사로도 표현되기 시작했다:
- 255.255.255.0 = /24
- 255.255.255.128 = /25
- 255.255.255.192 = /26
이는 더욱 유연한 네트워크 설계를 가능하게 한다.