서브넷팅 설명

발행: (2026년 2월 25일 오전 02:22 GMT+9)
10 분 소요
원문: Dev.to

Source: Dev.to

번역을 진행하려면 번역하고자 하는 전체 텍스트를 제공해 주시겠어요? 텍스트를 주시면 요청하신 대로 한국어로 번역해 드리겠습니다.

서브넷팅이란?

큰 아파트 건물을 여러 층으로 나누는 것과 같습니다. 각 층(서브넷)에는 자체 번호가 매겨진 유닛(호스트)이 있고, 건물 주소(네트워크 ID)는 당신이 어느 층에 있는지를 식별합니다.

IPv4 주소 구조

예시 주소: 192.168.1.10

모든 IPv4 주소는 두 개의 논리적 부분으로 나뉩니다:

  • 네트워크 부분 – 서브넷 마스크에 의해 결정됩니다.
  • 호스트 부분 – 나머지 비트들.

/24 마스크는 처음 24비트가 네트워크 부분이고 마지막 8비트가 호스트용이라는 의미입니다.

IP: 192.168.1.10

The Subnet Mask

255.255.255.0 = /24

장치는 서브넷 마스크를 사용하여 목적지 IP가 동일한 로컬 네트워크에 있는지(직접 전송) 또는 다른 네트워크에 있는지(게이트웨이 라우터로 전송) 결정합니다.

장치가 AND 연산을 사용하는 방법

  • 1 AND 1 = 1
  • 어떤 값도 AND 0 = 0

AND 연산의 결과는 네트워크 ID입니다.

Source IP: 192.168.1.10
Binary:   11000000.10101000.00000001.00001010
Mask:     11111111.11111111.11111111.00000000
Result:   11000000.10101000.00000001.00000000  → 192.168.1.0 (Network ID)

장치는 양쪽 소스와 목적지 IP에 대해 이 AND 연산을 수행합니다.

  • 두 결과가 일치하면, 장치들은 같은 서브넷에 있으며 직접 통신합니다.
  • 결과가 다르면, 패킷은 기본 게이트웨이로 전송됩니다.

이 논리는 하드웨어에서 와이어 속도로 모든 패킷에 대해 수행됩니다.

Network ID와 Broadcast Address

  • Network ID – 모든 호스트 비트가 0.
  • Broadcast Address – 모든 호스트 비트가 1 (서브넷의 마지막 주소).

사용 가능한 호스트 주소

Usable Hosts = 2^H − 2

여기서 H는 서브넷팅 후 남은 호스트 비트 수를 의미합니다.

예시: /24

  • H = 8 → 2^8 − 2 = 254 사용 가능한 호스트 (주소 192.168.1.1192.168.1.254).

서브넷팅 공식

  • 필요한 서브넷 수: 2^N 여기서 N = 호스트 부분에서 빌린 비트 수.
  • 서브넷당 호스트 수: 2^H − 2 여기서 H = 남은 호스트 비트.

원래 마스크의 호스트 부분에서 N 비트를 빌리면 프리픽스 길이가 N만큼 증가합니다. 남은 H 비트는 각 서브넷이 수용할 수 있는 호스트 수를 정의합니다.

비트 빌리기 — 실제 의미

Original network: 192.168.1.0/24

Borrow 2 bits:

11111111.11111111.11111111.11000000
  • 2비트를 빌리면 2² = 4개의 서브넷이 생성됩니다.
  • 각 서브넷은 2^6 − 2 = 62개의 사용 가능한 호스트를 가집니다.

서브넷이 많아질수록 서브넷당 호스트 수는 줄어듭니다. 이것이 기본적인 트레이드오프입니다.

Block Size — 가장 유용한 트릭

Block Size = 256 − (interesting octet value)

interesting octet 은 서브넷 마스크가 255(전체 네트워크)도 아니고 0(전체 호스트)도 아닌 옥텟을 말합니다.

예시: /26

  • 마스크: 255.255.255.192
  • 흥미로운 옥텟 값: 192
  • 블록 크기: 256 − 192 = 64

서브넷 시작 주소: 0, 64, 128, 192

일반적인 블록 크기 암기

CIDRBlock Size
/25128
/2664
/2732
/2816
/298
/304

이 값들은 거의 모든 서브넷팅 문제에 등장합니다.

Subnet 문제 해결 — 단계별

6단계 방법

  1. 문제에서 프리픽스 길이(/x)를 확인한다.
  2. 흥미로운 옥텟을 찾는다.
  3. 블록 크기를 계산한다.
  4. 서브넷 범위를 나열한다.
  5. 주어진 호스트 주소가 포함된 범위를 결정한다.
  6. Network ID, Broadcast 주소, 사용 가능한 호스트 범위를 읽는다.

예제 1 — /26 서브넷

문제: IP 주소 192.168.1.70/26이 주어졌을 때, Network ID, Broadcast 주소, 사용 가능한 호스트 범위를 찾으라.

StepAction
1Prefix = /26
2Interesting octet = 4번째 옥텟 (마스크 192)
3Block size = 256 − 192 = 64
4Subnet ranges: 0‑63, 64‑127, 128‑191, 192‑255
57064‑127 범위에 속한다
6Network ID: 192.168.1.64
Broadcast: 192.168.1.127
Usable hosts: 192.168.1.65192.168.1.126

예제 2 — /22 서브넷

문제: IP 주소 10.205.79.90/22이 주어졌을 때, Network ID, Broadcast 주소, 호스트 범위를 찾으라.

StepAction
1Prefix = /22
2Interesting octet = 3번째 옥텟 (마스크 252)
3Block size = 256 − 252 = 4
43번째 옥텟의 서브넷 범위: 0‑3, 4‑7, 8‑11, …, 76‑79, 80‑83, …
53번째 옥텟 7976‑79 범위에 속한다
6Network ID: 10.205.76.0
Broadcast: 10.205.79.255
Usable hosts: 10.205.76.110.205.79.254

흥미로운 옥텟이 마지막 옥텟이 아닌 경우(/22와 같이), 전체 호스트 범위는 마지막 옥텟의 여러 값을 포함한다. 네트워크는 (block_start).0에서 시작하고 (block_end).255에서 끝난다.

예제 3 — /24를 분할하기

문제: 회사가 네트워크 192.168.1.0/24를 가지고 있으며 최소 3개의 서브넷이 필요하다.

StepAction
1빌릴 비트 수 결정: ≥3 서브넷 필요 → 2비트 빌림 (2² = 4 서브넷)
2새로운 마스크: /26255.255.255.192
3사용 가능한 서브넷 나열: 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26

결과: 4개의 서브넷(하나 여분) 각각 62개의 사용 가능한 호스트를 지원한다. 세 개를 부서에 할당하고 하나는 여분으로 유지한다.

CIDR Notation

192.168.1.0/24 means 24 network bits and 8 host bits.

CIDR (Classless Inter‑Domain Routing) is used everywhere—routing tables, firewall rules, cloud security groups, and IP allocation. Understanding /x notation instantly tells you the block size and host capacity of any subnet.

빠른 참고표

CIDRSubnet MaskBlock SizeTotal IPsUsable Hosts
/24255.255.255.0256256254
/25255.255.255.128128128126
/26255.255.255.192646462
/27255.255.255.224323230
/28255.255.255.240161614
/29255.255.255.248886
/30255.255.255.252442

Key Takeaways

  • 서브넷팅은 호스트 비트를 빌려 하나의 네트워크를 여러 개로 나눕니다 – 서브넷이 많을수록 서브넷당 호스트 수가 줄어듭니다.
  • 장치는 비트 단위 AND를 사용하여 서브넷을 찾습니다: IP AND Mask = Network ID.
  • 네트워크 ID(모든 호스트 비트가 0)와 브로드캐스트(모든 호스트 비트가 1)는 항상 예약되어 있으며 호스트에 할당될 수 없습니다.
  • 블록 크기 = 256 − 마스크 옥텟 값 – 서브넷 범위를 찾는 가장 빠른 도구입니다.
  • 사용 가능한 호스트 = 2^H − 2 여기서 H는 호스트 비트 수입니다.
  • CIDR /x 표기법은 네트워크 비트가 몇 비트인지 알려주며, 나머지는 호스트 비트입니다.
  • 서브넷을 설계할 때는 먼저 네트워크 수를 우선시하고, 그 다음 네트워크당 호스트 수를 고려합니다.
0 조회
Back to Blog

관련 글

더 보기 »