IPアドレス計算(CIDR範囲)とは?
このツールは、ドット区切り10進数で表したIPv4アドレスとCIDRのネットワークプレフィックス長を入力するだけで、サブネット全体を一括算出します。ネットワークアドレス、ブロードキャストアドレス、割当可能なホストアドレスの範囲、サブネットマスク、ワイルドカードマスク、アドレス数までまとめて確認できます。クラスレスなインタードメインルーティング(CIDR・RFC 4632)に準拠しており、IPアドレスは世界共通の標準仕様であるため、地域や国を問わず同じ結果が得られます。
使い方
IPv4アドレスの4つのオクテット(それぞれ0〜255)を入力します。たとえば「128」「1」「10」「164」のように指定します。続いてスラッシュの後ろにプレフィックス長(0〜32)を入力します。たとえば「24」と入れると 128.1.10.164/24 となります。計算結果では主役となる「割当可能なアドレス範囲」を目立つ形で表示し、その下に派生する各項目を一覧で示します。
計算式の解説
まずアドレスを1つの32ビット符号なし整数にまとめます。\(\text{ip} = \text{Oct}_1 \times 2^{24} + \text{Oct}_2 \times 2^{16} + \text{Oct}_3 \times 2^{8} + \text{Oct}_4\) です。サブネットマスクは上位 p ビットを1にしたもので、p はプレフィックス長を表します。ネットワークアドレスは「ip AND マスク」、ブロードキャストアドレスは「ネットワーク OR ワイルドカード(マスクのビット反転)」で求めます。割当可能な最初のホストは「ネットワーク+1」、最後のホストは「ブロードキャスト−1」です。アドレスの総数は \(2^{32-p}\)、割当可能なホスト数はそこから2を引いた値(最小は0)になります。
$$\begin{gathered} \text{Network} = \text{IP} \mathbin{\&} M, \qquad \text{Broadcast} = \text{Network} \mid \lnot M \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= \left(\text{Oct}_1 \ll 24\right) \mid \left(\text{Oct}_2 \ll 16\right) \mid \left(\text{Oct}_3 \ll 8\right) \mid \text{Oct}_4 \\ M &= \left(2^{\text{Prefix}}-1\right) \ll \left(32 - \text{Prefix}\right) \\ \text{Total} &= 2^{\,32 - \text{Prefix}}, \quad \text{Usable} = \text{Total} - 2 \end{aligned} \right. \end{gathered}$$
計算例
128.1.10.164/24 の場合、マスクは 255.255.255.0、ワイルドカードは 0.0.0.255 です。ネットワークアドレスは 128.1.10.0、ブロードキャストアドレスは 128.1.10.255 となります。割当可能な範囲は 128.1.10.1 〜 128.1.10.254 です。アドレスの総数は \(2^{32-24}=256\)、割当可能なホスト数は \(256-2=254\) です。
よくある質問(FAQ)
なぜ割当可能なホスト数は総アドレス数より2つ少ないのですか? 従来のIPv4のサブネット設計では、ネットワークアドレスとブロードキャストアドレスはホストに割り当てられないためです。たとえば /24 はアドレス256個に対し、割当可能なホストは254個になります。
/31 や /32 はどうなりますか? /31 はアドレス2個、/32 はアドレス1個を持ちます。従来の割当可能ホスト数の計算式ではどちらも0と表示されますが、RFC 3021 ではポイントツーポイント接続において /31 の2つのアドレスを利用することが認められています。
ワイルドカードマスクとは何ですか? サブネットマスクのビットを反転させたもの(マスクが1の桁を0に、0の桁を1にしたもの)です。ルーターのアクセス制御リスト(ACL)でアドレス範囲を指定する際によく使われます。