서브넷 마스크(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)가 만나면:

  1. 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
  1. 네트워크 범위 결정
  • 네트워크 주소: 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

이는 더욱 유연한 네트워크 설계를 가능하게 한다.