當一個IPv6節點在網路上新出現時,直接相連的鏈路上的其它IPv6節點可以通過鄰居發現協定發現這個新節點,進而獲得它的鏈路層地址。IPv6節點也能通過鄰居發現協定來查找路由器,維護處於活動狀態的鄰居節點的可達性信息。
基本介紹
- 中文名:鄰居發現協定
- 外文名:Neighbor Discovery Protocol,NDP
主要作用,協定報文,
主要作用
鄰居發現協定對主機、路由器和網路節點的通信均具有重要的作用,總結如下:
- 對於主機,使用鄰居發現協定發現相鄰的路由器、自動配置地址、地址前綴即路由等。
- 對於路由器,公告路由器的相關參數、路由及鏈路的地址前綴。
- 對於節點,解析IPv6數據包將被轉發到的鄰居節點的鏈路層地址、獲取鄰接點的可達性、確定鄰接點的鏈路層地址什麼時候發生變化。
NDP(Neighbor Discovery Protocol,鄰居發現協定)在IPv6協定體系中占有重要的位置。IPv6那些明顯優於IPv4的特性,都依賴於NDP來實現。
協定報文
鄰居發現的這些功能主要通過鄰居發現協定報文實現,鄰居發現協定分組裝載在ICMPv6分組內部。鄰居發現協定中定義了五種ICMPv6分組類型,它們的名稱和作用如下。
- 路由器請求(RS,Router Solicitation)報文
當主機的接口開始工作時,主機會傳送路由器請求訊息,請求可能存在的路由器答覆,即是為了探尋與自己相連的路由器的情況。
- 路由器通告(RA,Router Advertisement)報文
路由器通告由路由器周期性地傳送,也可作為收到的路由器請求(來自主機)的回響傳送出去。每個路由器通告中還可能包含前綴信息、鏈路配置和IPv6協定參數等信息。路由器通告宣告著路由器的存在和一些自身配置。
- 鄰居請求(NS,Neighbor Solicitation)報文
節點可以傳送鄰居請求用以解析另一個節點的鏈路層地址和驗證另一個節點的可達性。鄰居請求還用來驗證一條特定鏈路上的地址是否是唯一的:當節點上產生了一個新地址時,會向整個鏈路上的其它節點傳送鄰居請求,詢問該地址是否已經被占用。如果該地址已經被占用,那么占用該地址的節點會回復鄰居通告,否則多次檢測後沒有收到回復,則該新地址生效。
- 鄰居通告(NA,Neighbor Advertisement)報文
節點可以傳送鄰居通告來回響鄰居請求分組,它還會傳送未經請求的鄰居通告,將節點的鏈路層地址變化通知其它節點。
- 重定向(Redirect)報文
路由器通過重定向報文通知主機,對於一條特定的路由,如果不是最佳路由,則通知主機最佳路由及下一跳。