首页/网络/IP 与子网速查/EUI-64 接口标识:MAC 中间插 FFFE 并翻转 U/L 位
IPv6 与下一代网络42 条

EUI-64 接口标识:MAC 中间插 FFFE 并翻转 U/L 位

经典 SLAAC 从 48 位 MAC 生成 64 位 IID:拆成前后各 24 位、中间插 FFFE,再把首字节的 U/L 位(0x02)翻转。示例:00:1a:2b:3c:4d:5e → IID 021a:2bff:fe3c:4d5e。

IP 与子网速查网络更新于 2026-10-13

EUI-64 生成规则

EUI-64 是早期无状态地址自动配置生成接口标识的标准方法:取 48 位 MAC 地址,从中间切成前后各 24 位,在中间插入固定的 FFFE,再把第一个字节的第 7 位翻转,得到 64 位接口标识,拼到 /64 前缀后就是完整 IPv6 地址。翻转这一位是因为原 MAC 里的该位表示全局或本地,而 IPv6 接口标识里该位含义是相反方向。

基本信息

输入48 位 MAC 地址
步骤一拆成前后各 24 位
步骤二中间插入 FFFE,形成 64 位
步骤三翻转首字节的第 7 位(异或 0x02)
结果64 位接口标识,拼接到 /64 前缀后
现状现代系统默认使用随机或稳定隐私地址,EUI-64 已不是主流

生成步骤

生成步骤
MAC: 00:1a:2b:3c:4d:5e
① 拆分:00:1a:2b | 3c:4d:5e
② 插入 FFFE:00:1a:2b:ff:fe:3c:4d:5e
③ 首字节 00 异或 0x02 得到 02
④ 接口标识:021a:2bff:fe3c:4d5e
⑤ 拼前缀:2001:db8:1:10:021a:2bff:fe3c:4d5e

位操作细节

步骤涉及位作用
插入 FFFE第 25 至 40 位把 48 位扩展到 64 位
翻转 U/L 位首字节第 7 位(0x02)把 MAC 的全局/本地标志适配为 IPv6 语义
保留其余位其余 62 位原样复制,保证唯一性来源一致

典型使用场景

  • 换算考试题:给出 MAC 求接口标识或完整 IPv6 地址,是网络课程的高频题型
  • 核对设备地址来源:看到接口标识里含 ff:fe 基本可判断由 EUI-64 方式生成
  • 理解隐私问题:接口标识直接源自硬件地址,意味着终端可被跨网络长期追踪
  • 排查地址不一致:系统改成随机地址后,按 EUI-64 推算的结果与实际地址对不上
  • 审计旧配置:早期静态绑定的 EUI-64 地址在系统升级后可能失效
现代操作系统默认启用隐私扩展,同一张网卡在不同网络会使用不同接口标识,因此用 EUI-64 反推实际地址往往对不上,这不是配置错误。
EUI-64 只是接口标识的一种生成方式,前缀依然来自 RA 或手工配置;把两者混为一谈会导致“为什么地址前缀也变了”这类误判。

易错点

  • 忘记翻转首字节的 U/L 位:接口标识首字节少异或 0x02,得到的地址与设备实际使用的不一致
  • 拿随机化后的 MAC 计算 EUI-64:现代系统默认使用随机硬件地址,推算结果自然对不上
  • 把 FFFE 插错位置:必须插在第 3 与第 4 字节之间,插在末尾会得到完全不同的标识
  • 认为 EUI-64 仍是默认行为:多数系统早已改用稳定隐私或随机标识,配置与排查时需以实际地址为准

数据来源与参考

  • RFC 4291 §2.5.1(修改版 EUI-64)
  • RFC 4862(SLAAC)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌