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报文

 

image

 

image

 

一个使用LWIP协议栈的嵌入式设备连接路由器想自动获取IP时:通过LWIPSLAAC和无状态DHCP6配合完成,SLAAC功能内置在LWIP协议栈中通过捕获路由器发出的RA报文获取公网的IPv6前缀,通过DHCP6获取路由器的DNS等信息。

收到RA报文后会调用到函数:nd6_process_autoconfig_prefix,并且在这个函数中使用RA报文带有的地址前缀和自身的MAC地址生成一个新的IPv6地址。

 

posted @ 2025-08-16 17:08  _燃灯续昼  阅读(45)  评论(0)    收藏  举报