IPv6链路本地地址实战指南:从原理到自动化配置
1. IPv6链路本地地址核心概念解析
在IPv6网络中,链路本地地址(Link-Local Address)扮演着类似IPv4中169.254.0.0/16的角色,但设计更为精巧。这类地址以FE80::/10为固定前缀(实际使用中扩展为FE80::/64),其核心特性是仅在当前物理链路有效,路由器不会转发这类地址的数据包。与IPv4的自动私有地址相比,IPv6链路本地地址的生成机制更加标准化。
地址结构分解:
- 前64位:固定前缀
FE80::/64(实际二进制为1111111010开头) - 后64位:接口标识符(通常由EUI-64规范生成)
| 10 bits | 54 bits | 64 bits |
+---------+-----------------------+----------------------------+
| 1111111010 | 0...0 (54位填充) | 接口ID(EUI-64或随机生成) |
关键提示:即使没有全局IPv6地址,所有启用IPv6的接口都必须具备链路本地地址,这是IPv6协议栈的基础要求。
2. EUI-64地址生成算法详解
2.1 标准EUI-64转换流程
将48位MAC地址转换为64位接口ID的过程:
-
分割MAC地址:将
00:0c:29:74:7f:0e分为两部分:- 前24位(OUI):
00:0c:29 - 后24位(NIC部分):
74:7f:0e
- 前24位(OUI):
-
插入FFFE:
# Python示例代码 mac = "00:0c:29:74:7f:0e".split(':') eui64 = mac[0:3] + ['ff', 'fe'] + mac[3:] # 得到 ['00', '0c', '29', 'ff', 'fe', '74', '7f', '0e'] -
反转U/L位(第7位):
255



被折叠的 条评论
为什么被折叠?



