ゆるテックノート

IPv4のCIDRとサブネット計算

IPアドレスの後ろに付く「/24」や「/26」。数字が大きいほど範囲は小さくなります。設定画面の値を読むときは、アドレス全体の個数と、端末に割り当てられる個数を分けて考えると混乱しません。192.0.2.70/26を使って、範囲の求め方を順にたどります。

/26は先頭26ビットが共通という意味

IPv4アドレスは32ビットです。/26なら先頭26ビットがネットワークを表す共通部分で、残る6ビットでその範囲内の位置を表します。CIDRは、この境界を昔のクラスA・B・Cに固定せず指定する書き方です。ドット付きのサブネットマスクなら、共通部分を1、残りを0にします。

よく見る長さを比べる

総数は2の「32 − プレフィックス長」乗です。例えば/26なら2の6乗で64。これはまだ、予約アドレスなどを差し引く前の数です。RFC 4632 §3.1にプレフィックス表記とブロックの大きさが示されています。

表記 サブネットマスク 範囲内のアドレス総数
/24 255.255.255.0 256
/26 255.255.255.192 64
/30 255.255.255.252 4
/31 255.255.255.254 2
/32 255.255.255.255 1

192.0.2.70/26の範囲を求める

この例では最後の8ビットのうち上位2ビットが固定されます。区切りは64個ごとになり、末尾0〜63、64〜127、128〜191、192〜255の4ブロックに分かれます。70が入るのは64〜127です。IPアドレスとマスクのビット単位のANDを取っても、先頭アドレスの192.0.2.64を求められます。

計算結果の読み方

入力した70をそのままネットワークの先頭とするわけではありません。なお192.0.2.0/24はRFC 5737の説明用アドレスで、実運用先へ割り当てる例ではありません。

項目 結果
入力したホスト 192.0.2.70/26
ネットワーク表記 192.0.2.64/26
範囲 192.0.2.64〜192.0.2.127
通常のサブネットのブロードキャスト 192.0.2.127
通常のホスト候補 192.0.2.65〜192.0.2.126(62個)

ホスト数から2を引く理由と例外

通常のIPv4サブネットでは、ホスト部がすべて0のアドレスをネットワークの識別に、すべて1のアドレスをサブネットのブロードキャストに使います。そこで/26なら64 − 2 = 62個がホスト候補になります。ただし「必ず2を引く」と覚えると、/31と/32でつまずきます。

/31と/32を読む

/31は2台の端点を結ぶリンクについての規定で、一般的なLANへ一律に適用するものではありません。両端の機器・接続方式の対応が前提です。RFC 3021 §2.1–2.2がこの扱いを定めています。

表記 読み方
192.0.2.10/31 RFC 3021対応のポイントツーポイントリンクなら、.10と.11の両方を端点に使う。サブネット向けのブロードキャストはない
192.0.2.70/32 1つのアドレスだけを指定する。経路表ではそのアドレス宛てのホストルートとして使われる

大きな範囲を小さく分ける

192.0.2.0/24を同じ大きさの4つへ分けるなら、ネットワーク部を2ビット増やして/26にします。分割後は192.0.2.0/26、192.0.2.64/26、192.0.2.128/26、192.0.2.192/26です。どの範囲も64個で、重なりや隙間はありません。

アドレスの数と使える台数は別

通常の/24ならホスト候補は254個、4つの/26なら62 × 4 = 248個です。分割した各サブネットに予約するアドレスがあるためです。さらにゲートウェイ、固定割り当て、クラウドサービス独自の予約などがあれば、端末用に空いている数は減ります。計算だけでは実際の空きアドレスや到達性までは分かりません。

計算機で境界を比べる

Online Toolsのサブネット計算機に192.0.2.70/26を入力すると、マスク、ネットワーク、範囲、ホスト数を比べられます。/25と/27でも試すと、同じアドレスがどの大きさの範囲へ入るかが見えてきます。計算処理はブラウザ内で行われ、入力したIPアドレスへの接続試験は行いません。

/31では欄の名前より用途を見る

この計算機は/31を2個、/32を1個として数えます。一方、ブロードキャスト欄には計算上の末尾アドレスも表示されます。/31のポイントツーポイントで、その末尾をブロードキャストに使うという意味にはなりません。

仕様と、次に読みたい解説

RFC 4632 §3.1:CIDR表記、RFC 3021 §2:/31の扱い、RFC 1122 §3.2.1.3:IPv4の特殊アドレス(/31はRFC 3021による更新を適用)。名前からアドレスを調べる流れはDNSの基礎、アドレスから場所を推定する限界はIPアドレスと位置情報へ。