細致解說IPv6鄰居發現協議
在我們歸納IPv6的一些新特點的時候,肯定提及過IPv6鄰居發現協議。對于這個版本的新說法可能有些人不太清楚,但是如果說IPv4的地址解析協議,相信大家都比較熟悉了。兩者雖然有些共同之處,但是對于IPv6鄰居發現協議來說卻有著更廣泛的應用。
IPv6鄰居發現協議包括哪些內容?
IPv6定義了鄰居發現協議(Neighbor Discovery protocol,NDP),它使用一系列IPv6控制信息報文(ICMPv6)來實現相鄰節點(同一鏈路上的節點)的交互管理,并在一個子網中保持網絡層地址和鏈路層地址之間的映射。鄰居發現協議中定義了5種類型的信息:路由器宣告、路由器請求、路由重定向、鄰居請求和鄰居宣告。通過這些信息,實現了對以下功能的支持:
◆路由器發現:即幫助主機來識別本地路由器;
◆前綴發現:節點使用此機制來確定指明鏈路本地地址的地址前綴以及必須發送給路由器轉發的地址前綴;
◆參數發現:幫助節點確定諸如本地鏈路MTU之類的信息;
◆地址自動配置:用于IPv6節點自動配置;
◆地址解析:替代了ARP和RARP,幫助節點從目的IP地址中確定本地節點(即鄰居)的鏈路層地址;
◆下一跳確定:IPv6鄰居發現協議可用于確定包的下一個目的地,即可確定包的目的地是否在本地鏈路上。如果在本地鏈路,下一跳就是目的地;否則,包需要選路,下一跳就是路由器,鄰居發現可用于確定應使用的路由器;
◆鄰居不可達檢測:幫助節點確定鄰居(目的節點或路由器)是否可達;
◆重復地址檢測:幫助節點確定它想使用的地址在本地鏈路上是否已被占用;
◆重定向:有時節點選擇的轉發路由器對于待轉發的包而言并非***。這種情況下,該轉發路由器可以對節點進行重定向,使它將包發送給更佳的路由器。例如,節點將發往Internet的包發送給為節點所在的內部網服務的默認路由器,該內部網路由器可以對節點進行重定向,以使其將包發送給連接在同一本地鏈路上的 Internet路由器。
IPv6鄰居發現協議與IPv4地址解析協議有什么區別?
IPv6不再執行地址解析協議(ARP)或反向地址解析協議(RARP),而以鄰居發現協議中的相應功能代替,IPv6鄰居發現協議與IPv4地址解析協議主要區別如下:
IPv4中地址解析協議ARP是獨立的協議,負責IP地址到鏈路層地址的轉換,對不同的鏈路層協議要定義不同的ARP協議。IPv6中鄰居發現協議NDP包含了ARP的功能,且運行于因特網控制報文協議ICMPv6上,更具有一般性,包括更多的內容,而且適用于各種鏈路層協議;
ARP協議以及ICMPv4路由器發現和ICMPv4重定向報文基于廣播,而NDP協議的鄰居發現報文基于高效的組播和單播;
可達性檢測的目的是確認相應IP地址代表的主機或路由器是否還能收發報文,IPv4沒有統一的解決方案。NDP中定義了可達性檢測過程,保證IP報文不會發送給“黑洞”。