用語辞典・IPv6・接続方式

IPv6プレフィックス

IPv6プレフィックスとは

IPv6プレフィックスは、複数のIPv6アドレスに共通する先頭側のビット列と、その共通部分の長さを組にして表したものです。英語ではIPv6 prefix(アイピーブイシックス・プレフィックス)です。

2001:db8:1200::/48の/48は、128ビット中の先頭48ビットが共通部分であることを示します。残る80ビットは、その範囲内でサブネットやインターフェースを識別するために使えます。

スラッシュ後の数が大きいほど固定する先頭ビットが増え、含まれるアドレス範囲は小さく、より具体的になります。

共通する左側ビットをまとめて委任し、サイト内で複数サブネットへ分けるルーターはプレフィックスを照合し、より具体的な経路を選ぶ
IPv6アドレスの先頭ビットを共通プレフィックスとしてサイトへ委任し、複数のサブネットプレフィックスと端末アドレスへ分け、ルーターが経路照合する図解
図1図の色付き左側が共通プレフィックス、右側が範囲内で変化する部分です。実際の境界は16進数の区切り位置だけでなく、任意のビット位置に置けます。

128ビットを、経路・サブネット・インターフェースへ分けて見る

グローバルユニキャストアドレスの代表的な見方サイトへ届くまでの部分、サイト内リンク、リンク上のインターフェース
グローバル経路制御プレフィックス上流がサイトへ割り当て、インターネット経路で集約する部分
サブネットIDサイト内で個々のリンクを分ける部分
インターフェースIDそのサブネット内のインターフェースを識別する部分
2001:db8:1200::/482001:db8:1200:25::/642001:db8:1200:25::80
図2例では/48を受けたサイトが16ビットのサブネットIDを使い、0x0025の/64サブネットを作っています。最後の64ビットはそのリンク内のインターフェース部分です。

/64は一つのサブネットで広く使う標準的な境界

IPv6の一般的なユニキャストサブネットでは、先頭64ビットをサブネットプレフィックス、残り64ビットをインターフェース識別子として使います。SLAACを含む多くの仕組みがこの境界を前提に設計されています。

ただし「IPv6のプレフィックスはすべて/64」という意味ではありません。上流からサイトへ渡す集約範囲は/48や/56などになり得て、その中を複数の/64へ分けます。ポイントツーポイントなど個別用途では別の長さを使う仕様や運用もあります。

サイトへの委任サイズと、リンクの/64を混同しない

一つの/64には膨大なアドレスがありますが、家庭や組織は端末数だけでなく、LAN、ゲスト、IoT、VPNなど複数のサブネットを持ちます。そのためサイトへ一個の/64だけを渡すと、正規のサブネット分割が難しくなります。

RFC 6177は、すべてのエンドサイトへ一律に/48という単一既定値を推奨せず、複数サブネットと将来拡張を考慮した割り当てを求めています。実際の/56、/48などは通信事業者の方針と契約で決まるため、固定値として断定できません。

経路表では、最長プレフィックス一致を使う

宛先が複数の経路プレフィックスに一致すると、ルーターは通常、最も長く一致する、つまり最も具体的な経路を選びます。::/0は先頭0ビットだけを条件とするデフォルト経路で、より具体的な経路がない宛先に使います。

複数の連続した範囲を短い共通プレフィックスへまとめて広告することをroute aggregation(ルート・アグリゲーション/経路集約)と呼びます。経路表を小さくできますが、実際に到達可能な範囲だけを適切に集約します。

プレフィックスは一個のIPv6アドレスではない

2001:db8:1200::/48は範囲を表す記法で、末尾が0の一個の端末アドレスだけを指すものではありません。対して2001:db8:1200:25::80は128ビットの一つのアドレスです。アドレスを一件だけの範囲として示すなら/128になります。

プレフィックス長の考え方はIPv4のCIDRと共通しますが、IPv6にはブロードキャストがなく、アドレス自動設定や近隣探索などの前提も異なります。IPv4のサブネット慣習をそのまま当てはめません。

仕様の確認資料:RFC 4291「IP Version 6 Addressing Architecture」、RFC 6177「IPv6 Address Assignment to End Sites」、RFC 7421「Why 64?」

関連用語