ITの教科書検索
入門・発展ページ読了 約12分

VLSMとは ― 可変長サブネットマスクの割り当て方

VLSMとは、拠点ごとの台数に合わせてサブネットの大きさを変える方法です。固定長より多くのサブネットを入れられる理由と、大きい順に割り当てる手順を、計算例と計算機で確かめます。

目次
  1. VLSMとは、サブネットごとにマスクの長さを変える方法
  2. すべて同じ大きさで分けると何が困るのか
  3. VLSMとCIDRの関係
  4. 割り当ての手順(4ステップ)
  5. 計算例:192.168.10.0/24 を5つに分ける
  6. なぜ大きい順に割り当てるのか
  7. 台数を入れて、割り当て結果を見る
  8. 間違えやすい点
  9. 練習問題

VLSMとは、サブネットごとにマスクの長さを変える方法

VLSM(Variable Length Subnet Mask)とは、1つのアドレス範囲を、大きさの違うサブネットに分けて割り当てる方法です。可変長サブネットマスクとも呼びます。

拠点ごとの必要台数に合わせてプレフィックス長を変えるので、アドレスの無駄が減ります。割り当てるときは、大きいサブネットから先に割り当てるのが決まりです。必要台数の違う拠点が混ざるときは、固定長で分けるよりも多くのサブネットを同じ範囲に入れられます。

すべて同じ大きさで分けると何が困るのか

サブネットマスクの記事で説明した分割は、同じ大きさに等分する方法でした。この方法では、拠点ごとの台数が大きく違うと、うまく収まりません。たとえば、次の5つの要件を 192.168.10.0/24 に割り当てる場合を考えます。

  • 本社LAN:50台
  • 支社A:20台
  • 支社B:10台
  • 支社C:5台
  • ルータ同士を結ぶ回線(WAN):2台

台数には、ゲートウェイに使うアドレスも含めています。50台が入る最小の大きさは /26 で、アドレスが64個あります。5つすべてを /26 にそろえると、5 × 64 = 320個が必要です。/24 は256個なので、収まりません。

収まる場合でも、無駄は残ります。2台しかつながらないWAN回線にも、/26 の64個を確保するからです。要件ごとに必要な大きさだけを確保する方法が、VLSMです。

VLSMとCIDRの関係

昔のクラスでは、ネットワークの大きさが /8・/16・/24 の3種類に限られていました。CIDRはクラスの区切りをやめ、プレフィックス長で2のべき乗の任意の大きさを表せるようにした仕組みで、RFC 4632で定められています。VLSMは、この任意の大きさを、組織の中のサブネットの割り当てに使う方法です。CIDRの基本はIPアドレスの構造の記事で説明しています。

ルータの側にも条件があります。RFC 1812は、ルータがインターフェースの設定と経路表の両方で、可変長のプレフィックスを扱えることを必須としています。なお、ここでの例には、RFC 1918で定められたプライベートアドレスの 192.168.0.0/16 に含まれる範囲を使います。

割り当ての手順(4ステップ)

  1. 1

    要件ごとに、収まる最小のプレフィックス長を決める

    2ⁿ − 2 が必要台数以上になる最小のnを探し、プレフィックス長を 32 − n にします。引く2は、ネットワークアドレスとブロードキャストの分です。50台ならn=6なので、/26 です。

  2. 2

    大きい順に並べる

    プレフィックス長の小さい順に並べ替えます。この例では、50台・20台・10台・5台・2台の順です。この順番にする理由は後の節で説明します。

  3. 3

    前から順に割り当てる

    最初のサブネットは、親の範囲の先頭から始めます。次のサブネットは、前のブロードキャストアドレスの次のアドレスから始めます。これを最後のサブネットまで繰り返します。

  4. 4

    範囲を超えていないか、重なっていないかを確かめる

    最後のブロードキャストが、親の範囲の最後のアドレスを超えていないことを確かめます。あわせて、各サブネットの開始位置が、前のブロードキャストの次のアドレスになっているかも確認します。

計算例:192.168.10.0/24 を5つに分ける

先ほどの5つの要件に、4つのステップを当てはめます。必要台数の多い順に /26・/27・/28・/29・/30 となり、次の表のように並びます。

192.168.10.0/24 をVLSMで5つに分けた結果
拠点必要台数ネットワーク使える範囲ブロードキャスト
本社LAN50台192.168.10.0/26192.168.10.1 〜 192.168.10.62192.168.10.63
支社A20台192.168.10.64/27192.168.10.65 〜 192.168.10.94192.168.10.95
支社B10台192.168.10.96/28192.168.10.97 〜 192.168.10.110192.168.10.111
支社C5台192.168.10.112/29192.168.10.113 〜 192.168.10.118192.168.10.119
ルータ間のWAN2台192.168.10.120/30192.168.10.121 〜 192.168.10.122192.168.10.123

5つの合計は 64 + 32 + 16 + 8 + 4 = 124個です。192.168.10.124 から 192.168.10.255 までの132個は、次の拠点のために残ります。固定長では収まらなかった5つが、VLSMでは124個で収まります。

WAN回線の /30 はアドレスが4個で、機器に割り当てられるのは2個なので、ルータ2台を結ぶ回線にちょうど足ります。

なぜ大きい順に割り当てるのか

サブネットの開始位置は、そのサブネットの大きさの倍数でなければなりません。/26 なら先頭から0・64・128・192、/29 なら0・8・16と続く位置のどれかです。ホスト部がすべて0になる位置だけが、ネットワークアドレスになれるからです。

大きい順に並べると、それまでに使った個数は、次のブロックの大きさの倍数になります。そのため、隙間なく詰めても開始位置が必ず境界に合います。小さい順に詰めると、この条件が成り立ちません。

大きい順開始位置本社 /260支社A /2764/2896/29112120小さい順に詰める開始位置0/294/2812支社A /2728本社 /2660
5つのサブネットを、先頭から128個ぶんの範囲に並べた図です。帯の幅はアドレスの個数に比例し、帯の下の数字は先頭から数えた開始位置です。大きい順なら、どのブロックの開始位置も自分の大きさの倍数になります。小さい順に隙間なく詰めると、先頭の/30以外は、赤い点線の枠のとおり開始位置が境界に合いません。

/29 を開始位置4に置くと、/29 の境界は0・8・16なので、4は境界に合いません。この指定は実際には0〜7のブロックを指し、先頭の /30 と重なります。境界に合わせるには隙間を空ける必要があり、アドレスが無駄になります。

台数を入れて、割り当て結果を見る

次の図で各拠点の台数を変えると、VLSMで割り当てた結果と、固定長で分けた場合に必要な個数が表示されます。台数を増やしていくと、/24 に収まらなくなる境目も確かめられます。

分ける範囲は 192.168.10.0/24 です。

アドレス範囲のどこを使うか(全256個)

VLSM(大きい順に割り当て)
12345
固定長(すべて同じ大きさ)
1234
  • VLSM:5個のサブネットで 124個を使い、残り 132個が空いています。
  • 固定長:いちばん大きい要件に合わせて、すべて /26(64個)にすると、5 × 64 = 320個が必要です。256個を超えるので、収まりません。

VLSMの割り当て結果

拠点必要台数ネットワーク使える範囲ブロードキャスト
1本社LAN50台192.168.10.0/26192.168.10.1 〜 192.168.10.62192.168.10.63
2支社A20台192.168.10.64/27192.168.10.65 〜 192.168.10.94192.168.10.95
3支社B10台192.168.10.96/28192.168.10.97 〜 192.168.10.110192.168.10.111
4支社C5台192.168.10.112/29192.168.10.113 〜 192.168.10.118192.168.10.119
5ルータ間のWAN2台192.168.10.120/30192.168.10.121 〜 192.168.10.122192.168.10.123

間違えやすい点

範囲が重なる

手計算でよくある失敗は、開始位置を間違えて、前のサブネットと範囲が重なることです。たとえば 192.168.10.0/26 の次に 192.168.10.32/27 を置くと、.32 から .63 までが両方に含まれます。

OSPFの仕様のRFC 2328は、パケットを最も長く一致する経路へ転送するという指針を示しています。そのため、範囲が重なると、本来 /26 に届くはずの通信が /27 の側へ向かうことがあります。これを防ぐには、4つ目のステップのとおり、前のブロードキャストの次のアドレスから始めているかを確かめます。

台数ぎりぎりで切らない

割り当てたあとにサブネットを2倍に広げるときは、2倍の大きさの境界に合わせて広げることになります。隣のブロックが空いていなければ、広げられません。台数が増えそうな拠点は、余裕を持たせた台数で計算しましょう。

ルータ間の回線は /30 か /31

ルータ同士を結ぶ回線は、RFC 3021の /31 ならアドレス2個で足ります。ここでの計算は、機器の数を「総数 − 2」で数える /30 までにそろえています。/31 の扱いは、サブネットマスクの記事で説明しています。

ルーティングプロトコルが対応しているか

VLSMを使うには、ルータ同士が経路にマスクの長さを付けて交換できなければなりません。OSPFは、経路ごとに宛先とマスクを持ちます。RIPv2も経路ごとにサブネットマスクの欄を持ちますが、RIPv1にはサブネットマスクがありません。OSPFの仕組みはOSPFの記事で説明しています。

連続したブロックは経路をまとめやすい

大きい順に隙間なく詰めると、割り当てたブロックが連続します。連続したブロックは、1つの短いプレフィックスにまとめやすくなります。このまとめ方は経路集約の記事で説明しています。インターネットの経路を交換するBGPでも、経路をまとめて広告できます。BGPの仕組みはBGPの記事で説明しています。

練習問題(全4問)

Q1VLSM(可変長サブネットマスク)の説明として正しいものはどれ?
Q2192.168.10.0/24 を、40台の拠点・12台の拠点・2台のWAN区間に、大きい順に割り当てる。2台のWAN区間のネットワークはどれ?
Q3VLSMで、サブネットを大きい順に割り当てる理由として正しいものはどれ?
Q4192.168.10.0/26 を割り当てたあとで、192.168.10.32/27 を別の拠点に割り当てた。何が起きる?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

関連記事

おすすめの本 PR

ネットワークを初めて学ぶ人向けの入門書です。

目的別の本の選び方を見る

ネットワークの記事を探す