본문 바로가기
카테고리 없음

[네트워크 기초] 서브넷 마스크와 서브네팅 완벽 정복 (feat. 라우팅 테이블과 NAT)

by Lsung 2026. 8. 18.

1. 서브넷 마스크(Subnet Mask)란?

우리가 도로명 주소를 볼 때 '서울특별시 강남구(도시/구)'와 '테헤란로 123(상세주소)'을 구분하듯, IP 주소도 **"어디까지가 네트워크 주소(지번)이고, 어디서부터가 호스트 주소(개인 컴퓨터 우편함)"**인지 알려주는 기준이 필요합니다. 그 기준표가 바로 서브넷 마스크입니다.

💡 /24 표기법의 비밀 (Prefix)

우리가 흔히 쓰는 255.255.255.0은 2진수로 바꾸면 다음과 같습니다.

  • 11111111.11111111.11111111.00000000
  • 여기서 '1'의 개수가 총 24개이기 때문에 간단하게 **/24**라고 부릅니다.
  • 즉, 앞의 24비트는 국가나 동네를 나타내는 네트워크 ID이고, 남은 8비트가 그 동네 안의 집들을 나타내는 호스트 ID가 됩니다.

 


2. 왜 네트워크를 쪼개야 할까? (서브네팅의 이유)

우리에게 1.1.1.0 ~ 1.1.1.255까지 총 256개의 IP 주소가 주어졌다고 가정해 봅시다. 이걸 쪼개지 않고 하나의 네트워크망에 전부 연결해서 쓰면 어떤 문제가 발생할까요?

  1. 콜리전(Collision, 충돌)과 브로드캐스트 부하: 한 네트워크에 너무 많은 컴퓨터가 있으면 신호 충돌이 자주 발생하고, "너 누구니?" 하고 묻는 브로드캐스트 패킷이 256대 전체에 흘러 네트워크가 느려집니다.
  2. 부서별 권한 분리 및 보안: 회사에서 '인사과', '개발과', '영업과'의 네트워크망을 분리하여 보안과 트래픽 사용량을 제어해야 할 필요가 있습니다.
  3. 라우터의 한계 극복: 라우터는 네트워크 주소가 서로 '다른' 망만 연결할 수 있습니다. 같은 /24 대역 안에서는 라우터를 두고 통신망을 나눌 수 없기 때문에, 강제로 네트워크 주소를 다르게 쪼개야 합니다.

 


3. 서브넷 마스크로 네트워크 반으로 쪼개기 (2분할)

원래 호스트 ID로 쓰던 마지막 8비트 중 맨 첫 번째 자리를 네트워크 주소용(서브넷 마스크 영역)으로 뺏어와 버리는 마법을 부려봅니다.

Code
[원래 상태 /24]
네트워크 ID (24비트) ─────────────── Host ID (8비트)
11111111.11111111.11111111. [0]0000000 (8비트 중 첫 자리를 뺏음!)
 
[서브네팅 후 /25]
- 첫 자리가 0인 그룹 (0번 망): 1.1.1.0 ~ 1.1.1.127 (서브넷 마스크: 255.255.255.128)
- 첫 자리가 1인 그룹 (1번 망): 1.1.1.128 ~ 1.1.1.255 (서브넷 마스크: 255.255.255.128)
 

이렇게 쪼개면 라우터가 이 두 네트워크를 **"서로 다른 네트워크"**로 인식하여 연결해 줄 수 있게 됩니다!

📊 2분할 시 실제 사용 가능한 IP 주소 계산

네트워크를 쪼개면 각 네트워크의 **첫 번째 주소(네트워크 주소)**와 **마지막 주소(브로드캐스트 주소)**는 장비들이 사용해야 하므로 컴퓨터에 할당할 수 없습니다.

  • A 네트워크 (0번 망)
    • 네트워크 주소: 1.1.1.0
    • 브로드캐스트 주소: 1.1.1.127
    • 실제 사용 가능한 IP: 1.1.1.1 ~ 1.1.1.126 (총 126개)
  • B 네트워크 (1번 망)
    • 네트워크 주소: 1.1.1.128
    • 브로드캐스트 주소: 1.1.1.255
    • 실제 사용 가능한 IP: 1.1.1.129 ~ 1.1.1.254 (총 126개)

 


4. 마스크 값에 따른 네트워크 분할표 (암기 필수!)

비트를 몇 개 빌려오느냐에 따라 쪼개지는 네트워크 개수와 사용할 수 있는 호스트(컴퓨터) 수가 결정됩니다.

서브넷 마스크 (마지막 자리)2진수 표기쪼개지는 네트워크 수네트워크당 호스트 수 (실제 쓸 수 있는 개수)
.0 (/24) 00000000 1개 256개 (254개)
.128 (/25) 10000000 2개 128개 (126개)
.192 (/26) 11000000 4개 64개 (62개)
.224 (/27) 11100000 8개 32개 (30개)
.240 (/28) 11110000 16개 16개 (14개)
.248 (/29) 11111000 32개 8개 (6개)
.252 (/30) 11111100 64개 4개 (2개) 보통 라우터-라우터 연결용
.254 (/31) 11111110 128개 2개 (0개) 실질적 사용 불가

 


5. 라우터와 브릿지의 이정표 비교

패킷이 길을 찾아갈 때 장비들은 자신만의 '이정표(테이블)'를 보고 길을 안내합니다.

  • 브릿지 테이블 (Bridge Table / MAC 주소 테이블):
    • MAC 주소가 저장되어 있습니다.
    • 같은 네트워크 안에서 어떤 포트에 어떤 컴퓨터(MAC)가 연결되어 있는지 기억하는 용도입니다.
  • 라우팅 테이블 (Routing Table):
    • **네트워크 주소(IP 대역)**가 저장되어 있습니다.
    • 서로 다른 네트워크로 패킷을 보낼 때 어떤 라우터 경로로 가야 하는지 안내하는 이정표입니다.
    • 라우터의 인터페이스 IP를 세팅하면 자동으로 생성되기도 하고, 관리자가 수동으로 적어주기도 합니다(정적 라우팅).

 


6. NAT(Network Address Translation)와 사설 IP

전 세계의 IP 주소(IPv4)는 개수가 한정되어 있어 인류 공통의 자산으로 최상위 기관(IANA)이 관리합니다. 통신사(KT, SKT 등)가 이를 대여해 서비스를 제공하는데, 주소가 너무 부족하다 보니 등장한 기술이 바로 NAT입니다.

Code
[ 사설 IP 대역 (집/회사 안) ] ───▶ [ NAT 장비 (공유기/라우터) ] ───▶ [ 공인 IP (인터넷 망) ]
192.168.0.5 (내 컴퓨터) (외부용 대표 IP로 변환) 구글, 네이버 등 외부 서버
  • 개념: 내부망에서는 우리끼리만 쓰는 **'사설 IP'**를 쓰고, 외부 인터넷으로 나갈 때는 대표 '공인 IP' 하나를 나누어 쓰도록 1:1 또는 N:1로 주소를 변환해 주는 기술입니다.
  • 마스커레이드(Masquerading): 리눅스 환경에서 주로 쓰이는 용어로, 여러 개의 사설 IP를 하나의 공인 IP에 숨겨서(가면을 씌워서) 나가는 기술을 뜻합니다.
  • Bogon IP (보곤 IP): 인터넷상에서 공인 IP로 절대 사용하지 않기로 약속된 IP 대역(사설 IP 대역 등)을 말하며, 외부 인터넷망에서는 이 주소로 통신할 수 없습니다.

 


✍️ 오늘 공부 요약 한 장 정리

  1. 서브넷 마스크는 IP 주소에서 네트워크 영역을 어디까지 쓸지 지정하는 '가이드라인'이다.
  2. 하나의 대역을 효율적으로 쓰고 라우터로 연결하기 위해 **서브네팅(네트워크 쪼개기)**을 수행한다.
  3. 라우팅 테이블은 '네트워크 주소'를 이정표로 삼고, 브릿지 테이블은 'MAC 주소'를 이정표로 삼는다.
  4. 부족한 공인 IP 문제를 해결하기 위해 안에서는 사설 IP를 쓰고 밖으로 갈 땐 공인 IP로 변환하는 NAT(마스커레이드) 기술을 사용한다.