Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

서브넷 마스크 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 21:21

서브넷 마스크

정의

IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용되는 32비트 숫자

표기법

점으로 구분된 십진수 형식 (예: 255.255.255.0) 또는 CIDR 표기법 (예: /24)

주요 목적

네트워크 서브넷 분할, 브로드캐스트 도메인 제한, 주소 공간 효율적 관리

계산 방식

네트워크 비트는 1, 호스트 비트는 0으로 구성된 이진 마스크

기본 마스크 (클래스풀)

클래스 A: 255.0.0.0 (/8), 클래스 B: 255.255.0.0 (/16), 클래스 C: 255.255.255.0 (/24)

상세 정보

[[CIDR]] (Classless Inter-Domain Routing)

클래스 없는 주소 지정 방식으로, 서브넷 마스크를 슬래시(/) 뒤에 비트 수로 표기

서브넷팅 (Subnetting)

기존 네트워크를 여러 개의 작은 네트워크(서브넷)로 분할하는 과정

네트워크 주소

서브넷 마스크와 IP 주소를 AND 연산하여 얻은, 서브넷을 식별하는 주소

브로드캐스트 주소

해당 서브넷 내 모든 호스트에 데이터를 전송하는 데 사용되는 주소

호스트 주소 범위

네트워크 주소와 브로드캐스트 주소를 제외한, 실제 장치에 할당 가능한 IP 주소 범위

가용 호스트 수 계산

2^(호스트 비트 수) - 2 (네트워크 & 브로드캐스트 주소 제외)

프라이빗 네트워크 대역

10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

관련 프로토콜/기술

IPv4, IPv6, VLSM (Variable Length Subnet Mask)

설정 위치

라우터, 스위치, 서버, PC의 TCP/IP 설정

잘못된 설정의 영향

네트워크 통신 불가, 브로드캐스트 스톰, 라우팅 문제 발생

1. 개요

서브넷 마스크는 IP 주소 체계에서 특정 IP 주소가 속한 네트워크 부분과 호스트 부분을 구분하는 데 사용되는 32비트 숫자 값이다. 이는 네트워크 관리와 설계의 핵심 요소로, 하나의 큰 네트워크를 여러 개의 작은 논리적 서브네트워크(서브넷)로 분할하는 서브넷팅 작업을 가능하게 한다.

서브넷 마스크의 주요 역할은 라우터나 호스트가 목적지 IP 주소가 로컬 네트워크 내에 있는지, 아니면 외부 네트워크에 있는지를 판단하는 기준을 제공하는 것이다. 이를 통해 불필요한 네트워크 브로드캐스트 트래픽을 줄이고, 보안성을 강화하며, IP 주소 공간을 효율적으로 활용할 수 있다.

초기 인터넷은 고정된 클래스(A, B, C) 기반의 클래스풀 네트워킹을 사용했으나, 이는 주소 낭비가 심했다. 서브넷 마스크와 CIDR 표기법의 등장은 이러한 비효율성을 해결하고 유연한 클래스리스 네트워킹을 실현하는 기반이 되었다. 오늘날의 모든 TCP/IP 기반 네트워크 구성에서 서브넷 마스크는 IP 주소와 함께 반드시 설정해야 하는 필수 파라미터이다.

2. 서브넷 마스크의 개념과 역할

서브넷 마스크는 IP 주소 체계에서 특정 IP 주소가 속한 네트워크 부분과 호스트 부분을 명확히 구분하는 데 사용되는 32비트 숫자 값이다. 이는 네트워크 관리자가 하나의 큰 네트워크를 여러 개의 작은 논리적 단위, 즉 서브넷으로 분할하는 서브넷팅 작업의 핵심 도구 역할을 한다. 서브넷 마스크의 존재 이유는 네트워크 트래픽을 효율적으로 관리하고, 브로드캐스트 도메인의 크기를 줄이며, 보안과 관리를 용이하게 하기 위함이다.

서브넷 마스크는 IP 주소와 항상 쌍을 이루어 동작한다. IP 주소를 구성하는 32비트 중 어디까지가 공통의 네트워크 주소(네트워크 ID)이고, 어디부터가 그 네트워크 내 개별 장치를 지칭하는 주소(호스트 ID)인지를 정의한다. 마스크에서 비트 값이 '1'인 부분은 네트워크 ID를, '0'인 부분은 호스트 ID를 나타낸다. 예를 들어, 널리 사용되는 서브넷 마스크 255.255.255.0(이진수로 11111111.11111111.11111111.00000000)은 IP 주소의 앞 24비트를 네트워크 부분으로, 나머지 8비트를 호스트 부분으로 구분한다.

이러한 구분은 라우터가 패킷을 전달할 때 결정을 내리는 데 필수적이다. 라우터는 목적지 IP 주소와 서브넷 마스크를 비트 AND 연산하여 목적지의 네트워크 주소를 추출한 후, 자신의 라우팅 테이블과 비교한다. 만약 목적지 네트워크가 발신지와 동일한 서브넷 내에 있으면 라우터를 거치지 않고 직접 통신하고, 다른 서브넷에 있으면 해당 네트워크로 가는 경로의 기본 게이트웨이로 패킷을 전달한다. 이 과정을 통해 불필요한 네트워크 내 브로드캐스트 트래픽을 줄이고, 전체 네트워크의 성능과 안정성을 높인다.

2.1. IP 주소와 네트워크 분할

IP 주소는 네트워크 상의 장치를 식별하는 고유한 번호이다. 초기 IP 주소 체계는 클래스(A, B, C 등)로 구분되어 고정된 네트워크와 호스트 영역을 할당했다. 이 방식은 작은 네트워크에는 너무 많은 주소를, 큰 네트워크에는 주소가 부족하게 만드는 비효율성을 초래했다.

서브넷 마스크는 하나의 큰 네트워크를 여러 개의 작은 논리적 네트워크, 즉 서브넷으로 분할하는 핵심 도구이다. 32비트로 구성된 서브넷 마스크는 IP 주소와 비트 AND 연산을 수행하여 네트워크 부분과 호스트 부분을 명확히 구분한다. 마스크에서 '1'로 설정된 비트는 네트워크 ID를, '0'으로 설정된 비트는 호스트 ID를 나타낸다.

예를 들어, C 클래스 네트워크 192.168.1.0을 두 개의 서브넷으로 나누고자 한다면, 기본 마스크 255.255.255.0(또는 /24)에서 호스트 ID 비트 하나를 빌려 네트워크 ID로 사용한다. 이 경우 새로운 서브넷 마스크는 255.255.255.128(또는 /25)이 되며, 원래 네트워크는 192.168.1.0/25와 192.168.1.128/25라는 두 개의 독립적인 서브넷으로 분할된다. 각 서브넷은 자신의 네트워크 주소, 사용 가능한 호스트 주소 범위, 브로드캐스트 주소를 갖게 된다.

이러한 분할을 통해 네트워크 트래픽이 불필요하게 전체로 퍼지는 것을 방지하고, 브로드캐스트 도메인의 크기를 줄여 성능을 향상시킨다. 또한 보안 정책을 서브넷 단위로 차별화하여 적용하거나, 지리적 또는 조직적 단위에 맞춰 네트워크를 체계적으로 관리할 수 있게 한다.

2.2. 네트워크 ID와 호스트 ID 구분

IP 주소는 네트워크를 식별하는 부분과 그 네트워크 내 개별 장치(호스트)를 식별하는 부분으로 구성된다. 서브넷 마스크의 핵심 역할은 하나의 IP 주소에서 이 두 부분을 명확하게 구분하는 것이다. 서브넷 마스크는 IP 주소와 동일한 32비트 형식으로, 연속된 1의 비트열은 네트워크 ID를, 연속된 0의 비트열은 호스트 ID를 가리킨다.

예를 들어, 널리 사용되는 서브넷 마스크 255.255.255.0 (이진수로 11111111.11111111.11111111.00000000)을 IP 주소 192.168.1.10에 적용하면, 앞의 24비트(192.168.1)가 네트워크 ID이고, 마지막 8비트(10)가 호스트 ID가 된다. 이 구분은 라우터가 패킷을 전달할 때 목적지가 동일 네트워크 내부인지 외부인지를 판단하는 근거가 된다. 라우터는 목적지 IP 주소와 서브넷 마스크를 비트 AND 연산하여 네트워크 주소를 추출한 후, 자신이 알고 있는 경로 정보와 비교한다.

구성 요소

설명

예시 (IP: 192.168.1.10, 마스크: 255.255.255.0)

네트워크 ID

동일한 물리적 또는 논리적 세그먼트에 속한 모든 장치가 공유하는 주소 부분. 패킷 라우팅의 기준이 된다.

192.168.1.0

호스트 ID

동일 네트워크 내에서 각 장치를 고유하게 식별하는 주소 부분.

10

비트 AND 연산

IP 주소와 서브넷 마스크의 각 비트를 논리곱(AND)하여 네트워크 주소를 얻는 계산법.

192.168.1.10 AND 255.255.255.0 = 192.168.1.0

서브넷 마스크의 길이(1의 개수)에 따라 네트워크가 수용할 수 있는 호스트의 수가 결정된다. 호스트 ID 부분의 비트가 n개이면, 해당 네트워크에서 사용 가능한 호스트 주소는 2^n - 2개이다[1]. 따라서 더 많은 호스트를 수용하려면 호스트 ID 비트를 늘려야 하고, 반대로 네트워크를 더 작은 단위로 분할(서브넷팅)하려면 네트워크 ID 비트를 늘려서 호스트 ID 비트를 줄인다.

3. 표기법과 표현 방식

서브넷 마스크는 주로 두 가지 방식으로 표기됩니다. 가장 일반적인 방식은 IP 주소와 유사한 점으로 구분된 십진수 표기법입니다. 이 방식은 IPv4 주소처럼 네 개의 옥텟으로 구성되며, 각 옥텟은 0부터 255까지의 십진수로 표현됩니다. 예를 들어, 255.255.255.0은 앞의 24비트가 네트워크 부분임을 나타냅니다. 이 표기법에서 255는 해당 옥텟의 8비트가 모두 네트워크 비트임을 의미하고, 0은 모두 호스트 비트임을 의미합니다. 255와 0 사이의 값(예: 255.255.240.0)은 서브넷 마스크가 옥텟 경계를 넘어선다는 것을 보여줍니다.

더 간결하고 현대적인 표기법은 CIDR 표기법입니다. 이는 슬래시(/) 뒤에 네트워크 부분을 나타내는 비트 수를 직접 명시하는 방식입니다. 예를 들어, /24는 점으로 구분된 십진수 표기법의 255.255.255.0과 정확히 동일한 의미를 가집니다. 즉, 32비트 IP 주소 중에서 왼쪽부터 24비트가 네트워크 주소 공간을 식별하는 데 사용된다는 뜻입니다. CIDR 표기법은 주소 블록을 표현할 때 특히 효율적입니다.

두 표기법 간의 변환은 직관적입니다. 아래 표는 몇 가지 일반적인 서브넷 마스크 값을 비교한 것입니다.

CIDR 표기법

점으로 구분된 십진수

사용 가능한 호스트 주소 수*

/24

255.255.255.0

254

/25

255.255.255.128

126

/20

255.255.240.0

4094

/30

255.255.255.252

2

[2]

네트워크 구성 파일이나 라우터 설정에서는 두 표기법 모두 사용될 수 있지만, CIDR 표기법이 기술 문서나 IP 주소 할당 계획에서 더 널리 쓰이는 추세입니다. 이는 주소 범위를 간결하게 표현할 수 있고, 슈퍼넷팅과 같은 클래스리스 개념을 자연스럽게 포함하기 때문입니다.

3.1. 점으로 구분된 십진수 표기법 (예: 255.255.255.0)

서브넷 마스크를 표현하는 가장 일반적인 방식은 IPv4 주소와 동일한 형태인 점으로 구분된 십진수 표기법이다. 이 방식은 32비트의 서브넷 마스크를 8비트씩 네 개의 옥텟으로 나누고, 각 옥텟을 0부터 255까지의 십진수로 변환하여 표현한다. 예를 들어, '255.255.255.0'은 이진수로 '11111111.11111111.11111111.00000000'에 해당한다.

이 표기법에서 '255'는 해당 옥텟의 8비트가 모두 네트워크 부분을 나타내는 비트(1)임을 의미한다. 반면 '0'은 해당 옥텟의 비트가 모두 호스트 부분을 나타내는 비트(0)임을 의미한다. 따라서 '255.255.255.0' 마스크는 앞의 24비트가 네트워크 ID이고, 마지막 8비트가 호스트 ID임을 명시한다.

일반적으로 사용되는 서브넷 마스크 값과 그 의미는 다음과 같다.

서브넷 마스크 (점으로 구분)

CIDR 표기

네트워크 비트 수

설명

255.0.0.0

/8

8비트

클래스 A의 기본 마스크

255.255.0.0

/16

16비트

클래스 B의 기본 마스크

255.255.255.0

/24

24비트

클래스 C의 기본 마스크, 소규모 네트워크에 흔히 사용됨

255.255.255.128

/25

25비트

하나의 네트워크를 두 개의 서브넷으로 분할하는 예

255.255.255.192

/26

26비트

네 개의 서브넷으로 분할하는 예

255.255.255.252

/30

30비트

점대점 링크(예: 라우터 간 연결)에 주로 사용되며, 호스트 주소가 2개만 가능함[3]

이 표기법은 직관적이어서 네트워크 관리자가 IP 주소와 함께 쉽게 확인하고 구성할 수 있다. 그러나 네트워크 프리픽스 길이를 한눈에 파악하기는 어려운 단점이 있어, 이를 보완하기 위해 CIDR 표기법이 함께 사용된다.

3.2. CIDR 표기법 (예: /24)

CIDR 표기법은 서브넷 마스크를 더 간결하게 표현하기 위한 방법이다. 이는 'Classless Inter-Domain Routing'의 약자로, 점으로 구분된 십진수 표기법을 대체하여 네트워크 프리픽스의 길이를 슬래시(/) 뒤에 숫자로 직접 명시한다. 예를 들어, 서브넷 마스크 255.255.255.0은 이진수로 변환했을 때 앞에서부터 24개의 비트가 1로 구성되어 있으므로, CIDR 표기법으로는 /24가 된다.

이 표기법은 네트워크 주소와 서브넷 마스크를 하나의 표기로 결합하여 표현할 수 있게 한다. IP 주소 192.168.1.0과 서브넷 마스크 255.255.255.0을 함께 표기할 때, "192.168.1.0/24"와 같이 간단히 쓸 수 있다. 여기서 '/24'는 네트워크를 식별하는 부분이 24비트라는 의미이며, 나머지 8비트는 해당 네트워크 내의 호스트 주소로 사용된다.

CIDR 표기법의 주요 장점은 간결성과 직관성에 있다. 긴 서브넷 마스크 값을 반복해서 쓰지 않아도 되며, 프리픽스 길이를 보고 해당 네트워크의 크기를 빠르게 추정할 수 있다. 일반적으로 사용되는 CIDR 표기와 해당 호스트 수는 다음과 같다.

CIDR 표기

서브넷 마스크 (십진수)

사용 가능한 호스트 수*

/24

255.255.255.0

254

/25

255.255.255.128

126

/26

255.255.255.192

62

/30

255.255.255.252

2

[4]

이 표기법은 클래스리스 네트워킹의 핵심 요소로, 인터넷 서비스 제공자가 IP 주소를 효율적으로 할당하고, 라우팅 테이블의 크기를 줄이는 데 기여한다. 현대의 네트워크 구성 및 문서화에서는 점으로 구분된 십진수 표기법보다 CIDR 표기법이 더 널리 사용된다.

4. 서브넷 마스크 계산 방법

서브넷 마스크 계산은 필요한 네트워크 수와 각 네트워크당 호스트 수를 결정하는 과정에서 시작된다. 먼저 설계 요구사항에 따라 생성해야 할 서브넷의 개수(N)와 각 서브넷 내에 포함될 최대 호스트 수(H)를 정의한다. 이 두 값은 서브넷 마스크의 비트 구성을 결정하는 근거가 된다.

서브넷 비트 수는 공식 2^s >= N을 만족하는 최소의 정수 s로 계산한다. 여기서 s는 기존 네트워크 ID에 추가로 빌려오는 비트 수, 즉 서브넷 비트 수이다. 마찬가지로 호스트 비트 수는 2^h - 2 >= H를 만족하는 최소의 정수 h로 구한다. -2는 각 서브넷에서 네트워크 주소와 브로드캐스트 주소로 사용되어 실제 호스트에 할당할 수 없는 두 주소를 제외한 것이다. 원본 네트워크의 호스트 비트 수에서 s를 빼서 남은 비트가 h보다 크거나 같아야 유효한 서브넷팅이 가능하다.

계산된 s 값을 바탕으로 새로운 서브넷 마스크 값을 도출한다. 예를 들어, 클래스 C 네트워크(기본 마스크 255.255.255.0 또는 /24)에서 서브넷 비트(s)가 3이라면, 네트워크 부분은 기존 24비트에 3비트가 추가되어 총 27비트가 된다. 이는 점으로 구분된 십진수 형식으로 255.255.255.224에 해당하며, CIDR 표기법으로는 /27이 된다. 이 마스크는 상위 27비트까지를 네트워크 주소로, 나머지 5비트를 호스트 주소로 식별한다.

원본 클래스

원본 마스크 (CIDR)

필요한 서브넷 수 (N)

서브넷 비트(s)

새 마스크 (CIDR)

새 마스크 (십진수)

각 서브넷의 유효 호스트 수

C

/24

6

3

/27

255.255.255.224

30

B

/16

50

6

/22

255.255.252.0

1022

A

/8

1000

10

/18

255.255.192.0

16382

이 표는 서브넷 수 요구사항에 따른 마스크 계산 예시를 보여준다. 최종적으로 계산된 서브넷 마스크는 네트워크를 논리적으로 분할하고, 각 세그먼트의 유효한 IP 주소 범위를 정의하는 데 사용된다.

4.1. 필요한 서브넷 수와 호스트 수 결정

서브넷을 설계할 때는 먼저 네트워크 요구 사항을 분석하여 필요한 서브넷의 개수와 각 서브넷이 수용해야 할 호스트의 최대 수를 결정해야 한다. 이 두 가지 요소는 사용할 서브넷 마스크의 비트 수를 계산하는 근거가 된다.

필요한 서브넷 수는 일반적으로 물리적 또는 논리적 분할 필요성에 따라 정해진다. 예를 들어, 회사의 각 부서별, 각 층별, 또는 보안 구역별로 네트워크를 분리해야 할 경우가 이에 해당한다. 필요한 호스트 수는 각 네트워크 세그먼트에 연결될 라우터, 스위치, 서버, 사용자 PC 등 모든 장치의 수를 고려하여 결정하며, 향후 확장을 위해 일정 여유를 포함하는 것이 일반적이다.

이 요구사항을 바탕으로 다음과 같은 계산 단계를 거친다.

1. 호스트 수 결정: 필요한 호스트 수 H에 대해, 호스트 ID 부분에 할당할 비트 수 h는 2^h - 2 >= H를 만족하는 최소값으로 구한다. 여기서 2를 빼는 것은 네트워크 주소와 브로드캐스트 주소가 사용할 수 없는 주소이기 때문이다.

2. 서브넷 수 결정: 필요한 서브넷 수 S에 대해, 네트워크 ID에서 빌려올 서브넷 비트 수 s는 2^s >= S를 만족하는 최소값으로 구한다.

최종적으로, 원본 네트워크의 클래스에 따른 기본 네트워크 비트 수에 s 비트를 더하면 새로운 네트워크 프리픽스 길이가 되며, 이는 CIDR 표기법(예: /27)이나 점으로 구분된 십진수 서브넷 마스크로 변환할 수 있다.

4.2. 서브넷 비트 계산 및 마스크 값 도출

서브넷 마스크 값을 도출하기 위해서는 먼저 필요한 서브넷 수 또는 각 서브넷 당 필요한 호스트 수를 기준으로 서브넷 비트 수를 계산해야 한다. 필요한 서브넷 수가 N개일 경우, 2^s >= N을 만족하는 최소의 정수 s가 서브넷 비트 수가 된다. 예를 들어, 10개의 서브넷이 필요하다면, 2^3=8로 부족하고 2^4=16이므로 서브넷 비트 수(s)는 4가 된다. 반대로, 각 서브넷 당 필요한 호스트 수가 H개라면, 2^h - 2 >= H를 만족하는 최소의 정수 h가 호스트 비트 수가 되며, 이를 이용해 서브넷 비트 수를 구할 수 있다[5].

서브넷 비트 수(s)가 결정되면, 이를 기반으로 새로운 서브넷 마스크 값을 계산한다. 기존 네트워크의 기본 서브넷 마스크에 서브넷 비트 수만큼 왼쪽에서부터 비트를 1로 추가한다. 예를 들어, C 클래스 네트워크(기본 마스크 255.255.255.0 또는 /24)에서 서브넷 비트를 3비트 사용한다고 가정하면, 새로운 마스크는 /24 + 3 = /27이 된다. 이 값을 점으로 구분된 십진수 형식으로 변환하면 255.255.255.224가 된다. 변환 과정은 다음과 같다.

비트 위치 (서브넷 마스크)

128

64

32

16

8

4

2

1

비트 값 (3비트 사용)

1

1

1

0

0

0

0

0

계산

128 + 64 + 32 = 224

따라서, 네 번째 옥텟의 값이 224가 되어 최종 서브넷 마스크는 255.255.255.224(/27)로 도출된다. 이 마스크를 적용하면 원본 네트워크가 여러 개의 더 작은 서브넷으로 분할되며, 각 서브넷의 유효 호스트 범위와 브로드캐스트 주소를 계산하는 데 사용할 수 있다.

5. 클래스풀 네트워킹 vs 클래스리스 네트워킹

초기 인터넷은 클래스풀 네트워킹 체계를 사용했다. 이 체계는 IP 주소를 미리 정의된 고정 크기의 블록, 즉 클래스 A, B, C로 나누었다. 각 클래스는 고유한 서브넷 마스크를 가졌으며, 클래스 A는 255.0.0.0(/8), 클래스 B는 255.255.0.0(/16), 클래스 C는 255.255.255.0(/24)이었다. 이 방식은 네트워크 ID와 호스트 ID의 경계가 IP 주소의 첫 옥텟에 의해 엄격하게 결정되므로 단순했지만, 주소 공간의 비효율적 사용이라는 심각한 한계를 드러냈다. 예를 들어, 중간 규모 조직에 클래스 B(약 6만 5천 개 호스트)를 할당하면 주소가 낭비되고, 클래스 C(254개 호스트)를 여러 개 할당하면 라우팅 테이블이 비대해지는 문제가 발생했다.

이러한 낭비와 확장성 문제를 해결하기 위해 클래스리스 네트워킹이 도입되었다. 이의 핵심은 CIDR(Classless Inter-Domain Routing)이다. CIDR은 고정된 클래스 구분을 없애고, 서브넷 마스크를 가변 길이로 사용하여 네트워크를 임의의 크기로 분할할 수 있게 했다. 이를 통해 IP 주소 할당이 훨씬 더 유연하고 효율적으로 이루어질 수 있게 되었다. 예를 들어, 255.255.255.192(/26) 같은 마스크를 사용하면 하나의 기존 클래스 C 네트워크를 4개의 더 작은 서브넷으로 나누거나, 여러 개의 연속된 클래스 C 네트워크를 하나의 큰 슈퍼넷으로 합칠 수 있다.

두 방식의 주요 차이점은 다음과 같이 요약할 수 있다.

구분

클래스풀 네트워킹

클래스리스 네트워킹 (CIDR)

주소 분할 기준

고정된 클래스(A, B, C)

가변 길이 서브넷 마스크(VLSM)

마스크 정보 전달

IP 주소 자체에 암시됨 (첫 옥텟)

라우팅 프로토콜과 함께 명시적으로 전파됨

주소 활용 효율성

낮음 (주소 낭비 심함)

높음 (필요에 맞춰 정밀 분할 가능)

라우팅 테이블 크기

비효율적으로 커질 수 있음

경로 요약을 통해 크기 최소화 가능

현대 인터넷에서의 상태

역사적 개념, 더 이상 사용되지 않음

표준 방식으로 광범위하게 사용됨

결과적으로, 클래스리스 네트워킹과 CIDR의 도입은 제한된 IPv4 주소 공간을 효율적으로 관리하고, 급증하는 라우팅 정보를 통합하는 데 결정적인 역할을 했다. 이는 현대 인터넷의 근간을 이루는 핵심 기술이다.

5.1. 기존 클래스 기반 주소 체계의 한계

초기 인터넷은 IP 주소를 크기에 따라 A, B, C 클래스로 고정적으로 구분하는 클래스풀 네트워킹 방식을 사용했다. 각 클래스는 네트워크 ID와 호스트 ID의 경계가 고정되어 있어, 할당의 유연성이 매우 부족했다. 예를 들어, 중간 규모의 조직에 B 클래스(약 6만 5천 개의 호스트 주소)를 할당하면 많은 주소가 낭비되었고, 반면 더 많은 주소가 필요한 조직은 여러 개의 C 클래스(254개 호스트)를 할당받아야 해 관리가 복잡해졌다. 이로 인해 IP 주소가 급속히 고갈되는 문제가 발생했다.

이 체계의 주요 한계는 다음과 같이 정리할 수 있다.

한계점

설명

주소 공간 낭비

조직의 규모에 맞지 않는 고정된 크기의 네트워크가 할당되어 사용되지 않는 IP가 대량으로 발생했다.

라우팅 테이블 폭발

인터넷 성장에 따라 필요한 네트워크 수가 급증했고, 각 네트워크가 라우팅 테이블에 개별 항목으로 등록되면서 테이블 크기가 비효율적으로 커졌다.

유연성 부재

네트워크를 더 작은 서브넷으로 분할하거나, 반대로 여러 네트워크를 하나로 통합하는 것이 표준 체계 내에서는 불가능했다.

이러한 비효율성을 해결하기 위해 네트워크 경계를 고정하지 않고, 서브넷 마스크를 이용해 가변 길이로 정의하는 클래스리스 네트워킹과 CIDR이 도입되었다. 이는 주소 할당의 효율성을 극적으로 높이고 라우팅 정보를 집약할 수 있는 기반을 마련했다.

5.2. CIDR의 도입과 효율성

CIDR(Classless Inter-Domain Routing)은 1993년에 도입된 주소 할당 방식으로, 기존 클래스풀 네트워킹의 비효율성을 해결하고 IP 주소 공간의 낭비를 크게 줄였다. 클래스풀 방식은 네트워크 크기를 A, B, C 클래스로 고정적으로 분류했기 때문에, 중간 규모의 조직은 너무 큰 B 클래스 주소를 할당받아 수만 개의 호스트 주소를 낭비하거나, 너무 작은 C 클래스 주소 여러 개를 할당받아 관리가 복잡해지는 문제가 있었다. CIDR은 이러한 고정된 클래스 경계를 없애고, 네트워크 프리픽스 길이를 가변적으로 지정할 수 있게 함으로써 유연한 주소 할당을 가능하게 했다.

CIDR의 핵심 효율성은 두 가지 측면에서 나타난다. 첫째, 서브넷팅과 슈퍼넷팅을 통한 주소 공간의 효율적 활용이다. 서브넷팅은 큰 네트워크를 작은 서브넷으로 분할하는 반면, 슈퍼넷팅은 여러 개의 연속된 작은 네트워크를 하나의 큰 네트워크로 통합하여 라우팅 테이블 항목을 줄인다. 예를 들어, 200.100.10.0/24부터 200.100.15.0/24까지의 8개 C 클래스 네트워크는 200.100.8.0/21이라는 하나의 슈퍼넷으로 통합하여 라우팅 정보를 집약할 수 있다[6].

둘째, 라우팅 테이블의 크기 감소로 인한 인터넷 백본의 부하 경감이다. CIDR 이전에는 ISP가 고객에게 할당한 수많은 작은 네트워크 경로가 각각 인터넷 백본 라우터의 라우팅 테이블에 개별 항목으로 추가되어야 했다. CIDR을 통해 ISP는 자신이 관리하는 여러 네트워크 블록을 하나의 큰 프리픽스로 집약하여 상위 계층 ISP에 광고할 수 있게 되었다. 이로 인해 전 세계 라우팅 테이블의 증가 속도가 완화되고, 라우팅 업데이트 및 검색 성능이 향상되었다.

구분

클래스풀 네트워킹

클래스리스 네트워킹 (CIDR)

주소 할당 기준

고정된 클래스(A, B, C)

가변 길이 서브넷 마스크(VLSM)

주소 활용 효율

낮음 (주소 낭비 심함)

높음 (필요에 맞게 할당)

라우팅 테이블

크기가 빠르게 증가

라우팅 집약으로 크기 감소

표기법

서브넷 마스크만 사용 (255.255.255.0)

프리픽스 길이 표기 병용 (192.168.1.0/24)

결과적으로 CIDR의 도입은 제한된 IPv4 주소 자원을 더 오래 사용할 수 있게 하는 결정적 계기가 되었으며, 현대 인터넷의 라우팅 인프라가 확장성을 유지하는 데 필수적인 기반 기술로 자리 잡았다.

6. 실제 적용 예시

서브넷 마스크를 활용한 서브넷팅은 네트워크 설계의 핵심 요소로, 실제 환경에서 다양한 목적으로 적용된다. 주로 네트워크를 논리적으로 분할하여 브로드캐스트 도메인의 크기를 줄이고, 보안 정책을 세분화하며, 지리적으로 분산된 자원을 효율적으로 관리하는 데 사용된다.

기업 내부 네트워크 설계에서는 하나의 큰 IP 주소 블록을 여러 부서별 서브넷으로 나누는 것이 일반적이다. 예를 들어, 192.168.1.0/24 네트워크를 가진 중소기업은 서브넷 마스크 255.255.255.224(/27)를 적용하여 8개의 서브넷으로 분할할 수 있다. 각 서브넷은 약 30개의 호스트를 수용할 수 있어, 영업부(192.168.1.0/27), 개발부(192.168.1.32/27), 관리부(192.168.1.64/27) 등으로 구분된다. 이렇게 분리하면 부서 간 불필요한 브로드캐스트 트래픽이 감소하고, 방화벽 규칙을 통해 부서별 접근 제어를 구현하는 것이 용이해진다.

인터넷 서비스 제공자는 서브넷 마스크와 CIDR을 활용하여 IP 주소 자원을 최대한 효율적으로 할당한다. ISP는 큰 주소 블록(예: 203.0.113.0/21)을 보유하고, 이를 고객사의 규모에 맞게 적절한 크기로 쪼개어 제공한다. 대규모 기업에는 203.0.113.0/24(256개 주소)를, 중소기업에는 203.0.113.0/26(64개 주소)를, 소규모 가정용에는 203.0.113.64/29(8개 주소, 실제 사용 가능 호스트는 6개)와 같이 할당한다. 이 클래스리스 방식은 고정된 클래스 A, B, C 체계보다 훨씬 유연하고 낭비가 적다.

적용 대상

할당 예시 (CIDR)

서브넷 마스크

사용 가능 호스트 수*

용도

대규모 기업

203.0.113.0/24

255.255.255.0

254

본사 네트워크

중소기업

203.0.113.0/26

255.255.255.192

62

지사 네트워크

소호/가정

203.0.113.64/29

255.255.255.248

6

소규모 공유기 네트워크

*네트워크 주소와 브로드캐스트 주소를 제외한 수[7].

6.1. 기업 내부 네트워크 설계

기업은 서브넷팅을 활용하여 단일 IP 주소 블록을 효율적으로 분할하고, 논리적으로 구분된 여러 네트워크 세그먼트를 구성한다. 이는 부서별(예: 영업부, 개발팀, 재무팀), 기능별(예: 사용자 네트워크, 서버 네트워크, 게스트 Wi-Fi), 또는 보안 수준별로 트래픽을 격리하고 관리하기 위함이다. 예를 들어, 회사가 ISP로부터 192.168.1.0/24 주소 블록을 할당받았다면, 이를 더 작은 서브넷으로 나누어 각 부서에 할당할 수 있다.

서브넷 설계 시 고려해야 할 핵심 요소는 각 세그먼트에 필요한 호스트(컴퓨터, IP 전화기, 서버 등)의 수이다. 필요한 호스트 수에 따라 적절한 서브넷 마스크를 선택한다. 호스트 수가 많은 세그먼트는 더 넓은 주소 범위를, 호스트 수가 적은 세그먼트는 좁은 범위를 할당하여 IP 주소를 낭비하지 않도록 한다. 아래는 192.168.1.0/24 네트워크를 4개의 서브넷으로 분할하는 예시이다.

서브넷 용도

네트워크 주소 (CIDR)

사용 가능 호스트 범위

서브넷 마스크

사용 가능 호스트 수

관리부서

192.168.1.0/26

192.168.1.1 - 192.168.1.62

255.255.255.192

62

영업부서

192.168.1.64/26

192.168.1.65 - 192.168.1.126

255.255.255.192

62

개발서버

192.168.1.128/27

192.168.1.129 - 192.168.1.158

255.255.255.224

30

게스트 Wi-Fi

192.168.1.160/28

192.168.1.161 - 192.168.1.174

255.255.255.240

14

이러한 분할을 통해 각 부서 네트워크는 서로 독립적으로 동작한다. 라우터 또는 레이어 3 스위치는 서브넷 간 통신을 중재하며, 방화벽 정책을 적용하여 특정 서브넷(예: 게스트 Wi-Fi)이 다른 서브넷(예: 개발서버)에 직접 접근하지 못하도록 제한할 수 있다. 이는 보안 강화와 네트워크 브로드캐스트 트래픽의 범위를 제한하여 전체 네트워크 성능을 향상시키는 효과를 가져온다.

6.2. ISP의 IP 주소 할당

인터넷 서비스 제공자는 IANA 및 지역 인터넷 레지스트리로부터 대규모 IP 주소 블록을 할당받습니다. 이 주소 블록을 효율적으로 관리하고 최종 사용자(가정, 기업 등)에게 적절한 크기로 재할당하는 과정에서 서브넷팅은 핵심적인 역할을 합니다.

ISP는 할당받은 주소 공간을 여러 단계로 나누어 사용합니다. 먼저, 국가 또는 광역 지점별로 큰 서브넷으로 분할한 후, 다시 개별 고객의 요구 사항에 맞춰 더 작은 서브넷으로 나눕니다. 예를 들어, ISP가 203.0.113.0/21 블록을 보유하고 있다면, 이를 여러 개의 /24 네트워크로 나누어 중소기업에 제공하거나, /30 또는 /31 네트워크로 나누어 광역 네트워크 링크에 사용할 수 있습니다. 이 과정은 아래 표와 같이 요약할 수 있습니다.

할당 단계

목적

예시 (203.0.113.0/21 기준)

CIDR 표기

1단계

지역별 할당

서울 지역 할당 블록

203.0.113.0/22

2단계

서비스 유형별 할당

가정용 고객 블록

203.0.115.0/24

3단계

최종 고객 할당

개별 기업 고객

203.0.115.32/28

이러한 계층적 할당 방식은 라우팅 테이블의 크기를 최소화하는 데 기여합니다. ISP의 업스트림 라우터는 개별 고객의 작은 네트워크 경로를 모두 알 필요 없이, ISP가 보유한 큰 주소 블록(/21)을 향한 하나의 경로만을 유지하면 됩니다. 이 원칙을 경로 요약 또는 라우팅 집계라고 합니다.

또한, ISP는 동적 호스트 설정 프로토콜 서버를 통해 가정용 고객에게 주소를 동적으로 할당할 때 특정 서브넷 마스크(예: /24)를 사용합니다. 이는 하나의 네트워크 세그먼트 내에서 허용되는 호스트 수를 제한하고, 브로드캐스트 도메인의 범위를 관리하는 데 필수적입니다. 효율적인 서브넷팅을 통해 ISP는 제한된 IPv4 주소 자원을 최대한 활용하고, 네트워크 성능과 관리 효율성을 동시에 확보합니다.

7. 서브넷팅 연습 문제

서브넷팅의 원리를 이해하기 위해 실제 계산을 통해 연습하는 것이 중요하다. 다음은 IPv4 주소와 서브넺팅을 연습할 수 있는 일반적인 문제 유형과 해결 방법이다.

문제 1: 기본 서브넷 마스크 결정

주어진 IP 주소가 속한 네트워크의 기본 서브넷 마스크를 결정하는 문제다. 예를 들어, IP 주소 192.168.10.50이 있다면, 이는 사설 IP 주소 대역인 RFC 1918의 C 클래스에 해당하므로 기본 서브넷 마스크는 255.255.255.0(/24)이다. 이를 통해 네트워크 주소는 192.168.10.0이 되고, 유효 호스트 주소 범위는 192.168.10.1부터 192.168.10.254까지임을 알 수 있다.

문제 2: 주어진 요구사항에 따른 서브넷 설계

특정 수의 서브넷과 각 서브넷당 필요한 호스트 수를 기반으로 적절한 서브넷 마스크를 계산하는 문제다. 예를 들어, 172.16.0.0/16 네트워크를 최소 12개의 서브넷으로 나누고, 각 서브넷당 최소 1000개의 호스트를 수용해야 한다고 가정해 보자.

1. 서브넷 비트 계산: 12개의 서브넷을 만들려면 2^n >= 12를 만족하는 최소 n을 찾는다. 2^4=16이므로 4비트가 필요하다.

2. 호스트 비트 확인: 원본 네트워크가 /16이므로 호스트 비트는 16비트이다. 서브넷에 4비트를 빌리면 호스트 비트는 12비트가 남는다(16 - 4 = 12).

3. 호스트 수 검증: 2^12 - 2 = 4094개[8]의 호스트를 수용할 수 있어 요구사항(1000개)을 충족한다.

4. 서브넷 마스크 도출: 원본 마스크 /16(255.255.0.0)에 서브넷 비트 4개를 추가하여 새로운 마스크는 /20(255.255.240.0)이 된다.

문제 3: 특정 호스트가 속한 서브넷 정보 계산

IP 주소와 서브넷 마스크가 주어졌을 때, 해당 호스트가 속한 네트워크의 주소, 유효 호스트 범위, 브로드캐스트 주소를 구하는 문제다. 예를 들어, IP 10.50.120.75, 서브넷 마스크 255.255.192.0(/18)이 주어진 경우:

계산 항목

값

설명

네트워크 주소

10.50.64.0

IP 주소와 서브넷 마스크를 논리적 AND 연산하여 구한다.

첫 번째 유효 호스트

10.50.64.1

네트워크 주소의 마지막 옥텟에 1을 더한다.

마지막 유효 호스트

10.50.127.254

브로드캐스트 주소 직전 주소이다.

브로드캐스트 주소

10.50.127.255

해당 서브넷 내 모든 호스트로 패킷을 전송하는 주소이다.

이러한 연습 문제를 풀어보면 네트워크 주소 체계에 대한 이해를 깊이 할 수 있으며, 실제 네트워크 설계와 문제 해결에 직접 적용할 수 있는 능력을 기를 수 있다.

8. 관련 네트워크 개념

서브넷 마스크는 IP 주소와 함께 사용될 때, 네트워크 설계와 통신에 필수적인 몇 가지 파생 주소를 정의하는 기준이 된다. 이 중 가장 중요한 개념으로 기본 게이트웨이와 브로드캐스트 주소를 꼽을 수 있다.

기본 게이트웨이는 일반적으로 해당 서브넷 내에서 사용 가능한 첫 번째 또는 마지막 호스트 주소로 할당된다. 예를 들어, 네트워크 주소가 192.168.1.0이고 서브넷 마스크가 255.255.255.0(/24)인 서브넷에서, 기본 게이트웨이는 흔히 192.168.1.1이 된다. 이 장치는 내부 네트워크의 호스트들이 외부 네트워크(예: 인터넷)로 패킷을 전송할 때 사용하는 출구 역할을 한다. 호스트는 목적지 IP 주소가 자신의 서브넷에 속하지 않으면, 해당 패킷을 라우팅하기 위해 기본 게이트웨이로 전송한다.

브로드캐스트 주소는 특정 서브넷 내의 모든 호스트에게 동시에 데이터를 전송하는 데 사용되는 주소이다. 이 주소는 호스트 ID 부분의 모든 비트가 '1'인 주소로 계산된다. 동일한 예시(192.168.1.0/24)에서 브로드캐스트 주소는 192.168.1.255가 된다. 이 주소로 발송된 패킷은 해당 서브넷의 모든 장치가 수신한다. 브로드캐스트는 ARP(주소 결정 프로토콜)와 같은 프로토콜에서 특정 호스트의 MAC 주소를 찾거나, 네트워크 서비스를 알리는 데 널리 사용된다.

개념

설명

계산 예 (네트워크: 192.168.1.0/24)

용도

네트워크 주소

서브넷 자체를 식별하는 주소. 호스트 ID 전체가 0.

192.168.1.0

라우팅 테이블에서 목적지 네트워크를 지시.

기본 게이트웨이

서브넷의 출구 역할을 하는 라우터의 IP 주소.

192.168.1.1 (일반적 할당)

외부 네트워크와의 통신을 중개.

브로드캐스트 주소

서브넷 내 모든 호스트에 패킷을 전송하는 주소. 호스트 ID 전체가 1.

192.168.1.255

서브넷 내 전체 호스트에게 일괄 통지.

이러한 주소들은 서브넷 마스크에 의해 정의된 네트워크 범위 내에서만 유효하며, 네트워크의 정상적인 운영을 위해 반드시 이해하고 올바르게 구성해야 한다.

8.1. 기본 게이트웨이

기본 게이트웨이는 한 서브넷이 다른 네트워크, 특히 인터넷과 통신하기 위해 사용하는 출입구 역할을 하는 장치의 IP 주소를 가리킨다. 일반적으로 라우터의 인터페이스가 이 역할을 담당한다. 서브넷 내의 모든 장비는 외부 네트워크로 패킷을 전송해야 할 때, 해당 패킷의 목적지 IP 주소가 자신의 서브넷 범위 내에 있지 않으면 기본 게이트웨이로 패킷을 전송한다[9].

기본 게이트웨이의 주소는 해당 서브넷에서 사용 가능한 호스트 주소 범위 내에서, 일반적으로 첫 번째 또는 마지막 사용 가능 주소로 할당되는 것이 관례이다. 예를 들어, 네트워크 주소가 192.168.1.0이고 서브넷 마스크가 255.255.255.0(/24)인 서브넷에서는 192.168.1.1이 가장 흔한 기본 게이트웨이 주소가 된다. 이 주소는 네트워크 설정 시 각 호스트(컴퓨터, 서버 등)에 수동으로 또는 DHCP를 통해 자동으로 구성된다.

구성 요소

예시 값

설명

네트워크 주소

192.168.1.0

서브넷 자체를 식별하는 주소

서브넷 마스크

255.255.255.0

네트워크 부분과 호스트 부분을 구분

사용 가능한 호스트 주소 범위

192.168.1.1 ~ 192.168.1.254

장비에 할당 가능한 주소

기본 게이트웨이

192.168.1.1

외부 네트워크로 나가는 라우터 주소

브로드캐스트 주소

192.168.1.255

서브넷 내 모든 호스트에 동시 전송용 주소

기본 게이트웨이가 정상적으로 동작하지 않으면, 해당 서브넷의 장비들은 서브넷 내부 통신은 가능하지만 인터넷이나 다른 부서의 네트워크 등 외부와의 모든 연결이 끊기게 된다. 따라서 이는 네트워크 설계와 장애 조치에서 매우 중요한 요소이다.

8.2. 브로드캐스트 주소

브로드캐스트 주소는 특정 서브넷 내의 모든 호스트에게 데이터 패킷을 동시에 전송하기 위해 사용되는 예약된 IP 주소이다. 이 주소로 전송된 패킷은 해당 네트워크 세그먼트에 연결된 모든 장치가 수신한다. 브로드캐스트 주소는 호스트 ID 부분의 모든 비트가 '1'인 주소로 계산된다[10].

브로드캐스트는 ARP와 같은 프로토콜을 통해 특정 호스트의 MAC 주소를 찾거나, 네트워크 서비스의 존재를 알리는 데 사용된다. 그러나 하나의 네트워크 세그먼트 내에서만 동작하는 로컬 브로드캐스트와 달리, 라우터를 통해 다른 네트워크로 전파될 수 있는 디렉티드 브로드캐스트도 존재한다. 디렉티드 브로드캐스트는 보안상의 이유로 현대 라우터에서 기본적으로 차단되는 경우가 많다.

서브넷 마스크는 브로드캐스트 주소를 결정하는 핵심 요소이다. 주어진 IP 주소와 서브넷 마스크를 통해 네트워크 주소를 계산한 후, 호스트 ID 필드를 모두 1로 설정하면 브로드캐스트 주소가 된다. 이 계산은 네트워크 설계와 문제 해결에서 필수적이다.

구성 요소

예시 (IP: 172.16.5.10, 마스크: 255.255.255.0)

비트 표현 (호스트 부분)

IP 주소

172.16.5.10

10101100.00010000.00000101.00001010

서브넷 마스크

255.255.255.0

11111111.11111111.11111111.00000000

네트워크 주소

172.16.5.0

10101100.00010000.00000101.00000000

브로드캐스트 주소

172.16.5.255

10101100.00010000.00000101.11111111

과도한 브로드캐스트 트래픽은 네트워크 성능을 저하시키는 '브로드캐스트 스톰'을 유발할 수 있다. 따라서 네트워크를 적절한 크기의 서브넷으로 분할하는 서브넷팅은 브로드캐스트 도메인의 범위를 제한하여 이러한 문제를 완화하는 중요한 방법이다.

9. 관련 문서

  • Wikipedia - 서브넷 마스크

  • 나무위키 - 서브넷 마스크

  • Cisco - 서브넷 마스크 이해하기

  • KISA - IP 주소와 서브넷 마스크 기초

  • Microsoft Learn - 서브넷 마스크란?

  • GeeksforGeeks - Introduction to Subnetting

  • Studytonight - Subnetting and Subnet Masks Explained

리비전 정보

버전r1
수정일2026.02.14 21:21
편집자unisquads
편집 요약AI 자동 생성