ND 协议(Neighbor Discovery Protocol,邻居发现协议)是 IPv6 网络中的关键基础协议,主要用于实现相邻节点间的通信管理、地址自动配置及路由相关功能。它整合了 IPv4 中 ARP、ICMP 路由器发现、ICMP 重定向等多个协议的功能,并通过 ICMPv6 消息实现交互。以下是其核心内容的详细解析:
一、ND 协议的核心功能
-
地址解析(替代 IPv4 的 ARP)
- 解析相邻节点的链路层地址(如 MAC 地址),实现 IP 到链路层地址的映射。
- 通过邻居 solicitation(NS)消息查询目标 IPv6 地址对应的链路层地址,目标节点用邻居 advertisement(NA)消息响应。
-
邻居可达性检测
- 监控相邻节点的可达状态,确保通信链路有效。
- 节点发送 NS 消息或单播数据包,若收到 NA 或响应,则认为邻居可达;超时未响应则标记为不可达。
-
路由器发现与前缀通告
- 主机自动发现本地网络中的路由器,并获取网络前缀信息(用于地址自动配置)。
- 路由器定期发送路由器通告(RA)消息,包含网络前缀、默认路由、MTU 等参数;主机也可主动发送路由器 solicitation(RS)消息请求 RA。
-
地址自动配置
- 支持无状态地址自动配置(SLAAC):主机根据 RA 消息中的前缀,结合接口标识符生成 IPv6 地址,并通过重复地址检测(DAD) 确保地址