
서브넷 마스크는 IP 주소에서 네트워크 부분과 호스트 부분을 구분하는 32비트 이진수입니다.
IP 주소 192.168.1.10만 봐서는 다음을 알 수 없습니다:
서브넷 마스크가 이 모든 것을 알려줍니다.
IP 주소: 192.168.1.10
서브넷 마스크: 255.255.255.0
이진수로 표현하면:
IP 주소: 11000000.10101000.00000001.00001010
서브넷 마스크: 11111111.11111111.11111111.00000000
|-------- 네트워크 ---------|호스트|
서브넷 마스크는 연속된 1과 연속된 0으로만 구성됩니다:
✅ 올바른 패턴: 11111111.11111111.11111111.00000000
✅ 올바른 패턴: 11111111.11111111.11110000.00000000
❌ 잘못된 패턴: 11111111.11111111.11110101.00000000
공식:
네트워크 주소 = IP 주소 AND 서브넷 마스크
계산 예시:
IP 주소: 192.168.1.10 = 11000000.10101000.00000001.00001010
서브넷 마스크: 255.255.255.0 = 11111111.11111111.11111111.00000000
----------------------------------- AND 연산
네트워크 주소: 192.168.1.0 = 11000000.10101000.00000001.00000000
AND 연산 규칙:
서브넷 마스크를 "마스크"라고 부르는 이유?
마치 필터처럼 특정 부분(호스트)을 숨기고 필요한 부분(네트워크)만 드러내기 때문입니다.
원본 IP: 192.168.1.10 (호스트 정보 포함)
마스크 적용: 192.168.1.0 (호스트 정보 제거, 네트워크만 남김)
서브넷 마스크는 보통 10진수(0~255) 형태로 많이 씁니다.
각 옥텟(8비트)을 10진수로 변환한 값입니다.
| 이진수 패턴 | 십진수 표기 | CIDR | 설명 |
|---|---|---|---|
| 11111111.11111111.11111111.00000000 | 255.255.255.0 | /24 | 클래스 C |
| 11111111.11111111.00000000.00000000 | 255.255.0.0 | /16 | 클래스 B |
| 11111111.00000000.00000000.00000000 | 255.0.0.0 | /8 | 클래스 A |
CIDR은 십진수 마스크를 더 간단하게 표현하는 방식입니다.
마스크에서 1의 개수만 세면 되기 때문에 훨씬 직관적입니다.
192.168.1.0/24 = 192.168.1.0 + 255.255.255.0
10.0.0.0/16 = 10.0.0.0 + 255.255.0.0
172.16.0.0/12 = 172.16.0.0 + 255.240.0.0
255.255.255.0 대신 /24라고 쓰면 바로 네트워크/호스트 구분을 알 수 있음/25, /26처럼 더 세분화 가능192.168.0.0/16 하나로 192.168.0.0부터 192.168.255.255까지 커버