VLSM 서브넷 설계 쉽게 이해하기 — 개념과 원리
VLSM(가변 길이 서브넷 마스크)은 하나의 주소 블록을 똑같은 크기로 나누지 않고, 필요한 호스트 수에 맞춰 서로 다른 크기의 서브넷으로 나누는 방법입니다. 이 도구는 기준 네트워크와 서브넷별 필요 호스트 수를 받아 겹치지 않는 네트워크 주소와 프리픽스를 배정합니다. 사용자 랜에는 100개, 라우터 간 링크에는 2개만 필요한 사무실·지사 망을 설계할 때 쓰입니다.
계산 방법
- 요청을 큰 것부터 작은 순으로 정렬합니다.
- 요청 h마다 2^b ≥ h + 2를 만족하는 가장 작은 호스트 비트 수 b를 구합니다(네트워크·브로드캐스트 주소 2개 추가). 즉 b = ⌈log₂(h + 2)⌉이고 프리픽스는 32 − b, 블록 크기는 2^b입니다.
- 현재 주소를 블록 크기의 배수로 올림해 정렬합니다.
- 그 블록을 배정하고 다음 주소로 넘어가 반복합니다.
결과에는 원래 입력 순서 번호(#1, #2 …)가 붙어 있어 목록과 맞춰 볼 수 있습니다.
원리
크기가 2^b인 서브넷은 2^b로 나누어떨어지는 주소에서 시작해야 마스크 경계가 맞습니다. 큰 블록을 먼저 놓으면 뒤에 오는 작은 블록은 자연스럽게 정렬되어 빈틈이 생기지 않습니다. 그래서 큰 것부터 배정하는 방식이 VLSM의 표준 절차입니다. 또 요청을 담을 수 있는 가장 작은 프리픽스를 쓰면 지나치게 큰 서브넷으로 주소를 낭비하지 않습니다.
예제 풀이
- 기준 10.0.0.0, 요청은 100, 50, 20, 2개입니다(이미 내림차순).
- 100 + 2 = 102 → 2^7 = 128이므로 /25, 10.0.0.0/25(10.0.0.0–10.0.0.127)입니다.
- 50 + 2 = 52 → 2^6 = 64이므로 /26, 다음 시작점 10.0.0.128/26입니다.
- 20 + 2 = 22 → 2^5 = 32이므로 10.0.0.192/27입니다.
- 2 + 2 = 4 → 2^2 = 4이므로 10.0.0.224/30입니다.
- 전체 계획은 10.0.0.0~10.0.0.227을 쓰고, 10.0.0.0/24의 나머지는 증설용으로 남습니다.
결과 해석
각 줄은 네트워크 주소와 프리픽스입니다. 사용 가능 호스트는 2^(32 − 프리픽스) − 2이므로 /25는 126개, /26은 62개, /27은 30개, /30은 2개입니다. 요청 수와의 차이가 각 서브넷의 여유분입니다. 마지막 서브넷이 실제로 할당받은 블록 안에 있는지 꼭 확인하십시오.
흔한 실수
- 예약 주소 2개를 잊는 경우: 62개는 /26에 들어가지만 63개는 /25가 필요합니다.
- 작은 서브넷부터 배정해 정렬 틈이 생기고 주소가 낭비되는 경우
- 증설 여유를 두지 않는 경우: 한 단계 크게 잡는 편이 나을 때가 많습니다.
자주 묻는 질문
왜 가장 큰 서브넷부터 배정하나요?
큰 블록일수록 정렬 조건이 엄격하므로 먼저 놓아야 작은 블록이 빈틈없이 남은 공간을 채웁니다.
호스트 30개에는 어떤 프리픽스가 맞나요?
/27이며 사용 가능 주소가 정확히 30개입니다.
점대점 링크는 /30과 /31 중 무엇을 쓰나요?
둘 다 가능합니다. /30은 어디서나 통하고, /31은 양쪽 장비가 RFC 3021을 지원하면 주소를 아낄 수 있습니다.
출처: IETF RFC 1878, Variable Length Subnet Table for IPv4 · IETF RFC 4632, Classless Inter-domain Routing (CIDR)