IPv6サブネットの計算
入力
| IPv6アドレス | 2001:db8:abcd:1234::1 |
|---|---|
| プレフィックス長 | 64 |
IPv6サブネットの計算
IPv6アドレスとプレフィックス長を入力すると、ネットワークアドレス、完全展開形と圧縮形(RFC 5952)、そしてそのプレフィックスが含むアドレス数を求めます。
入力
アドレスとプレフィックス
結果
値を入力すると計算結果が表示されます。
サブネット
展開形
IPv6サブネット
IPv6サブネットの計算は、IPv6アドレスとプレフィックス長を、それが属するネットワークの完全な記述に変換します。すなわち、ネットワークアドレス、完全展開形と最短圧縮形の両方で書いたアドレス、そしてそのプレフィックスが含むアドレス数です。IPv6のアドレッシング方式を計画する人、ルーターやファイアウォールを設定する人、あるいはこのプロトコルがIPv4とどう違うかを学ぶ人は、この内訳を絶えず使います。
IPv6アドレスの書き方
IPv6アドレスは128ビット長で、IPv4アドレスの4倍のサイズです。4つの10進オクテットではなく、コロンで区切られた4桁の16進数の8グループとして書かれます。たとえば 2001:0db8:abcd:1234:0000:0000:0000:0001 です。これほど長いアドレスは読み書きが面倒なので、2つの短縮規則が適用されます。まず、各グループ内の先頭のゼロは落とせるので、0db8 は db8 に、0000 は 0 になります。次に、連続するすべてゼロのグループの1つの連なりは、二重コロン :: に置き換えられます。両方の規則を上のアドレスに適用すると、圧縮形 2001:db8:abcd:1234::1 が得られます。
正規の最短形はRFC 5952で標準化されています。先頭のゼロは常に取り除かれ、:: はゼログループの最も長い連なりを置き換え、2つの連なりが同じ長さのときは左側が優先されます。:: は1度しか現れません。2つ以上あると曖昧になるからです。展開形と圧縮形は常に同じアドレスを表し、選択は純粋に読みやすさの問題です。
プレフィックス長とネットワークアドレス
IPv6はIPv4と同じくCIDR表記を使います。アドレスの後にスラッシュとプレフィックス長を続けたもので、2001:db8::/32 のようになります。プレフィックスはネットワーク部に割り当てられた先頭ビットの数で、残りの 128 − n ビットがサブネット内のホストを識別します。ネットワークアドレスは、ネットワークビットを残してすべてのホストビットを0にし、その結果を圧縮形で書くことで求められます。
ブロック内のアドレス数は、ホストビットの数から直接導かれます。
ここに「2を引く」規則はありません。IPv6はIPv4のように別途ネットワークアドレスやブロードキャストアドレスを予約しないので、ブロック全体が概念上アドレス指定可能です。
よく使われるプレフィックスのサイズ
実際の運用では、いくつかのプレフィックスの境界が中心を占めます。
- /64 — 標準的な単一サブネット。64個のホストビットはステートレスアドレス自動設定(SLAAC)に合わせたサイズで、ほとんどすべての通常のIPv6リンクは /64 です。1つの /64 は2の64乗個のアドレスを持ちます。
- /56 — 家庭や小規模オフィスへの典型的な割り当て。256個の別々の /64 サブネットを含みます。
- /48 — より大きな組織やサイトへの一般的な割り当てで、65,536個の /64 サブネットを持ちます。
プレフィックスビットが8刻みで増えるごとに、/64 サブネットの数は 256 倍になります。アドレス数も同じ速さで増え、/64 は約 1800京個のアドレス、/48 は約 120秭個をカバーします。
計算例
2001:db8:abcd:1234::1 をプレフィックス /64 で考えます。マスクは64ビットをネットワークに割り当て、64個のホストビットを残します。
ホスト部(末尾の64ビット、ここでは ::1)が0にされてネットワークアドレス 2001:db8:abcd:1234:: が生成され、元のアドレスの圧縮形は 2001:db8:abcd:1234::1 のままです。プレフィックスを /48 に短くすると、ネットワークは 2001:db8:abcd:: になり、2の80乗、約 120秭個のアドレスのブロックになります。
関連する計算
IPv4ネットワークについては、サブネットの計算 が同じ内訳を、ネットワーク・ブロードキャスト・利用可能なホスト数とともに行います。任意のIPv4範囲のアドレス数を数えたり、それをブロックに要約したりするには、IPアドレス範囲の計算 を参照してください。
よくある質問 (FAQ)
IPv6がIPv4とこれほど違って見えるのはなぜですか?
IPv6アドレスは32ビットではなく128ビット長です。そのため、4つの10進オクテットではなく、コロンで区切られた4桁の16進数の8グループとして書かれます。広いアドレス空間はIPv4ネットワークがNATに頼らざるを得なかったアドレス不足を解消し、すべてのサブネットを一律 /64 にできるようにします。ゼロ圧縮の規則を備えたコロン区切りの16進表記が、この長いアドレスを読みやすく保ちます。
展開形と圧縮形の違いは何ですか?
展開形は、2001:0db8:abcd:1234:0000:0000:0000:0001 のように、8グループすべてを先頭のゼロ付きで書きます。すべての桁を揃えて確認したいときに便利です。圧縮形はRFC 5952に従い、各グループ内の先頭のゼロを落とし、すべてゼロのグループのうち最も長い連なりを :: に置き換えて、2001:db8:abcd:1234::1 とします。どちらも同じアドレスを表しますが、普段入力したり保存したりするのは圧縮形です。
/48、/56、/64 のプレフィックスは何を意味しますか?
これらはよく使われる割り当ての境界です。/64 は標準的な単一サブネットで、そのホストビットはステートレスアドレス自動設定に合わせたサイズになっています。/56 はサイトに 256 個のその /64 サブネットを与え、家庭や小規模オフィスへの典型的な割り当てです。/48 は 65,536 個の /64 サブネットを与え、より大きな組織への一般的な割り当てです。8ビット刻みごとにサブネットの数は 256 倍になります。
1つのプレフィックスはいくつのアドレスを含みますか?
/n のプレフィックスは 128 − n 個のホストビットを残すので、ブロックは2の (128 − n) 乗個のアドレスを持ちます。したがって /64 は2の64乗、すなわち 18,446,744,073,709,551,616、つまり単一サブネットで約 1800京個のアドレスを含みます。/48 は2の80乗で、約 120秭です。IPv4とは異なり、IPv6はネットワークアドレスやブロードキャストアドレスを予約しないので、ブロック全体が概念上アドレス指定可能です。