サブネットマスクとCIDRの解説
サブネットマスクは、IPv4アドレスのどこまでがネットワーク部で、どこからがホスト部かを機器に伝えるものです。CIDR表記では、同じ情報を/24のようにスラッシュと数字で表します。これは先頭の24ビットがネットワーク部であることを意味します。マスク255.255.255.0とプレフィックス/24は、同じ内容の2通りの書き方です。
2進数で見るマスク
IPv4アドレスは32ビットです。サブネットマスクは、1のビットが連続し、その後に0のビットが連続する形をしています。1のビットがネットワーク部、0のビットがホスト部を示し、プレフィックス長は1のビットの個数です。
/24 11111111.11111111.11111111.00000000 = 255.255.255.0
/26 11111111.11111111.11111111.11000000 = 255.255.255.192
/20 11111111.11111111.11110000.00000000 = 255.255.240.0
マスクの各オクテットは、0、128、192、224、240、248、252、254、255の9通りのいずれかです。これらは左から順にビットを足したもので、128、128+64=192、192+32=224、というようになります。
ホストビット数は32 - プレフィックス長です。サブネット全体のアドレス数は2^(ホストビット数)個になります。通常、最初のアドレス(ネットワークアドレス)と最後のアドレス(ブロードキャストアドレス)の2つは使えないため、利用可能なホスト数は2^(ホストビット数) - 2です。
計算例:192.168.10.37/26
192.168.10.37/26のネットワークアドレス、ブロードキャストアドレス、ホスト範囲を求めます。
- マスクは
255.255.255.192です。一部のビットが使われているのは最後のオクテットだけです。 - ブロックサイズは
256 - 192 = 64です。最後のオクテットでのサブネットの開始位置は0、64、128、192になります。 - 37は0と63の間にあるので、このサブネットは0から始まります。
| 項目 | 値 |
|---|---|
| ネットワークアドレス | 192.168.10.0 |
| 最初の利用可能ホスト | 192.168.10.1 |
| 最後の利用可能ホスト | 192.168.10.62 |
| ブロードキャストアドレス | 192.168.10.63 |
| アドレス総数 | 64 (26) |
| 利用可能ホスト数 | 62 |
結果はビット単位のANDで確かめられます。ネットワークアドレスは、アドレスとマスクのANDです。最後のオクテットでは、37は00100101、192は11000000で、ANDの結果は00000000、つまり0になります。どの例もサブネット計算ツールで検算できます。
CIDR早見表(/8〜/32)
| CIDR | サブネットマスク | アドレス総数 | 利用可能ホスト数 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,216 | 16,777,214 |
| /9 | 255.128.0.0 | 8,388,608 | 8,388,606 |
| /10 | 255.192.0.0 | 4,194,304 | 4,194,302 |
| /11 | 255.224.0.0 | 2,097,152 | 2,097,150 |
| /12 | 255.240.0.0 | 1,048,576 | 1,048,574 |
| /13 | 255.248.0.0 | 524,288 | 524,286 |
| /14 | 255.252.0.0 | 262,144 | 262,142 |
| /15 | 255.254.0.0 | 131,072 | 131,070 |
| /16 | 255.255.0.0 | 65,536 | 65,534 |
| /17 | 255.255.128.0 | 32,768 | 32,766 |
| /18 | 255.255.192.0 | 16,384 | 16,382 |
| /19 | 255.255.224.0 | 8,192 | 8,190 |
| /20 | 255.255.240.0 | 4,096 | 4,094 |
| /21 | 255.255.248.0 | 2,048 | 2,046 |
| /22 | 255.255.252.0 | 1,024 | 1,022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2(ポイントツーポイント接続、RFC 3021) |
| /32 | 255.255.255.255 | 1 | 1(単一ホスト) |
ワイルドカードマスク
ワイルドカードマスクは、サブネットマスクのすべてのビットを反転したものです。サブネットマスクが1の部分はワイルドカードでは0に、0の部分は1になります。ルーターやファイアウォール(たとえばCiscoのアクセスリストやOSPFのnetworkステートメント)はワイルドカードマスクを使い、0のビットは「一致が必要」、1のビットは「どの値でもよい」を意味します。
/24、マスク255.255.255.0のワイルドカードは0.0.0.255/26、マスク255.255.255.192のワイルドカードは0.0.0.63/20、マスク255.255.240.0のワイルドカードは0.0.15.255
簡単な求め方は、マスクの各オクテットを255から引くことです。
/24を4つの/26サブネットに分割する
ドキュメント用のネットワーク198.51.100.0/24を例にします。プレフィックスを2ビット増やすと、64アドレスずつの22 = 4個のサブネットになります。
| サブネット | ネットワーク | 利用可能範囲 | ブロードキャスト |
|---|---|---|---|
| 1 | 198.51.100.0/26 | 198.51.100.1 – 198.51.100.62 | 198.51.100.63 |
| 2 | 198.51.100.64/26 | 198.51.100.65 – 198.51.100.126 | 198.51.100.127 |
| 3 | 198.51.100.128/26 | 198.51.100.129 – 198.51.100.190 | 198.51.100.191 |
| 4 | 198.51.100.192/26 | 198.51.100.193 – 198.51.100.254 | 198.51.100.255 |
4つのサブネットを合わせた利用可能ホスト数は4 × 62 = 248で、/24単体の254より6少なくなります。この差は、追加のネットワークアドレスとブロードキャストアドレスの分です。サブネット分割は、部署、サーバー、ゲスト用Wi-Fiを分離したり、ブロードキャストトラフィックを抑えたりするのに役立ちます。
IPv6のプレフィックスの慣例
IPv6でも同じスラッシュ表記を使いますが、設計の考え方は異なります。アドレス空間が非常に広いため、ホスト数を数えることはしません。一般的な慣例は次のとおりです。
- /64は、通常のローカルネットワーク(LAN)ごとに割り当てます。SLAAC(自動アドレス設定)などの機能は、64ビットのホスト部を必要とします。通常のLANでこれより長いプレフィックスは使わないでください。
- /56または/48は、顧客またはサイトに割り当てます。/48には/64のネットワークが65,536個、/56には256個含まれます。
- /32は、インターネットプロバイダーへの一般的な割り当てサイズです。
2001:db8::/32はドキュメント用の範囲です。 - /128は単一のアドレスで、IPv4の/32に相当します。
たとえば2001:db8:abcd::/48を持つサイトでは、1つ目のVLANに2001:db8:abcd:1::/64、次のVLANに2001:db8:abcd:2::/64を使えます。
関連記事
アドレスの基本についてはIPアドレスとはをお読みください。任意のネットワークをすばやく計算するには、サブネット計算ツールをご利用ください。