IEEE EUI-64 地址代表网络接口寻址的新标准。公司ID仍然是24位长度,但扩展ID是40位,从而为网络适配器制造商创建了更大的地址空间。EUI-64地址使用U/L和I/G位的方式与IEEE 802地址相同。
将IEEE 802地址映射到EUI-64 地址。
要从IEEE 802 地址创建EUI-64地址,则16位的11111111 11111110 (0xFFFE) 将被插入到公司 ID 和扩展 ID 之间的IEEE 802地址中。
因为MAC地址是唯一的,所以EUI-64地址一般是唯一的。
如何将48 bits的MAC地址转化为64 bits的接口ID?
转化步骤:
1.在MAC地址的公司ID(高24 bits)和节点ID(低24 bits)中间插入 FFFE
2.将MAC地址的U/L位[“全球/本地”("Universal/Local")](从高位开始的第七位) 求反 (invert)
例:
原MAC 20-CF-30-00-32-1A
1.在MAC地址的公司ID(高24 bits)和节点ID(低24 bits)中间插入FFFE;得到 20-CF-30-FF-FE-00-32-1A.
2.20为十六进制,转化为二进制为0010 0000,将MAC地址的U/L位(从高位开始的第七位)求反(invert);
得到0010 0010,转化为16进制,即为22;
20-CF-30-00-32-1A
|公司ID和节点ID之间插入FFFE
/\
/ \
20-CF-30-FF-FE-00-32-1A
|十六进制的20转化为二进制
|
00100000(20)
|将U/L求反
|
00100010(22)
最终得到结果为22-CF-30-FF-FE-00-32-1A.
EUI-64 应用:
以太网卡的 IPv6 Link-Local Address 是通过该接口的接口标识来构造的。当转换为冒号十六进制符号时,在EUI-64接口ID前面加上fe80::/64可以得到网卡的link-local地址。例子中MAC地址为20-CF-30-00-32-1A的网卡的link-local地址为FE80::22CF:30FF:FE00:321A.
无状态自动配置Stateless ,是通过dhcpdv6 server得到64位的前缀,加上EUI-64接口ID构成的(当转换为冒号十六进制符号时);用来对一块以太网卡进行无状态自动配置的 EUI-64 前缀(IPv6 address prefix)的长度必须是64位。