Solaris のシステム管理 (IP サービス)

IPv6 アドレス指定の概要

1 つのノードが複数のインタフェースを持つことができるため、IPv6 アドレスは、ノードではなく、インタフェースに割り当てます。さらに、1 つのインタフェースに複数の IPv6 アドレスを割り当てることも可能です。


注 –

IPv6 アドレスフォーマットについての技術的な詳細情報については、RFC 2374、 IPv6 Global Unicast Address Format を参照してください。


IPv6 は 3 つのタイプのアドレスを定義します。

ユニキャスト

個々のノードの 1 つのインタフェースを識別します。

マルチキャスト

複数のインタフェースの 1 つのグループ (通常は、異なるノードにある) を識別します。マルチキャストアドレスに送信されたパケットは、この「マルチキャストグループ」のすべてのメンバーに送信されます。

エニーキャスト

複数のインタフェースの 1 つのグループ (通常は、異なるノードにある) を識別します。エニーキャストアドレスに送信されたパケットは、この「エニーキャストグループ」のうち、送信者に物理的に最も近いメンバーに送信されます。

IPv6 アドレスの構成部分

IPv6 アドレスは、長さが 128 ビットで、8 つの 16 ビットフィールドから構成され、各フィールドはコロンで区切られます。各フィールドには、IPv4 アドレスのドット区切り表記ではなく、16 進数値で指定する必要があります。次の図において、x は 16 進数値を表します。

図 3–2 基本的な IPv6 アドレスフォーマット

次の図は、IPv6 アドレスの 3 つの構成部分を表します。次のテキストは、この 3 つの構成部分について説明します。

左の 3 つのフィールド (48 ビット) には、「サイト接頭辞」が含まれます。サイト接頭辞は「公開トポロジ」を表します。公開トポロジは、通常、ISP または RIR (Regional Internet Registry) がサイトに割り当てます。

真ん中の 1 つのフィールド (16 ビット) には、「サブネット ID」が入ります。サブネット ID は、管理者 (またはほかの管理者) が自分のサイトに割り当てます。サブネット ID は「プライベートトポロジ」を表します。サイトの内部を示すため、「サイトトポロジ」と呼ぶこともあります。

右の 4 つのフィールド (64 ビット) には「インタフェース ID」が含まれます。これは「トークン」と呼ばれることもあります。インタフェース ID は、インタフェースの MAC アドレスから自動的に構成されるか、EUI-64 フォーマットで手動で構成されます。

もう一度、図 3–2を見てください。

2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

この例は、IPv6 アドレスの 128 ビットすべてを示します。最初の 48 ビット 2001:0db8:3c4d はサイト接頭辞を含み、公開トポロジを表します。次の 16 ビット 0015 はサブネット ID を含み、そのサイトのプライベートトポロジを表します。右端の最後の 64 ビット 0000:0000:1a2f:1a2b はインタフェース ID を含みます。

IPv6 アドレスの省略

ほとんどの IPv6 アドレスは、128 ビットすべてが使用されるわけではありません。結果として、フィールド内の使用されていないビットはゼロで埋められます (ゼロだけが含まれます)。

IPv6 アドレスアーキテクチャーでは、2 つのコロン (: : ) 表記で、連続するゼロだけの 16 ビットフィールドを表すことができます。たとえば、図 3–2 の IPv6 アドレスでは、インタフェース ID の 2 つの連続するゼロだけのフィールドは 2 つのコロンで表現できます。したがって、 2001:0db8:3c4d:0015::1a2f:1a2b のようになります。その他のゼロだけのフィールドは、単一の 0 として表現できます。また、フィールド内の先頭のゼロは省略できます。たとえば、0db8db8 のように省略できます。

したがって、2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b というアドレスは、2001:db8:3c4d:15::1a2f:1a2b のように省略できます。

2 つのコロン表記を使用すると、IPv6 アドレス内のゼロだけの連続するフィールドを表現できます。たとえば、 2001:0db8:3c4d:0015:0000:d234::3eee:0000 という IPv6 アドレスは 2001:db8:3c4d:15:0:d234:3eee:: のように省略できます。

IPv6 の接頭辞

IPv6 アドレスの左側は接頭辞を含みます。この接頭辞は、IPv6 パケットの経路制御に使用されます。IPv6 接頭辞のフォーマットは次のとおりです。

接頭辞/長さ (ビット数)

接頭辞の長さは CIDR (クラスレス相互ドメイン経路制御) 表記で表現されます。CIDR 表記とは、アドレスの終わりにスラッシュを付けて、その後ろに接頭辞の長さ (ビット数) を表します。CIDR フォーマットの IP アドレスについては、「IPv4 CIDR アドレス指定スキーマの設計」を参照してください。

IPv6 アドレスの「サイト接頭辞」は、IPv6 アドレスの左側の 48 ビット (最大) です。たとえば、2001:db8:3c4d:0015:0000:0000:1a2f:1a2b/48 という IPv6 アドレスのサイト接頭辞は、左側の 48 ビットである 2001:db8:3c4d に含まれています。この接頭辞を表現するには、ゼロを圧縮して、次のような表記を使用します。

2001:db8:3c4d::/48


注 –

2001:db8::/32 という接頭辞は、この例だけで使用される特別な IPv6 接頭辞です。


サブネット接頭辞」を指定すると、ルーターまでの内部ネットワークトポロジも定義できます。次に、IPv6 のサブネット接頭辞の例を示します。

2001:db8:3c4d:15::/64

サブネット接頭辞は常に 64 ビットを含んでいます。サブネット接頭辞の 64 ビットには、サイト接頭辞の 48 ビットとサブネット ID の 16 ビットが含まれます。

次の接頭辞は、特別な目的のために予約されています。

2002::/16

6to4 経路制御接頭辞が続くことを示します。

fe80::/10

リンクローカルアドレスが続くことを示します。

ff00::/8

マルチキャストアドレスが続くことを示します。

ユニキャストアドレス

IPv6 のユニキャストアドレスには、2 つの種類があります。

ユニキャストアドレスの種類は、アドレス内の左側の連続するビット (接頭辞が含まれるところ) によって判断されます。

ユニキャストアドレスフォーマットは、次の階層から構成されます。

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

グローバルユニキャストアドレスはインターネット内でグローバルに一意です。「IPv6 の接頭辞」に、グローバルユニキャストアドレスである IPv6 アドレスの例を示します。次の図に、IPv6 アドレスの一部と比較して、グローバルユニキャストアドレスの有効範囲を示します。

図 3–3 グローバルユニキャストアドレスの一部

この図では、ユニキャストアドレスは、その公開トポロジ、サイト接頭辞とそのサイトトポロジ、サブネット ID、およびインターネット ID から構成されます。

公開トポロジ

サイト接頭辞は、ルーターまでのネットワークの「公開トポロジ」を定義します。企業のサイト接頭辞は、ISP または RIR (Regional Internet Registry) から取得します。

サイトトポロジと IPv6 サブネット

IPv6 では、「サブネット ID」はネットワークの管理サブネットを定義し、その長さは 16 ビット (最大) です。サブネット ID は、IPv6 ネットワーク構成の一部として割り当てます。「サブネット接頭辞」は、サブネットが割り当てられる特定のリンクを指定することによって、ルーターへのサイトトポロジを定義します。

IPv6 サブネットは、概念的には IPv4 サブネットと同じであり、各サブネットは通常、単一のハードウェアリンクに関連付けられます。しかし、IPv6 サブネット ID は、ドット付き 10 進数表記ではなく、16 進数表記で表現されます。

インタフェース ID

インタフェース ID」は、特定のノードのインタフェースを識別します。インタフェース ID はサブネット内で一意である必要があります。IPv6 ホストは、近傍検索プロトコルを使用して、自分のインタフェース ID を自動的に生成します。近傍検索は、ホストのインタフェースの MAC アドレスまたは EUI-64 アドレスに基づいて、インタフェース ID を自動的に生成します。インタフェース ID は手動でも割り当てることができます。IPv6 ルーターと、IPv6 が有効なサーバーには、インタフェース ID を手動で割り当てることが推奨されます。手動で EUI-3513 アドレスを作成する方法については、RFC 3513、Internet Protocol Version 6 (IPv6) Addressing Architecture を参照してください。

移行用グローバルユニキャストアドレス

移行のため、IPv6 プロトコルは IPv4 アドレスを IPv6 アドレス内に埋め込む機能を持っています。この種類の IPv4 アドレスは、既存の IPv4 ネットワークへの IPv6 パケットのトンネルを容易にします。移行用グローバルユニキャストアドレスの例としては、6to4 アドレスがあります。6to4 アドレスの詳細については、「6to4 自動トンネル」を参照してください。

リンクローカルユニキャストアドレス

リンクローカルユニキャストアドレスを使用できるのは、ローカルネットワークリンク上だけです。リンクローカルアドレスは、企業の外では有効でなく、認識されません。次に、リンクローカルアドレスのフォーマットの例を示します。


例 3–1 リンクローカルユニキャストアドレスの一部

この図は、IPv6 リンクローカルアドレスのフォーマットを表します。次のテキストは、このフォーマットについて説明します。

リンクローカル接頭辞」のフォーマットは、次のとおりです。

fe80::interface-ID/10

次に、リンクローカルアドレスの例を示します。

fe80::23a1:b152


fe80

10 ビットの 2 進数接頭辞 1111111010 の 16 進数表記。この接頭辞は、IPv6 アドレスの種類がリンクローカルであると識別します。

interface-ID

インタフェースの 16 進数アドレス。通常は 48 ビットの MAC アドレスから生成されます。

Oracle Solaris インストール中に IPv6 を有効にした場合、ローカルマシン上の最も低い番号のインタフェースはリンクローカルアドレスで構成されます。ローカルリンクにおいて、あるリンクをほかのリンクから識別するために、各インタフェースは少なくとも 1 つのリンクローカルアドレスを必要とします。したがって、ノードにインタフェースを追加した場合、リンクローカルアドレスを手動で構成する必要があります。構成後、このノードはそのリンクローカルアドレスを使用して、アドレスの自動構成や近傍検索を行います。

マルチキャストアドレス

IPv6 は、マルチキャストアドレスの使用をサポートします。マルチキャストアドレスは、「マルチキャストグループ」を識別します。マルチキャストグループとは、通常は異なるノード上にあるインタフェースのグループのことです。1 つのインタフェースが所属できるマルチキャストグループは複数設定できます。IPv6 アドレスの最初の 16 ビットが ff00 n である場合、そのアドレスはマルチキャストアドレスです。

マルチキャストアドレスは、マルチキャストグループのメンバーとして定義されているすべてのインタフェースに情報やサービスを送信するのに使用されます。たとえば、ローカルリンク上のすべての IPv6 ノードと通信するときなどです。

あるインタフェースに IPv6 ユニキャストアドレスを作成するとき、カーネルは自動的にそのインタフェースを特定のマルチキャストグループのメンバーにします。たとえば、カーネルはすべてのノードを Solicited Node マルチキャストグループのメンバーにします。このグループは、近傍検索プロトコルが到達できるかどうかを検出するときに使用されます。また、カーネルはすべてのノードを All-Nodes または All Ruters マルチキャストグループのメンバーにします。

マルチキャストアドレスの詳細については、「IPv6 マルチキャストアドレスの詳細」を参照してください。技術的な情報については、RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses を参照してください。この RFC は、マルチキャストアドレスのフォーマットについて説明します。マルチキャストアドレスとマルチキャストグループの適切な使用方法の詳細については、RFC 3307, Allocation Guidelines for IPv6 Multicast Addresses を参照してください。

エニーキャストアドレスとエニーキャストグループ

IPv6 エニーキャストアドレスは、異なる IPv6 ノード上のインタフェースのグループを識別します。このようなインタフェースの各グループのことを「エニーキャストグループ」と呼びます。エニーキャストアドレスにパケットが送信されると、エニーキャストグループのうち、送信者に物理的に最も近いメンバーがそのパケットを受信します。


注 –

IPv6 の Oracle Solaris 実装は、エニーキャストアドレスやグループの作成をサポートしていません。しかし、Oracle Solaris IPv6 ノードはエニーキャストアドレスにパケットを送信できます。詳細については、「6to4 リレールーターとの間のトンネルについての考慮事項」を参照してください。