SheepDev

IP・ネットワーク計算

/31や/32でも使える?小さいIPv4サブネットを読む

使うツール

IPv4ではネットワークとブロードキャスト用に二つ引く、と覚えていると、/31の使える数は0に見えます。しかし二つの端点だけを結ぶポイントツーポイントでは、二つのアドレスを両方使う方式があります。だからといって、普段のLANをすべて/31へ変えてよいわけではありません。IPv4/CIDR計算で範囲を並べ、どの用途の数を表示しているかを確認してから、実際の機器や構成の条件へ戻って判断します。

/30は総数4、通常モデルではホスト2

最初に入力する範囲
192.0.2.0/30
192.0.2.0 … 192.0.2.3
mask: 255.255.255.252

IPv4/CIDR計算へ192.0.2.0/30を入力します。ホスト側のビットは32−30で2ビット、総数は2の2乗で4です。通常のIPv4サブネットモデルでは、先頭の.0がネットワーク、末尾の.3がブロードキャストで、端点には.1と.2を使います。総数4とホスト数2は別の結果なので、必要な機器数とアドレスの消費数を混同しないようにします。

192.0.2.1/30を入力しても同じ範囲になります。入力値が範囲の途中のアドレスでも、プレフィックスからネットワーク境界を求めるためです。『入力した.1から四個』という意味ではありません。範囲をずらしたいときは、次の整列した境界である192.0.2.4/30を確認します。

/31の二つは、ポイントツーポイントでは両方使う

二つの端点を表す範囲
192.0.2.0/31
192.0.2.0 … 192.0.2.1
mask: 255.255.255.254

/31はホスト側1ビットなので、総数は2です。RFC 3021のポイントツーポイント用途では、この二つを端点のアドレスとして使います。通常の『先頭と末尾を除く』をそのまま適用しないところが/30との違いです。計算結果の用途説明を読み、二つ使えるという数が何の前提で出ているかを確かめます。

現在の画面には範囲末尾を示すbroadcast欄もありますが、/31のポイントツーポイントでは、その数値をブロードキャスト専用に予約する意味ではありません。lastやfirstで範囲を確認し、hostPolicyの説明と合わせて読みます。一般用途の項目名だけで『末尾は使えない』と判断せず、この境界条件では用途説明を優先します。

/32は一つのアドレスを指す

単一アドレスの例
192.0.2.10/32
first = last = 192.0.2.10
total = 1

/32はホスト側のビットが0で、総数は1です。二つの端点を含む範囲ではなく、単一ホストを指す経路などで使われる表現です。ここでも総数から一律に2を引けば負数になってしまいます。『プレフィックスが大きいほど小さい範囲』という関係と、用途に応じた使い方を分けて理解します。

ルーターに/32の経路があることだけで、相手と直接つながっているとは判断できません。どこへ転送するか、次の経路があるか、インターフェースがどう設定されているかは別の情報です。計算ツールは経路表や機器へ接続しないので、表示された数を接続成功の証拠にはしません。

アドレス節約と、対応できる構成を別々に確認する

十本のリンクを考えた単純な比較
10 × /30 → 40 addresses
10 × /31 → 20 addresses

二つの端点を持つリンクが十本なら、/30は総数40、/31は総数20を消費する計算です。ただし、これは各リンクがその方式を使えると確認できた場合の数え方です。端点の両側の対応、管理方法、予備のアドレス設計などを、この数だけで決定できるわけではありません。数が半分だからという理由だけで設定を置き換えないでください。

サブネット分割のVLSM割当は、現在は一般的なIPv4サブネットとしてネットワーク・ブロードキャストを確保するモデルです。必要ホスト数2を入れた結果が/30でも、IPv4/CIDRの/31計算と矛盾するとは限りません。使っているモデルが違います。各ツールの用途と制限を確認し、同じ『二台』という入力だけで結果を同一視しないようにします。

境界値を試し、IPv6へ同じ引き算を持ち込まない

この違いを確認するテストには、/30、/31、/32を一組で残しておきます。範囲の先頭と末尾、総数、用途説明を照合し、範囲内の別アドレスを入力しても境界が変わらないか確かめます。最大範囲の/0も総数は2の32乗です。計算上の範囲が求まることと、その範囲のすべてを一つのLANで使えることは同じ意味ではありません。

IPv6にはIPv4と同じブロードキャストがないため、総数から2を引く計算をそのまま使いません。IPv6/CIDRでは128ビットの範囲を別に確認します。アドレス数を計算することと、割当てや経路の運用方針を決めることを分けると、計算結果を設計のどの判断へ使えるかが明確になります。

参考資料

使うツール

使い方・解説 →