What
允许设备在网络中自动获取 IP 地址,而无需像 IPv4 那样依赖 DHCP 服务器。从而实现 plug and play,即插即用
Stateless
网络中的路由器不需要记录哪个设备获取了哪个 IP 地址。路由器只负责广播网络配置信息,具体的地址由设备自己生成和管理。
Autoconfiguration
终端设备(如手机、电脑、IoT 设备)能够自己生成全球唯一的 IPv6 地址,无需人工干预或中心服务器分配。
How
依赖于 ICMPv6 协议中的几类消息
1. Link Local Address
设备连接到网络后,首先会基于自己的 MAC 地址或随机数生成一个临时的本地地址(以 fe80:: 开头)。
2. Router Solicitation - RS
设备使用这个临时地址向网络发送 RS 消息,实际上是在问:“这里有路由器吗?请告诉我网络前缀是多少。”
3. Router Advertisement - RA
路由器收到 RS 后(或者定期),会发送 RA 消息。这个消息包含了两条关键信息:
- 网络前缀 (Prefix): 比如
2001:db8:1234::/64,这相当于告诉设备“你所在的网段是这个”。 - 标志位 (Flags): 告诉设备是否应该使用 SLAAC,还是去找 DHCPv6 服务器。
同时还可以携带一个DNS信息,实现不需要DHCP的自动配置
4. Global Unicast Address
设备收到前缀后,将其与自己的接口标识符 (Interface ID) 结合,生成完整的 128 位 IPv6 地址。
IPv6 地址 = 网络前缀 (64 位) + 接口标识符 (64 位)
5. Duplicate Address Detection - DAD
在正式使用这个地址之前,设备会发送由邻居发现协议 (NDP) 支持的请求,确认网络中没有其他设备在使用同一个地址。如果没有冲突,地址配置完成。