민혁이의 IT스토리

서브넷 마스크와 서브네팅 : IP 대역을 쪼개기 본문

Network

서브넷 마스크와 서브네팅 : IP 대역을 쪼개기

FE_Minhyuk 2026. 7. 20. 14:14
1. 서브넷 마스크: 네트워크의 경계선
2. 컴퓨터는 동네를 어떻게 구별할까? (Logical AND 연산)
3. 서브네팅이란? (대역을 쪼개는 이유)
4. 서브네팅 실전 원리: 호스트 비트 '빌려오기'
5. 마무리 및 요약

 

 

1. 서브넷 마스크 : 네트워크의 경계선

IP 주소는 크게 네트워크 영역(동네 이름)과 호스트 영역(방 번호)으로 나뉩니다. 하지만 192.168.0.1이라는 숫자만 봐서는 어디까지가 동네 이름이고 어디부터가 방 번호인지 알 수 없습니다.

이때 컴퓨터에게 "여기서부터 여기까지가 우리 동네 이름이야!"라고 명확한 경계선을 그어주는 가이드라인이 바로 서브넷 마스크입니다.

  • 1이 연속된 부분: 네트워크 영역 (Network ID)
  • 0이 연속된 부분: 호스트 영역 (Host ID)

예를 들어, 서브넷 마스크가 255.255.255.0이라면 이를 2진수로 변환했을 때 앞의 24비트가 모두 1로 채워져 있습니다. 즉, IP 주소의 앞 세 자리(192.168.0)까지가 이 네트워크의 고유한 동네 이름이 됩니다. 개발자들은 이를 축약하여 CIDR 표기법인 192.168.0.0/24로 표현하기도 합니다.

 

 

2. 컴퓨터는 동네를 어떻게 구별할까? (Logical AND 연산)

우리가 통신을 시도할 때, 컴퓨터(OS)는 상대방이 "나와 같은 네트워크(동네)에 있는지, 아니면 라우터를 거쳐야 하는 다른 네트워크에 있는지"를 순간적으로 판단합니다. 이때 사용되는 핵심 로직이 바로 2진수 Logical AND 연산입니다.

두 개의 IP를 2진수로 나란히 두고, 서브넷 마스크와 1:1로 비교하여 둘 다 1일 때만 1을 반환합니다.


[출발지 IP]     192.168.0.1   (11000000.10101000.00000000.00000001)
[서브넷 마스크]  255.255.255.0 (11111111.11111111.11111111.00000000)
-------------------------------------------------------------------
[AND 연산 결과] 192.168.0.0   -> "내 네트워크 주소"


목적지 IP 주소와도 동일한 AND 연산을 수행한 뒤, 두 결과값이 일치하면 같은 네트워크(LAN 내부 통신)로 간주하여 ARP 브로드캐스트를 날리고, 결과값이 다르면 다른 네트워크로 판단하여 기본 게이트웨이(라우터)로 패킷을 넘깁니다.

 

 

 

3. 서브네팅(Subnetting)이란? (대역을 쪼개는 이유)

서브네팅은 하나의 커다란 IP 대역을 여러 개의 독립된 작은 네트워크 망으로 쪼개는 물리적/논리적 분할 작업입니다.

그렇다면 굳이 왜 대역을 쪼갤까요? 크게 3가지 이유가 있습니다.

  1. 브로드캐스트 스톰 방지: 한 대역에 수백 대의 기기가 묶여 있으면, 브로드캐스트(광역 요청) 패킷이 발생할 때마다 모든 호스트의 CPU에 불필요한 인터럽트가 발생합니다. 대역을 쪼개면 이 확성기 소리가 닿는 범위를 좁혀 네트워크 성능을 최적화할 수 있습니다.
  2. 네트워크 격리 및 보안: 개발팀과 인사팀 등 목적이 다른 그룹을 서로 다른 대역으로 분리하고 사이에 라우터(또는 방화벽)를 두어 통신을 엄격하게 제어할 수 있습니다.
  3. IP 주소 낭비 방지: 소규모 네트워크에 과도하게 큰 클래스의 IP 범위를 할당하여 버려지는 주소가 없도록 알맞게 분배합니다.

 

 

4. 서브네팅 실전 원리: 호스트 비트 '빌려오기'

서브네팅의 핵심 원리는 단순합니다. 방 번호로 쓰던 '호스트 영역(0)'의 비트 일부를 뺏어와서 '네트워크 영역(1)'으로 강제 편입시키는 것입니다.

예를 들어, 206.100.10.0/24 대역을 정확히 반으로 나누어 2개의 독립된 LAN 영역을 구축한다고 가정해 보겠습니다.

  1. 비트 빌려오기: 기존 호스트 영역의 첫 번째 비트를 1로 바꿉니다.
  2. 새로운 서브넷 마스크 생성: 마지막 자리가 10000000이 되면서, 새로운 서브넷 마스크는 255.255.255.128(/25)이 됩니다.
  3. 결과: 강제로 고정된 1비트는 0 또는 1을 가질 수 있으므로, 네트워크가 정확히 2개로 쪼개집니다.
  • 첫 번째 서브넷: 206.100.10.0 ~ 127 (네트워크 주소: ...0 / 브로드캐스트: ...127)
  • 두 번째 서브넷: 206.100.10.128 ~ 255 (네트워크 주소: ...128 / 브로드캐스트: ...255)

이제 이 두 대역에 속한 컴퓨터들은 Logical AND 연산 결과가 서로 다르게 나오므로, 라우터를 거치지 않고서는 절대 직접 통신할 수 없는 완벽히 분리된 인프라가 됩니다.

 

 

5. 마무리 및 요약

  • 서브넷 마스크는 AND 연산을 통해 IP 주소에서 네트워크 영역과 호스트 영역을 구분 짓는 논리적 기준선입니다.
  • 서브네팅은 이 서브넷 마스크의 비트 구조(1의 개수)를 조절하여, 하나의 큰 네트워크를 여러 개의 독립된 작은 서브넷으로 분할해 보안과 트래픽 효율을 높이는 핵심 기술입니다.

네트워크 스위치의 하드웨어적 처리 속도나 VLAN의 논리적 방 나누기 개념과 함께 IP 대역을 분할하는 서브네팅의 원리를 이해한다면, 더욱 탄탄하고 안전한 백엔드 시스템과 클라우드 아키텍처를 설계할 수 있을 것입니다