[네트워크] 서브넷 마스크

artp·2025년 9월 10일

cs

목록 보기
12/16
post-thumbnail

1. 서브넷 마스크란?

서브넷 마스크는 IP 주소에서 네트워크 부분과 호스트 부분을 구분하는 32비트 이진수입니다.

서브넷 마스크가 필요한 이유?

IP 주소 192.168.1.10만 봐서는 다음을 알 수 없습니다:

  • 어디까지가 네트워크 주소인지?
  • 어디부터가 호스트 주소인지?
  • 같은 네트워크에 속한 다른 IP는 무엇인지?

서브넷 마스크가 이 모든 것을 알려줍니다.

서브넷 마스크 기본 구조

IP 주소:     192.168.1.10
서브넷 마스크: 255.255.255.0

이진수로 표현하면:
IP 주소:     11000000.10101000.00000001.00001010
서브넷 마스크: 11111111.11111111.11111111.00000000
            |-------- 네트워크 ---------|호스트|

2. 서브넷 마스크의 핵심 원리

2-1. 비트 패턴의 규칙

서브넷 마스크는 연속된 1과 연속된 0으로만 구성됩니다:

✅ 올바른 패턴: 11111111.11111111.11111111.00000000
✅ 올바른 패턴: 11111111.11111111.11110000.00000000
❌ 잘못된 패턴: 11111111.11111111.11110101.00000000
  • 1 부분: 네트워크 주소 (고정)
  • 0 부분: 호스트 주소 (변경 가능)
  • 중간에 섞이면 네트워크 구분이 불가능

2-2. AND 연산

공식:

네트워크 주소 = 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 연산 규칙:

  • 1 AND 1 = 1
  • 1 AND 0 = 0
  • 0 AND 1 = 0
  • 0 AND 0 = 0

2-3. 마스킹(Masking)의 의미

서브넷 마스크를 "마스크"라고 부르는 이유?

마치 필터처럼 특정 부분(호스트)을 숨기고 필요한 부분(네트워크)만 드러내기 때문입니다.

원본 IP:   192.168.1.10  (호스트 정보 포함)
마스크 적용: 192.168.1.0   (호스트 정보 제거, 네트워크만 남김)

3. 서브넷 마스크 표기법

3-1. 십진수 표기법

서브넷 마스크는 보통 10진수(0~255) 형태로 많이 씁니다.
각 옥텟(8비트)을 10진수로 변환한 값입니다.

이진수 패턴십진수 표기CIDR설명
11111111.11111111.11111111.00000000255.255.255.0/24클래스 C
11111111.11111111.00000000.00000000255.255.0.0/16클래스 B
11111111.00000000.00000000.00000000255.0.0.0/8클래스 A
  • 255는 네트워크 부분(1), 0은 호스트 부분(0)을 나타냅니다.

3-2. CIDR 표기법

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

3-3. CIDR의 장점

간단명료함

  • 255.255.255.0 대신 /24라고 쓰면 바로 네트워크/호스트 구분을 알 수 있음

가변 길이 서브네팅(VLSM, Variable Length Subnet Masking)

  • 꼭 클래스 A/B/C 같은 고정 크기에 묶이지 않고, 필요에 따라 /25, /26처럼 더 세분화 가능

라우팅 테이블 최적화

  • 네트워크 범위를 한 줄로 묶어서 표현할 수 있음 → 라우터 성능 개선
  • 예: 192.168.0.0/16 하나로 192.168.0.0부터 192.168.255.255까지 커버
profile
donggyun_ee

0개의 댓글