IPサブネット計算
計算結果
ネットワークアドレス
- ブロードキャストアドレス
- 192.168.1.255
- 最初の使用可能ホスト
- 192.168.1.1
- 最後の使用可能ホスト
- 192.168.1.254
- 使用可能なホスト数
- 254
- ブロック内のアドレス数
- 256
- サブネットマスク
- 255.255.255.0
- ワイルドカードマスク
- 0.0.0.255
CIDR表記のIPアドレス(192.168.1.10/24など)から、ネットワークアドレス、ブロードキャストアドレス、使用可能なホストの範囲、サブネットマスクとワイルドカードマスク、そしてブロック全体のアドレス数を求めます。スラッシュの後ろの数はプレフィックス長で、/24は先頭24ビットをネットワーク部として固定し、8ビットをホスト部に残します。アドレス数は256個、使用可能なホスト数は254個です。ホスト部に書かれていた値は消されるので、192.168.1.10/24は192.168.1.0/24のネットワークに属します。結果の横のバッジはそのアドレス空間の種別(プライベート、ループバック、リンクローカル、マルチキャスト、グローバルなど)を示し、下の表はIANAが予約しているブロックの早見表です。
IPv4の特殊用途ブロック
| ブロック | 種別 | 定義 |
|---|---|---|
| 0.0.0.0/8 | このネットワーク | RFC 791 §3.2 |
| 10.0.0.0/8 | プライベートアドレス | RFC 1918 |
| 100.64.0.0/10 | 共有アドレス空間 | RFC 6598 |
| 127.0.0.0/8 | ループバック | RFC 1122 §3.2.1.3 |
| 169.254.0.0/16 | リンクローカル | RFC 3927 |
| 172.16.0.0/12 | プライベートアドレス | RFC 1918 |
| 192.0.2.0/24 | ドキュメント用 | RFC 5737 |
| 192.168.0.0/16 | プライベートアドレス | RFC 1918 |
| 198.18.0.0/15 | ベンチマーク用 | RFC 2544 |
| 198.51.100.0/24 | ドキュメント用 | RFC 5737 |
| 203.0.113.0/24 | ドキュメント用 | RFC 5737 |
| 224.0.0.0/4 | マルチキャスト | RFC 1112 |
| 240.0.0.0/4 | 予約済み | RFC 1112 §4 |
| 255.255.255.255/32 | 限定ブロードキャスト | RFC 8190 / RFC 919 §7 |
IANAの特殊用途アドレスレジストリに載っているブロックすべてに、別に登録されているマルチキャストの範囲を加えたものです。真ん中の列はブロックの種別、右の列はそれを定義している文書です。どれにも当てはまらないアドレスはグローバルとして表示されます。
公式
ネットワークアドレス = IPアドレス ∧ マスク、使用可能ホスト数 = 2^(32 − プレフィックス長) − 2
- IPアドレス
- 入力するIPv4アドレス。32ビットの数として扱う
- マスク
- サブネットマスク。先頭からプレフィックス長ぶんのビットが1
- ネットワークアドレス
- ホスト部のビットをすべて0にしたアドレス
- プレフィックス長
- スラッシュの後ろの数。0から32まで
1行目がサブネット分割のすべてです。ネットワークアドレスはアドレスとマスクのANDをとったもの、ブロードキャストアドレスは同じANDでホスト部のビットを1にしたものです。この2つを引けば使用可能なホスト数になります。2行目はその近道で、/0から/30までのすべてのプレフィックスで成り立ちます。例外はポイントツーポイント用の/31と/32で、この2つではネットワークアドレスとブロードキャストアドレスが予約されないため、近道の式では数え落とします。この計算ツールはそこにRFC 3021の規則を当てています。
計算例
家庭内ネットワークを192.168.1.10/24として入力
- プレフィックス長は24なので、マスクは1が24個、そのあとに0が8個:255.255.255.0
- アドレスのホスト部を消す:192.168.1.10 AND 255.255.255.0 = 192.168.1.0。これがネットワークアドレス
- 今度はホスト部を立てる:192.168.1.0 OR 0.0.0.255 = 192.168.1.255。これがブロードキャストアドレス
- ホストの範囲はその間すべて:192.168.1.1〜192.168.1.254
- 数える:2^8 = 256個、予約された2つを引いて254個が使用可能 ✓
入力した.10はブロック内のホストアドレスなので、1行目の答えにはなりません。ブロックを指すのはネットワークアドレスのほうです。
ポイントツーポイントリンク、172.16.5.1/30
- /30はホスト部に2ビット残るので、ブロックは2^2 = 4個、マスクは255.255.255.252
- ネットワークアドレス:172.16.5.1 AND 255.255.255.252 = 172.16.5.0
- ブロードキャスト:172.16.5.0にホスト部3ビットを立てた値を足して172.16.5.3
- 使用可能な2つは172.16.5.1と172.16.5.2。例のアドレスはルーター側の端点 ✓
アドレスを2つ無駄にする最小のブロックです。ルーター同士をつなぐリンクはちょうど2つあれば足りるので、/31が生まれました。
/24を/26で分割する。192.168.1.130/26として入力
- /26はホスト部に6ビット残る:2^6 = 64個、マスクは255.255.255.192
- 172.16.5.1は別のブロック。130を2進数で書くと上位2ビットは10になり、/26はその2ビットだけを残すので130 AND 192 = 128
- したがってネットワークアドレスは192.168.1.0ではなく192.168.1.128。/26のブロックは最後のオクテットが64の倍数の位置から始まる
- ブロードキャスト:192.168.1.128 + 63 = 192.168.1.191
- 使用可能:64 − 2 = 62個、.129から.190まで ✓
目で見て間違えやすい計算です。/26ではブロックの境目が0、64、128、192になるので、.130は/24の第3の区画に入ります。最初の区画ではありません。
公開された1台のホスト、8.8.8.8/32
- /32はすべてのビットをネットワーク部として残すので、マスクは255.255.255.255、ブロックはアドレス1個
- すべて1のマスクとANDをとっても何も変わらない:ネットワークアドレスは8.8.8.8
- 立てるホスト部のビットがないので、ブロードキャストアドレスも同じアドレスになる
- アドレスは1個で、それが使用可能。RFC 3021と同じ考え方で、/32のホスト数は2^0 − 2 = −1ではなく1になる ✓
/32は、経路表やファイアウォール規則で1台のホスト経路を書くときの表記です。ワイルドカードマスクは0.0.0.0になり、これは1つのアドレスに一致させたいファイアウォールがちょうど必要とする値です。
適用限界
この計算ツールが扱うのはIPv4だけです。IPv6アドレスは128ビット幅で、同じ算術には収まらず、ホスト数の規則も別物です。/64は2^64個のアドレスを持つので、ネットワークアドレスとブロードキャストアドレスを引くことに意味がありません。IPv6を入力すると、近い値でごまかさずにエラーとして返します。また、ここでは古典的なサブネット分割の模型を前提にしています。ネットワークアドレスとブロードキャストアドレスを予約とし、その間をホストの範囲とする数え方で、これはRFC 950が定めたもので、現在もほぼすべてのネットワークがこのとおりです。特別な用途向けに別のプレフィックス長の流儀も存在します。ブロックの種別は、今日の時点のIANAの特殊用途アドレスレジストリに基づいています。このレジストリは実際に更新されるので、このページを書いたあとに予約されたブロックはグローバルとして表示されます。
よくある質問
- ネットワークアドレスの求め方を教えてください
- アドレスとサブネットマスクのANDをとります。192.168.1.10/24ならマスクは255.255.255.0で、2進数では1が24個、そのあとに0が8個並びます。ANDをとると最後のオクテットが消えて192.168.1.0になります。ブロードキャストアドレスも同じANDですが、ホスト部のビットを0ではなく1にするので192.168.1.255です。その間がすべて使用可能なホストの範囲です。
- /26の使用可能なホスト数はいくつですか
- 62個です。/26はホスト部に6ビット残るのでブロックは2^6 = 64個のアドレスになり、そこからネットワークアドレスとブロードキャストアドレスの2つが取られます。同じ規則で、/24は254個、/25は126個、/27は30個です。これが当てはまらないプレフィックスは2つだけで、/31は2個、/32は1個です。
- プライベートアドレスになる範囲はどこですか
- RFC 1918に載っている3つのブロックです:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。これらは公共のインターネットでは経路制御されないので、同じ番号を使う別のネットワークとつながる必要がないかぎり、どの組織でも自由に使えます。似ていてもプライベートではないブロックもあります。100.64.0.0/10は通信事業者の網内で使う共有アドレス空間、169.254.0.0/16はDHCPが失敗した機器が自分に割り当てるリンクローカルです。
- ワイルドカードマスクとは何ですか。サブネットマスクとどう違いますか
- サブネットマスクをビットごとに反転したものです。/24ならマスクは255.255.255.0、ワイルドカードは0.0.0.255です。Ciscoのアクセスリストや一部のファイアウォール規則はワイルドカードで書き、インターフェースの設定にはマスクそのものを使うため、このページでは両方を表示します。2つを足すと必ず255.255.255.255になるので、片方が分かればもう片方も分かります。
- /31の使用可能なホストが0個ではなく2個なのはなぜですか
- RFC 3021がそのプレフィックスだけ規則を変えたためです。/31はアドレスを2つ持ち、古い数え方では片方がネットワークアドレス、もう片方がブロードキャストアドレスとして予約され、端点をちょうど2つ必要とするリンクに何も残りません。RFCはポイントツーポイントリンクでは両方をホストとして扱うと定め、現在のルーターもそのとおりに動き、この計算ツールもそう表示します。
- IPv6にも使えますか
- 使えません。使えるふりもしません。IPv6アドレスは128ビット幅なので、ここで使っている32ビット整数では同じ算術ができませんし、ホスト数の規則も性質が違います。/64は2^64個のアドレスを含み、そこから2を引くような数ではありません。IPv6のプレフィックスを入力すると、誤った答えではなく形式エラーを返します。IPv6版は独自の出力を持つ別のページになるべきものです。
参考文献
- IPv4 Special-Purpose Address Registry — IANA
- RFC 1918: Address Allocation for Private Internets — IETF
- RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links — IETF
- インターネット用語1分解説~CIDRとは~ — JPNIC(一般社団法人日本ネットワークインフォメーションセンター)