IPv6邻居发现协议详解:ND消息、数据结构与路由器公告

需积分: 12 3 下载量 170 浏览量 更新于2024-07-30 收藏 800KB PPT 举报
IPv6邻居发现协议(Neighbor Discovery, ND)是IPv6网络中用于自动配置地址、发现邻居路由器以及检测网络可达性的重要机制。ND协议的主要消息类型包括邻居请求(Neighbor Solicitation, NS)、路由器 solicitation(Router Solicitation, RS)、路由器通告(Router Advertisement, RA)和邻居通告(Neighbor Advertisement, NA),它们各自承担着不同的功能。 ND消息格式: - NS消息类型号为135,用于向目标节点请求其链路本地地址或全球单播地址。 - RA消息类型号为134,路由器发送给网络中的其他节点,提供地址配置、路由器信息和其他配置选项。 - NA消息类型号为136,回应NS请求,确认邻居关系或报告地址冲突。 - Redirect消息类型号为137,用于重定向到正确的IPv6地址。 数据结构在IPv6节点中: - 节点内部维护了邻接表,存储已知邻居的信息,如地址、状态等。 - 每条ND消息都有生存时间(TTL)字段,确保消息的有效传播范围。 - 消息中可能包含源地址(可能是发送接口的链路本地地址或MAC地址)、目标地址(广播地址或特定地址)和一些可选选项,如源链路层地址、DHCPv6配置等。 防止网外ND消息攻击: 为了保护网络免受外部恶意攻击,路由器 Solicitation (RS) 和 Router Advertisement (RA) 的消息格式有特定规则。RS消息的源地址通常使用发送接口的MAC地址,而目标地址是链路层广播地址或特定的FF02::2。RA消息则根据触发源有所不同:非RS触发时,源地址是路由器的链路本地地址,目标地址可能是FF02::1或发送接口地址。 路由器通告中的关键参数: - Code字段标识是否遵循RFC 4861标准。 - CurHopLimit(跳数限制)表示数据包经过的最大路由器数量。 - Flag字段表明消息携带的功能,如DHCPv6地址配置和额外配置信息。 总结来说,IPv6 ND协议是构建IPv6网络基础架构的关键部分,通过这些消息和数据结构的交互,确保了地址自动配置、邻居发现以及网络安全。理解并正确配置ND协议有助于网络的稳定性和效率。