IPアドレスとサブネットマスク
IPアドレスには「ネットワーク部」と「ホスト部」があり、どこまでがネットワーク部かを区別するために使うのが サブネットマスク です。サブネットマスクは32ビットの数値で、ビット「1」がネットワーク部を、ビット「0」がホスト部を表します。
例えばクラスCのアドレス 192.168.10.5 は、ネットワーク部が24ビットなので、サブネットマスクは 255.255.255.0 になります。
表記方法には次の2種類があります。
- プレフィックス表記:192.168.10.0/24
- サブネットマスク表記:192.168.10.0 255.255.255.0
このようにサブネットマスクを使うことで、IPアドレスのどこからどこまでがネットワーク部かを明確に区別できます。
サブネットとは
サブネットとは、大きなネットワークを小さなネットワークに分割することです。IPアドレスのホスト部の一部を「サブネット部」として利用することで、ネットワークを効率的に分割できます。これにより、必要なホスト数に応じて柔軟にネットワークを設計できます。
例えば、1つのネットワークに 600台のホスト を収容したい場合を考えましょう。
クラスCのアドレスではホスト数が最大 254台 なので足りません。
クラスBのアドレスでは 最大65,534台 も収容できるため、600台に使うのは非効率です。
この場合、クラスBアドレスを使い サブネット化 して、ホスト部を適切なサイズに分けます。
ホスト部を 10ビット にした場合、
2¹⁰ = 1,024 通り
ネットワークアドレスとブロードキャストアドレスを除いた 1,022台 のホストが利用可能です。
これなら600台を余裕をもって収容でき、効率の良いネットワーク設計になります。
よく使われるサブネット化のパターン
日本の企業ネットワークで最も多く採用されているのは、クラスAまたはクラスBのネットワークをベースに、ホスト部を 8ビットに固定する方法 です。
この場合、1つのサブネットで 最大254台 のホストを収容できます。
- 適度な大きさでブロードキャストの負荷を軽減できる
- IPアドレス設計やルーティング設計がしやすい
- セキュリティ面でも管理しやすい
という理由から、標準的なサブネット設計として広く利用されています。
一方でクラスCはネットワーク数の上限が256しかなく、拡張性に乏しいため、大規模ネットワークではあまり採用されません。クラスCをさらにサブネット化する例も少ないのが現実です。
試験対策では「サブネットマスクがネットワーク部とホスト部を区別する」「ホスト数は 2ⁿ−2 で計算する」「実務ではホスト部を8ビットに切る設計が多い」といったポイントを押さえておくと安心です。
サブネット数の算出方法
サブネットは、ホスト部のビットを借りてネットワーク部に割り当てることで作成できます。サブネット数は「ホスト部から借りたビット数」で決まり、計算式は 2ⁿ です。ここで n は借りたビット数を表します。
例えば、ホスト部から4ビットをサブネット部に使った場合は 2⁴ = 16 で、16個のサブネットを作ることができます。
この計算はクラスA、B、Cいずれでも同じです。
ホストアドレス数の算出方法
各サブネットで利用できるホストアドレスの数は、ホスト部のビット数から求めます。計算式は 2ⁿ – 2 です。
ここで「-2」としているのは、
- ホスト部がすべて0 → ネットワークアドレス
- ホスト部がすべて1 → ブロードキャストアドレス
この2つはホストに割り当てられないためです。
例えば、ホスト部が4ビットなら 2⁴ – 2 = 14 で、最大14台のホストを収容できます。
サブネットマスクの算出方法
CIDR表記(/24、/27など)からサブネットマスクを求める場合は、ビット単位で考えます。
例:
- /24 → 255.255.255.0
- /25 → 255.255.255.128
- /26 → 255.255.255.192
- /27 → 255.255.255.224
ここでのポイントは、最後のオクテットが 128 → 192 → 224 → 240 → 248 → 252 → 254 → 255 と増えていく規則を覚えることです。
これを理解しておけば、/16 や /20 といったクラスA・Bでも応用できます。
ネットワークアドレスとブロードキャストアドレスの算出方法
IPアドレスが与えられたときに、属するネットワークの範囲を求める手順を確認しましょう。
基本ルールはシンプルで、
- ホスト部をすべて0 → ネットワークアドレス
- ホスト部をすべて1 → ブロードキャストアドレス
と覚えておけばよいです。
具体例
192.168.1.90/24- ネットワークアドレス:192.168.1.0
- ブロードキャストアドレス:192.168.1.255
10.40.1.19/8- ネットワークアドレス:10.0.0.0
- ブロードキャストアドレス:10.255.255.255
サブネット化した場合の高速な計算手順
例:192.168.1.90/27
- サブネットマスク = 255.255.255.224
- 256 – 224 = 32
- ネットワークアドレスは32刻みで区切られる(0、32、64、96 …)
192.168.1.90は64~95の範囲に含まれる- 結果:ネットワークアドレス = 192.168.1.64、ブロードキャストアドレス = 192.168.1.95
例:172.16.20.101/21
- サブネットマスク = 255.255.248.0
- 256 – 248 = 8
- ネットワークアドレスは8刻み(0、8、16、24 …)
172.16.20.101は16~23の範囲に含まれる- 結果:ネットワークアドレス = 172.16.16.0、ブロードキャストアドレス = 172.16.23.255
この「256から引いて区切り幅を求める」方法を覚えておけば、2進数に変換しなくても素早く答えを出せます。
試験では「2ⁿ – 2 の意味」や「/27 の範囲に属するネットワークアドレスとブロードキャストアドレスを求める」といった問題が頻出なので、この計算方法を身につけておくと有利です。
VLSM(可変長サブネットマスク)とは
VLSMとは Variable Length Subnet Mask の略で、日本語では「可変長サブネットマスク」と呼ばれます。
1つのネットワークを分割する際に、複数の異なる長さのサブネットマスクを同時に使える仕組み です。
例えば、あるネットワークを一部は /27(ホスト数30台まで)、別の部分は /30(ホスト数2台まで)に分割するといった柔軟な割り当てが可能になります。
これにより、余分なIPアドレスを無駄にせず、効率的なアドレッシングを実現できます。
ただし、注意点として RIPv1のようなクラスフルルーティングプロトコルではVLSMは利用できません。サブネットマスクの長さを伝えられないからです。一方、RIPv2やOSPF、EIGRPなどのクラスレスプロトコルでは利用可能です。
CIDR(クラスレスアドレッシング)とは
CIDRは Classless Inter-Domain Routing の略で、「クラスに依存しないアドレッシング」の仕組みです。
特に重要なのは 経路集約 の役割で、複数のネットワークを1つのまとまりとして扱うことができます。
例えば、200.0.0.0/24 ~ 200.0.7.0/24 までの8つのネットワークは、本来ならルーティングテーブルに8本の経路を載せなければなりません。しかしCIDRを用いると、200.0.0.0/21 としてまとめられます。
これにより
- ルータのルーティングテーブルが小さくなる(処理が軽くなる)
- IPアドレス空間を有効利用できる
という利点があります。
VLSMとCIDRの違いを整理すると次の通りです。
- VLSM:大きなネットワークを細かく分ける(ホスト部のビットを使う)
- CIDR:複数の小さなネットワークをまとめる(ネットワーク部のビットを調整する)
ゼロサブネットとは
ゼロサブネットとは、サブネット部がすべて0のサブネット を指します。
例:
172.16.0.0/24はサブネット部が0ビットなのでゼロサブネット172.16.10.0/24は0ビットではないため通常のサブネット
同様に、サブネット部がすべて1のものも存在します(例えば 172.16.255.0/24)。
昔はこれらのサブネットは「元のネットワークアドレスやブロードキャストと紛らわしい」とされ、利用が推奨されていませんでした。しかし、現在のネットワーク機器では問題なく利用できるようになっています。
Ciscoルータでは IOS 12.0以降、ip subnet-zero がデフォルトで有効 になっており、ゼロサブネットやオール1のサブネットも使用可能です。
もし ip subnet-zero が無効な古い機器を使う場合は、ゼロサブネットとオール1サブネットを除外する必要があり、そのために「サブネット数から -2」とする計算が必要になるのです。
試験対策のポイント
- VLSM:異なる長さのマスクを併用してIPアドレスを効率化
- CIDR:複数ネットワークを集約してルーティングを簡略化
- ゼロサブネット:現在は利用可能(昔は除外されていたため計算時に -2 が必要だった)
このあたりはCCNA試験で混同しやすいテーマなので、VLSM=細分化、CIDR=集約、ゼロサブネット=利用可能、というキーワードで覚えると整理しやすいです。