オコジョソフトサブネット計算機

IPv4・IPv6 対応のサブネット計算機

CIDR・サブネットマスク・ワイルドカード・アドレス範囲のどれで入れても、打つそばから結果が出ます。どの値もワンクリックでコピーできます。

  • 計算はすべてブラウザの中
  • 広告・Cookie・登録なし
  • 特殊用途アドレスは IANA の登録簿に準拠
  • IPv4・IPv6
192.168.1.10 255.255.255.0 や 10.0.0.5 - 10.0.0.90 も入力できます
例
使用可能ホスト数
アドレス総数
使用可能範囲
ネットワーク部ホスト部境界ビットをクリックすると、そこに境界を移せます。

アドレス

種別

表記

名前解決

分割

範囲を切って、目で確かめる。

上の結果を起点に、ブロックを半分に切ったり、隣どうしをつなぎ直したりできます。空間の配分がひと目で分かります。Web 版は64ブロックまで。

起点のブロック
#ブロック使用可能範囲ホスト数名前操作

ここで付けた名前は、タブを閉じると消えます。 SubnetDeck なら、拠点ごとの設計(セグメント名・大きさ・VLSM の割り当て)を顧客やプロジェクトのフォルダに残せます。

SubnetDeck を見る

早見表

サブネットマスク早見表

IPv4 の全プレフィックスのマスク・ワイルドカード・ホスト数と、実務で出会う IPv6 の大きさ。行をクリックすると、その値で計算します。

IPv4 の /8〜/32。使用可能ホスト数はネットワークアドレスとブロードキャストアドレスを引いた数(/31・/32 を除く)。
プレフィックスサブネットマスクワイルドカードアドレス数使用可能ホスト数/24 との関係典型的な用途
/00.0.0.0255.255.255.2554,294,967,2964,294,967,294/24 × 16,777,216
/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646/24 × 8,388,608
/2192.0.0.063.255.255.2551,073,741,8241,073,741,822/24 × 4,194,304
/3224.0.0.031.255.255.255536,870,912536,870,910/24 × 2,097,152
/4240.0.0.015.255.255.255268,435,456268,435,454/24 × 1,048,576
/5248.0.0.07.255.255.255134,217,728134,217,726/24 × 524,288
/6252.0.0.03.255.255.25567,108,86467,108,862/24 × 262,144
/7254.0.0.01.255.255.25533,554,43233,554,430/24 × 131,072
/8255.0.0.00.255.255.25516,777,21616,777,214/24 × 65,53610.0.0.0/8 のプライベート空間
/9255.128.0.00.127.255.2558,388,6088,388,606/24 × 32,768
/10255.192.0.00.63.255.2554,194,3044,194,302/24 × 16,384
/11255.224.0.00.31.255.2552,097,1522,097,150/24 × 8,192
/12255.240.0.00.15.255.2551,048,5761,048,574/24 × 4,096172.16.0.0/12 のプライベート空間
/13255.248.0.00.7.255.255524,288524,286/24 × 2,048
/14255.252.0.00.3.255.255262,144262,142/24 × 1,024
/15255.254.0.00.1.255.255131,072131,070/24 × 512
/16255.255.0.00.0.255.25565,53665,534/24 × 256キャンパス・大規模拠点。192.168.0.0/16
/17255.255.128.00.0.127.25532,76832,766/24 × 128
/18255.255.192.00.0.63.25516,38416,382/24 × 64
/19255.255.224.00.0.31.2558,1928,190/24 × 32大規模拠点・クラウドの区画
/20255.255.240.00.0.15.2554,0964,094/24 × 16大規模拠点・クラウドの区画
/21255.255.248.00.0.7.2552,0482,046/24 × 8
/22255.255.252.00.0.3.2551,0241,022/24 × 4中規模オフィス(有線+無線)
/23255.255.254.00.0.1.255512510/24 × 2端末の多い無線
/24255.255.255.00.0.0.255256254/24 に 1 個標準的な LAN セグメント
/25255.255.255.1280.0.0.127128126/24 に 2 個/24 の半分
/26255.255.255.1920.0.0.636462/24 に 4 個サーバ・機器管理(62台まで)
/27255.255.255.2240.0.0.313230/24 に 8 個プリンタなどの小さなセグメント
/28255.255.255.2400.0.0.151614/24 に 16 個小さな DMZ
/29255.255.255.2480.0.0.786/24 に 32 個ルータ・ファイアウォール間
/30255.255.255.2520.0.0.342/24 に 64 個点対点リンク(従来型)
/31255.255.255.2540.0.0.122/24 に 128 個点対点リンク(RFC 3021)
/32255.255.255.2550.0.0.011/24 に 256 個単一ホスト・ループバック

IPv4 の /8〜/32。使用可能ホスト数はネットワークアドレスとブロードキャストアドレスを引いた数(/31・/32 を除く)。

解説

なぜその数になるのか。

SubnetDeck の「解説」タブ11本のうち10本を全文で。暗記する規則ではなく、仕組みを説明します。

01

マスクとプレフィックス長同じ境界の2つの書き方

サブネットマスクとプレフィックス長は、同じ境界を2通りに書いたものである。255.255.255.0 と /24 は同じことを指す。この境界が何を分け、なぜ整数でしか表せないのかは、32ビットの並びに戻ると分かる。

サブネットマスクとプレフィックス長は、同じ境界を2通りに書いたものである。255.255.255.0 と /24 は同じことを指す。この境界が何を分け、なぜ整数でしか表せないのかは、32ビットの並びに戻ると分かる。

IPv4アドレスは32ビットの数値である。この32ビットのうち、どこまでがネットワークを表し、どこからがその中の機器を表すのかは、アドレスそのものには書かれていない。境界の位置を別に示すのがサブネットマスクである。

サブネットマスクは、アドレスと同じ32ビットの並びで、ネットワーク側のビットを1、ホスト側のビットを0とする。255.255.255.0 を2進数で書くと、1が24個続いたあとに0が8個続く。この「1が24個」を数値ひとつで表したものがプレフィックス長で、/24 と書く。両者は同じ境界を別の記法で書いたものであり、指している位置は変わらない。

マスクの1は、左から連続していなければならない。RFC 1812(1995年6月)がこれを要件として定めており、間に0を挟んだ並びは現在の経路制御では扱えない。理由は照合の方法にある。ある宛先がそのネットワークに属するかどうかの判定は、上位nビットが一致するかという1回の比較で行われる。1が連続していれば、境界はnという単一の数値で表現でき、比較は前方一致で済む。飛び飛びの並びでは、どのビットを照合対象とするかを別に持ち回る必要があり、複数の経路が一致したときにどれを採るかが決められず、複数の範囲をひとつにまとめる操作も成立しない。

したがってプレフィックス長は0から32までの整数であり、ビットの途中に境界を置くことはできない。ホスト側に残るビット数は、32からプレフィックス長を引いた値で決まる。

要点

  • 255.255.255.0 と /24 は同じ境界の別表記である。どちらの形式で入力しても、得られるネットワークは変わらない。
  • ワイルドカードマスクは、0と1の役割がサブネットマスクと逆になる並びである。0のビットが一致を要求する位置、1のビットが値を問わない位置を指す。サブネットマスクとは別のものである。
  • IPv6には点区切りのマスク表記がなく、境界はプレフィックス長だけで表す。
  • プレフィックス長だけではネットワークは特定できない。/24 という表記が指すのは境界の位置だけであり、どのネットワークかはアドレスと組で決まる。
02

ネットワークアドレスとブロードキャストアドレス2つが引かれる理由

どのサブネットにも、機器に割り当てられないアドレスが2つある。ネットワークアドレスとブロードキャストアドレスである。この2つが除かれるため、使用可能ホスト数は総数より2つ少ない。なぜその2つなのかは、ホスト部のビットの並びを見ると分かる。

どのサブネットにも、機器に割り当てられないアドレスが2つある。ネットワークアドレスとブロードキャストアドレスである。この2つが除かれるため、使用可能ホスト数は総数より2つ少ない。なぜその2つなのかは、ホスト部のビットの並びを見ると分かる。

サブネットの中の2つのアドレスは、機器に割り当てられない。ホスト部のビットがすべて0のものと、すべて1のものである。

ホスト部が全0のアドレスはネットワークアドレスと呼ばれ、そのサブネット自体を指す識別子として使われる。経路表に書かれる 192.168.10.0/24 のような表記は、この形である。仮にこのアドレスを1台の機器に割り当てると、ネットワーク全体を指す並びと、その中の1台を指す並びが同一になる。両者を区別する手段がなくなるため、割り当ての対象から外されている。

ホスト部が全1のアドレスはブロードキャストアドレスと呼ばれ、そのサブネット上のすべての機器を宛先とする指定に使われる。RFC 919 と RFC 922(いずれも1984年10月)がこの形式を定めている。複数の相手に同時に届けるための並びであるため、特定の1台に割り当てることはできない。

この2つが外れる結果として、使用可能ホスト数は総アドレス数から2を引いた値になる。/24 なら 256 − 2 で254、/26 なら 64 − 2 で62である。

なお、「最小のアドレスと最大のアドレス」という覚え方は、結果を言い換えたものである。定義はホスト部のビットの並びにあり、数値としての大小はそこから導かれる。

要点

  • ネットワークアドレスとブロードキャストアドレスは、ホスト部のビットが全0か全1かで決まる。数値としての最小・最大は、その結果として現れる。
  • 同じアドレスでも、プレフィックス長が変われば役割が変わる。192.168.10.64 は /26 ではネットワークアドレスだが、/24 では機器に割り当てられるアドレスである。
  • IPv6にはブロードキャストが存在しない。すべてのノードへの送信はマルチキャストで行われるため、末尾のアドレスを引く必要がない。
  • /31 と /32 では、この引き算がそのまま成り立たない。そのまま引くと /31 は0、/32 は負の数になり、実際の扱いと合わない。
03

/31 と /32引き算が成り立たない理由

サブネットの使用可能ホスト数は、全アドレスからネットワークアドレスとブロードキャストアドレスの2つを引いて求める。この計算をそのまま /31 に当てはめると0になり、/32 では負の数になる。しかし実際には /31 は2、/32 は1として扱われる。/31 と /32 では、引き算の前提が成り立たないためである。

サブネットの使用可能ホスト数は、全アドレスからネットワークアドレスとブロードキャストアドレスの2つを引いて求める。この計算をそのまま /31 に当てはめると0になり、/32 では負の数になる。しかし実際には /31 は2、/32 は1として扱われる。/31 と /32 では、引き算の前提が成り立たないためである。

ホスト数を「全アドレス − 2」で求められるのは、ホスト部が全0のアドレスがネットワークアドレスを指し、全1のアドレスがブロードキャストアドレスとして予約されているためである。この2つは特定の機器に割り当てられない。

/30 では4アドレスのうち2つがこれに充てられ、残る2つがホストに割り当てられる。点対点リンク(2台の機器だけが向かい合う区間)を /30 で表す場合、区間が占めるアドレスは4つ、そのうち機器に割り当てられるのは2つになる。

RFC 3021(2000年12月)は、この区間を /31 で表す場合に限って、引き算を適用しないことを定めた。点対点リンクでは、一方が送ったパケットは常に他方が受け取る。宛先を「このサブネットの全員」と指定する必要がないため、ブロードキャストアドレスを置く理由がない。ホスト部が全0のアドレスも、古い形式のブロードキャスト宛先として使われていたもので、現在その役割はない。RFC 3021 は、この2つをいずれもホストアドレスとして解釈すると定めている。結果として /31 の2アドレスは両方ともホストに割り当てられ、使用可能ホスト数は2になる。定められた目的は、アドレス空間の消費を抑えることにある。

なお、/31 を解釈できるかは実装によって異なる。RFCで定められていることと、あらゆる機器が対応していることは別である。

/32 は理由が異なる。幅が1アドレスしかなく、ネットワークアドレスとブロードキャストアドレスに分ける対象そのものが存在しない。この1つは、単一のアドレスだけを指す経路(ホストルート)や、物理的な口を持たないループバックインタフェースを表すために使われる。使用可能ホスト数は1である。

要点

  • /31 の使用可能ホスト数が2になるのは、点対点リンクにブロードキャストアドレスを必要とする場面がないためである。アドレスが2つあるから2、という数え方ではない。
  • /32 の1は引き算の結果ではない。分ける対象がないため、規則が適用されないまま1つが残る。
  • 計算機によっては /31 を0、/32 を0として表示するものがある。全アドレスから2を引く規則を、どの長さにも一律に当てはめているためである。
  • RFC 3021 が対象としているのは点対点リンクである。3台以上が接続される区間は対象に含まれない。
04

プライベートアドレスと予約レンジ用途が決められた範囲

32ビットのアドレス空間のうち、いくつかの範囲は用途があらかじめ決められている。組織の内部で自由に使えるプライベートアドレスもそのひとつで、インターネット上では経路が広告されない。範囲を定めた文書は複数あり、範囲どうしが入れ子になることもある。

32ビットのアドレス空間のうち、いくつかの範囲は用途があらかじめ決められている。組織の内部で自由に使えるプライベートアドレスもそのひとつで、インターネット上では経路が広告されない。範囲を定めた文書は複数あり、範囲どうしが入れ子になることもある。

IPv4アドレス空間には、通常の割り当てから外されている範囲がある。用途があらかじめ決められているためで、代表的なものがプライベートアドレスである。

RFC 1918(1996年2月)は、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 の3つを組織内部での利用に充てた。この範囲はインターネット上で経路が広告されない。したがって、別々の組織が同じアドレスを同時に使っていても、互いに影響しない。裏を返せば、異なる組織のネットワークどうしを直接つないだ場合には、同じアドレスが両側に現れることがある。

用途が決められた範囲はほかにもある。127.0.0.0/8 は自分自身を指すループバック、169.254.0.0/16 はアドレスの自動設定に使われるリンクローカル、192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 は文書中の例示専用、100.64.0.0/10 は事業者側でアドレスを共有する用途に充てられている。これらの範囲を整理する枠組みは、RFC 6890(2013年4月)が定めている。

範囲は入れ子になることがある。240.0.0.0/4 は将来の利用のために予約された広い範囲だが、その内側にある 255.255.255.255/32 は、限定ブロードキャストとして別に定められている。あるアドレスがどの範囲に属するかを判定するときは、一致した範囲のうちプレフィックス長が最も長いものを採る。短いほうを先に見つけた時点で確定すると、結果が変わる。

要点

  • RFC 1918 の3つは大きさが異なる。10.0.0.0/8 は16777216、172.16.0.0/12 は1048576、192.168.0.0/16 は65536のアドレスを含む。
  • 172.16.0.0/12 が指す範囲は 172.16.0.0 から 172.31.255.255 までである。172.32.0.0 はこの範囲に含まれない。
  • 169.254.0.0/16 のアドレスは、自動取得に失敗した機器が自分で付けることがある。設定によって与えられたものとは限らない。
  • 用途を定めた範囲は追加されることがある。100.64.0.0/10 は2012年の RFC 6598 で加えられた範囲である。
05

外部への到達とルータの転送特殊用途アドレスの2つの属性

用途が決められたアドレス範囲には、名前と根拠の文書のほかに、扱い方を示す属性が登録されている。インターネットまで届いてよいか、ルータが転送してよいか。この2つは範囲ごとに組み合わせが異なり、名前からは決まらない。

用途が決められたアドレス範囲には、名前と根拠の文書のほかに、扱い方を示す属性が登録されている。インターネットまで届いてよいか、ルータが転送してよいか。この2つは範囲ごとに組み合わせが異なり、名前からは決まらない。

IANA は、用途が決められたアドレス範囲を「特殊用途アドレスの登録簿」にまとめている。各範囲には名前と根拠の RFC のほかに、送信元や宛先として使えるかなど5つの属性が付く。属性の枠組みは RFC 6890 が定め、RFC 8190(2017年6月)が改めた。このうち設計と運用の判断に直接使うのが、ルータの転送と外部への到達である。

ルータの転送は、この範囲を宛先とするパケットを、ルータがあるインタフェースから別のインタフェースへ渡してよいかを表す。169.254.0.0/16 のリンクローカルは「転送しない」であり、同じセグメントの外には出ない。この範囲のアドレスで通信できる相手は、同じセグメントの中に限られる。

外部への到達は、パケットが組織の管理範囲(管理ドメイン)の境界を越えてよいかを表す。RFC 1918 の3範囲は、転送は「してよい」、到達は「届かない」である。組織の中では経路に載せてよいが、外へ出すにはアドレスの変換が要る。100.64.0.0/10 も同じ組み合わせで、RFC 1918 に含まれなくても扱いは変わらない。

組み合わせは名前から決まらない。特殊用途でありながら外部へ届く範囲がある。192.31.196.0/24(AS112)は、プライベートアドレスなどの逆引きの問い合わせを受け止めるために、インターネット上で使われている。特殊用途の範囲を境界で一律に捨てると、この種の範囲まで止めてしまう。2002::/16(6to4)のように、到達が登録簿で規定されていない範囲もある。

要点

  • 2つの属性は、その範囲を宛先として使う場合の扱いを表す。送信元として使えるかは、別の属性として登録されている。
  • 「届かない」は、組織の中で使えないという意味ではない。RFC 1918 の範囲は、組織の中では転送してよい。
  • 境界で捨てる範囲を決めるときは、範囲の名前ではなく外部への到達の値を見る。届く範囲を誤って止めずに済む。
  • 属性は、範囲の追加や見直しに合わせて更新されることがある。判断の根拠にするときは、登録簿の最終更新日を確かめる。
06

CIDRと集約境界を自由に置けることの帰結

かつてIPv4アドレスは、先頭のビットによって境界の位置が決まっていた。使える区切りは3種類しかなかった。CIDRはこの固定をやめ、境界をプレフィックス長で明示する方式に変えた。その結果として、複数の範囲をひとつにまとめる集約が成り立つようになった。

かつてIPv4アドレスは、先頭のビットによって境界の位置が決まっていた。使える区切りは3種類しかなかった。CIDRはこの固定をやめ、境界をプレフィックス長で明示する方式に変えた。その結果として、複数の範囲をひとつにまとめる集約が成り立つようになった。

1993年より前、IPv4アドレスはクラスという枠組みで扱われていた。アドレスの先頭ビットを見ればどのクラスに属するかが分かり、クラスが決まれば境界の位置も決まる。インターネットに向けて割り当てられる単位は、ネットワーク部が8ビット、16ビット、24ビットのいずれかに限られていた。

この方式では割り当ての粒度が粗くなる。500台の機器を収めたい組織に対して、256個のアドレスを含む範囲では足りず、次の選択肢は65536個を含む範囲になる。また、組織ごとに個別の範囲が割り当てられるため、経路表の項目数が割り当ての数に比例して増える。

RFC 1518 と RFC 1519(いずれも1993年9月)が定めたCIDRは、クラスによる境界の固定をやめ、プレフィックス長を明示する方式に変えた。境界は0から32までのどこにでも置ける。

境界が自由になったことで、複数の範囲をひとつの表記にまとめられるようになった。これが集約である。192.168.0.0/24 と 192.168.1.0/24 は、あわせて 192.168.0.0/23 と書ける。ただし条件がある。まとめる範囲が連続していること、合わせた大きさが2の冪であること、そして先頭のアドレスが、まとめた後のサイズの倍数になっていることである。192.168.1.0/24 と 192.168.2.0/24 は隣り合っているが、192.168.1.0 が /23 の境界に乗っていないため、ひとつにはまとめられない。

要点

  • 集約できるかどうかは、範囲が隣り合っているかだけでは決まらない。先頭のアドレスが、まとめた後のサイズの境界に乗っている必要がある。
  • 経路表で複数の項目が同じ宛先に一致した場合、プレフィックス長が最も長いものが選ばれる。集約した範囲と、その内側の一部を指す項目は共存できる。
  • クラスという言い方は文書に残っているが、境界の決定には使われていない。/24 をクラスCと呼ぶのは、大きさが一致するというだけの対応である。
  • 集約は表記をまとめる操作であり、アドレスの数は変わらない。/24 が2つで512個、/23 も512個である。
07

重複の5分類半分だけ重なることがない理由

2つのCIDRブロックの関係は、5つのいずれかに必ず収まる。同一、包含、被包含、隣接、分離である。半分だけ重なるという状態は現れない。これはブロックの作られ方から決まることで、判定の都合で省いているわけではない。

2つのCIDRブロックの関係は、5つのいずれかに必ず収まる。同一、包含、被包含、隣接、分離である。半分だけ重なるという状態は現れない。これはブロックの作られ方から決まることで、判定の都合で省いているわけではない。

CIDRブロックには2つの制約がある。サイズが2の冪であること、そして先頭のアドレスが自身のサイズの倍数になっていることである。境界に乗っていない範囲は、そもそもプレフィックス表記で書けない。

この制約から、2つのブロックの関係は限られる。大きさが同じなら、範囲が完全に一致するか、まったく交わらないかのどちらかにしかならない。大きさが違う場合を見る。大きいほうをA、小さいほうをBとする。Aは自身のサイズの倍数から始まり、そのサイズはBのサイズで割り切れる。どちらも2の冪で、BはAより小さいためである。したがってAの内側は、Bと同じ大きさの区画にきれいに分割される。Bも境界に乗っているので、Aの内側の区画のどれかと完全に一致するか、Aの外にあるかのどちらかになる。はみ出す位置には置けない。

結果として、取りうる関係は次の5つになる。範囲が完全に同じなら同一。一方が他方を完全に含むなら包含または被包含。交わらず、かつ一方の末尾と他方の先頭が接しているなら隣接。接してもいないなら分離である。

半分だけ重なる状態を作るには、片方の先頭を境界からずらす必要がある。ずらした範囲はプレフィックス表記で表せないため、CIDRブロックとして存在しない。

要点

  • 隣接は、交わっていない関係のひとつである。分離との違いは、一方の末尾アドレスの次が他方の先頭アドレスになっているかどうかだけである。
  • 隣接していても、ひとつにまとめられるとは限らない。2つを合わせた大きさが2の冪になり、かつ先頭が新しい境界に乗る場合にだけ成立する。
  • プレフィックス長が同じ2つのブロックは、一致するか、交わらないかのどちらかにしかならない。包含の関係は成立しない。
  • この5分類はIPv6でも変わらない。制約がサイズと境界の性質から来ており、アドレスの長さに依存しないためである。
08

VLSMとFLSM同じ長さで割るか、必要量で割るか

ひとつの範囲を複数に分けるとき、すべて同じ大きさに切る方法と、必要な大きさに応じて変える方法がある。前者をFLSM、後者をVLSMと呼ぶ。両者の違いは手間ではなく、分けた結果として何が残るかにある。

ひとつの範囲を複数に分けるとき、すべて同じ大きさに切る方法と、必要な大きさに応じて変える方法がある。前者をFLSM、後者をVLSMと呼ぶ。両者の違いは手間ではなく、分けた結果として何が残るかにある。

FLSMは、元の範囲を等しい大きさに分ける方法である。プレフィックス長をひとつ延ばすごとに区画の数は2倍になるため、分割数は2、4、8といった2の冪に限られる。すべての区画が同じ大きさになるので、最も多くのアドレスを必要とする区画に合わせて大きさが決まる。他の区画にも同じ大きさが割り当てられる。

VLSMは、区画ごとに異なるプレフィックス長を使う方法である。必要な台数にネットワークアドレスとブロードキャストアドレスの2つを加えた数を、それぞれ2の冪へ切り上げる。大きいものから順に境界へ沿って並べると、各区画の先頭が常に自身のサイズの倍数に乗るため、間に使えない隙間が生じない。小さいものを先に置くと、後から来る大きな区画を境界に乗せるために、その手前が空くことがある。

VLSMが成立するには、経路情報にプレフィックス長が含まれている必要がある。区画ごとに長さが異なり、アドレスだけを伝えても境界が復元できないためである。長さを伝えない方式の経路制御では、ひとつの範囲の内側で長さを混在させられなかった。

分けた結果として残るものが違う。FLSMでは、要求の小さい区画に余りが出る。VLSMでは余りが出にくい代わりに、区画ごとに境界の位置が変わる。

要点

  • FLSMの分割数は2の冪に限られる。3つに分けたい場合は4つに分割し、ひとつを使わないという形になる。
  • VLSMで大きい区画から順に置くのは、隙間を作らずに境界へ乗せるためである。要求の大きさが揃っていれば、順序を変えても結果は変わらない。
  • 割り当てる大きさは、必要台数に2を足してから2の冪へ切り上げて決める。100台なら102を切り上げて128個、130台なら132を切り上げて256個を含む区画になる。
  • 区画の大きさが決まっても、そこに入れられる台数はアドレス数より2つ少ない。ネットワークアドレスとブロードキャストアドレスが引かれるためである。
09

クラウドの予約アドレス仕組み

仮想ネットワークでサブネットを作ると、使用可能ホスト数が通常の計算より少なくなることがある。プラットフォーム側が一部のアドレスを自分の機能のために確保しているためである。引かれる数と、作れるサイズの下限は連動している。

仮想ネットワークでサブネットを作ると、使用可能ホスト数が通常の計算より少なくなることがある。プラットフォーム側が一部のアドレスを自分の機能のために確保しているためである。引かれる数と、作れるサイズの下限は連動している。

物理的なネットワークで引かれるのは、ネットワークアドレスとブロードキャストアドレスの2つである。仮想ネットワークでは、これに加えてプラットフォーム側が使うアドレスが確保される。

確保されるのは、多くの場合サブネットの先頭側に連続した数個と、末尾の1つである。先頭側には、そのサブネットの出口となるゲートウェイや、名前解決の問い合わせ先といった、プラットフォームが提供する機能のアドレスが置かれる。将来の機能追加のために空けられている分もある。末尾の1つは、ブロードキャストアドレスに相当する位置として確保される。仮想ネットワークの内部でブロードキャストが実際に配送されるかどうかとは別に、割り当ての対象から外れる。

確保される数が固定されているため、サブネットの大きさには下限が生まれる。たとえば、ネットワークアドレスと末尾の1つを含めて5つが確保される場合、16個のアドレスを持つサブネットでは11個が残るが、8個のサブネットでは3個しか残らない。サブネットが小さくなるほど、確保分の占める割合が大きくなる。プラットフォーム側は、残る数が実用に足りなくなる手前で、作成できる最小サイズを定めている。

上限も定められている。下限と違い、上限は確保される数とは関係なく決められている。

確保される数、最小サイズ、最大サイズは、プラットフォームごとに異なる。

要点

  • 引かれる数が同じでも、サブネットが小さいほど影響は大きい。5つ引かれる場合、256個のサブネットでは2パーセント弱だが、16個のサブネットでは3割を超える。
  • 確保されるアドレスの位置は先頭側と末尾に寄っている。サブネットの途中が抜けることは通常ない。
  • 作成できる最小サイズは、確保数から機械的に決まるとは限らない。残るアドレス数に余裕を持たせた位置に定められていることがある。
  • 仮想ネットワークの外側から見えるアドレス空間は、この確保の有無にかかわらず変わらない。引かれるのは割り当ての対象からであって、範囲そのものではない。
10

IPv6の考え方引き算が消える

IPv6はアドレスの長さが128ビットになっただけの拡張ではない。ブロードキャストという仕組みそのものが無くなり、使用可能ホスト数を求める引き算も消えた。数え方と表記も、桁の大きさに合わせて変わっている。

IPv6はアドレスの長さが128ビットになっただけの拡張ではない。ブロードキャストという仕組みそのものが無くなり、使用可能ホスト数を求める引き算も消えた。数え方と表記も、桁の大きさに合わせて変わっている。

IPv6アドレスは128ビットで、16進数4桁のブロックを8つ並べ、コロンで区切って書く。各ブロックの先頭に並ぶ0は省略でき、すべて0のブロックが続く部分は、二重コロンでまとめて省略できる。ただし二重コロンを使えるのは1か所だけである。2か所に使うと、どちらが何ブロック分なのかを復元できなくなるためである。

IPv6にはブロードキャストアドレスが存在しない。すべてのノードへ届けたい場合は、その用途のマルチキャストアドレスを宛先にする。マルチキャストでは、そのアドレスを受け取ると決めたノードだけが処理するため、用途ごとに配送先を絞れる。この変更により、サブネットの末尾アドレスを確保する理由がなくなった。

ネットワークアドレスにあたる並びも、ブロードキャストのために外しておく必要がない。IPv4で当然だった「引く2」は、IPv6では行わない。ただし、インタフェースIDがすべて0のアドレスは、そのサブネットのルータを指す用途として RFC 4291(2006年2月)が予約している。

アドレス数の桁も変わる。/64 のサブネットひとつが18446744073709551616個のアドレスを含む。IPv4全体が約43億であることと比べると、桁の違いが分かる。この値は符号なし64ビット整数で表せる最大値を1つ超えるため、扱うときは桁あふれしない表現を選ぶ必要がある。

用途ごとの範囲も定められている。fe80::/10 は同一リンク内でのみ有効なリンクローカル、fc00::/7 は組織内部での利用、2001:db8::/32 は文書中の例示専用である。組織内部での利用に実際に割り当てられるのは、fc00::/7 のうち fd00::/8 の側である。

要点

  • 二重コロンは1か所にしか使えない。2か所あると省略されたブロック数が復元できず、別のアドレスと区別がつかなくなる。
  • IPv6ではブロードキャストのための引き算を行わない。ただしインタフェースIDが全0のアドレスは、サブネットのルータを指す用途に予約されている。
  • /64 が含むアドレス数は18446744073709551616である。符号なし64ビット整数で表せる最大値を1つ超えるため、桁あふれしない表現が必要になる。
  • ブロードキャストが無くなった代わりに、全ノード宛のマルチキャストアドレスが用意されている。用途は引き継がれ、仕組みだけが変わった。

アプリでは、クラウドのプラットフォーム別の予約アドレスを含む11本すべてを、無料・オフラインで読めます。解説の例の値は、そのまま計算タブで開けます。 SubnetDeck を見る

定石

IP アドレス設計の定石

よくある場面ごとのアドレスの割り当て方を、9分類・69本にまとめています。無料の13本は全文をここで読めます。

10/8・172.16/12・192.168/16 の使い分けと、どこから切り出すか

10/8 の最上位を何で分けるか
10.0.0.0/8
無料

場面

これから社内のアドレス空間を一から決める。拠点が150か所、工場が16か所あり、クラウドの区画も同じ空間に置く。事業部は数年ごとに再編され、拠点の担当地域も入れ替わる。10/8 のどこに何を置くかを最初に決める段階にある。

前提

10/8 を自社で自由に切れること。将来の統合で他社の空間と混ざる可能性を、いまは考えないでよいこと。用途の種類を後から足せること。境界を参照するフィルタの行数を数えられること。

割り当て

セグメント台数ブロック
データセンタのサーバ3,000
全社の管理・監視1,000
リモート接続のプール1,000
境界・受け渡し500
全社共通の予備250

理由

10/8 で最初に決めるのは、第2オクテットに何の意味を持たせるかである。候補は3つで、用途で分けるか、組織で分けるか、地理で分けるかになる。

結論から言えば、用途で分ける。組織と地理は変わるが、用途は変わらないからだ。事業部は数年で再編される。担当地域の入れ替えも起きる。それに対して、工場が拠点に変わることはないし、検証環境が本番になることもない。

組織で分けると、再編のたびに境界を動かすか、名前と実態がずれたまま残すかの二択になる。選ばれるのはほぼ必ず後者で、数年後には営業の領域に別の部署がいる状態になる。そうなると、設計書の区分と実機の中身が食い違う。

最上位の境界は動かせない。10.16.0.0/12 は工場、という前提でフィルタが書かれているからで、境界が動けば参照している行を全部見直すことになる。150拠点と16工場とクラウドを抱えていれば数百行になり、しかも一斉に切り替えないと、片方向の通信だけが通る時間が生まれる。

だから最初に決める量を最小にする。10/8 を /12 で分けると、用途に渡せる面は16になる。用途を4つから始め、足りなくなったら面を1つ増やす。面は足すだけで増やせるので、既存の境界は動かない。16面のうち4面しか使わないのは無駄に見えるが、動かさずに済むことのほうが価値がある。

拡張の余地

/12 の面は16ある。全社共通、拠点、工場、クラウドで4面を使い、12面が空く。用途を足すときは 10.64.0.0/12 のように空いている面を1つ渡し、既存の境界は動かさない。検証やIoTのように後から出てくる用途も、既存の面を割らずに新しい面を取る。次にどの面を渡すかは、必要になった時点で決める。

落とし穴

  • 第2オクテットを組織で分ける。組織は数年で再編されるのに境界は動かせないので、名前と実態がずれたまま残る。分けるのは用途にする。
  • 用途の種類を最初から細かく作る。使われない面が増えるだけでなく、新しい要求がどの用途に当たるかの判断が毎回必要になる。4つ程度から始め、必要になってから足す。
  • 足りなくなった用途のために、隣の面の一部を借りる。境界が面の途中に生まれ、以後その面だけ2つの用途が混ざる。足りないなら面を1つ渡す。
  • 分け方の結果だけを残し、理由を残さない。次の担当はどの面が何かは読めるが、なぜ用途で分けたかは読めないので、組織で分け直す提案が定期的に出る。
  • 全社共通の領域を最後に取る。使いやすい面が先に配られ、全社共通が離れた面に散る。全社共通は最初の面に取る。
192.168/16 は自社だけのものではない
192.168.0.0/16
無料

場面

100名規模の会社で、現場の装置や検証用の機器を 192.168 系に置いている。取引先や委託先と拠点間をつなぐ話が出るたびに、相手の構内と番号が当たって調整が発生する。在宅勤務の接続でも持ち込みの無線ルータと当たることがある。

前提

相手先の構内で使われている番号を、事前に聞けるとは限らないこと。外と経路をつなぐ機器と、つながない機器を分けられること。装置の番号を後から変えるには立会と再設定が要ること。10/8 も使える状態にあること。

割り当て

セグメント台数ブロック
現場の装置(外と経路をつながない)200
検証・持ち出し前の機器200
個別の試験台100
予備(使う側の半分の内側)250

理由

192.168.0.0/16 は自社だけのものではない。家庭用の機器、持ち込みの無線ルータ、取引先や委託先の構内が同じ空間を使っている。既定値が 192.168.0 と 192.168.1 に集まることはよく知られているが、問題はそこだけではない。小さな機器の既定値は 192.168.10 や 192.168.100 にも散っていて、相手先が何を使っているかは、たいてい事前に聞けない。

当たった面を避ける方式にすると、避けた記録が増え続ける。10年も運用すれば避けた面は数十になり、新しい相手先が出るたびに一覧との照合が必要になる。照合は人がやるので抜ける。

そこで逆にする。使う範囲を上位ビットで固定し、第3オクテットが128以上の側だけを自社のものとする。半分を捨てることになるが、判断が1回で終わる。100名規模なら使う面は10にも満たないので、128面あれば十分に余る。

置くものも限る。この空間に置いてよいのは、他社や他拠点と経路がつながらないものだけである。衝突が避けられない空間だと分かっているなら、衝突しても困らないものだけを置けばよい。拠点間の接続の先から見えるもの、相互接続に出るものは 10.0.0.0/8 から取る。

拡張の余地

自社が使うのは第3オクテットが128以上の側だけで、128面のうち4面を使う。残る半分の 192.168.0.0/17 は空けたままにし、相手先が増えても面ごとの照合はしない。判断は第3オクテットが128以上かどうかの1回で終わる。外と経路をつなぐものが出てきたら、この空間には置かず 10.0.0.0/8 から取る。装置が増えても使う側の半分で足りる。

落とし穴

  • 192.168 の全体を自社の空間として使う前提で切る。相互接続のたびに衝突が出て、そのつど面を避ける対応になり、避けた記録が散らばる。使う範囲を上位ビットで固定する。
  • 当たった面の一覧を作って回避する。相手先が増えるたびに照合が要り、人がやるので抜ける。判断が上位ビット1回で終わる形にする。
  • 外から見える装置をこの空間に置く。相手の構内と当たったとき、避けられるのは自社側だけなので、装置の番号を変えることになる。外に出るものは 10.0.0.0/8 から取る。
  • 半分を捨てるのはもったいないという理由で、使わない側も使い始める。使い始めた面は戻せず、判断の簡単さだけが失われる。100名規模なら128面で余る。

SOHO から大規模まで、1拠点ぶんのアドレス設計

100名規模の単一拠点オフィス
10.20.0.0/22
無料

場面

従業員100名前後、1フロアまたは2フロアの本社・支社。有線と無線の両方を使い、ファイルサーバとNASを社内に置いている、もっとも典型的な構成。

前提

L3スイッチまたはVLAN対応ルータが1台以上あること。DHCPは機器側またはサーバ側のどちらでもよい。将来3年で人員が1.5倍になる可能性を見込む。

割り当て

セグメント台数ブロック
クライアント(有線)150
サーバ20
ネットワーク機器管理30
プリンタ・複合機15
無線クライアント200
第2フェーズ用(将来拡張の予約)200

理由

100名規模で最初に迷うのは「/24 一本で足りるか」だが、答えは、有線だけなら足りるが、/24 一本で切ってはいけない、である。有線クライアントだけなら /24 で収まる。しかし社用スマートフォンとノートPCの無線接続を数えると、1人あたりの端末数は実際には2〜3台になり、/24 の254個はすぐ埋まる。

そこで /22 を確保し、内部を /24 と /26 で切る。クライアントと無線をそれぞれ独立した /24 にするのは、DHCPプールの枯渇が片方に波及しないようにするため。サーバと管理を /26 に留めるのは、この規模では60台を超えることがまずなく、大きく取ると第3オクテットの読みやすさが失われるからだ。

第3オクテットに意味を持たせているのも意図的で、0=有線、1=固定IP機器、2=無線、3=第2フェーズ用、と対応させておくと、パケットキャプチャやログを見た瞬間にどのセグメントかが分かる。この可読性は障害対応の速度に直結する。

拡張の余地

10.20.3.0/24 をまるごと空けてあるため、人員が1.5倍になっても無線を /23 に広げるか、部署別セグメントを1つ追加できる。サーバの /26 が窮屈になった場合は、10.20.1.128/27 のプリンタを 10.20.1.192/27 へ移し、空いた 10.20.1.128/26 へ機器管理を移せば、10.20.1.0/25 としてサーバを倍にできる。拠点をもう1つ増やす場合は 10.21.0.0/22、10.22.0.0/22 と続け、10.20.0.0/14 として集約する。

落とし穴

  • 192.168.1.0/24 や 192.168.0.0/24 を社内に使ってしまう。家庭用ルータの既定値と衝突するため、在宅勤務のVPN接続で経路が壊れる。10/8 から切り出すのが無難。
  • 無線とクライアントを同一セグメントにまとめる。ゲスト用SSIDを後から足したくなったとき、アドレス設計からやり直しになる。最初から分けておくコストはほぼゼロ。
  • ネットワーク機器の管理アドレスをクライアントセグメントに混ぜる。ACLで管理面だけを絞れなくなり、監査で必ず指摘される。
  • 予備の /24 を「空いているから」と目先の用途に使ってしまう。予備は使わないことに価値があるので、名前を「予備」ではなく「第2フェーズ用」にしておくと守られやすい。
在席が読めないフリーアドレス拠点
10.16.8.0/21
無料

場面

座席を固定しない100席規模の拠点。在籍120名に対し、出社率が日によって40%から80%まで振れる。全員がノートPCを持ち歩き、有線ポートは会議室と一部の固定席にしか残っていない。派遣や常駐委託の短期滞在者が常時10名前後いる。

前提

無線が拠点全体を覆い、社員端末は無線だけで業務が成立すること。DHCPのリース時間をセグメントごとに変えられること。入退室の記録などから、日ごとの在席人数の実績を後から取り出せること。座席予約制度は導入していない前提とする。

割り当て

セグメント台数ブロック
社員端末の無線プール300
プール併合用の予約(拡張時に無線プールへ組み入れる)400
有線(会議室・固定席)50
短期滞在者・来訪者の端末40
サーバ・共有機器20
プリンタ・複合機12
ネットワーク機器管理12
第2フロア増床時の予約200

理由

プールの大きさを決めるとき、最初に出てくる数字は席数の100と在籍の120である。まず席数は外す。次に考えるのはピーク在席の端末数で、出社率80%なら96名、1人がノートPCと社用スマートフォンを持つので192台になる。ここまでなら /24 の254個で入る。

外れるのはこの先だ。フリーアドレスでは今日誰が来るかが決まらない。リース時間を24時間にしていると、昨日来て今日来ない人の端末のアドレスがまだ生きている。出社率が40%と80%で振れるとは、2日続けて来る人の重なりが小さい日があるということだ。40%(48名)の翌日が80%(96名)で顔ぶれがほとんど重ならなければ、2日間に来た人は在籍の120名に近づき、生きているリースは最大で240台になる。/24 の254個の94%で、残りは14個しかない。枯渇はプールが埋まった日ではなく、顔ぶれが入れ替わった日に起きる。数えるべきはピーク在席ではなく、リース時間のあいだに来うる人数、つまり在籍に近い数である。

ではリースを短くすればよいかというと、下限がある。昼休みと午後の会議で端末を閉じると3〜4時間は無通信になり、リースを2時間にすると復帰時に別のアドレスを取る端末が出る。上限はプールの大きさ、下限は働き方が決める。両方を満たすには /23 を取るしかない。510個あれば240台でも53%残る。

/23 を取った時点で第3オクテットとセグメントの対応は崩れるが、この拠点では読みやすさより枯渇の回避を優先する。なお、常時移動しながら通信する端末を同じプールに載せる場合は別の判断が要る。

拡張の余地

隣の 10.16.10.0/23 を空けてあるのは将来のためではなく、プールを1つのサブネットとして広げるためである。プールは分割して足せないので、/23 を /22 にするには隣接する /23 が丸ごと空いている必要がある。判断点を在籍210名に置いたのは、2日間でほぼ全員が来れば420台となり、/23 の510個の82%に達するからである。ここを併合して 10.16.8.0/22 とし、リース時間は据え置く。この制約から、有線もサーバも 10.16.12.0/24 へ押し出されている。解放してよい条件を先に決めておかないと、空きは必ず別の用途に取られる。

落とし穴

  • 席数でプールを決める。100席だからと /25 を切ると、1人2台と短期滞在者を数えた時点で足りず、運用を始めた週に枯渇する。数えるのは席ではなく端末である。
  • 枯渇を避けるためにリース時間を短くして回転を上げる。昼休みや会議のあとに復帰した端末が別のアドレスを取って通信が切れるが、切れるのが復帰の瞬間だけなので再現せず、報告も上がってこない。
  • 短期滞在者の端末を社員と同じプールに入れる。在籍数から見積もった台数と実際がずれ続け、増員のたびに何台不足したのかを説明できなくなる。数が読める側と読めない側は分ける。
  • 有線ポートに固定IPを配る運用を残す。フリーアドレスでは同じポートに毎日違う人が座るため、番号と利用者の対応がすぐ崩れ、台帳だけが残る。有線もDHCPで配る。

拠点番号との対応付けと、経路集約を前提とした割り当て

150拠点を経路集約が効く形で番号付けする
10.0.0.0/8
無料

場面

本社1、地域ハブ8、営業所と倉庫が141の合計150拠点。各拠点は地域ハブ経由で本社につながり、経路は地域ハブでまとめて上位へ流す。拠点番号は資産管理と帳票で既に使われており、開設順に振られている。年に数か所が開き、数か所が閉じる。

前提

地域ハブが配下の拠点を1本にまとめて広告できること。拠点番号の体系が既にあり、アドレス設計の都合では振り直せないこと。1拠点の端末が1000台を超えないこと。拠点がどの地域に属するかが、年単位では変わらないこと。

割り当て

セグメント台数ブロック
代表拠点(地域3・拠点12)有線クライアント200
代表拠点 無線クライアント250
代表拠点 サーバ・複合機50
代表拠点 ネットワーク機器管理60
代表拠点 拠点内の予備250
拠点間リンクとループバック(全拠点共通の枠)250

理由

150拠点を上位へ150本の経路で流さないために集約する。だが集約に要るのはアドレスのブロックが連続していることで、拠点番号が連続していることではない。ここを取り違えると設計が丸ごと無駄になる。

拠点番号は既にある。資産管理と帳票で使われ、開設順に振られていて、地域とは対応しない。この番号をそのまま第2オクテットに写すと、地域3のハブが抱えるのは拠点3、17、42、88という飛び飛びの集合になる。飛び飛びのブロックは1本にまとまらないので、上位へ出る経路は150本のまま残る。集約のために番号を振り直すことはできない。番号は帳票と呼称に埋まっている。

だから順序を逆にする。集約の単位、つまり地域ハブを先にブロックへ割り当て、拠点番号はそのブロックの内側で識別子として配る。地域8つに第2オクテットを1つずつ、拠点には /22 を1つずつ。1地域は64拠点まで入る。150拠点は最大でも1地域24拠点で収まり、上位へ流れる経路は8本になる。拠点が倍の300に増えても8本のままである。

代償は、アドレスから拠点番号が読めなくなることだ。読めるようにすると地域の連続性を捨てることになる。障害対応で必要なのは番号の規則ではなく、拠点番号とブロックの対応表1枚である。

拡張の余地

地域の枠は第2オクテットの1から8で、0は全社共通に使う。9から15の7面は空けておき、地域の増設と、64拠点を超えた地域に渡す2面目の地域枠に充てる。番号は連続しないので対応表で引く。10.16.0.0/12 より上は手をつけず、買収や別事業の受け入れに残す。

落とし穴

  • 拠点番号をそのままアドレスに対応させる。番号は開設順で決まり地域とは対応しないため、同じハブの配下が飛び飛びになり、上位へ出る経路が拠点数のまま残る。番号は地域の枠の内側で配る。
  • 拠点間リンクのアドレスを、その拠点のブロックから取る。相手が別の地域の拠点だと、この地域の枠のアドレスが別の地域に置かれ、その分だけ細かい経路が上位に出る。リンクは拠点ブロックの外の共通枠から取る。
  • 拠点内のセグメントを、拠点の枠の境界をまたいで足す。はみ出した分は集約に含まれず、その拠点だけ細かい経路が上位に出る。足すのは枠の内側に限り、超えたら2枠目を渡す。
  • アドレスから拠点番号が読めることを要件にする。読めるようにすると地域の連続性を捨てることになり、集約が成立しなくなる。必要なのは番号の規則ではなく対応表である。
  • 1拠点だけを、地理の都合で別の地域ハブに収容する。アドレスは元の地域の枠のままなので、上位には地域の枠とその拠点だけの経路が並ぶ。収容を替えるならアドレスごと移す。

/30・/31 とループバック /32 のプール設計

点対点リンクを /30 にするか /31 にするか
10.161.0.0/16
無料

場面

点対点リンクを300本以上持つ網で、リンクのプレフィックス長を決める。機器は世代が混ざっていて、古い装置と特定用途の装置、仮想の機器が同居している。アドレスを節約したいという理由で /31 への統一が提案されている。

前提

リンクの両端にある機器の型と世代を一覧にできること。機器が /31 を扱えるかを事前に確認できること。払い出しを1か所で行っていること。リンクのアドレスを後から変えるには設定と監視の書き換えが要ること。

割り当て

セグメント台数ブロック
/30 で切るリンクの帯(既定)2,000
/31 で切るリンクの帯(対応を確認した区間)250
ループバック250
リンクの予備2,000

理由

/30 は4つのアドレスのうち2つしか使えず、/31 は2つとも使える。必要なアドレスの数は半分になる。

だが節約としては意味がない。リンクが352本なら、/30 で1408アドレス、/31 で704アドレス。差の704は、リンク用に取った /16 の面のおよそ1パーセントにすぎない。この差のために判断を変える理由はない。

決め手は機器がそろうかどうかである。/31 はすべての機器が扱えるわけではない。古い装置、特定用途の装置、仮想の機器のどれかが対応していないことがある。リンクは両端に機器が1台ずつあるので、1台でも非対応なら、そのリンクは /30 になる。

混在させると払い出しの手順が変わる。プールの中に2つの単位が混ざり、払い出しのたびに両端2台の対応を調べることになる。月に10本なら年120回である。節約した704アドレスに、年120回の調査の価値はない。

だから統一する。全機器が対応しているなら /31、1台でも非対応が残るなら /30 である。どうしても混ぜるなら帯を分け、払い出しのたびに調べずに済むようにする。

もう1つ。一度 /30 で切ったリンクは、機器が入れ替わっても /31 には移らない。移すにはアドレスを変えることになり、設定と監視の名前が書き換わるからである。いずれ移すという前提は置かない。

拡張の余地

既定は /30 で、対応を確認できた区間だけを /31 の帯から切る。帯を分けるのは、払い出しのときに機器の対応を調べずに済ませるためである。/31 の帯に区間を足すのは、両端の機器が入れ替わって対応を確認できたときだけにする。増分は 10.161.16.0/21 から出す。全機器が入れ替わっても、既にある /30 のリンクは切り替えない。新しく作る分だけを /31 にする。

落とし穴

  • アドレスの節約を理由に /31 を選ぶ。節約できるのはリンク用の面のおよそ1パーセントで、判断を変える理由にならない。決め手は機器がそろうかどうかである。
  • 2つの単位を同じ帯に混ぜる。払い出しのたびに両端2台の対応を調べることになり、月10本なら年120回の作業が増える。混ぜるなら帯を分ける。
  • 非対応の機器が1台あるのに /31 を既定にし、その区間だけを /30 の例外にする。機器を入れ替えるたびに対応の確認が要り、1回でも忘れるとそのリンクが使えなくなる。既定は /30 にし、/31 は対応を確認した区間の帯から切る。
  • いずれ /31 へ移すという前提で /30 を選ぶ。移すにはアドレスを変えることになり、設定と監視の名前が書き換わる。移らない前提で決める。

DMZ・サーバ・クライアント・管理・音声・無線ゲスト

来客無線は社内と何も共有しない
172.30.0.0/16
無料

場面

100名規模の会社で来客用の無線を用意する。平常時の来客は20台ほどだが、説明会や展示の日には400台が一度に来る。社内への通信はフィルタで止めているが、名前解決とアドレスの配布は社内と同じ機器を使っている。

前提

来客用の無線を社内の無線と別の帯として出せること。来客用の出口を外向きに1本用意できること。名前解決と配布の機器を来客用に別に置けること。172.16/12 の中に使える位置があること。

割り当て

セグメント台数ブロック
来客の端末400
来客用の出口と配布の機器10
来客用の名前解決(外を引くだけ)5
イベント時の増設枠800

理由

来客無線に求められるのは、社内から見えないことだと思われている。フィルタで社内への通信を止めれば済む、という考え方である。これでは足りない。

来客の帯が社内と共有しているものは、フィルタの外にもある。名前解決を社内の機器で引かせれば、来客の端末は社内のサーバ名を問い合わせられる。答えを返さなくても、どの名前が存在するかは問い合わせの反応から分かる。アドレスの配布を社内と同じ機器で行えば、100名の会社に400台が来るイベントの日に、社内の配布まで詰まる。時刻を社内に合わせさせれば、社内の時刻サーバへの経路を1本開けることになる。

だから来客の帯は、社内と何も共有しない。社内のどのセグメントへも経路を持たせず、出口は外向きの1本だけにする。名前解決も配布も、来客のためだけに別に持つ。フィルタで塞ぐのではなく、塞ぐべき経路がそもそも存在しない形にする。塞いだ経路は1行で開くが、ない経路は開けようがない。

番号の選び方にも理由がある。来客の端末の多くは、自分の会社へ接続を張る。相手の社内が 10/8 を使っていれば、来客の帯が 10/8 にあると相手側で番号が当たり、来客は自社につながらなくなる。帯は 172.16/12 の中の、あまり使われない位置から取る。

拡張の余地

来客の帯は社内のどこにも経路を持たず、出口は外向きの1本だけにする。名前解決と配布も来客用に別に持つ。イベントで端末が増えたら 172.30.4.0/22 を足して受け、足した分も同じ出口から出す。社内への経路は増やさない。帯は 172.16/12 の中に取り、来客の会社が使っていそうな 10/8 とは重ねない。

落とし穴

  • 社内への通信をフィルタで止めて済ませる。名前解決や配布を社内と共有していれば、フィルタの外で社内の情報が漏れ、負荷も伝わる。何も共有しない。
  • 来客の端末に社内の名前解決を使わせる。答えを返さなくても、どの名前が存在するかが問い合わせの反応から分かる。来客用に別に持つ。
  • 来客の配布を社内と同じ機器で行う。イベントの日に来客が急増すると、社内の配布まで詰まる。配布は来客用に分ける。
  • 来客の帯を 10/8 から取る。来客が自分の会社へ接続を張ったとき、相手の社内と番号が当たってつながらなくなる。172.16/12 のあまり使われない位置から取る。
DMZ に置くものの基準と分け方
10.170.0.0/16
無料

場面

500名規模の会社で、DMZ に置く機器が年々増えてきた。公開用のWebサーバ、取引先とファイルを受け渡すサーバ、外からのメールを受ける機器、外のサービスを呼び出すだけのサーバ、監視の通知を外へ送る機器が、1つの帯に同居している。

前提

外から始まる通信を受ける機器と、外へ出ていくだけの機器を区別できること。取引先との接続の相手が特定できること。DMZ の帯を相手ごとに分けて出せること。帯の間の通信を境界で止められること。

割り当て

セグメント台数ブロック
公開用(誰でも来る)20
取引先用(相手が決まっている)20
外からのメールを受ける機器(公開用から分けた帯)10
DMZ の予備100

理由

DMZ に何を置くかの基準は1つである。外から始まる通信を受ける機器を置く。

基準がないと、外と話すものが全部入っていく。社内から外へ出ていくだけの機器、外のサービスを呼び出すだけのサーバ、監視の通知を外へ送る機器。これらは外から始まる通信を受けないので、DMZ に置く理由がない。置くと DMZ が膨らみ、どれか1台が侵入されたとき、隣にいる全部に届くようになる。

置くものを決めたら、次に受ける相手で分ける。公開用と取引先用は同じ帯に置かない。公開用は誰でも来るので、侵入される前提で考える。取引先用は相手が決まっているので、許可はずっと狭い。同じ帯にあると、公開用のサーバが侵入されたとき、取引先と受け渡すファイルに隣から届く。相手を絞った意味がなくなる。

分けた帯の間の通信は許可しない。公開用から取引先用へ行く理由は、業務の上で1つもないからである。

新しく外から受ける機器が出てきて、誰から受けるかがはっきりしないときは、公開用に入れる。相手を絞れない機器を取引先用に入れると、取引先用の帯の前提が崩れる。

拡張の余地

DMZ は受ける相手ごとに分け、公開用と取引先用は別の帯に置く。帯の間の通信は許可しない。新しく外から受ける機器が出たら、誰から受けるかで帯を決め、決まらなければ公開用に入れる。帯が足りなくなったら 10.170.1.0/24 から切る。外へ出ていくだけの機器は、増えても DMZ には入れない。

落とし穴

  • 外と通信するものを全部 DMZ に入れる。外へ出ていくだけの機器まで入ると DMZ が膨らみ、1台の侵入が隣の全部に届く。置くのは外から始まる通信を受ける機器だけにする。
  • 公開用と取引先用を同じ帯に置く。公開用が侵入されたとき、取引先と受け渡すファイルに隣から届く。受ける相手ごとに帯を分ける。
  • 分けた帯の間の通信を、念のためと言って許可しておく。業務上の理由がない許可は、侵入されたときの通り道にしかならない。帯の間は許可しない。
  • 相手がはっきりしない機器を取引先用に入れる。取引先用の帯は相手が決まっているという前提で許可を狭めているので、その前提が崩れる。迷ったら公開用に入れる。

予約アドレスを前提とした区画の切り方

クラウドのサブネットは5つ少なく数える
10.216.0.0/16
無料

場面

クラウドの区画に、機器10台を置く小さなサブネットを障害区域ごとに作る。社内の網と同じ感覚で /28 を切れば14台置けるはずだと考えている。同じ区画には200台ほどのアプリケーションのサブネットも並ぶ予定である。

前提

使う事業者が、サブネットの中の番号をいくつか先に取ることを知っていること。事業者が取る数と、作れる最小の大きさを確かめられること。サブネットを作ったあとで大きさを変えられないこと。区画の中に空きがあること。

割り当て

セグメント台数ブロック
機器10台のサブネット(予約を引いて27使える)10
同じ用途の別の障害区域10
アプリケーションのサブネット(予約の割合が小さい)200
サブネットの予備100

理由

クラウドでサブネットを作ると、事業者がその中の番号をいくつか先に取る。事業者によって違うが、先頭の4つと末尾の1つ、合わせて5つを取る形が多い。社内の網では使えないのは先頭と末尾の2つだけなので、この差を知らないまま切ると足りなくなる。

差は小さいサブネットほど効く。/24 なら256のうち5で、2パーセントにすぎない。/26 なら64のうち5で8パーセント。作れる最小の /28 では16のうち5で、約3割が消える。使えるのは11である。

社内の感覚で /28 を切ると、14台置けるつもりで11台しか置けない。10台の機器を置くなら余裕は1台しかなく、2台足した日に溢れる。サブネットは作ったあとで大きさを変えられないので、溢れたら作り直しになる。

だから小さいサブネットを切るときは、予約を引いた数で台数と比べる。10台なら /28 ではなく /27 を取る。/27 なら32のうち5を引いて27が使える。小さく切るほど損の割合が大きいので、小さいサブネットは社内より一段大きく切るのを基本にする。

予約の数は事業者で違い、作れる最小の大きさも違う。計算タブで予約の型を選べば、使える数がその場で出る。見積もりはそこで確かめる。

拡張の余地

小さいサブネットは、予約の5つを引いてから台数と比べる。10台なら /28 ではなく /27 を取る。障害区域ごとに同じ大きさで並べ、区域の数だけ作る。サブネットが増えたら 10.216.2.0/24 から切る。見積もりに迷ったら、計算タブで予約の型を選んで使える数を確かめる。

落とし穴

  • 社内の感覚で使える数を数える。先頭と末尾の2つだけを引くと、事業者が取る残りの3つを見落とし、置けるつもりの台数が入らない。予約を引いた数で比べる。
  • 作れる最小の /28 を標準にする。16のうち5が消え、使えるのは11しかない。数台足しただけで溢れる。10台規模なら /27 を取る。
  • サブネットは後から広げればよいと考える。作ったあとで大きさは変えられず、溢れたら作り直しになる。最初に予約込みで見積もる。
  • 予約の数をどの事業者も同じだと考える。事業者によって取る数も、作れる最小の大きさも違う。使う事業者の型で確かめる。

重複の回避、VPN接続、統合時のリナンバリング

重複を変換で逃がすなら期限を同時に決める
172.18.0.0/15
無料

場面

買収した会社の網を自社の網とつなぐ。どちらも 10/8 を使っていて、いくつもの帯が重なっている。業務の都合で来月にはつながっていなければならず、どちらかを振り直す時間はない。境界で番号を変換してつなぐ案が出ている。

前提

両社の網の間に、番号を変換できる境界を1か所置けること。変換後の番号を、どちらの空間にもない場所から取れること。変換の規則に期限を書き込めること。振り直す側を経営の判断を待たずに決められること。

割り当て

セグメント台数ブロック
相手の網を自社から見るための変換後の帯3,000
自社の網を相手から見るための変換後の帯800
変換の機器と管理20
変換の予備(期限までに増える分)400

理由

重複した2つの網をつなぐ方法は2つある。どちらかを振り直すか、境界で番号を変換するかである。変換は一晩で入り、振り直しは数か月かかる。統合の初期に変換を選ぶのは正しい。

問題は、変換が恒久化することにある。変換で通信が通ってしまうので、振り直す理由が消える。3年後には変換の規則が積み上がり、誰も全体を説明できなくなる。障害のたびに、ログに出た番号が変換の前か後かを確かめることになる。

だから変換を入れる日に、2つを同時に決める。期限と、振り直す側である。期限は日付で決め、変換の規則そのものに書いておく。振り直す側はその日のうちに決め、変換の期間は振り直しの準備期間として扱う。どちらを振り直すかが決まっていない変換は、期限が来ても延ばすしかない。

変換後の番号は、どちらの空間にもない場所から取る。自社も相手も 10/8 を使っていて重なったのなら、変換後の番号は 172.16/12 から取る。どちらかの 10/8 の空きを使うと、次に別の会社を受け入れたときにまた重なる。

恒久でよい変換もある。同じ構成を複製したラインのように、同じ番号が並び続けることが設計の前提なら、変換は恒久で正しい。統合での重複は前提ではなく事故であり、事故の手当てを恒久にしてはいけない。

拡張の余地

変換後の帯は 172.16/12 の中に取り、相手の網を見る帯と、自社の網を相手に見せる帯を分ける。変換の規則には期限を書き、期限までに、変換を入れた日に決めた側を振り直す。期限までに増える分は 172.18.24.0/22 から切る。期限を過ぎた変換は延長せず、延長が要るなら振り直す側の判断からやり直す。

落とし穴

  • 変換を入れるときに期限を決めない。通信が通ってしまうので振り直す理由が消え、変換の規則が積み上がって誰も説明できなくなる。
  • 振り直す側を決めずに変換を入れる。期限が来ても、どちらを動かすかの議論から始まるので延ばすしかない。変換と同じ日に決める。
  • 変換後の番号を自社の 10/8 の空きから取る。次に別の会社を受け入れたときに、また重なる。どちらの空間にもない場所から取る。
  • 変換を1台ずつの規則で書く。期限の管理も1台ずつになり、どれが残っているか分からなくなる。帯の単位で書く。

制御系の固定IP慣行、OT/IT分離、増設時の拡張

同一構成のラインを横展開する製造セル設計
172.20.0.0/16
無料

場面

同じ装置構成の製造ラインが複数あり、今後もラインを増やす予定の工場。装置ベンダから納入された制御機器に固定IPが焼き込まれており、ライン間で同じアドレスが重複している状態から始める。

前提

各ラインの制御機器のアドレスが変更不可、または変更に装置ベンダの再検収が必要であること。ライン間の直接通信は不要で、上位の収集系とだけ通信すればよいこと。ライン境界にL3機器またはNAT可能な機器を置けること。

割り当て

セグメント台数ブロック
ライン1(外部から見えるアドレス)200
ライン2(外部から見えるアドレス)200
ライン3(外部から見えるアドレス)200
収集・監視サーバ30
保守端末(持ち込みPC用)10
ライン増設用の予約(ライン4〜7)1,000

理由

OTネットワークがITと決定的に違うのは、アドレスを自由に決められないことである。装置ベンダは複数の顧客に同じ構成を納入するため、制御機器のアドレスは出荷時に固定されており、ライン2にもライン3にも同じ 192.168.0.10 が存在する。これをIT側の常識で「重複しているから振り直す」とやると、装置の保証と再検収の話になり、現場は止まる。

そこで振り直さない。ライン内部のアドレスは装置ベンダの設定のまま触らず、ライン境界の機器で 1:1 のアドレス変換をかけ、外から見えるアドレスだけをライン番号で分ける。ライン1の制御機器は外からは 172.20.1.x に、ライン2の同じ機器は 172.20.2.x に見える。第3オクテット=ライン番号という規則にしておくと、収集系のログを見た人が機器名を知らなくてもどのラインかを即座に判別できる。

この設計の本質は、装置ベンダの都合とIT側の管理性を、変換という一枚の層で分離することにある。ライン内部は「装置ベンダの世界」、境界から上は「情シスの世界」と割り切る。ライン増設のたびに設計をやり直さず、番号を1つ増やして同じ設定をコピーするだけで済むのが最大の利点である。

拡張の余地

直近の増設用に 172.20.4.0/22(ライン4〜7)を予約してある。基準ブロックが /16 なので、第3オクテットをライン番号に使う規則のままライン255まで届き(0 はライン番号に使わず、収集・保守の共通に充てる)、8以降は 172.20.8.0/21、172.20.16.0/20 と自然に続けられる。工場が増える場合は第2オクテットを工場番号として 172.21.0.0/16 を次の工場に割り当て、172.20.0.0/15 で集約する。1ラインが /24 で足りなくなるのはライン内の制御機器が250台を超える場合だが、その規模ではラインを論理的に分割する方が運用しやすい。

落とし穴

  • ライン間の通信を「念のため」許可してしまう。1ラインがマルウェアに感染したとき、同一構成の全ラインが同時に止まる。ライン間は原則遮断し、必要な通信は収集系を経由させる。
  • 保守端末のセグメントを用意せず、持ち込みPCを制御セグメントに直挿しする。OTインシデントの入口として最も多い経路で、しかも記録が残らない。専用セグメントを作り、そこからだけ制御側に入れる。
  • アドレス変換の対応表を機器の設定内にしか持たない。設定した担当者が異動すると、どの外部アドレスがどの装置かを誰も説明できなくなる。対応表は設計書側の一次情報として持つ。
  • 工場のアドレスに 192.168 系を使う。保守ベンダが持ち込むルータやモバイルルータと衝突しやすく、しかも衝突は現地でしか発覚しない。172.16/12 か 10/8 から切る。
  • ライン番号とアドレスの対応を、増設のたびに空いている番号を埋める形で決める。ライン7が撤去されて後に別の装置が入ると、番号と現物がずれて誰も信用しなくなる。番号は再利用しない。
工場のIT系と制御系を分ける境界区画
10.60.0.0/20
無料

場面

敷地内に事務所棟と工場棟があり、これまで1つのネットワークとして運用してきた従業員300名規模の工場。生産管理システムから装置への指示と、装置からの実績収集は今後も必要だが、事務所のPCから制御機器へ直接到達できる状態は解消したい。ライン内部の設計には手を入れず、上下の境界だけを先に引き直す段階。

前提

事務所側と工場側の間にL3機器を1台以上置けること。両側をまたぐ通信を、少なくとも受け渡しサーバ単位で相手と向きごとに洗い出せること。制御機器のアドレスは今回変更せず、ライン内部の再設計は別に行う。境界機器が停止している間も生産が継続できることを要件に含める。

割り当て

セグメント台数ブロック
事務所クライアント(有線・無線)300
生産管理・情報系サーバ40
受け渡しサーバ(両側から接続される中継)12
保守端末の貸出用10
境界機器・監視の管理6
境界の第2フェーズ用(外部連携・リモート保守中継)50
制御系共通サービス(時刻同期・名前解決・ライン外機器)100
制御系の無線(搬送機器・ハンディ端末)200
ライン別区画の予約(ライン1〜4)1,000

理由

分離することに反対する人はいない。決まらないのは、境界に置く区画をどのサイズにするかである。

境界を /24 で取ると必ず失敗する。この規模で本当に両側と通信する必要があるのは受け渡しのサーバだけで、十数台に収まる。残る240個以上は空き地になり、空き地は必ず埋まる。半年後には情報系のファイルサーバが、翌年には事務所側の認証基盤に参加した踏み台が入る。その時点で境界は境界でなくなるが、アドレス表の上では何も変わらないので誰も気づかない。

だから受け渡しは /28 に留める。14個しかなければ、15台目を置こうとした人が必ず誰かに相談する。サイズを運用ルールとして働かせるのが狙いで、増設余地は隣に別名の第2フェーズ用として置き、受け渡し区画そのものは広げない。

/20 を 0〜3(IT)・4〜7(境界)・8〜15(制御)の3領域に割ったのも意図的である。境界機器のフィルタが 10.60.0.0/22、10.60.4.0/22、10.60.8.0/21 の3行で書き切れ、セグメントを足してもこの3行は変わらない。追加のたびにフィルタを触る設計は、いつか触り間違えて生産を止める。

制御系共通の区画(/25)を制御側に置いたのは可用性のためだ。境界機器が落ちている間も生産は続く。時刻同期と名前解決を事務所側に依存させると、境界の停止がそのまま制御側の停止になる。

拡張の余地

境界は 10.60.4.64/26 を第2フェーズ用として空けてある。受け渡しの拡張ではなく、外部データ連携やリモート保守の中継を後から足す場所である。制御側はライン別区画として 10.60.12.0/22 を空けてあり、ライン単位の設計はここに載せる。無線が /24 で足りなくなったら 10.60.10.0/23 を追加する。工場が増える場合は 10.60.16.0/20 を次の工場に割り当て、10.60.0.0/16 で集約する。3領域の境目を /22 に揃えてあるため、どの工場でもフィルタの3行が同じ形になる。

落とし穴

  • 境界に踏み台サーバを置き、それを事務所側の認証基盤に参加させる。認証情報が事務所側から流れ込む経路ができ、境界の意味が消える。踏み台を置くなら認証は境界の中で閉じる。
  • 制御機器の時刻同期先を事務所側のサーバのままにする。境界機器を止めた瞬間に制御側の時刻がずれ始め、後から障害を追うときにログを突き合わせられない。時刻同期は制御側に置く。
  • 分離の要件を「事務所から制御系へ入れないこと」だけで定義する。制御側から事務所側への通信が野放しになり、装置に紛れ込んだ端末が外へ出る経路が残る。向きは両方向で決める。
  • 受け渡しサーバに収集もファイル置き場も兼務させる。止められない側の都合で更新できなくなり、数年で誰も触れないサーバになる。役割ごとに分け、/28 の中で台数を管理する。

/48 から /64 への割り当てと、需要に応じた拡張

IPv6 は節約せず桁で区切る
2001:db8:100::/48
無料

場面

拠点が10か所ある会社で、回線の事業者から IPv6 の /48 を受け取った。これまで IPv4 では、台数に合わせてサブネットの大きさを変え、予備の位置や細切れに気を配ってきた。同じ考え方で IPv6 の割り当てを始めようとしている。

前提

事業者から /48 を受け取っていること。社内の機器が IPv6 の自動の番号決めを使えること。拠点と用途の数がそれぞれ15以下に収まる見込みであること。番号を人が読んで意味を取る運用であること。

割り当て

セグメント台数ブロック
拠点1 クライアント200
拠点1 サーバ50
拠点1 管理30
拠点2 クライアント(ほかの用途も同じ形で続く)200

理由

/48 を受け取ると、その中には /64 が65536個ある。IPv4 で積み上げてきた考え方の多くが、ここで逆になる。

IPv4 ではサブネットの大きさを台数で決めた。10台なら /28、200台なら /24。IPv6 ではそれをしない。サブネットは台数に関係なく常に /64 にする。端末が自分の番号を自分で決める仕組みは、/64 を前提に作られている。/64 より小さく切ると、それが動かなくなる。

節約も要らない。65536個の /64 を使い切る組織はまずない。IPv4 で苦労した、予備をどこに取るか、細切れをどう防ぐかという問題は、ほとんど消える。

残る決めごとは1つである。第4ブロックの16ビットをどう区切るか。ここでは拠点に4ビット、用途に4ビット、連番に8ビットを当てる。意味の切れ目を16進の桁の切れ目に合わせると、番号を見ただけで読める。2001:db8:100:1200::/64 なら、拠点1のサーバの最初のサブネットである。

区切りは16進の桁に合わせる。桁の途中で区切ると、番号を読むたびに2進に直すことになり、読めるという利点が消える。拠点が15を超える見込みがあるなら、最初から拠点に8ビットを当て、用途と連番を4ビットずつにする。

拡張の余地

第4ブロックの先頭の桁が拠点で、1から使い、0は全社共通に取っておく。2桁目が用途、下2桁が連番である。サブネットは常に /64 で、台数が増えても大きくしない。セグメント表の /64 が台数に対して大きく見えるのは、プロトコルが /64 を求めるためで、余裕を取ったからではない。拠点が15を超えたら、区切りを変えずに2つ目の /48 を受ける。

落とし穴

  • サブネットの大きさを台数で決め、/64 より小さく切る。端末が自分で番号を決める仕組みが /64 を前提にしており、動かなくなる。常に /64 にする。
  • IPv4 と同じように予備や細切れを気にして詰めて切る。65536個の /64 を使い切ることはまずなく、詰めても得るものがない。読みやすさを優先する。
  • 第4ブロックを16進の桁の途中で区切る。番号を読むたびに2進に直すことになり、番号から意味が読めなくなる。桁に合わせて区切る。
  • 拠点の桁を0から振る。全社共通を置く場所がなくなり、後から割り込ませることになる。0は全社共通に取っておく。
残りの56本は、SubnetDeck のプレミアムで全文を読めます。SubnetDeck を見る

iPhone・iPad アプリ SubnetDeck

いつもの計算機に、記録を。

このページは閉じると何も残りません。SubnetDeck は拠点ごとの設計を、顧客やプロジェクトのフォルダに残します。通信は一切しません。

  • 拠点・顧客・プロジェクトごとのフォルダ。アドレスで検索
  • 必要な台数から VLSM で割り当て、重複を検出
  • 等分割・経路集約・重複チェックの道具
  • 設計を .xlsx・CSV・Markdown に書き出し
  • 定石69本と解説11本をオフラインで
SubnetDeck の設計タブ。拠点ごとのフォルダ

iPhone で読み取ると App Store が開きます。

Web とアプリの違い

このサイトアプリ SubnetDeck
IPv4・IPv6 のサブネット計算✓✓(オフライン)
特殊用途アドレスの判定(IANA)✓✓
ブロックの分割試せる(保存なし)等分割・VLSM を設計に保存(プレミアム)
拠点・顧客ごとに設計を残す—プレミアム
.xlsx・CSV・Markdown 書き出し—プレミアム
定石無料13本無料13本、プレミアムで69本
解説10本11本
通信なしで使う—✓

よくある質問

よくある質問

入力した内容はどこかに送られますか?

送られません。計算はすべてブラウザの中の JavaScript で行います。広告と Cookie は使っていません。入力したアドレスはこのページの URL の「#」より後ろにだけ入り、ここはブラウザがサーバに送らない部分です。

/31 の使用可能ホスト数が2なのはなぜですか?

/31 は点対点リンクに使う大きさで、ブロードキャストアドレスを必要としないため、2つとも割り当てられます(RFC 3021)。/32 は単一ホストです。解説「/31 と /32」で、いつもの引き算が成り立たない理由を説明しています。

プレフィックスの代わりにマスクやワイルドカードで入れられますか?

入れられます。「192.168.1.0 255.255.255.0」「192.168.1.0 0.0.0.255」「192.168.1.0/255.255.255.0」のどれでも計算します。マスクやワイルドカードだけを入れると、そのプレフィックス長とホスト数を表示します。「10.0.0.5 - 10.0.0.90」のような範囲は、それをちょうど覆う CIDR の一覧になります。

IPv6 にブロードキャストアドレスがないのはなぜですか?

IPv6 にはブロードキャストという仕組みがなく、マルチキャストが代わりを担います。そのため IPv6 のブロック内のアドレスはすべて使用可能として数えます。全ゼロのアドレスは subnet-router anycast ですが、控除はしません(RFC 4291)。

特殊用途アドレスの種別は何で決めていますか?

IANA の「IPv4・IPv6 特殊用途アドレスの登録簿」を元に、最長一致で判定しています。登録簿との突き合わせは 2026-09-23 に行いました。