EUI-64 プロセス
IEEE は、拡張固有識別子(Extended Unique Identifier; EUI)を定義、または EUI-64 プロセスを変更しました。 このプロセスでは、クライアントの 48 ビットのイーサネット MAC アドレスの中央に 16 ビットを挿入して、64 ビットのインターフェイス ID を作成します。
一般に、イーサネット MAC アドレスは 16 進数で表され、次の 2 つの部分で構成されます。
- 組織固有識別子(Organizationally Unique Identifier; OUI) – OUI は、IEEE から割り当てられる 24 ビット(6 桁の 16 進数)のベンダー コードです。
- デバイス識別子 - デバイス識別子は、共通する OUI 内で固有の 24 ビット(6 桁の 16 進数)値です。
EUI-64 インターフェイス ID は 2 進数で表され、次の 3 つの部分で構成されます。
- クライアント MAC アドレスの 24 ビットの OUI。ただし、7 番目のビット(ユニバーサル/ローカル(U/L)ビット)は反転します。 つまり、7 番目のビットが 0 の場合は 1 に、1 の場合は 0 に反転します。
- 挿入された 16 ビット値 FFFE(16 進数)。
- クライアント MAC アドレスの 24 ビットのデバイス識別子。
図 1 に、EUI-64 プロセスを示します。ここでは、R1 の GigabitEthernet の MAC アドレス FC99:4775:CEE0 を使用しています。
手順 1:MAC アドレスを OUI とデバイス識別子に分割します。
手順 2:16 進数値 FFFE を挿入します(2 進表記で 1111 1111 1111 1110)。
手順 3:OUI の先頭 2 つの 16 進数値を 2 進数に変換し、U/L ビット(7 番目のビット)を反転します。 この例では、7 番目のビット 0 が 1 になります。
その結果、EUI-64 によって生成されるインターフェイス ID は、FE99:47FF:FE75:CEE0 になります。
注:U/L ビットの用途と、その値を反転する理由については、RFC 5342 を参照してください。
EUI-64 の利点は、イーサネット MAC アドレスを使用してインターフェイス ID を特定できることです。 また、ネットワーク管理者が、固有の MAC アドレスを使用してエンドデバイスの IPv6 アドレスを容易に追跡できるのも利点です。 ただし、これに関しては、多くのユーザ間でプライバシー上の問題となりました。 パケットをさかのぼって実際の物理コンピュータを突き止めることができるという点を多くのユーザが心配しています。 そのため、ランダムに生成されたインターフェイス ID を使用する方が好まれることもあります。
ランダムに生成されたインターフェイス ID
OS によっては、デバイスは、MAC アドレスと EUI-64 プロセスを使用するのではなく、ランダムに生成されたインターフェイス ID を使用することがあります。 たとえば、Windows Vista 以降の Windows では、EUI-64 によって作成されたインターフェイス ID ではなく、ランダムに生成されたインターフェイス ID を使用します。 Windows XP 以前の Windows OS では EUI-64 を使用しました。
図 2 に示すように、インターフェイス ID の中央に FFFE を配置するだけで、アドレスが EUI-64 で作成されている可能性が高いかどうかを容易に調べることができます。
EUI-64 プロセスまたはランダム生成によってインターフェイス ID が作成されたら、そのインターフェイス ID と IPv6 プレフィクスを組み合わせて、グローバル ユニキャスト アドレスまたはリンクローカル アドレスを作成できます。
- グローバル ユニキャスト アドレス - SLAAC を使用している場合、デバイスは ICMPv6 RA からプレフィクスを受信して、そのプレフィクスをインターフェイス ID と組み合わせます。
- リンクローカル アドレス - リンクローカル プレフィクスは FE80::/10 で始まります。 一般に、デバイスは FE80::/64 をプレフィクス/プレフィクス長として使用し、その後にインターフェイス ID が続きます。