VLSM 계산기
상위 네트워크와 서브넷마다 필요한 호스트 수를 입력하세요. 계산기가 큰 블록부터 차례로 배치하여 VLSM 서브넷 계획을 만들어 줍니다.
VLSM이란
VLSM(가변 길이 서브넷 마스크)은 하나의 상위 네트워크를 크기가 서로 다른 서브넷으로 나누는 방법입니다. 서브넷마다 필요한 호스트 수가 다른데 모두 같은 크기(같은 프리픽스 길이)로 만들면 주소가 낭비됩니다. 필요한 호스트 수에 맞춰 프리픽스 길이를 바꾸면 주소를 효율적으로 쓸 수 있습니다. IPv4 프리픽스 길이별 주소 수 표는 RFC 1878(정보 제공용 문서)에 나와 있습니다.
할당 절차 (일반적인 방법)
- 각 요청을 호스트 수가 충분한 가장 작은 블록으로 바꿉니다. /30 이하(프리픽스가 짧은 것)에서는 사용 가능한 호스트 수 = 전체 주소 수 − 2입니다 (네트워크 주소와 브로드캐스트 주소는 사용할 수 없습니다). 예를 들어 호스트 100개에는 /25(호스트 126개), 호스트 50개에는 /26(호스트 62개)이 필요합니다.
- 블록을 큰 것(호스트 수가 많은 것)부터 순서대로 정렬합니다. 크기가 같은 블록은 입력한 행의 순서를 유지합니다.
- 상위 네트워크의 시작 부분부터 차례로 배치합니다.
이는 널리 쓰이는 방법이며 표준으로 정해진 것은 아닙니다. CIDR 블록의 크기는 2의 거듭제곱이며(RFC 4632), **각 블록의 시작 주소는 블록 크기의 배수인 주소(네트워크 경계)**입니다. 큰 블록부터 배치하면 경계가 맞춰집니다 (이 도구도 경계가 맞는지 확인합니다).
주소가 부족할 때
- 요청한 블록의 합계가 상위 네트워크의 주소 수를 넘으면 주소가 부족한 것입니다. 이 도구는 부족한 주소 수와 할당하지 못한 행을 표시합니다.
- 큰 블록부터 배치하다가 남은 공간에 블록이 더 이상 들어가지 않으면, 그 행과 그 뒤의 행은 할당할 수 없습니다 (남은 공간이 없으므로 더 작은 블록도 들어가지 않습니다). 상위 네트워크보다 큰 블록을 요청한 행은 그 행만 실패하며, 더 작은 블록은 계속 배치할 수 있습니다.
- 합계가 상위 네트워크의 크기와 정확히 같으면 부족한 것이 아니라 가득 찬 상태입니다 (남은 주소는 0개).
/31과 /32
- 끔 (기본값): 가장 작은 서브넷은 **/30(호스트 2개)**입니다. 호스트 1개 또는 2개가 필요해도 /30이 됩니다. /31과 /32는 할당하지 않습니다.
- 켬: 호스트 1개가 필요하면 /32(루프백 같은 단일 주소), 호스트 2개가 필요하면 /31이 됩니다. 호스트 3~6개에는 /29가 필요합니다 (/30에는 2개만 들어갑니다).
- /31: RFC 3021은 두 주소를 모두 호스트 주소로 사용하는 포인트 투 포인트 링크에서 31비트 마스크를 쓰는 방법을 설명합니다 (네트워크 주소와 브로드캐스트 주소가 없습니다). 라우터 간 연결처럼 1대1 링크용이며 LAN 서브넷용이 아닙니다.
- /32: 호스트 하나를 가리키는 단일 주소입니다 (RFC 4632는 주소 1개짜리 블록으로 취급합니다). /32의 용도에 관한 RFC의 설명은 확인하지 못했습니다.
- 상위 네트워크의 프리픽스 길이는 /0~/30까지 가능합니다.
예시
상위 네트워크 192.168.0.0/24를 호스트 100, 50, 25, 10개의 서브넷 4개로 나누기 (/31과 /32를 끈 경우):
| 순서 | 필요한 호스트 수 | 할당 | 사용 가능한 주소 |
|---|---|---|---|
| 1 | 100 | 192.168.0.0/25 | 192.168.0.1 ~ 192.168.0.126 |
| 2 | 50 | 192.168.0.128/26 | 192.168.0.129 ~ 192.168.0.190 |
| 3 | 25 | 192.168.0.192/27 | 192.168.0.193 ~ 192.168.0.222 |
| 4 | 10 | 192.168.0.224/28 | 192.168.0.225 ~ 192.168.0.238 |
블록의 합계는 128 + 64 + 32 + 16 = 240개 주소이며, 16개 주소(192.168.0.240부터)는 할당되지 않고 남습니다.
주소가 부족한 예: 192.168.0.0/24에서 호스트 126, 126, 2개를 요청하면 /25 블록(주소 128개) 두 개가 상위 네트워크의 주소 256개를 모두 차지하므로, 세 번째 요청(호스트 2개, 주소 4개의 /30)은 할당할 수 없습니다 (주소 4개 부족).
참고 사항
- 상위 네트워크는 IPv4 CIDR 표기로 입력하세요 (IPv4 서브넷 계산기와 마찬가지로 0으로 시작하는 옥텟은 사용할 수 없습니다). 주소에 0이 아닌 호스트 부분이 있으면 계산 전에 네트워크 주소로 바뀝니다.
- 필요한 호스트 수는 1~4,294,967,294 사이의 정수입니다. 게이트웨이와 향후 증설 분도 입력하는 호스트 수에 포함하세요.
- 주소 하나와 프리픽스를 계산하려면 IPv4 서브넷 계산기, IPv6는 IPv6 서브넷 계산기, 진법 변환은 진법 변환기를 이용하세요.
출처와 확인 내용
위의 RFC 내용은 이 도구의 일본어판을 만들 때(2026년 10월 29일) RFC에서 확인했습니다. RFC 3021(2.1절, 포인트 투 포인트 링크의 31비트 프리픽스), RFC 4632(CIDR, 프리픽스는 2의 거듭제곱 크기의 블록을 나타냄), RFC 1878(서브넷 크기에 관한 정보 제공용 표)입니다. 이 페이지를 위해 다시 확인하지는 않았습니다. "큰 것부터" 절차는 RFC로 정해진 것이 아니라 일반적인 관행입니다.
자주 묻는 질문
VLSM이란 무엇인가요?
하나의 상위 네트워크를 각 서브넷에 필요한 호스트 수에 맞춰 크기가 다른 서브넷으로 나누는 방법입니다.
왜 큰 것부터 할당하나요?
가장 큰 블록부터 배치하면 모든 블록의 시작 주소가 네트워크 경계(블록 크기의 배수)에 맞고 빈틈이 적게 생깁니다. 일반적인 관행이며 표준은 아닙니다.
LAN에서 /31을 써도 되나요?
RFC 3021은 포인트 투 포인트 링크에서의 사용을 설명합니다. LAN 서브넷으로 쓰는 것은 규정하지 않습니다.
주소가 부족하면 어떻게 되나요?
이 도구는 블록의 합계를 상위 네트워크와 비교하여 부족한 주소 수를 표시하고, 할당하지 못한 행을 이유와 함께 보여 줍니다.