CIDR / サブネット計算機
IPv4・IPv6 の CIDR ブロックからネットワーク、ブロードキャスト、マスク、ホスト範囲を計算
このツールについて
10.20.0.0/16 や 2001:db8::/48 のような CIDR ブロックを入力すると、そのすべてが一度にわかります:ネットワークアドレス、ブロードキャスト(IPv6 では最終アドレス)、ネットマスクとワイルドカードマスク、最初と最後の使用可能ホスト、アドレス数、そしてどの特殊用途レンジに属するか — RFC 1918 のプライベート空間、キャリアグレード NAT、リンクローカル、ドキュメント用、マルチキャストなど。単独のアドレスも入力でき、ネットマスク表記(192.168.1.0 255.255.255.0)や Cisco のワイルドカード形式(0.0.0.255)も使えます。
代わりに 10.0.0.1 - 10.0.0.200 のような範囲を貼り付けると、それをぴったり覆う最小の CIDR ブロックのリストが得られます。ファイアウォールルール、セキュリティグループ、許可リストが実際に受け付けるのはこの形です。分割ビューはブロックを等しいサブネットに分け(/16 を /24 に、/32 を /48 に)、VPC や VLAN の設計に役立ちます。所属チェックでは、指定したアドレスがブロック内に含まれるかどうかがわかります。
すべての計算は BigInt で行うため、IPv6 のアドレス数も浮動小数点に丸められず正確です:/64 のアドレス数は「1.8e19」ではなく 18446744073709551616 です。オンラインでの照会は一切行いません — ツールが知っているのは IANA の特殊用途レンジであって、アドレスの所有者ではありません — そして社内ネットワークの構成がブラウザの外に出ることはありません。
よくある質問
- なぜ /24 の使用可能ホスト数は 256 ではなく 254 なのですか?
- IPv4 では、サブネットの最初のアドレスはネットワーク自体を表し、最後のアドレスはブロードキャストアドレスなので、どちらもホストに割り当てられません。例外は /31 と /32 です。/31 は RFC 3021 によりポイントツーポイントリンクで全体(2 ホスト)を使え、/32 は単一のアドレスです。IPv6 にはブロードキャストがないため、IPv6 ブロック内のすべてのアドレスが使用可能として数えられます。
- 「ホストビットが立っている」とはどういう意味ですか?
- 入力したアドレスがブロックの先頭ではない、という意味です。たとえば 10.1.2.3/8 がそうです。多くのツールは黙って 10.0.0.0/8 に切り捨てますが、strict モードの Python の ipaddress モジュールや一部のクラウドコンソールのように、拒否するものもあります。この計算機は実際のネットワークアドレスを表示するので、正規の形をそのまま貼り付けられます。
- なぜ先頭にゼロが付いたアドレスは拒否されるのですか?
- その意味についてシステム間で解釈が分かれるからです。古典的な inet_aton パーサーは 010 を 8 進数(8)として読みますが、他の多くは 10 進数(10)として読みます — この食い違いは実際にアクセス制御の回避を引き起こしてきました。推測するのではなく、計算機は先頭のゼロを付けずに数値を書くよう求めます。
- 範囲はどのように CIDR ブロックへ変換されるのですか?
- 先頭から貪欲に行います:各ステップで、現在のアドレスに整列していて範囲の終わりを越えない最大のブロックを取り、次へ進みます。これで必要なブロック数が最小になります。192.168.0.0 – 192.168.255.255 のように整列した範囲は 1 つの /16 にまとまり、.1 – .10 のような半端な範囲には 5 つ必要です。
- ワイルドカードマスクは何に使うのですか?
- ネットマスクを反転したもので(/24 なら 0.0.0.255)、Cisco IOS のアクセスリストや OSPF の network 文で範囲を表すのに使われます。計算機にはどちらの形式を貼り付けてもかまいません。ワイルドカードマスクを認識してプレフィックス長に変換します。