서브넷 마스크로 IP 주소 경계와 네트워크를 설계하는 법
서브넷 마스크의 비트 연산, CIDR 표기, 서브네팅과 VLSM을 바탕으로 IP 주소 공간과 네트워크 경계를 설계하는 방법
2026-08-14 · 최초 발행 2025-08-10
패킷이 어느 네트워크로 향하는지 가르는 비트 경계
Subnet Mask는 IP 주소 안에서 Network ID와 Host ID를 구분한다. TCP/IP 네트워크에서 라우팅 판단과 네트워크 분할은 이 구분을 전제로 이뤄진다. 주소 공간을 필요한 단위로 나누고, 트래픽과 보안 경계를 관리하려면 마스크의 의미를 먼저 이해해야 한다.
Subnet Mask는 32비트 값이며, IP 주소처럼 4개의 8비트 옥텟을 점으로 구분해 표시한다. 연속된 1은 네트워크 영역을, 뒤따르는 0은 호스트 영역을 뜻한다. IP 주소에 마스크를 비트 단위 AND 연산하면 해당 주소의 Network ID를 얻는다. 표기는 255.255.255.0처럼 십진수로 하거나 /24 같은 CIDR 방식으로 한다.
예시:
IP 주소: 192.168.1.10
Subnet Mask: 255.255.255.0 (또는 /24)
이 경우:
Network ID: 192.168.1.0
Host ID: 0.0.0.10 (또는 간단히 10)
AND 연산으로 얻는 네트워크 ID
라우터나 호스트는 목적지 IP 주소와 서브넷 마스크를 비교해 목적지가 로컬 네트워크에 있는지, 원격 네트워크로 전달해야 하는지를 판단한다. 이때 Network ID를 추출하는 과정은 다음과 같다.
IP 주소: 11000000.10101000.00000001.00001010 (192.168.1.10)
Subnet Mask: 11111111.11111111.11111111.00000000 (255.255.255.0)
----------------------------------
AND 결과: 11000000.10101000.00000001.00000000 (192.168.1.0) ← Network ID
CIDR 표기로 마스크를 읽는 방법
Classless Inter-Domain Routing(CIDR)은 서브넷 마스크를 짧게 적는 표기다. IP 주소 뒤에 슬래시(/)와 마스크에서 1인 비트 수를 붙인다. 예를 들어 192.168.1.0/24는 255.255.255.0 마스크를 가리킨다.
마스크 길이에 따라 주소 공간의 크기와 사용할 수 있는 호스트 수가 달라진다.
| CIDR 표기 | Subnet Mask | 네트워크 수 | 호스트 수/네트워크 | 일반적 용도 |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 128 | 16,777,214 | 대규모 조직 |
| /16 | 255.255.0.0 | 16,384 | 65,534 | 중간 규모 조직 |
| /24 | 255.255.255.0 | 16,777,216 | 254 | 소규모 네트워크/가정용 |
| /28 | 255.255.255.240 | 268,435,456 | 14 | 소규모 서브넷 |
| /30 | 255.255.255.252 | 1,073,741,824 | 2 | 포인트-투-포인트 링크 |
큰 주소 블록을 운영 단위로 나누기
서브네팅은 큰 네트워크를 여러 작은 네트워크로 분할하는 작업이다. 브로드캐스트 트래픽을 관리하고, 보안 경계를 두며, IP 주소 공간을 더 효율적으로 배분하기 위해 사용한다. 네트워크를 논리적으로 분리하면 관리와 장애 진단도 수월해진다.
다음은 192.168.1.0/24를 4개의 서브넷으로 나누는 예다. 기존 마스크의 24비트에 비트를 더 사용해 /26으로 변경한다.
예: 192.168.1.0/24 네트워크를 4개의 서브넷으로 분할
원래 Subnet Mask: 255.255.255.0 (24비트)
새 Subnet Mask: 255.255.255.192 (26비트)
결과 서브넷:
- 192.168.1.0/26 (호스트 범위: 1-62)
- 192.168.1.64/26 (호스트 범위: 65-126)
- 192.168.1.128/26 (호스트 범위: 129-190)
- 192.168.1.192/26 (호스트 범위: 193-254)
요구 규모가 다른 구간에는 VLSM을 적용한다
VLSM(Variable Length Subnet Mask)은 네트워크마다 같은 크기의 마스크를 강제하지 않는다. 필요한 호스트 수에 맞춰 서로 다른 마스크를 배치하므로 주소 공간을 더 효율적으로 사용할 수 있다.
예: 192.168.0.0/24를 다양한 크기로 분할
- 192.168.0.0/26: 62개 호스트 (마케팅 부서)
- 192.168.0.64/27: 30개 호스트 (영업 부서)
- 192.168.0.96/27: 30개 호스트 (개발 부서)
- 192.168.0.128/28: 14개 호스트 (관리 부서)
- 192.168.0.144/30: 2개 호스트 (라우터 간 링크)
- 나머지는 미래 확장용으로 예약
주소 범위와 필요한 호스트 수 계산
CIDR 접두사에서 네트워크 주소, 호스트 범위, 브로드캐스트 주소를 확인할 수 있어야 주소 계획을 검증할 수 있다.
IP 주소: 172.16.45.14/20
Subnet Mask: 255.255.240.0
1. Network ID 계산:
172.16.45.14 AND 255.255.240.0 = 172.16.32.0
2. 첫 번째 호스트 주소:
172.16.32.1
3. 마지막 호스트 주소:
172.16.47.254
4. 브로드캐스트 주소:
172.16.47.255
5. 가용 호스트 수:
2^12 - 2 = 4,094
호스트 수 요구사항에서 필요한 호스트 비트를 정한 뒤 마스크를 선택하는 방식도 사용한다.
요구사항: 600개의 호스트를 수용할 수 있는 서브넷 마스크는?
필요 호스트 비트: log₂(600+2) = 10비트 (2^10 = 1024)
서브넷 마스크: 255.255.252.0 또는 /22
조직과 서비스 영역에 맞춘 주소 배치
본사와 지사처럼 규모가 다른 조직을 연결할 때는 각 구간의 수용 인원에 맞춰 주소 블록을 배정할 수 있다.
본사: 1,000명 이상의 직원 (10.0.0.0/22)
대형 지사: 500명 직원 (10.0.4.0/23)
중형 지사: 200명 직원 (10.0.6.0/24)
소형 지사: 50명 직원 (10.0.7.0/26)
라우터 링크: 포인트-투-포인트 연결 (10.0.7.64/30)
데이터센터에서는 웹, 애플리케이션, 데이터베이스, 관리 영역을 별도 네트워크로 두어 보안 정책 적용과 트래픽 제어를 단순화할 수 있다.
웹 서버 영역: 172.20.0.0/24
애플리케이션 서버 영역: 172.20.1.0/24
데이터베이스 영역: 172.20.2.0/24
관리 영역: 172.20.3.0/24
이런 세분화는 접근 제어와 침해 사고의 영향 범위 제한에도 도움이 된다. 브로드캐스트 도메인 크기를 제한해 불필요한 트래픽과 혼잡을 줄이고, 논리적 그룹화를 통해 관리와 문제 진단을 간소화할 수 있다.
클래스풀 주소 체계에서 클래스리스 주소 체계로
초기 IP 주소 체계는 A, B, C, D, E 클래스로 구분됐다. 클래스풀(Classful) 네트워킹은 A 클래스 /8, B 클래스 /16, C 클래스 /24처럼 고정된 마스크를 사용했다. 클래스리스 네트워킹은 이 고정 경계를 벗어나 더 유연한 마스크를 적용하며, CIDR은 주소 할당의 효율성을 높이는 기반이 된다.
현재 구성과 라우팅 경로 확인하기
운영 환경에서는 인터페이스 설정과 라우팅 테이블을 함께 확인해야 한다. Windows에서는 다음 명령으로 현재 IP 구성과 라우팅 테이블을 볼 수 있다.
ipconfig /all: 현재 시스템의 IP 구성 정보 표시
route print: 라우팅 테이블 출력
Linux와 Unix 계열에서는 인터페이스와 라우팅 정보를 다음과 같이 확인한다.
ifconfig 또는 ip addr: 네트워크 인터페이스 정보 표시
netstat -rn 또는 ip route: 라우팅 테이블 확인
주소 계산에는 ipcalc(리눅스), Subnet Calculator(온라인 도구), CIDR 계산기(애플리케이션)를 사용할 수 있다.