IPv6-NDP
1. IPv6是什么?
答:IPv6是?下一代互聯(lián)網(wǎng)協(xié)議?,旨在解決IPv4地址枯竭問(wèn)題并提升網(wǎng)絡(luò)性能。IPv6采用128位地址長(zhǎng)度(IPv4為32位)
2. NDP協(xié)議是什么?
答:NDP(Neighbor Discovery Protocol,鄰居發(fā)現(xiàn)協(xié)議)是IPv6的一個(gè)關(guān)鍵協(xié)議,它組合了IPv4中的ARP、ICMP路由器發(fā)現(xiàn)和ICMP重定向等協(xié)議,并對(duì)它們作了改進(jìn)。作為IPv6的基礎(chǔ)性協(xié)議,NDP還提供了前綴發(fā)現(xiàn)、鄰居不可達(dá)檢測(cè)、重復(fù)地址監(jiān)測(cè)、地址自動(dòng)配置等功能。
NDP協(xié)議中一共有五種ICMPv6報(bào)文類型,分別是RS,RA,NS,NA和Redirect報(bào)文。

3. 鄰居請(qǐng)求NS、鄰居通告NA報(bào)文
NS報(bào)文:被請(qǐng)求節(jié)點(diǎn)的組播MAC地址+請(qǐng)求節(jié)點(diǎn)的源MAC地址+被請(qǐng)求節(jié)點(diǎn)的組播IP地址+請(qǐng)求節(jié)點(diǎn)的源IP地址
NA報(bào)文:請(qǐng)求節(jié)點(diǎn)的源MAC地址+被請(qǐng)求節(jié)點(diǎn)的單播MAC地址+請(qǐng)求節(jié)點(diǎn)的組播IP地址+被請(qǐng)求節(jié)點(diǎn)的單播IP地址
當(dāng)被請(qǐng)求節(jié)點(diǎn)回復(fù)了請(qǐng)求節(jié)點(diǎn)的NS報(bào)文,請(qǐng)求節(jié)點(diǎn)就知道了被請(qǐng)求節(jié)點(diǎn)的MAC 和單播IP地址。
關(guān)于IPv6的多播地址:




4. 路由器通告RA報(bào)文


一個(gè)使用LWIP協(xié)議棧的嵌入式設(shè)備連接路由器想自動(dòng)獲取IP時(shí):通過(guò)LWIP的SLAAC和無(wú)狀態(tài)DHCP6配合完成,SLAAC功能內(nèi)置在LWIP協(xié)議棧中通過(guò)捕獲路由器發(fā)出的RA報(bào)文獲取公網(wǎng)的IPv6前綴,通過(guò)DHCP6獲取路由器的DNS等信息。
收到RA報(bào)文后會(huì)調(diào)用到函數(shù):nd6_process_autoconfig_prefix,并且在這個(gè)函數(shù)中使用RA報(bào)文帶有的地址前綴和自身的MAC地址生成一個(gè)新的IPv6地址。

浙公網(wǎng)安備 33010602011771號(hào)