計算できる項目
IPネットワークは、アドレスとプレフィックス長の組で表します。プレフィックス長は先頭から何ビットがネットワーク部として固定されているかを示し、残りのビットで個々のホストを区別します。この計算ツールはその組から導けるものをすべて求めるので、2進数の計算を手でする必要はありません。数値の処理は、すべて手元のブラウザ上で完了します。
IPv4のネットワークでは、ネットワークアドレスとブロードキャストアドレス、使える最初と最後のホスト、アドレスの総数と使えるホスト数、サブネットマスクとワイルドカード(反転)マスク、プレフィックス長、そしてアドレスとマスクをビット単位でそろえた2進表示がわかります。アドレスの種類として、プライベート(RFC 1918)、キャリアグレードNAT(100.64.0.0/10)、ループバック、リンクローカル、ドキュメント用、マルチキャスト、グローバルのいずれかを示し、逆引きDNSに使うin-addr.arpaのゾーン名も表示します。
IPv6のネットワークでは、ネットワークプレフィックス、範囲の最初と最後のアドレス、総数(正確な値と2のべき乗)、省略形と完全に展開した形、アドレスの種類(グローバルユニキャスト、ユニークローカルfc00::/7、リンクローカルfe80::/10、ドキュメント用2001:db8::/32、マルチキャスト、ループバック)、そしてip6.arpaの逆引きゾーンがわかります。
使い方
- 入力欄にネットワークを入力します。IPv4・IPv6のどちらもCIDR表記(
192.168.10.37/22や2001:db8:abcd::/48など)で入力できるほか、IPv4ならアドレスの後にスペースを1つ空けてドット区切りのサブネットマスクを続ける形(10.1.2.3 255.255.255.0など)も使えます。 - 結果を確認します。
192.168.10.37/22なら、ネットワーク192.168.8.0、ブロードキャスト192.168.11.255、使えるホストは192.168.8.1〜192.168.11.254、アドレス1,024個のうち1,022個が使用可能、サブネットマスク255.255.252.0、ワイルドカード0.0.3.255となります。 - ネットワークを分割するには、より長いプレフィックスを選びます。同じ/22を/24で分ければ4つ、/26で分ければ16のサブネットになります。それぞれの範囲が、最大256個まで一覧表示されます。
- 含まれるかどうかを確かめるには、「アドレスがこのネットワークに含まれるか」の欄に別のアドレスを入力します。そのアドレスが上のネットワーク内にあるかどうかが表示されます。
ホスト部が0である必要はありません。設定ファイルにあるインターフェースのアドレスをそのまま貼り付ければ、所属するネットワークを求めます。サブネットマスクでの入力はIPv4専用で、IPv6では常にプレフィックス長を指定します。
IPv4の2つのサイズには独自のルールがあります。/31のアドレスは2つで、RFC 3021により、ポイントツーポイントのリンクでは両方とも使えるものとして数えます。/32は単一のホストです。
こんな場面で使えます
- ファイアウォールのルールの確認。ベンダーから172.16.40.0/21を許可するよう頼まれたとします。これを入力し、含まれるかどうかの欄で172.16.47.200を試すと、/21は172.16.40.0〜172.16.47.255なので、このアドレスは範囲内だとわかります。
- 自宅ラボの区割り。192.168.50.0/24を、使えるホストが62台ずつの/26ネットワーク4つに分け、サーバー、仮想マシン、IoT機器、ゲスト用に1つずつ割り当てます。
- クラウドのサブネットの見積もり。AWSはどのサブネットでも先頭の4つと末尾の1つ、計5つのアドレスを予約するため、/24でインスタンスに使えるのは254ではなく251です。ほかのクラウド事業者も、サブネットごとにいくつかのアドレスを確保しています。
- ルーターのACLを書く。CiscoのアクセスリストやOSPFのnetworkコマンドでは、サブネットマスクの代わりにワイルドカードマスクを指定します。/20なら0.0.15.255であることが、暗算なしでわかります。
- IPv6の委任を読み解く。プロバイダからルーターに/56が委任されたら、/64で分割してみましょう。VLANごとに1つずつ配れる、LAN向けサイズのサブネットが256個得られます。
- キャリアグレードNATを見分ける。ルーターのWAN側アドレスが100.72.14.9のような値なら、この計算ツールはキャリアグレードNATと表示します。プロバイダが上流でもう一度アドレスを変換しているため、外からのポート転送はたいてい失敗します。
CIDRとサブネットマスクの読み方
IPv4アドレスは32ビットで、スラッシュの後の数字はそのうち何ビットがネットワーク部かを表します。/24ならホスト部は8ビットで、2^8 = 256個のアドレスです。プレフィックスが1短くなるごとにブロックは2倍になり(/23は512個、/22は1,024個)、1長くなるごとに半分になります(/25は128個、/30は4個)。通常のIPv4サブネットでは、ホスト部が全部0の値がネットワークを、全部1の値がブロードキャストを表すので、/24で使えるホストは254台、/30では2台です。
ドット区切りのサブネットマスクは、1が続いたあとに0が続くビット列と同じ情報を持っています。プレフィックス長に直すには、オクテットごとに1の数を数えます。255は8で、途中のオクテットは128 = 1、192 = 2、224 = 3、240 = 4、248 = 5、252 = 6、254 = 7です。
サブネットマスク 255.255.240.0
2進数 11111111.11111111.11110000.00000000
1の数 8 + 8 + 4 + 0 = 20 -> /20
ワイルドカード 0.0.15.255 (255から各オクテットを引いた値)
サイズ 2^(32-20) = 4,096アドレス、うち4,094が使用可能つまり10.1.2.3 255.255.240.0は10.1.2.3/20と同じ入力で、ネットワーク10.1.0.0〜10.1.15.255に属します。
サブネットのサイズと境界のそろえ方
各セグメントの大きさは、想定する台数から見積もり、余裕を持たせて2のべき乗に切り上げます。小さなオフィスなら、社員用のVLANにそれぞれ/24、ゲスト用Wi-Fiに/23、管理用ネットワークにホスト30台の/27、ルーター間のリンクにそれぞれ/31を割り当てる、といった具合です。大きなブロックから順に、それぞれ自分のサイズの境界にそろえて割り当てていけば、小さなブロックは重なることなく隙間に収まります。
境界のそろえ方は、経路を集約できるかどうかも左右します。10.20.4.0から10.20.7.0までの4つの/24は、4が4の倍数なので、10.20.4.0/22という1本の経路にまとめられます。10.20.2.0から10.20.5.0までの4つの/24は同じ広さですが、10.20.2.0/23と10.20.4.0/23の2本の経路が必要です。
IPv6では、ステートレスアドレス自動設定が64ビットのインターフェースIDを前提としているため、LANのセグメントは/64にします。1対多の通信にはマルチキャストを使うのでブロードキャストアドレスはなく、この計算ツールはIPv6のサイズを単純な総数で示します。逆引きゾーンはラベルの境界に従います。in-addr.arpaのラベルはオクテット単位なので/22は4つの/24ゾーンにまたがり、ip6.arpaのラベルは16進数1桁ずつなので、2001:db8:abcd::/48はd.c.b.a.8.b.d.0.1.0.0.2.ip6.arpaになります。
よくいただく質問
/24なのに、使えるホストが256ではなく254なのはなぜですか?
/24ではホスト部が8ビット残り、アドレスは256個になります。通常のIPv4サブネットでは、ホスト部のビットがすべて0のアドレスがネットワーク自体を表し、すべて1のアドレスがブロードキャストアドレスになるため、どちらも機器には割り当てません。残りが254です。この2つを差し引くルールは、/30までのすべてのIPv4プレフィックスに当てはまります。
/31はサブネットとして使えますか?
はい、ポイントツーポイントのリンクなら使えます。RFC 3021では、/31の2つのアドレスを両方ともホストに使うことを認めています。端がちょうど2つしかないリンクには、ネットワークアドレスもブロードキャストアドレスも要らないからです。4つのアドレスのうち2つを管理用に費やす/30と比べると、アドレス空間は半分で済みます。この計算ツールもこのルールに従い、/31の使えるホスト数を2と表示します。
IPv6では、使えるホスト数が表示されないのはなぜですか?
IPv6にはブロードキャストアドレスがないため、末尾のアドレスを除く必要がないからです。しかも範囲が非常に大きく、1つや2つ差し引いても実質的に何も変わりません。そこでこのツールは、代わりにアドレスの総数を、正確な値と2のべき乗の両方で表示します。たとえば/64には2^64、つまり18,446,744,073,709,551,616個のアドレスがあります。
IPv6のLANで、/64より長いプレフィックスを使ってもよいですか?
設定はできますが、ステートレスアドレス自動設定(SLAAC)は64ビットのインターフェースIDを前提としているため、それに頼るホストはそのセグメントでアドレスを作れません。一般のクライアントがいるネットワークは/64にしておきましょう。より長いプレフィックスが妥当なのは、RFC 6164が/127を推奨しているルーター間のリンクや、/128を割り当てるのが一般的なループバックアドレスです。
ワイルドカードマスクとは何ですか?
サブネットマスクの全ビットを反転したもので、255.255.255.0なら0.0.0.255になります。ワイルドカードの形式では、0のビットは「一致しなければならない」、1のビットは「何でもよい」を意味します。Cisco IOSのアクセスリストやOSPFのnetworkコマンドで使われます。255からサブネットマスクの各オクテットを引けば求められ、この計算ツールではサブネットマスクの隣に表示されます。
サブネットマスクをCIDRのプレフィックス長に換算するには?
サブネットマスクを2進数で書いたときの1の数が、プレフィックス長です。オクテットごとに数え、255は8、途中のオクテットは128 = 1、192 = 2、224 = 3、240 = 4、248 = 5、252 = 6、254 = 7として足します。たとえば255.255.240.0は8 + 8 + 4 + 0 = 20なので/20です。この計算ツールに「アドレス+スペース+サブネットマスク」の形で入力しても、同じ結果が得られます。
ルーターのWAN側アドレスが100.64.0.0〜100.127.255.255の範囲です。どういう意味ですか?
その範囲は100.64.0.0/10で、RFC 6598によりキャリアグレードNAT用に確保されています。プロバイダはルーターに共有の内部アドレスを割り当て、さらに上流で通信をグローバルIPに変換しています。外向きの接続は普通に使えますが、ゲームサーバーやカメラへのポート転送のように外から入ってくる接続は、プロバイダからグローバルIPを割り当ててもらわない限り、たいてい届きません。
計算はサーバーで行われるのですか?
いいえ、すべてお使いのブラウザの中で計算します。ブロードキャストアドレスからip6.arpaのゾーン、分割したサブネットの一覧まで、ページに出る結果はどれもページ自身がその場で求めたもので、答えを出すのにサーバーは使いません。それとは別に、iseeu.ccはIPアドレスや調べた内容のログも訪問者のデータベースも持たず、Cookieも広告も使いません。
計算は標準的なCIDRの規則に従っています。クラウド事業者やプロバイダ、一部のOSはサブネット内でさらにアドレスを予約するため、正確なホスト数に頼る前に、それぞれのドキュメントを確認してください。