IPv6-NDP
1. IPv6是什么?
答:IPv6是下一代互联网协议,旨在解决IPv4地址枯竭问题并提升网络性能。IPv6采用128位地址长度(IPv4为32位)
2. NDP协议是什么?
答:NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。
NDP协议中一共有五种ICMPv6报文类型,分别是RS,RA,NS,NA和Redirect报文。

3. 邻居请求NS、邻居通告NA报文
NS报文:被请求节点的组播MAC地址+请求节点的源MAC地址+被请求节点的组播IP地址+请求节点的源IP地址
NA报文:请求节点的源MAC地址+被请求节点的单播MAC地址+请求节点的组播IP地址+被请求节点的单播IP地址
当被请求节点回复了请求节点的NS报文,请求节点就知道了被请求节点的MAC 和单播IP地址。
关于IPv6的多播地址:




4. 路由器通告RA报文


一个使用LWIP协议栈的嵌入式设备连接路由器想自动获取IP时:通过LWIP的SLAAC和无状态DHCP6配合完成,SLAAC功能内置在LWIP协议栈中通过捕获路由器发出的RA报文获取公网的IPv6前缀,通过DHCP6获取路由器的DNS等信息。
收到RA报文后会调用到函数:nd6_process_autoconfig_prefix,并且在这个函数中使用RA报文带有的地址前缀和自身的MAC地址生成一个新的IPv6地址。

浙公网安备 33010602011771号