IPv6サブネット計算(/48 /56 /64の分割)

IPv6アドレスとプレフィックス長から、ネットワークアドレス・先頭と末尾・アドレス数・含まれる/64の数を計算。/48を/56や/64に分割した一覧と総数も出せます。::省略やIPv4埋め込み表記、/0〜/128の境界にも対応。

ネットワークアドレス
-
同・完全表記
-
先頭アドレス
-
末尾アドレス
-
同・完全表記
-
アドレス数
-
含まれる /64 の数
-
補足
-

-

IPv6 には IPv4 のようなブロードキャストアドレスがありません。ここでの「先頭」「末尾」は範囲の両端の値です。ホスト部がすべて 0 の先頭アドレスは、RFC 4291 でサブネットルーターエニーキャストアドレスとして予約されています。一覧は最大 64 件までで、全件の数は上の要約に出ます。

/48 をもらったけれど、/64 に切ると何個になるのか。 部署ごとに /56 を配るなら、何拠点ぶん取れるのか。 IPv4 の感覚で数えると、桁がずれてしまいそうです。 プレフィックスを入れるだけで、範囲とアドレス数、含まれる /64 の個数が出ます。分割先の長さを指定すれば、分割後のサブネット一覧と総数も見られます。

使い方

  1. 一番上の欄に「2001:db8::/48」のように、IPv6 アドレスとプレフィックス長を「/」でつなげて入力します。ネットワークアドレス、先頭・末尾アドレス、アドレス数、含まれる /64 の数が、その場で表示されます。
  2. 下の「分割先のプレフィックス長」に 56 などの数字を入れるか、/48・/56・/64 のボタンを押します。分割後のサブネットが一覧で出ます。

ここまでが基本の操作です。

  1. 一覧は先頭 64 件までです。分割後の総数は一覧の上に書かれます。「一覧をコピー」を押すと、表示されている行をまとめてコピーできます。

アドレスは「::」で省略した形でも、8ブロックの完全な形でも入力できます。末尾を ::ffff:192.0.2.1 のように IPv4 で書いた形も読めます。全角で貼り付けても半角に直して扱います。

ホスト部にビットが立った状態のアドレス(2001:db8:1234:5678:9abc:def0:1234:5678/64 など)を入れても大丈夫です。ホスト部を 0 にしたネットワークアドレスを求め、そのことを「補足」に書きます。

仕組み・計算式

IPv6 アドレスは 128 ビットの数です。「アドレス/プレフィックス長」の書き方と、先頭からプレフィックス長のビットがネットワーク部になる考え方は、RFC 4291(IPv6 アドレス体系)に書かれています。このツールは、アドレスを 128 ビットの整数(JavaScript の BigInt)として扱います。

ホスト部のビット数 = 128 − プレフィックス長
ネットワークアドレス = アドレスのホスト部を 0 にした値
末尾アドレス = ネットワークアドレスのホスト部をすべて 1 にした値
アドレス数 = 2 の(ホスト部のビット数)乗
含まれる /64 の数 = 2 の(64 − プレフィックス長)乗
分割後の個数 = 2 の(分割先の長さ − 元の長さ)乗

/64 の数は、プレフィックス長が 64 以下のときだけ数えます。/65 以上は /64 1 個より狭いので、0 個と表示します。

表示するアドレスの形は RFC 5952(テキスト表記の推奨)に合わせています。英字は小文字、各ブロックの先頭の 0 は省き、0 が連続する最長の部分を「::」にします。長さが同じ場合は左側を省略し、0 が 1 ブロックだけのときは「::」にしません。

サブネットの大きさについては、RFC 4291 が、先頭が 000 でないユニキャストアドレスのインターフェース ID を 64 ビットとしています。LAN の1セグメントを /64 にするのが標準的なのは、このためです。事業者から利用者への割り当てについては RFC 6177 が扱っていて、/48 一択とはせず、/48 から /64 の範囲で決めることを想定しています。

IPv4 の「ブロードキャストアドレス」に当たるものは、IPv6 にはありません。ここでの先頭・末尾は、範囲の両端の値です。

計算例

数字はすべて、このツールの script.js のロジックを node で実行して確かめました。

例1: 2001:db8::/48 を /56 に分割する

65,536 個。多すぎると思いませんか。分割すると 256 個になり、最初の3つは 2001:db8::/56、2001:db8:0:100::/56、2001:db8:0:200::/56 です。256 個目に当たる 2001:db8:0:ff00::/56 は、先頭 64 件の外にあたるので一覧には出ません。64 件目は 2001:db8:0:3f00::/56 でした。

2001:db8::/48 は、RFC 3849 で文書の例示用に確保されたプレフィックスです。

例2: ホスト部が入ったアドレスを /64 で入れる

2001:db8:1234:5678:9abc:def0:1234:5678/64 を入れると、ネットワークアドレスは 2001:db8:1234:5678::/64、末尾は 2001:db8:1234:5678:ffff:ffff:ffff:ffff です。アドレス数は 18,446,744,073,709,551,616(2 の 64 乗)で、含まれる /64 は 1 個でした。

正直なところ、意外だったのは、/64 1個だけでも IPv4 全体(約43億個)の 40 億倍以上のアドレスを持つことでした。

例3: 境界値

よくある間違い

1. /64 より長いプレフィックスで LAN を切ってしまう

IPv4 の癖で、小さなセグメントに /120 や /112 を使う人がいます。まず、そのネットワークで使う機器やプロトコルが /64 を前提にしていないかを確認してください。RFC 4291 のとおり、インターフェース ID は 64 ビットが前提です。ツールで /64 の数を見ておけば、手持ちのプレフィックスから /64 を何本取れるかがすぐ分かります。

2. 「/48 を 256 分割」を「/56 に 256 個」と数えない

/48 を /56 に分けると 256 個、/64 に分けると 65,536 個です。分割先の長さの差が 8 なら 2 の 8 乗、16 なら 2 の 16 乗です。「あと何ビット使うか」で数えると、ずれません。拠点数や VLAN 数に合わせて、分割先の長さを変えながら総数を見てみてください。

3. 省略表記の「::」の位置を間違える

2001:db8:0:0:1:0:0:1 のように、0 の連続が複数あるときは、最も長い連続を「::」に直します。同じ長さなら左側です。2001:db8::1:0:0:1 が RFC 5952 の形です。2001:db8:0:0:1::1 も同じアドレスを指しますが、推奨の表記ではありません。「::」は1か所だけしか使えません。

よくある質問

Q. 先頭アドレスにホストを割り当ててもいいですか?

A. 避けたほうが安全です。ホスト部がすべて 0 のアドレスは、RFC 4291 でサブネットルーターエニーキャストアドレスとして予約されています。実際の設定では、::1 や ::2 のように 0 以外から使うのが一般的です。

Q. 一覧が 64 件しか出ないのはなぜですか?

A. /32 を /64 に分けると約43億個になるように、全件を表示するとブラウザが重くなるためです。総数は一覧の上に出ます。たとえば /48 を /56 に分けると 256 個と表示され、一覧には先頭 64 件が並びます。

Q. IPv4 の「ブロードキャスト」に当たるものはありますか?

A. ありません。末尾アドレスは、その範囲の最後の値というだけです。このツールが「末尾アドレス」と書いているのは、そのためです。

Q. 入力した内容はどこかに送信されますか?

A. 送信されません。計算はすべてブラウザの中で完結します。

関連ツール

最終更新・根拠の確認日: 2026-10-30 · カテゴリ: ネットワーク