EUI-64 流程

IEEE 定义了扩展唯一标识符 (EUI) 或修改 EUI-64 流程。 该流程使用客户端的 48 位的以太网 MAC 地址,并在该 48 位 MAC 地址的中间插入另外 16 位来创建 64 位接口 ID。

以太网 MAC 地址一般使用十六进制表示,由两部分组成:

EUI-64 接口 ID 以二进制表示,共分三个部分:

图 1 是 EUI-64 流程图,它使用 R1 千兆以太网 MAC 地址,即 FC99:4775:CEE0。

步骤 1:划分 OUI 和设备标识符之间的 MAC 地址。

步骤 2:插入十六进制值 FFFE(二进制形式为 1111 1111 1111 1110)。

步骤 3:将 OUI 的前 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

根据操作系统,设备可以使用随机生成的接口 ID,而不使用 MAC 地址和 EUI-64 流程。 示例,从 Windows Vista 开始,Windows 使用随机生成的接口 ID,而不是 EUI-64 创建的接口 ID。 Windows XP 和之前的 Windows 操作系统均使用 EUI-64。

确定更可能使用 EUI-64 创建地址的简单方法是接口 ID 中间的 FFFE,如图 2 所示。

接口 ID 创建后(无论是使用 EUI-64 流程还是通过随机生成),它都可以结合 IPv6 前缀来创建全局单播地址或本地链路地址。