Proces EUI-64

IEEE zdefiniowała proces EUI (ang. Extended Unique Identifier) lub zmodyfikowany proces EUI-64. Ten proces używa 48 bitowego Ethernetowego adresu MAC i wprowadza do jego środka 16 dodatkowych bitów w celu uzyskania 64 bitowego identyfikatora interfejsu.

Adresy MAC są zwykle zapisywane w postaci szesnastkowej i składają się z dwóch części:

Identyfikator interfejsu EUI-64 zapisywany jest binarnie i składa się z trzech części:

Proces EUI-64 jest przedstawiony na rys. 1 używając adresu MAC interfejsu GigabitEthernet czyli FC99:4775:CEE0.

Krok 1: Podziel adres MAC na OUI oraz identyfikator urządzenia.

Krok 2: Wstaw wartość szesnastkową FFFE, która binarnie wynosi: 1111 1111 1111 1110.

Krok 3: Zamień dwie pierwsze cyfry szesnastkowe części OUI na zapis binarny i odwróć wartość bitu U/L (bit 7). W tym przykładzie 0 na pozycji bitu 7 zamienione jest na 1.

W rezultacie procesu EUI-64 wygenerowany identyfikator interfejsu to FE99:47FF:FE75:CEE0.

Uwaga: Użycie bitu U/L i powód odwracania jego wartości omówione są w RFC 5342.

Przewagą stosowania procesu EUI-64 jest to, że adres MAC może być użyty do określenia identyfikatora interfejsu. Pozwala on również administratorowi sieci łatwo zlokalizować urządzenie końcowe po adresie IPv6 używając unikalnego adresu MAC. Jednakże dla wielu użytkowników stanowiło to problem z zachowaniem prywatności. Uważają oni, że ich pakiety mogą być śledzone w drodze do bieżącego fizycznego routera. W związku z tą kwestią mogą być użyte identyfikatory interfejsów generowane losowo.

Losowo generowane identyfikatory interfejsów

W zależności od systemu operacyjnego urządzenie może używać identyfikatorów interfejsów generowanych losowo zamiast używania adresu MAC i procesu EUI-64. Na przykład począwszy od systemu Windows Vista systemy Windows używają identyfikatorów interfejsów generowanych losowo zamiast tych tworzonych przez proces EUI-64. Windows XP i wcześniejsze wersje systemu Windows używają procesu EUI-64.

Jak pokazano na rys. 2 prostym sposobem (dającym prawie pewność) określenia czy adres był stworzony w procesie EUI-64 jest znalezienie wartości FFFE po środku identyfikatora interfejsu.

Po stworzeniu identyfikatora interfejsu, czy to za pomocą procesu EUI-64 czy też poprzez losową generację, może być on połączony z prefiksem IPv6 w celu stworzenia adresu globalnego unicast lub adresu link-local.