IPv6 のインターフェイス識別子

IPv6 のインターフェイス識別子

IPv6 アドレスの最後の 64 ビットはインターフェイス識別子です。これは、IPv6 アドレスの 64 ビット プレフィックスで固有のものです。インターフェイス識別子を判別する方法は、次のとおりです。

  • RFC 2373 では、001 から 111 までのプレフィックスを使用するすべてのユニキャスト アドレスは、Extended Unique Identifier (EUI)-64 アドレスから派生する 64 ビットのインターフェイス識別子も使用する必要があることが規定されています。
  • RFC 3041 では、その時々であるレベルの匿名性を提供する無作為に生成されるインターフェイス識別子について説明されています。
  • インターフェイス識別子は、ステートフル アドレス自動構成 (たとえば DHCPv6) の間に割り当てられます。DHCPv6 の規格は現在定義中です。Windows Server 2003 ファミリおよび Windows XP の IPv6 プロトコルは、ステートフルなアドレス構成および DHCPv6 をサポートしていません。
  • 手動で構成されたインターフェイス識別子。

EUI-64 アドレスに基づくインターフェイス識別子

64 ビット EUI-64 アドレスは、米国電気電子学会 (IEEE) によって定義されています。EUI-64 アドレスは、ネットワーク アダプタに割り当てられているか、または IEEE 802 アドレスから派生します。

IEEE 802 アドレス

ネットワーク アダプタの従来のインターフェイス識別子は、IEEE 802 アドレスと呼ばれる 48 ビット アドレスを使用しています。このアドレスは、24 ビットの企業 ID (製造者 ID) と 24 ビットの拡張 ID (基板 ID) から構成されています。ネットワーク アダプタの製造者ごとに一意に割り当てられている企業 ID と、製造時に各ネットワーク アダプタに一意に割り当てられる基板 ID の組み合わせは、世界規模で一意な 48 ビット アドレスを構成します。この 48 ビット アドレスを、物理アドレス、ハードウェア アドレス、またはメディア アクセス制御 (MAC) アドレスともいいます。

48 ビット IEEE 802 アドレスの構造

IEEE 802 アドレスの定義済みビットは次のとおりです。

  • ユニバーサル/ローカル (U/L)
    U/L ビットは最初のバイトの 7 番目のビットで、アドレスをユニバーサルに管理するかローカルに管理するかを決定します。U/L ビットが 0 に設定されている場合は、一意な企業 ID の指定によって、IEEE がそのアドレスを管理しています。U/L ビットが 1 に設定されている場合は、アドレスはローカルに管理されます。ネットワーク管理者が製造者アドレスを無効にして別のアドレスを指定しています。
  • 個別/グループ (I/G)
    I/G ビットは最初のバイトの下位ビットで、アドレスが個別アドレス (ユニキャスト) かグループ アドレス (マルチキャスト) かを判別するために使用されます。0 に設定されている場合、そのアドレスはユニキャスト アドレスです。1 に設定されている場合、そのアドレスはマルチキャスト アドレスです。

一般的な 802.x ネットワーク アダプタ アドレスの場合は、U/L ビットと I/G ビットがいずれも 0 (ユニバーサルに管理されるユニキャスト MAC アドレス) に設定されています。

IEEE EUI-64 アドレス

IEEE EUI-64 アドレスは、ネットワーク インターフェイス アドレス指定の新しい標準の代表格です。企業 ID の長さは依然 24 ビットですが、拡張 ID は 40 ビットで、ネットワーク アダプタ製造者に対してより大規模なアドレス空間を提供します。EUI-64 アドレスは、IEEE 802 アドレスと同じ方法で U/L ビットと I/G ビットを使用します。

EUI-64 アドレスの構造

IEEE 802 アドレスを EUI-64 アドレスにマッピングする

IEEE 802 アドレスから EUI-64 アドレスを作成するには、16 ビットの 11111111 11111110 (0xFFFE) を、IEEE 802 アドレスの企業 ID と拡張 ID の間に挿入します。次の図は、IEEE 802 アドレスの EUI-64 アドレスへの変換プロセスを示しています。

IEEE 802 アドレスから EUI-64 アドレスへの変換

EUI-64 アドレスを IPv6 のインターフェイス識別子にマッピングする

IPv6 ユニキャスト アドレスの 64 ビット インターフェイス識別子を取得するには、EUI-64 アドレスの U/L ビットを補完します (1 ならば 0 に設定し、0 ならば 1 に設定)。次の図は、ユニバーサルに管理される EUI-64 ユニキャスト アドレスの変換プロセスを示しています。

IPv6 ID に変換された EUI-64 アドレス

IEEE 802 アドレスから IPv6 のインターフェイス識別子を取得するには、まず IEEE 802 アドレスを EUI-64 アドレスにマップし、次に U/L ビットを補完します。次の図は、ユニバーサルに管理される IEEE 802 ユニキャスト アドレスの変換プロセスを示しています。

IPv6 ID に変換された IEEE 802 アドレス

IEEE 802 アドレスの変換例

ホスト A のイーサネット MAC アドレスが 00-AA-00-3F-2A-1C とします。まず、3 バイト目と 4 バイト目の間に FF-FE を挿入して、このアドレスを EUI-64 形式に変換すると、00-AA-00-FF-FE-3F-2A-1C になります。次に、最初のバイトの 7 番目のビットである U/L ビットを補完します。最初のバイトはバイナリ形式で 00000000 です。7 番目のビットを補完すると、00000010 (0x02) になります。最終的に 02-AA-00-FF-FE-3F-2A-1C となり、これをコロン区切り 16 進数値による表記に変換すると、インターフェイス識別子は 2AA:FF:FE3F:2A1C になります。結果として、MAC アドレス 00-AA-00-3F-2A-1C を持つネットワーク アダプタに対応するリンク ローカル アドレスは、FE80::2AA:FF:FE3F:2A1C になります。

  • U/L ビットを補完するときに、EUI-64 アドレスがユニバーサルに管理されている場合は最初のバイトに 0x2 を加算し、ローカルに管理されている場合は最初のバイトから 0x2 を減算します。

匿名アドレスのインターフェイス識別子

今日の IPv4 ベースのインターネットでは、一般的なユーザーはインターネット サービス プロバイダ (ISP) に接続し、Point-to-Point プロトコル (PPP) および Internet Protocol Control Protocol (IPCP) を使用して IPv4 アドレスを取得します。ユーザーが接続するたびに、異なる IPv4 アドレスが取得されます。このため、インターネット上で IP アドレスに基づいてユーザーのトラフィックを追跡することは困難です。

IPv6 ベースのダイヤルアップ接続では、接続後、ルーター探索およびステートレス アドレス自動構成によって、64 ビット プレフィックスがユーザーに割り当てられます。インターフェイス識別子が常に (静的 IEEE 802 アドレスから派生した) EUI-64 アドレスに基づいているとすると、プレフィックスに関係なく特定のノードのトラフィックを識別することが可能になり、特定のユーザーやユーザーのインターネットでの活動を簡単に追跡できます。この課題に対処し、あるレベルの匿名性を提供するために、その時々で無作為に生成される IPv6 の代替のインターフェイス識別子が、RFC 3041 に説明されています。

最初のインターフェイス識別子は、乱数を使って生成されます。将来インターフェイス識別子の値を生成するための履歴情報を保存できない IPv6 システムでは、IPv6 プロトコルが初期化されるたびに新しくランダムなインターフェイス識別子が生成されます。記憶域機能があり、履歴値が保存される IPv6 システムでは、IPv6 プロトコルが初期化されたときに新しいインターフェイス識別子が次のプロセスによって作成されます。

  1. 記憶域から履歴値を取得し、アダプタの EUI-64 アドレスに基づいてインターフェイス識別子を追加します。
  2. Message Digest-5 (MD5) の一方向 (不可逆) の暗号化ハッシュを、手順 1 の値に対して計算します。
  3. 手順 2 で計算して得た MD5 ハッシュ値の最後の 64 ビットを、次のインターフェイス識別子計算のための履歴値として保存します。
  4. 手順 2 で計算して得た MD5 ハッシュ値の最初の 64 ビットを取得し、7 番目のビットを 0 に設定します。7 番目のビットは U/L ビットに対応します。これを 0 に設定すると、ローカルに管理されたインターフェイス識別子になります。この結果がインターフェイス識別子になります。

結果の IPv6 アドレスは、このランダムなインターフェイス識別子に基づいており、匿名アドレスとして知られています。匿名アドレスは、ステートレス アドレス自動構成を使用するパブリック アドレス プレフィックスに対して生成されます。匿名アドレスは、次に示す有効な生存期間および優先する生存期間の値より下の値で使用されます。

  • 受信したルーター通知メッセージに含まれるプレフィックス情報オプションに指定された生存期間。
  • ローカルの既定値。有効な生存期間は 1 週間で、優先する生存期間は 1 日です。

匿名アドレスの有効な生存期間が過ぎると、新しいインターフェイス識別子と匿名アドレスが生成されます。

Windows Server 2003 ファミリの IPv6 プロトコルは、既定でグローバル アドレス プレフィックスの匿名アドレスを作成しません。既定の設定を変更するには、netsh interface ipv6 set privacy state=enabled コマンドを使用します。詳細については、「インターフェイス IPv6 のための Netsh コマンド」を参照してください。

タグ :


Page view tracker