CIDR / サブネット計算
IPv4 と IPv6 のブロックについて、ネットワークアドレス、ホスト範囲、マスク、アドレス数を求め、等分割もできます。
| ネットワーク | 192.168.1.0/24 |
|---|---|
| ネットワークアドレス | 192.168.1.0 |
| ブロードキャストアドレス | 192.168.1.255 |
| 利用可能な範囲 | 192.168.1.1 – 192.168.1.254 |
| 利用可能なアドレス数 | 254 |
| 総アドレス数 | 256 |
| サブネットマスク | 255.255.255.0 |
| ワイルドカードマスク | 0.0.0.255 |
このツールの役割
192.168.1.0/24 のような CIDR ブロックは、アドレスの範囲をコンパクトに名付ける方法です。このツールはそれを取り、そこから続く問いに答えます: 範囲がどこで始まり終わるか、いくつのアドレスを持つか、そのうちいくつをマシンに与えられるか、サブネットマスクはどう見えるか、特定のアドレスが内側に落ちるか、そしてより小さな断片に切ると何が得られるか、です。
IPv4 と IPv6 を扱い、ネットワークアドレスと同じく気軽にホストアドレスも受け付けます — ip addr からそのまま 192.168.1.57/24 を貼り付ければ、そのアドレスが住むブロックを教えます。すべてがブラウザ内で行われる計算です: 照会も、サーバーもなく、ネットワークを抜いても動きます。
スラッシュの数が意味すること
IPv4 アドレスは 32 ビットです。スラッシュの後ろの数 — プレフィックス長 — は、そのうちいくつのビットがネットワークを識別するかを言い、残りはその中のホストを識別します。/24 は最初の 24 ビットを固定して 8 を自由に残し、だから 2^8 = 256 のアドレスを持ちます。
192.168.1.0 # アドレス 11000000.10101000.00000001.00000000 # その 32 ビット 11111111.11111111.11111111.00000000 # /24 マスク: 24 個の 1、8 個の 0
マスクが 1 のところ、そのビットはネットワークに属し、ブロックのすべてのアドレスで固定されます。0 のところ、そのビットは自由に変わってホストを識別します。プレフィックスのビットが 1 つ増えるごとにブロックが半分になります。その関係がサブネット化のすべてで、表を暗記するより身につける価値があります:
- /24 — 256 アドレス、254 使用可能。古典的な小さなネットワーク。
- /25 — 128 アドレス、126 使用可能。/24 の半分。
- /26 — 64 アドレス、62 使用可能。
- /30 — 4 アドレス、2 使用可能。伝統的なポイントツーポイントのリンク。
- /16 — 65 536 アドレス。/24 の 16 倍を、さらに 16 倍。
なぜ二つのアドレスが欠けるのか
/24 は 256 アドレスを持ちますが使用可能なのは 254 だけです。IPv4 がそのうち二つを費やすからです。ブロックの最初のアドレスはネットワークアドレスで、ブロック自体を名付け、どのインターフェースにも割り当てられません。最後はブロードキャストアドレスで、リンク上のすべてのホストに一度に届きます。おなじみの 2^n − 2 はそこから来ます。
二つのプレフィックスがその式を破り、ほとんどの計算機は少なくとも一方を誤ります:
- /31 は二つのアドレスを持ち、式は使用可能ゼロと言います。RFC 3021 はポイントツーポイントのリンクのために /31 を定め、そこではブロードキャストアドレスが要らず、両方のアドレスが割り当てられます — 両端に一つずつ。正しい答えは 2 です。
- /32 は単一のアドレスで、式は −1 と言います。/32 はちょうど一つのホストを名付けます。ファイアウォールの規則や経路で単一のサーバーに書くものです。
このツールは RFC 3021 に従い、それらの場合に 2 と 1 を報告します。別の計算機が /31 に使用可能なアドレスがないと言うなら、それは教科書の式を、成り立つ点を超えて適用したものです。
サブネットマスクとワイルドカードマスク
サブネットマスクはプレフィックス長と同じ情報を、ドット付きの四つ組で書いたものです: ネットワークのビットが 1、ホストのビットが 0 です。/24 は 255.255.255.0 です。古い設定形式はマスクを、新しいものはプレフィックスを欲しがり、両者は互換です。
ワイルドカードマスクはサブネットマスクを反転したもの — /24 では 0.0.0.255 — です。Cisco のアクセスリストと OSPF のネットワーク文はそれで書かれ、その反転は、はっきり述べる価値があるほど頻繁に人を捕らえます: ワイルドカードマスクでは、0 のビットが「一致しなければならない」を、1 のビットが「気にしない」を意味し、サブネットマスクの逆です。
IPv6 は例外の少ない同じ考え
IPv6 アドレスは 32 ではなく 128 ビットで、プレフィックスは同じように働きます — /64 は最初の 64 ビットを固定します。計算は同じで、変わるのは IPv4 の二つの厄介ごとが消えることです。
- ブロードキャストアドレスがありません。IPv6 はブロードキャストをマルチキャストに置き換えたので、プレフィックスの末尾に予約されるものはありません。
- 先頭にも予約されるものはないので、ブロックのすべてのアドレスが割り当て可能で、使用可能数が総数に等しくなります。(サブネットのすべてゼロのアドレスはサブネットルーターエニーキャストアドレスで、範囲の穴ではなくルーティングの慣習です。)
- ドット付きのサブネットマスクがありません。IPv6 は常にプレフィックス長で書かれます。テキストの 128 ビットマスクは読めず、何もそれを求めません。
/64 は単一のリンクの標準の大きさです。ステートレスアドレス自動設定が 64 個のホストビットを期待するからです。サイトはたいてい /48 か /56 を与えられ、それが /64 に分けられます — VLAN やセグメントごとに一つ。だからこのツールは /48 を /64 に喜んで分割し、それが 65 536 個あると教えます。
アドレス数は急速に大きくなるので、2 の累乗としても完全な数字としても示されます: /32 は 2^96 のアドレスを持ち、それは 79 228 162 514 264 337 593 543 950 336 です。累乗が読めるもの、数字がコピーするものです。
IPv6 アドレスを正規の形で書く
一つの IPv6 アドレスは多くの書き方ができ、それが二つを目で比べるのを当てにならなくします。RFC 5952 は単一の正規のテキスト形式を定め、それがこのツールが出力するものです:
- 小文字の 16 進数で、グループの中に先頭のゼロなし — 2001:0db8 は 2001:db8 になります。
- すべてゼロのグループの最も長い連なりが :: に置き換えられ、最も長いものだけが。同点なら最も左の連なりが勝ちます。
- 単一のゼロのグループは決して圧縮されません。:: は何も節約せず、二つ目の綴りを作るからです。
展開形がその横に、すべてのグループを 4 桁に埋めて示されます。そちらは正規ではありませんが、アドレスの一覧を比べるときに列で揃う形です。
ブロックを分割する
一つのネットワークをいくつかの等しいものに切ることは、人がふつうサブネット計算機に来て行う操作です。プレフィックスのビットが 1 つ増えるごとにサブネットの数が倍になり、その大きさが半分になります: /24 は二つの /25、四つの /26、八つの /27 と続きます。
192.168.1.0/24 -> /26 192.168.1.0/26 # アドレス 0-63 192.168.1.64/26 # アドレス 64-127 192.168.1.128/26 # アドレス 128-191 192.168.1.192/26 # アドレス 192-255
サブネットは親を正確に敷き詰めます — 隙間も重なりもなく — これはアドレス空間を手で刻むときに確認する価値のある性質です。数は急速に増えることに注意してください: /8 を /24 に分けると 65 536 のネットワークで、だからここの一覧は上限が設けられ、答えを黙って切るのではなく本当の総数がその横に報告されます。
特定の意味を持つ範囲
いくつかのブロックは特定の目的のために予約されており、その一つの内側にあるネットワークはここで名札が付けられます。最もよく現れるもの:
- プライベート (RFC 1918) — 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。組織の内側でルーティング可能で、公開インターネットでは決してそうではありません。
- ループバック — IPv4 では 127.0.0.0/8、IPv6 では ::1。ホストを決して離れないトラフィック。
- リンクローカル — 169.254.0.0/16 と fe80::/10。自己割り当てで、一つのリンクでのみ有効。この範囲の IPv4 アドレスはたいてい DHCP が失敗したことを意味します。
- キャリアグレード NAT — 100.64.0.0/10。加入者と ISP の間で使われ、自分のネットワークでこれを見るのは ISP 側の NAT の兆候です。
- ドキュメント — 192.0.2.0/24、198.51.100.0/24、203.0.113.0/24、2001:db8::/32。例のために予約され、だからこのページ全体に現れます。
- ユニークローカル — fc00::/7。RFC 1918 のプライベート空間の IPv6 版。
名札はブロック全体が特殊な範囲の内側にあるときだけ適用され、単に重なるときには適用されません。0.0.0.0/0 は存在するすべてのプライベート範囲を覆いますが、それ自体はプライベートではなく、そうでないと言うことは何も言わないより悪いでしょう。
よくある質問
- /24 には使用可能なホストがいくつありますか?
- 254 です。ブロックは 256 アドレスを持ち、最初はネットワークアドレス、最後はブロードキャストアドレスで、どちらもインターフェースに割り当てられません。同じ引き算で /25 は 126、/26 は 62、/30 は 2 になります。
- ほかの計算機がゼロと言うのに、これが /31 に使用可能なアドレスが二つあると言うのはなぜですか?
- RFC 3021 がポイントツーポイントのリンクのために /31 を定め、そこではブロードキャストアドレスが目的を果たさず、両方のアドレスが割り当てられる — リンクの両端に一つずつ — からです。ゼロと報告する計算機は、2^n − 2 の式を成り立つ範囲を超えて適用しています。
- サブネットマスクとワイルドカードマスクの違いは何ですか?
- 互いの反転です。サブネットマスクはネットワークのビットに 1 を持ち (/24 では 255.255.255.0)、ワイルドカードマスクはそこに代わりに 0 を持ちます (0.0.0.255)。ワイルドカードマスクでは 0 がビットは一致しなければならないを、1 が無視されるを意味し、サブネットマスクが築く直感の逆です。
- ネットワークアドレスでないアドレスを貼り付けられますか?
- はい、それがよくある場合です。192.168.1.57/24 を与えると、ネットワークが 192.168.1.0/24 であることを示し、入力したアドレスがその中のホストだと注記します。それはまさに ip addr や ipconfig から得るものなので、先に編集する必要はありません。
- IPv6 がブロードキャストアドレスやサブネットマスクを示さないのはなぜですか?
- どちらも存在しないからです。IPv6 はブロードキャストをマルチキャストのために捨てたので、プレフィックスの末尾に予約されるものはなく、ドット付きのマスクではなく常にプレフィックス長で書かれます。IPv6 ブロックのすべてのアドレスが割り当て可能で、だから使用可能数が総数に一致します。
- IPv6 のサブネットはどの大きさのプレフィックスであるべきですか?
- ほぼすべての場合、/64 です。ステートレスアドレス自動設定が 64 個のホストビットを仮定するので、より小さなプレフィックスはふつうのリンクでそれを壊します。サイトはたいてい /48 か /56 を割り当てられ、それをセグメントごとに一つの /64 に分けます — /48 には 65 536 個あるので、節約する必要はありません。
- 入力した内容はサーバーに送られますか?
- いいえ。すべてがブラウザ内で動く計算です — 何も照会・アップロード・記録されません。だからネットワーク接続がまったくなくても動き続けます。