本地链接ipv6地址(MAC地址变成IPv6地址,EUI-64规范)

举例说明
1、MAC地址:FA16.3EBD.4BEB,其中FA对应的二位进是1111 1010,ipv6将第7位取反,即1010变成1000,这时就变成1111 1000,对应的十六位进制F8
2、在3E与BD之间插入FF.FE,变成了F816.3EFF.FEBD.4BEB
3、前面加上FE80::,最后的结果:FE80::F816:3EFF:FEBD:4BEB

原因解释
       根据IPv6地址格式的要求,IPv6地址的接口ID(最后64位)部分应具备全网唯一性。在LAN内,MAC地址是为主机的每块网卡分配的数据链路层标识符,自然具备全网唯一性。但MAC地址的长度为48位,而接口ID的长度则是64位。解决方法
      ✦在MAC地址的OUI和供应商分配的标识符之间,插入一个十六进制值FFFE(转换自16位的二进制值)
      ✦将OUI中的U/L标记位(第7位)置1
      IPv6主机会把转换后得到的64位EUI-64地址再结合64位网络前缀{FE80::/10+54位全0},自动配置为本机网卡的128位IPv6本地链路地址,该地址在本地链路具备唯一性。

                         ---《Wireshark网络分析实战》第2版,P268

windows下的本地链接ipv6地址默认是随机生成的。管理员CMD窗口下输入
“netsh interface ipv6 set global randomizeidentifiers=disable ”
可关闭windows的随机生成链路本地地址,采用EUI-64的方法生成。

11-24 00:37