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 のホスト数はいくつか
/24 は 256 アドレスを持ち、そのうち利用可能なのは 254 です。プレフィックスが 32 ビットのうち 24 ビットを固定し 8 ビットを残すので、ブロックは 2^8 = 256 アドレスになり、IPv4 はその先頭をネットワーク自身に、末尾をブロードキャストに費やします。これが上の節で説明した 2^n − 2 で、n はホストビットの数です。この減算は /30 までのすべての IPv4 プレフィックスで成り立ち、その下の二つでは成り立ちません。/31 は利用可能アドレスが 0 ではなく 2、/32 は −1 ではなく 1 で、このツールはそう報告します。
- サブネットマスクは 255.255.255.0、ワイルドカードマスクは 0.0.0.255 です。四つの数のうち三つが丸ごと固定されるため、/24 はドット表記からそのまま読み取れる唯一のプレフィックスになります。最後の数がホストで、その前の三つがネットワークです。
- 利用可能な範囲は .1 から .254 までです。ネットワークアドレスが .0、ブロードキャストアドレスが .255 で、このツールは範囲のどちらかの端に空白を残すのではなく、両方に名前を与えます。
- /24 は /25 が二つ、/26 が四つ、/27 が八つです。プレフィックスが 1 ビット増えるたびに半分になります。そして /24 自身も、/16 に収まる 256 個の /24 のうちの一つです。
- 古い文書はこれを class C ネットワークと呼びます。CIDR が置き換えたクラス方式では class C がちょうど 24 ビットのネットワークだったからです。だからこのツールは文字ではなくスラッシュの後の数を求めます。/26 にクラスはありません。
254 は在庫表ではなく算術です。動いているネットワークではルーターかゲートウェイが一つを取り、DHCP プールは通常、範囲の全部ではなく一部に設定されるので、実際に接続できる機器は 253 台以下になります。254 はアドレス計画がそこから始まる上限だと考えてください。
/16 のホスト数はいくつか
/16 は 65,536 アドレスを持ち、そのうち利用可能なのは 65,534 です。16 ビットが固定され 16 ビットが自由なので 2^16 = 65,536 で、両端から同じ二つのアドレスが落ちます。/30 まで成り立ちそこで止まる減算で、理由は上の /31 と /32 のとおりです。
- サブネットマスクは 255.255.0.0、ワイルドカードマスクは 0.0.255.255 なので、ドット表記の最初の二つの数がネットワークで、後の二つがホストを指します。
- /16 は 256 個の /24 です。実際に /16 に対して行われる分割はこれで、ここの分割操作がするのもそれです。/16 を与えて /24 を求めれば、一覧と、その横に総数が出ます。
- 192.168.0.0/16 は一つの /16 で、家庭用ルーターがアドレスを配るプライベート範囲です。だから 192.168.1.0/24 はほとんど誰もが見たことのあるブロックになりました。その内側にあるものは、このツールがプライベート (RFC 1918) と示します。
- 古い文書は /16 を class B ネットワークと呼びます。class B は組織に丸ごと割り当てられていたので、それを一つのネットワークとして思い描く癖はそこから残っています。
65,534 台の機器を一本のリンクに置く人はいません。/16 はブロードキャストドメインではなく割り当て単位です。リンク上のすべてのホストがそのリンクのブロードキャストと ARP を見るので、この規模では範囲が埋まるずっと前に運用が成り立たなくなります。だから /16 について有益な問いは、いくつホストを持つかではなく、どう切るかです。256 個の /24、1,024 個の /26、あるいはセグメントが実際に必要とする形に。
/8 のホスト数はいくつか
/8 は 16,777,216 アドレスを持ち、そのうち利用可能なのは 16,777,214 です。ホストビットが 24 なので 2^24 から、ネットワークアドレスとブロードキャストアドレスを引いた数です。人が手で書く最大のブロックで、実際にはほぼ常に同じブロック、つまり三つのプライベート範囲のうち最大の 10.0.0.0/8 です。
- サブネットマスクは 255.0.0.0、ワイルドカードマスクは 0.255.255.255 です。ドット表記の最初の数だけが固定され、残る三つが計画に使えます。
- /8 は 256 個の /16、または 65,536 個の /24 です。この最後の数字こそ、このページの分割一覧に上限があり、答えを黙って切り捨てる代わりに本当の総数を横に印字している理由です。
- 10.0.0.0/8 はここでプライベート (RFC 1918) と示され、127.0.0.0/8 はループバック範囲です。どちらも幅が八ビットなのは、クラス方式が class A をちょうどそうしたからで、ラベルはクラスより長生きしました。
- これに対し公開アドレス空間の /8 はまったく別物です。IPv4 全体でも 256 個しかなく、何十年も前に組織や地域レジストリへ配分されました。
16,777,214 は有益な意味でのホスト数ではありません。一本のリンクに一千六百万アドレスなど、誰も運用するネットワークではありません。/8 はアドレス計画で、計画が測られるのは、いくつサブネットが取れるかと、その一つずつがいくらかかるかです。サブネットはどれも自分のネットワークアドレスとブロードキャストアドレスを費やすので、/8 を /24 に切ると 65,536 のネットワークが得られ、その代わりに 131,072 アドレスを費やします。これがサブネット化の代価で、計画が各セグメントに収まる最小のサブネットではなく、耐えられる最大のサブネットを選ぶ理由です。
IPv6 の /64 のアドレス数はいくつか
/64 は 18,446,744,073,709,551,616 アドレス、つまり 2^64 を持ち、8 ビットではなく 64 ビットが自由な同じ算術で、そのすべてが利用可能です。引くものはありません。IPv6 にはブロードキャストアドレスがなく、プレフィックスの先頭も何も予約しないので、利用可能数が総数に等しくなります。だからこそこのツールは IPv6 ブロックに対して、ブロードキャストアドレスもドット表記のマスクも、ゼロとして見せるのではなく見せません。
- 数は桁の隣に 2 のべき乗としても印字されます。2^64 が読める形で、桁は複製する形です。
- /64 は一本のリンクの標準サイズで、そのリンクが二台を運ぶか二千台を運ぶかは関係ありません。ステートレスアドレス自動設定はアドレスの下位 64 ビットをホスト自身で組み立てるので、プレフィックスはホスト数ではなく仕組みによって 64 に固定されます。
- /64 はより大きな割り当てから出てきます。/48 は 65,536 個の /64、/56 は 256 個で、拠点が分割用に受け取るのは通常このどちらかです。
- 一つのインターフェイスは通常、自分の /64 から同時に複数のアドレスを持ちます。自動設定がプレフィックスから組み立てるアドレスと、その隣にたいてい、時間とともに置き換わる一時的なプライバシーアドレスです。アドレスの数で機器を数えるのは、この向きにも狂います。
この数を容量として読むのが、IPv4 の習慣が誘う誤りです。/64 は埋めるための大きさではなく、何もそれを埋めず、どの割り当て方針もそれを期待していません。その大きさは、ホストが誰にも尋ねずにリンク上で自分のアドレスを生成できるようにするためのものです。/64 が答える問いは、拠点にリンクがいくつあるかであって、機器が何台あるかではありません。
よくある質問
- /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 個あるので、節約する必要はありません。
- 入力した内容はサーバーに送られますか?
- いいえ。すべてがブラウザ内で動く計算です — 何も照会・アップロード・記録されません。だからネットワーク接続がまったくなくても動き続けます。
- /16 のサブネットマスクは何か
- 255.255.0.0 です。プレフィックス長とマスクは同じ情報を二通りに書いたもので、きりのよい三つのプレフィックスはそれぞれ数を一つずつ丸ごと固定します。/8 が 255.0.0.0、/16 が 255.255.0.0、/24 が 255.255.255.0 です。八の倍数でないプレフィックスは代わりに数の内側に落ちます。/26 は 255.255.255.192 で、こういう場合こそこのツールに計算させる価値があります。
- class C ネットワークとは何か
- CIDR が置き換えた方式での /24 です。クラス方式のアドレッシングはネットワーク部を 8、16、24 ビットに固定していました。class A、class B、class C です。だから class C は 256 アドレスと 254 の利用可能アドレスを持ち、今日の /24 とまったく同じでした。RFC 1519 が 1993 年にクラスを任意のプレフィックス長へ置き換えたので、このツールはスラッシュの後の数を求めます。/26 や /19 に名づけるクラスはありません。
- /16 に /24 はいくつあるか
- 256 個です。プレフィックスが 1 ビット増えるたびに数は倍になるので、/16 は 256 個の /24、/8 は 256 個の /16 または 65,536 個の /24 になります。ブロックを貼り付けて「分割数」を小さいプレフィックスに合わせてください。サブネットを一覧にし、一覧の横に本当の総数を報告します。総数が一覧に印字すべき量を超えたときに効いてくるのがそこです。
- IPv6 の /64 にアドレスはいくつあるか
- 18,446,744,073,709,551,616 個、つまり 2^64 で、そのすべてが利用可能です。IPv6 にはブロードキャストアドレスがなく、プレフィックスの先頭も何も予約しないので、何も引かれず利用可能数は総数に等しくなります。ここで IPv6 の答えが IPv4 の答えより長くなるどころか短くなる、唯一の場所です。
関連するツール
- cron 式の解説ツール
cron 式を読み解き、実際に動く時刻を確認。
- 自分のIPアドレス
公開 IPv4 と IPv6、そしてブラウザが選んだほう。
- Unix タイムスタンプ変換
エポック秒を日時に、日時をエポック秒に。
- chmod パーミッション計算
ファイル権限を 8 進数・記号・チェックボックスで相互変換。