Solaris のシステム管理 (第 3 巻)

IPv6 アドレス指定

IPv6 アドレスは 128 ビット長の識別子であり、個々のインタフェースや、インタフェースセットを識別します。すべてのタイプの IPv6 アドレスは、インタフェースに割り当てられ、ノード (ホストやルーター) には割り当てられません。各インタフェースの所属先は 1 つのノードだけなので、ノードのインタフェースのユニキャストアドレスは、そのノードの識別子として使用できます。1 つのインタフェースには、任意のタイプの複数の IPv6 アドレスを割り当てることができます。

IPv6 アドレスには、ユニキャスト、任意キャスト、マルチキャストの 3 種類のタイプがあります。

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 ユニキャストアドレスの割り当て形式は、次のとおりです。

その他のアドレスタイプは、あとから定義できます。

集約グローバルユニキャストアドレス

集約グローバルユニキャストアドレスは、グローバル通信に使用するアドレスで、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 

Interface ID 

リンクローカル用アドレスは自動アドレス設定などの目的で 1 つのリンク上のアドレス指定に使用します。

表 14-4 は、サイトローカル用アドレスフォーマットです。

表 14-4 サイトローカル用アドレス

10 ビット 

n ビット

m ビット

118-(n+ m) ビット

1111111011 

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 の場合、番号は自動的に指定し直されます。

組み込み 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 に初期化されます。

SCOP は、4 ビットのマルチキャストスコープの値であり、マルチキャストグループの有効範囲を表します。表 14-8 は、SCOP の値です。

表 14-8 SCOP の値

予約済み 

組織ローカルスコープ 

ノードローカルスコープ 

(割り当てなし) 

リンクローカルスコープ 

(割り当てなし) 

(割り当てなし) 

(割り当てなし) 

(割り当てなし) 

(割り当てなし) 

サイトローカルスコープ 

(割り当てなし) 

(割り当てなし) 

グローバルスコープ 

(割り当てなし) 

予約済み 

グループ ID は、指定グループ内で、固定または一時的のどちらかのマルチキャストグループを識別します。