可変長サブネットマスク
1つのIPアドレス範囲を分割するときに、サブネットごとに異なる長さのサブネットマスクを使う方法。必要なホスト数に合わせて区切りの大きさを変え、アドレスの無駄を減らせる。
イマシルちゃんの解説
可変長サブネットマスクは、必要な機器の数に合わせてIPネットワークを大小のサブネットに分ける方法だよ。
区切りを決めるのは、IPアドレスのどこまでがネットワークを表すかを示すサブネットマスクなんだ。
その部分が先頭から何ビットあるかをプレフィックス長というよ。
これを長くすると機器を区別する部分が短くなるので、ひと区切りに含まれるアドレスの数は少なくなるの。
機器の多い拠点には大きな区切り、ルータ同士の接続には小さな区切りを割り当てられるんだ。
全部を同じ大きさにしないことで、使わずに余るアドレスを減らせるんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
可変長サブネットマスク(VLSM:Variable Length Subnet Mask)は、1つのアドレス空間を複数のサブネットに分けるとき、サブネットごとに異なるプレフィックス長を使う方法である。すべてのサブネットを同じ大きさにする固定長のサブネット分割に比べ、アドレスの無駄を減らせる。
必要な条件
VLSMを使うには、ルーティングプロトコルが経路情報と一緒にサブネットマスクも伝えられる必要がある。
RIPv1は経路情報にサブネットマスクを含まないため、異なる長さのマスクを区別できない。
割り当ての手順
例:192.168.10.0/24 を、次の4つのネットワークに分ける。
| ネットワーク | 必要なホスト数 |
|---|---|
| A | 100 |
| B | 50 |
| C | 20 |
| ルータ間の回線 | 2 |
- 必要なホスト数を満たす最小のプレフィックス長を決める(ホスト数 = 2の(32 − プレフィックス長)乗 − 2)
- 大きいネットワークから順に、空いている範囲の先頭に割り当てる
- 各ネットワークの先頭アドレスが、そのブロックサイズの倍数になっているか確かめる
| ネットワーク | プレフィックス長 | 割り当てる範囲 |
|---|---|---|
| A(100台) | /25(126台まで) | 192.168.10.0〜127 |
| B(50台) | /26(62台まで) | 192.168.10.128〜191 |
| C(20台) | /27(30台まで) | 192.168.10.192〜223 |
| ルータ間 | /30(2台まで) | 192.168.10.224〜227 |
大きいものから割り当てるのは、大きなブロックほど置ける位置(倍数の位置)が少ないからである。小さいものから先に置くと、大きなブロックを置ける場所がなくなることがある。
試験での解き方
既存のネットワークがいくつか決まっていて、残りの1つに割り当てるアドレスを選ぶ問題では、次の順で確かめる。
- 既存の各ネットワークの範囲(ネットワークアドレス〜ブロードキャストアドレス)を書き出す
- 選択肢の範囲をそれぞれ書き出す
- 既存の範囲と1つでも重なる選択肢を除く
範囲を書き出してしまえば、あとは見比べるだけで答えが決まる。
CIDRとの関係
CIDR(Classless Inter-Domain Routing)は、クラスにとらわれずにアドレスを割り当て、複数の経路をまとめて1つにする(経路集約)考え方である。VLSMが「1つのネットワークを大小に分ける」方向なのに対し、経路集約は「複数のネットワークを1つにまとめる」方向で、どちらもクラスレスなアドレスの扱いを前提にしている。