IPv6 アドレスは 128 ビット長の識別子であり、個々のインタフェースや、インタフェースセットを識別します。すべてのタイプの IPv6 アドレスは、インタフェースに割り当てられ、ノード (ホストやルーター) には割り当てられません。各インタフェースの所属先は 1 つのノードだけなので、ノードのインタフェースのユニキャストアドレスは、そのノードの識別子として使用できます。1 つのインタフェースには、任意のタイプの複数の IPv6 アドレスを割り当てることができます。
IPv6 アドレスには、ユニキャスト、任意キャスト、マルチキャストの 3 種類のタイプがあります。
ユニキャストアドレスは、1 つのインタフェースを識別する
任意キャストアドレスは、インタフェースのセットを識別する。その場合、任意キャストアドレスに送信されるパケットはそのセットのメンバーの 1 つに配信される
マルチキャストアドレスはインタフェースグループを識別する。その場合、マルチキャストアドレスに送信されるパケットは、そのグループのすべてのインタフェースに配信される
IPv6 にはブロードキャストアドレスはない。マルチキャストアドレスが代わりをする
IPv6 は IPv4 アドレスの 4 倍のビット数のアドレス (128 対 32) をサポートします。これは、IPv4 のアドレス領域の 40 億 x 40 億倍の大きさに相当します。実際にはアドレスの割り当てとルーティングでは階層を作成する必要があり、アドレス領域の利用効率が低下するため、利用できるアドレス数は減ります。ただし現状では、IPv6 で提供するアドレス領域で十分です。
アドレスの先頭ビットでは IPv6 アドレスのタイプを指定します。この先頭ビットがある可変長フィールドをフォーマットプレフィックス (FP) といいます。表 14-1 は、これらのプレフィックス (接頭辞) の初期割り当てです。
表 14-1 フォーマットプレフィックスの割り当て
割り当て |
プレフィックス (バイナリ) |
アドレス領域の端数 |
---|---|---|
予約 |
0000 0000 |
1/256 |
割り当てなし |
0000 0001 |
1/256 |
NSAP 割り当てに予約 |
0000 001 |
1/128 |
IPX 割り当てに予約 |
0000 010 |
1/128 |
割り当てなし |
0000 011 |
1/128 |
割り当てなし |
0000 1 |
1/32 |
割り当てなし |
0001 |
1/16 |
集約グローバルユニキャストアドレス |
001 |
1/8 |
割り当てなし |
010 |
1/8 |
割り当てなし |
011 |
1/8 |
ニュートラル相互接続ベースユニキャストアドレスに予約 |
100 |
1/8 |
割り当てなし |
101 |
1/8 |
割り当てなし |
110 |
1/8 |
割り当てなし |
1110 |
1/16 |
割り当てなし |
1111 0 |
1/32 |
割り当てなし |
1111 10 |
1/64 |
割り当てなし |
1111 110 |
1/128 |
割り当てなし |
1111 1110 0 |
1/512 |
リンクローカル用アドレス |
1111 1110 10 |
1/1024 |
サイトローカル用アドレス |
1111 1110 11 |
1/1024 |
マルチキャストアドレス |
1111 1111 |
1/256 |
割り当てでは、集約グローバルユニキャストアドレス、ローカル用アドレス、マルチキャストアドレスの直接割り当てがサポートされています。NSAP (ネットワークサービスポイント) アドレス、IPX (相互ネットワークパケット交換プロトコル) アドレス、ニュートラル相互接続アドレスには領域が予約されています。残りのアドレス領域は将来用に割り当てなしになっています。この残ったアドレス領域は、既存の領域の拡張部分 (集約グローバルユニキャストアドレスへの追加など) または、新しい用途 (独立したロケータや識別子) に利用できます。なお、任意キャストアドレスはユニキャストアドレス領域の範囲外に割り当てられるため、ここには示していません。
初期設定で、アドレス領域の約 15 パーセントが割り当てられます。残りの 85 パーセントは将来用に予約されています。
IPv6 ユニキャストアドレスの割り当て形式は、次のとおりです。
集約グローバルユニキャストアドレス
ニュートラル相互接続ユニキャストアドレス
NSAP アドレス
IPX 階層アドレス
サイトローカル用アドレス
リンクローカル用アドレス
IPv4 対応ホストアドレス
その他のアドレスタイプは、あとから定義できます。
集約グローバルユニキャストアドレスは、グローバル通信に使用するアドレスで、CIDR (クラスレス相互ドメインルーティング) における IPv4 アドレスに機能的に似ています。表 14-2 に、そのフォーマットをまとめます。
表 14-2 集約グローバルユニキャストアドレスのフォーマット
3 ビット |
13 ビット |
8 ビット |
24 ビット |
16 ビット |
64 ビット |
FP |
TLA ID |
RES |
NLA ID |
SLA ID |
Interface ID |
各記号は次の内容を示します。
FP |
フォーマットプレフィックス (001) |
TLA ID |
最上位集約識別子 |
RES |
将来用に予約 |
NLA ID |
次レベル集約識別子 |
SLA ID |
サイトレベル集約識別子 |
INTERFACE ID |
インタフェース識別子 |
最初の 48 ビットはパブリックトポロジを表します。次の 16 ビットは各サイトのトポロジを表します。
最初の 3 ビットは集約グローバルユニキャストアドレスとしてアドレスを識別します。次のフィールドである TLA ID はルーティング階層の最上位レベルです。その次の 8 ビットは将来用に予約されています。NLA ID フィールドは TLA ID を割り当てた組織用であり、アドレス指定階層の作成と、サイトの識別に使用します。
SLA ID フィールドは、組織で各ローカルアドレス指定階層の作成とサブネットを識別するときに使用します。IPv4 のサブネットと似ていますが、組織別に割り当てることのできるサブネット数がはるかに多いところが異なります。16 ビット SLA ID フィールドがサポートするサブネットの数は 65,535 です。Interface ID では、リンク上のインタフェースを識別します。Interface ID は、リンク上で一意であるものとします。さらに広い範囲で一意であってもかまいません。通常、インタフェース識別子は識別子のリンク層のアドレスと同じか、そこから派生した値です。
ローカル用アドレスは、ローカルルート範囲だけのユニキャストアドレス (サブネットまたは加入者ネットワーク内) であり、ローカルまたはグローバルな一意の範囲が適用されます。このアドレスは、サイト内において、グローバルアドレスまでのプラグアンドプレイローカル通信とブートストラップに使用します。
ローカル用アドレスには、リンクローカルとサイトローカルの 2 種類が定義されています。リンクローカル用は 1 つのリンク用であり、サイトローカル用は 1 つのサイト用です。表 14-3 は、リンクローカル用アドレスフォーマットを示したものです。
表 14-3 リンクローカル用アドレスフォーマット
10 ビット |
n ビット |
118-n ビット |
1111111010 |
0 |
Interface ID |
リンクローカル用アドレスは自動アドレス設定などの目的で 1 つのリンク上のアドレス指定に使用します。
表 14-4 は、サイトローカル用アドレスフォーマットです。
表 14-4 サイトローカル用アドレス
10 ビット |
n ビット |
m ビット |
118-(n+ m) ビット |
1111111011 |
0 |
Subnet ID |
Interface ID |
どちらのローカル用アドレスタイプも、インタフェース ID はそれを使用するドメインで一意であるものとします。通常、ノードの IEEE-802 48 ビットアドレスを使用します。Subnet ID は、サイト内の特定のサブネットを識別します。Subnet ID と Interface ID を組み合わせてローカルアドレスにすると、他のアドレス指定をしなくても大規模なプライベートインターネットを構築できます。
ローカル用アドレスでは、グローバルインターネットに接続していない組織でも、グローバルインターネットアドレス領域のアドレスプレフィックスを要求せずに操作ができます。組織からグローバルインターネットにあとから接続する場合、Subnet ID と Interface ID をグローバルプレフィックスと組み合わせれば (たとえば Registry ID + Provider ID + Subscriber ID)、グローバルアドレスを作成できます。インターネットに接続するときにプライベート (非グローバル) IPv4 アドレスを使用して番号をマニュアルで指定し直さなければならない IPv4 に比べ、大幅に強化された点です。IPv6 の場合、番号は自動的に指定し直されます。
IPv6 移行機能では、ホストとルーター向けに、IPv4 ルーティングインフラストラクチャのもとで IPv6 パケットを動的にトンネル処理できる方式を採用しています。この方式を利用した IPv6 ノードには、下位 32 ビットの IPv4 アドレスを保存した特別な IPv6 ユニキャストアドレスが割り当てられます。このタイプのアドレスを IPv4 互換 IPv6 アドレスといいます。そのフォーマットを表 14-5 に示します。
表 14-5 IPv4-互換 IPv6 アドレスフォーマット
80 ビット |
16 ビット |
32 ビット |
0000.......................................0000 |
0000 |
IPv4 アドレス |
組み込み IPv4 アドレスを保存する第 2 のタイプの IPv6 アドレスも定義されています。このアドレスは IPv6 アドレス領域内の IPv4 アドレスを表すときに使用します。このアドレスはアプリケーション、API、とオペレーティングシステムの実装内で主に使用します。このタイプのアドレスを IPv4 マップ IPv6 アドレスと呼びます。そのフォーマットを表 14-6 に示します。
表 14-6 IPv4-マップ IPv6 アドレスフォーマット
80 ビット |
16 ビット |
32 ビット |
0000..............................0000 |
FFFF |
IPv4 アドレス |
IPv6 任意キャストアドレスは複数のインタフェース (通常は異なるノードに所属) に割り当てるアドレスであり、任意キャストアドレスに送信されたパケットは、ルーティングプロトコルの測定距離に基づいて同じアドレスで最も近くにあるインタフェースにルーティングされます。
任意キャストアドレスをルートシーケンスの一部に使用すると、トラフィックを搬送するインターネットサービスプロバイダをノードで選択できます。この機能をソース選択ポリシーと呼ぶこともあります。この機能を実装するには、任意キャストアドレスを設定して、インターネットサービスプロバイダに所属するルーターセットを識別します (たとえばインターネットサービスプロバイダごとに 1 つの任意キャスト)。このような任意キャストを、IPv6 ルーティングヘッダーの中間アドレスに使用すれば、特定のプロバイダやプロバイダシーケンスでパケットを配信できます。また、任意キャストアドレスは特定のサブネットに関連づけられたルーターセットや、特定のルーティングドメインのエントリを提供するルーターセットの識別にも使用できます。
定義済みのユニキャストアドレスフォーマットを利用すれば、ユニキャストアドレス領域から任意キャストを指定できます。そのため、任意キャストアドレスは、構文的にはユニキャストアドレスと区別がつきません。複数のインタフェースにユニキャストアドレスを割り当てるとき、つまり任意キャストに変換する場合、任意キャストアドレスであることを表すため、アドレスを割り当てるノードを明示的に設定する必要があります。
IPv6 マルチキャストアドレスは、インタフェースグループの識別子です。1 つのインタフェースが所属できるマルチキャストグループは複数設定できます。表 14-7 は、マルチキャストアドレスフォーマットを示します。
表 14-7 マルチキャストアドレスフォーマット
8 ビット |
4 ビット |
4 ビット |
112 ビット |
11111111 |
FLGS |
SCOP |
Group ID |
アドレスの先頭の 11111111 は、アドレスがマルチキャストアドレスであることを表します。FLGS は、4 つのフラグ (0、0、0、T) のセットです。
上位 3 つのフラグは、予約されており、0 に初期化されます。
T=0 - 固定的に割り当てられた (既知の) マルチキャストアドレスを識別する。グローバルインターネット番号指定機関が割り当てる
T=1 - 非固定的に割り当てられた (一時的な) マルチキャストアドレスを識別する
SCOP は、4 ビットのマルチキャストスコープの値であり、マルチキャストグループの有効範囲を表します。表 14-8 は、SCOP の値です。
表 14-8 SCOP の値
0 |
予約済み |
8 |
組織ローカルスコープ |
1 |
ノードローカルスコープ |
9 |
(割り当てなし) |
2 |
リンクローカルスコープ |
A |
(割り当てなし) |
3 |
(割り当てなし) |
B |
(割り当てなし) |
4 |
(割り当てなし) |
C |
(割り当てなし) |
5 |
サイトローカルスコープ |
D |
(割り当てなし) |
6 |
(割り当てなし) |
E |
グローバルスコープ |
7 |
(割り当てなし) |
F |
予約済み |
グループ ID は、指定グループ内で、固定または一時的のどちらかのマルチキャストグループを識別します。