서브넷/CIDR
▶아키텍처 다이어그램
점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
네트워크가 작을 때는 장비 몇 대를 같은 주소 대역에 두고 써도 큰 문제가 드러나지 않습니다. 하지만 사용자 PC, 서버, 관리 장비, 프린터, 외부 연결이 한 주소 공간에 뒤섞이기 시작하면 어떤 장비가 직접 통신해야 하고 어떤 트래픽은 라우터나 방화벽을 거쳐야 하는지 설명하기 어려워집니다. 한 구역의 실수나 공격이 다른 구역으로 바로 번지고, 특정 장비만 분리하고 싶어도 이미 모두 같은 네트워크로 묶여 있으면 경계를 세우기 어렵습니다. 더 큰 문제는 확장과 연결입니다. 처음에 하나의 큰 대역으로 뭉뚱그려 두면 부서 분리, 서버 존 분리, 지사 연결, VPN 연결, 클라우드 연결을 하려는 순간 주소가 겹치거나 경계가 모호해집니다. 그때 가서 주소 체계를 다시 자르려면 운영 중인 장비의 IP, 라우팅, 방화벽 규칙을 한꺼번에 손봐야 하므로 비용이 큽니다. 서브넷과 CIDR는 이런 혼란이 생기기 전에 네트워크를 역할과 성장 계획에 맞춰 나누는 설계 도구입니다.
초기 인터넷 주소 체계에서는 클래스 A, B, C처럼 고정 크기 블록으로 네트워크를 나눴습니다. 겉으로는 단순했지만 실제 조직 규모와 잘 맞지 않았습니다. 어떤 곳은 수백 대만 쓰는데도 지나치게 큰 주소 블록을 받았고, 어떤 곳은 조금만 커져도 더 많은 블록을 요청해야 했습니다. 그렇게 잘게 쪼개진 네트워크가 늘어날수록 라우팅 테이블도 함께 비대해져 인터넷 전체의 라우터 부담이 커졌습니다. CIDR는 이 문제를 해결하기 위해 도입됐습니다. 주소 공간을 고정된 등급이 아니라 필요한 크기로 나누고, 여러 네트워크를 더 큰 prefix로 묶어 라우팅 규모도 함께 제어하려는 접근입니다. 이 원리는 오늘날 기업망, 데이터센터, ISP, 클라우드 어디서나 그대로 이어집니다. 지금 /24, /20 같은 크기로 서브넷을 설계하는 일은 특정 클라우드 기능을 쓰는 것이 아니라, 주소 낭비를 줄이고 미래 연결까지 견디는 현대 네트워크 설계를 하는 일입니다.
서브넷의 핵심은 IP 주소의 네트워크 부분과 호스트 부분 사이의 경계를 어디에 두느냐입니다. CIDR 표기에서 /24는 앞 24비트가 네트워크 주소이고 뒤 8비트가 호스트 주소라는 뜻이므로, 하나의 서브넷에 최대 256개의 주소를 담을 수 있습니다. /20으로 잡으면 12비트가 호스트에 쓰여 4,096개까지 가능합니다. 같은 서브넷 안에서는 장비들이 2계층(Data Link, 이더넷 프레임)으로 직접 통신합니다. 다른 서브넷의 장비에 도달하려면 반드시 기본 게이트웨이를 거쳐 라우팅 테이블이 경로를 결정해 줘야 합니다. 그래서 서브넷을 나눈다는 것은 단순히 IP 숫자를 쪼개는 행위가 아니라, 어떤 장비끼리 직접 대화하고 어떤 장비 사이에 라우터라는 관문을 두느냐를 정하는 것입니다. 이 관문이 있어야 서브넷마다 서로 다른 보안 규칙과 라우팅 정책을 적용할 수 있습니다.
서브넷과 VLAN은 둘 다 하나의 물리적 네트워크를 논리적으로 나눠 격리한다는 공통점이 있습니다. 차이는 어느 계층에서 나누느냐입니다. 서브넷은 3계층(Network, IP)에서 주소 범위를 기준으로 분리하고, VLAN은 2계층(Data Link, 이더넷 스위치)에서 포트나 태그를 기준으로 분리합니다. 서브넷은 라우팅과 주소 설계의 도구이고, VLAN은 물리 스위치 위에서 브로드캐스트 도메인을 쪼개는 도구입니다. 실무에서는 둘을 따로 쓰는 것이 아니라 함께 씁니다. VLAN 하나에 서브넷 하나를 매핑해서, 2계층 격리와 3계층 주소 분리를 동시에 얻는 것이 일반적입니다. 클라우드 환경에서는 VLAN을 직접 다루는 경우가 적고, 서브넷이 보안 경계와 라우팅 경계의 기본 단위가 됩니다. 반면 온프레미스에서는 VLAN 없이 서브넷만으로 충분한 격리를 얻기 어려운 상황이 있습니다.
서브넷 설계는 새 네트워크를 만들 때 가장 먼저 잡아야 하는 뼈대입니다. 사무실망에서는 사용자 구간과 서버 구간, 관리망을 분리하고, 데이터센터에서는 웹 서버 존과 데이터베이스 존 사이에 라우팅과 방화벽 경계를 세우며, 클라우드에서도 같은 원리로 외부에 열릴 구간과 내부 전용 구간을 나눕니다. 핵심은 '어디까지는 같은 주소 구간으로 직접 통신하고, 어디서부터는 라우터를 넘어야 하는가'를 먼저 정하는 것입니다. 실무에서 흔한 실수는 지금 장비 수만 보고 너무 작은 대역을 잡거나, 반대로 모든 장비를 하나의 큰 대역에 몰아넣는 것입니다. 전자는 증설과 이중화 때 주소가 모자라고, 후자는 보안 경계와 장애 범위를 키웁니다. 또 지사, VPN, 다른 데이터센터, 클라우드 VPC와 연결할 때 대역이 겹치면 라우팅 자체가 꼬입니다. 좋은 서브넷 설계는 서버 배치표를 만드는 일이 아니라, 앞으로 생길 연결과 분리를 견딜 주소 구조를 먼저 만드는 일입니다.