ブラウザ内ツール
CIDR集約ツール
複数のIPアドレス・CIDR・範囲を貼ると、過不足なく同じ集合を表す最小個数のCIDR群と、全体を包む単一の集約経路(supernet)の両方を計算します。 BGPの経路集約が、意図しないアドレスまで含んでしまうことがある理由も分かります。
1行に1件。CIDR(10.0.0.0/24)・単一IP・範囲(a.b.c.d-a.b.c.d)に対応。
① 厳密マージ(過不足なく同じ集合を表す最小個数)
10.0.0.0/2410.0.1.5/3210.0.2.0/24
3個のCIDR・合計513アドレス(元の入力と完全に同じ集合)
② 全体を包む単一の集約経路(supernet)
10.0.0.0/221,024アドレスを含む1個のCIDR(元の集合には無かった511個のアドレスも含んでしまう=過剰包含)
①は経路数を最小化しつつ意図しないアドレスを一切含まない。②はBGPの経路集約のように「1本の経路にまとめる」場合の形だが、 隣接・整列していない範囲を1つにまとめると、元は含まれていなかったアドレスまで広告してしまう。 どちらを使うかは、経路表の削減とアドレス空間の精度のどちらを優先するかで決まる。
アドレス演算はすべてBigIntで行っています(32ビット符号あり整数として扱うビット演算のバグを避けるため)。IPv6には対応していません。
2つの「集約」は目的が違う
ファイアウォールのACLを整理したいなら、意図しないアドレスを絶対に含めたくないので厳密マージが適切です。 一方BGPで経路表を圧縮したい場合、多少アドレスが余分に含まれても経路数を1本に減らすことを優先し、単一の集約経路を使います。 どちらも「集約」と呼ばれますが、優先する価値がアドレスの精度か経路数の削減かで使い分けます。