サブネット分割・VLSM計算
親ネットワークと、サブネットごとの必要なホスト数を入力すると、大きい順にアドレスを割り当てて、サブネットの分割計画(VLSM)を作ります。
VLSM(可変長サブネットマスク)とは
VLSM は、1 つの親ネットワークを、大きさの違うサブネットに分ける方法です。サブネットごとに必要なホスト数が違うとき、すべてを同じ大きさ(同じプレフィックス長)にすると、アドレスを無駄にします。必要なホスト数に合わせて、プレフィックス長を変えることで、アドレスを効率よく使えます。IPv4 のプレフィックス長ごとのアドレス数は、RFC 1878(情報提供の文書)の表にまとめられています。
割り当ての手順(一般的な手順)
- 各要求を、必要なホスト数を満たす、いちばん小さいブロックにする。利用可能なホスト数は、/30 以下では「アドレスの総数 − 2」(ネットワークアドレスとブロードキャストアドレスを除く)です。たとえば、100 ホストなら /25(126 ホスト)、50 ホストなら /26(62 ホスト)です。
- ブロックの大きい順(ホスト数の多い順)に並べる。同じ大きさのものは、入力した行の順です。
- 親ネットワークの先頭から、順に詰めて割り当てる。
この手順は、一般的なやり方で、規格で決められたものではありません。CIDR のブロックは、2 の累乗の大きさ(RFC 4632)で、**各ブロックの先頭は、そのブロックの大きさの倍数のアドレス(ネットワーク境界)**になります。大きい順に詰めると、境界は自然にそろいます(このツールは、そろっていることも確かめています)。
アドレス不足の判定
- 要求したブロックの合計が、親ネットワークの総アドレス数を超えると、アドレスが不足します。不足するアドレス数と、割り当てできなかった行を表示します。
- 大きい順に詰めていって、親ネットワークに入る大きさのブロックが、途中で足りなくなったときは、その行と、それ以降の行が、割り当てできません(このとき、残りの領域は 0 になるので、より小さいブロックも入りません)。親ネットワークより大きいブロックを求めた行は、その行だけ割り当てできません(より小さいブロックは、割り当てられます)。
- 合計が、ちょうど親ネットワークと同じ大きさのときは、満杯で、不足ではありません(未割り当ては 0 です)。
/31・/32 の扱い
- オフ(初期値):最小のサブネットは **/30(ホスト 2 つ)**です。必要なホスト数が 1 でも 2 でも /30 になります。/31・/32 は割り当てません。
- オン:必要なホスト数 1 は /32(アドレス 1 つ。ループバックなど、単一のホストのアドレス)、2 は /31 になります。3〜6 は /29 です(/30 は 2 つなので足りません)。
- /31:RFC 3021 は、ポイントツーポイントのリンクで、31 ビットのサブネットマスクを使い、2 つのアドレスを、両方ともホストのアドレスとして使うことを定めています(ネットワークアドレス・ブロードキャストアドレスの区別がありません)。1 対 1 のリンク(ルーター間の接続など)での使い方で、LAN のサブネットとして使う指定ではありません。
- /32:アドレスは 1 つだけで、単一のホストを指します(RFC 4632 の「1 個のアドレスのブロック」)。/32 の用途を定めた RFC の記述は、確認できていません。
- 親ネットワークのプレフィックス長は、/0〜/30 です。
計算例
親ネットワーク 192.168.0.0/24 を、100・50・25・10 ホストの 4 つに分ける(オフ)
| 割り当て順 | 必要なホスト数 | 割り当て | 利用できるアドレス |
|---|---|---|---|
| 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 ホストを求めると、126 ホストは /25(128 アドレス)が 2 つで、親の 256 アドレスが満杯になり、3 つ目の 2 ホスト(/30。4 アドレス)は割り当てできません(不足 4 アドレス)。
注意点
- 親ネットワークは、IPv4 の CIDR 表記で入力します(先頭に 0 を付けたオクテットは使えません。103 と同じです)。ホスト部分に 0 でない値があるときは、ネットワークアドレスに直して計算します。
- 必要なホスト数は、1 以上 4,294,967,294 以下の整数です。ゲートウェイ・将来の増加分などは、必要なホスト数に含めて入力してください。
- 1 つのアドレスとプレフィックスの計算はサブネット計算(IPv4)、IPv6 はIPv6 CIDR・アドレス範囲計算、進数の変換は進数変換が使えます。
出典と確認日
次の RFC で確認しました(2026年10月29日確認)。
- RFC 3021 Using 31-Bit Prefixes on IPv4 Point-to-Point Links(2.1:ポイントツーポイントのリンクの 31 ビットマスクでは、2 つのアドレスを、ホストのアドレスとして解釈する)
- RFC 4632 Classless Inter-domain Routing (CIDR)(プレフィックスは、2 の累乗の大きさのブロックを表す)
- RFC 1878 Variable Length Subnet Table For IPv4(情報提供の文書。プレフィックス長ごとのアドレス数の表)
「必要なホスト数の多い順に割り当てる」手順は、RFC で定められたものではなく、一般的なやり方です。
よくある質問
VLSM とは、何ですか?
1 つの親ネットワークを、必要なホスト数に合わせて、大きさの違うサブネットに分ける方法です。
なぜ、ホスト数の多い順に割り当てますか?
大きいブロックから詰めると、各ブロックの先頭が、自然にネットワーク境界(そのブロックの大きさの倍数のアドレス)にそろい、すきまができにくいためです。一般的な手順で、規格ではありません。
/31 は、LAN で使えますか?
RFC 3021 は、ポイントツーポイントのリンクでの使い方を定めています。LAN のサブネットとして使う指定ではありません。
アドレスが不足したら、どうなりますか?
要求したブロックの合計と、親ネットワークの総アドレス数を比べて、不足するアドレス数を表示します。割り当てできた行は表示し、できなかった行を、理由つきで表示します。