IPV6 鄰居發(fā)現ND協(xié)議_第1頁
IPV6 鄰居發(fā)現ND協(xié)議_第2頁
IPV6 鄰居發(fā)現ND協(xié)議_第3頁
IPV6 鄰居發(fā)現ND協(xié)議_第4頁
IPV6 鄰居發(fā)現ND協(xié)議_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、LWFLWF常見術語節(jié)點(node):執(zhí)行 IP 協(xié)議的設備。路由器(router):一個節(jié)點,轉發(fā)不是顯示尋址到自己的 IP 分組。主機(host):任何不是路由器的節(jié)點。上層(upper layer):緊挨著下面的 IP 層的協(xié)議層。例如傳輸協(xié)議 TCP 和 UDP、控制協(xié)議 ICMP、路由協(xié)議OSPF,以及被在 IP 上“隧道化” (即,被封裝進 IP)的互聯網絡層(或低層)協(xié)議,例如 IPX、AppleTalk 或 IP 自身。鏈路(link):通信設施或媒介,是緊挨著上面的 IP 層的協(xié)議層,節(jié)點能夠在其上的鏈路層通信。例如以太網(簡單或橋接)、PPP 鏈路、X.25、幀中繼、ATM

2、 網絡,以及互聯網絡層(或高層)“隧道”,例如 IPv4 或 IPv6 自身之上的隧道。 LWF 接口(interface): 節(jié)點附著到鏈路的點。鄰居(neighbors):附著在相同鏈路的節(jié)點們。前綴(prefix):由地址的一些起始比特構成的比特串。鏈路層地址(link-layer address):接口的鏈路層標識符。例如以太網鏈路的 IEEE802 地址。on-link:一個地址。該地址分配給特定鏈路上的接口。 如果滿足下述條件, 節(jié)點認為地址是 on-link: 該地址由鏈路的多個前綴之一覆蓋(例如,由Prefix Information選項中on-link標記標識),或 鄰近路由

3、器規(guī)定該地址為Redirect消息的目標,或 收到針對該(目標)地址的Neighbor Advertisement消息,或 從該地址收到任何Neighbor Discovery消息。LWFoff-link:與“on-link”相反;它也是一個地址,該地址沒有分配給特定鏈路上的任何接口。最長前綴匹配(longest prefix match):在覆蓋目標地址的一組前綴中確定一個前綴的處理。如果前綴中的所有比特匹配目標地址的最左邊比特,目標地址由該前綴覆蓋。當多個前綴覆蓋一個地址時,最長前綴是那個匹配的前綴??蛇_性(reachability):在任何情況下通向鄰居的單向“轉發(fā)”路徑正在正常運行。尤

4、其是,是否發(fā)送到鄰居的分組正在達到鄰居的 IP 層,以及正在被接收 IP 層適當處理。對于鄰近路由器,可達性意味著由節(jié)點的 IP 層發(fā)送的分組被交付到該路由器的 IP 層,并且該路由器的確正在轉發(fā)分組(即,它被配置為路由器,而不是主機)。對于主機,可達性意味著由節(jié)點的 IP 層發(fā)送的分組正在交付到鄰居主機的 IP 層。LWF鏈路類型不同鏈路層有不同特性.與 Neighbor Discovery 有關的鏈路特性是: 多播能力(multicast capable):一條鏈路,它在鏈路層上支持一種本地機制,發(fā)送分組到所有鄰居(即,廣播),或所有鄰居的一個子集。點對點(point-to-point):

5、一條鏈路,它僅連接兩個接口。假定點對點鏈路有多播能力和鏈路本地地址。非廣播多址(non-broadcast multi-access, NBMA):一條鏈路,有多于兩個接口附著到它,但是該鏈路不支持多播或廣播的本地形式(例如,X.25、ATM、幀中繼等)。共享介質(shared media):一條鏈路, 它允許眾多節(jié)點間直接通信,但是附著在共享介質上的節(jié)點們按這樣一種方法配置:對于所有 on-link 目的地,它們沒有完整的前綴消息。即,在 IP 層,在同一鏈路上的節(jié)點們或許不知道它們彼此是鄰居;默認情況,它們通過路由器通信。例如大型公共數據網絡,如 SMDS 和 B-ISDN。也稱為“大型云

6、”。參閱SH-MEDIA??勺僊TU(variable MTU):一條鏈路,它沒有公認的MTU(例如,EEE 802.5令牌環(huán))。許多鏈路(例如,以太網)有由鏈路層協(xié)議或由特定的文件定義的標準MTU,描述如何在鏈路層上運行IP。非對稱可達性(asymmetric reachability):一條鏈路,在那里,非折返可達性,和/或非傳遞可達性是正常操作的一部分。(非折返可達性意味著分組可從A到B的,但是分組不能從B到A。非傳遞可達性意味著分組可從A到B,并且分組可從B到C,但是分組不能從A到C。)許多無線鏈路具有這種性質。LWF地址分類所有節(jié)點多播地址(all-nodes multicast a

7、ddress): 到所有節(jié)點的鏈路本地范圍地址,FF02:1。所有路由器多播地址(all-routers multicast address): 到所有路由器的鏈路本地范圍地址,FF02:2。 被請求-節(jié)點多播地址(solicited-node multicast address):FF02:1:FFXX:XXXX24 位LWF 鏈路本地地址(link-local address):(FE80:/10)站點本地地址 FEC0:/10唯一本地地址 FC00:1/7未指定地址(unspecified address): 保留地址值,它表示沒有這個地址(例如,地址未知)。它決不能用于目的地地址,但是

8、可用于源地址,如果發(fā)送者(還)不知道它自己的地址(例如,在無狀態(tài)地址自動配置期間驗證地址沒有被使用時ADDRCONF)。未指定地址的值為 0:0:0:0:0:0:0:0。LWFICMPv6報文格式報文格式Type值決定了報文所屬的類別 0 -127:錯誤報文 128-255:信息報文ICMPv6 error messages:1 Destination Unreachable目的不可達 2 Packet Too Big 數據包超長3 Time Exceeded 超時4 Parameter Problem 參數問題ICMPv6 informational messages: Echo Reque

9、st 回送請求128 Echo Reply 回送應答LWF鄰居發(fā)現(Neighbor Discovery)協(xié)議 IPv6的鄰居發(fā)現(Neighbor Discovery)協(xié)議結合了IPv4中的地址解析協(xié)議(Address Resolution Protocol ARP)和ICMP的路由器發(fā)現和重定向。 IPv6節(jié)點將鄰居發(fā)現用于下列目的: 確定同一鏈路節(jié)點的第2層地址; 找到可以轉發(fā)它們的數據包的鄰近路由器 隨時跟蹤哪些鄰居可達,哪些不可達并且檢測有改變的鏈路層地址。LWFND協(xié)議功能鄰居發(fā)現協(xié)議鄰居發(fā)現協(xié)議地址解析地址解析(NUD)無狀態(tài)自動配置無狀態(tài)自動配置路由器重定向路由器重定向路由器發(fā)

10、現路由器發(fā)現重復地址檢測重復地址檢測(DAD)前綴重新編址前綴重新編址LWFIPv6鄰居發(fā)現(ND)機制鄰居發(fā)現使用 ICMPv6協(xié)議 包括 IPv6 報頭, ICMPv6 報頭, 鄰居發(fā)現(ND)報頭, ND選項ND定義了5種ICMPv6報文類型 1 路由器請求Router solicitation (ICMPv6 type 133)2 路由器公告Router advertisement (ICMPv6 type 134)3 鄰居請求Neighbor solicitation (ICMPv6 type 135)4 鄰居公告Neighbor advertisement (ICMPv6 type

11、 136)5 重定向Redirect (ICMPV6 type 137)LWFIPv6的ND相對于對于IPv4協(xié)議的改進鄰居不可達檢測是基礎協(xié)議的一部分,鄰居不可達檢測在路由器出錯或鏈路接口改變的情況下,改善了數據包的傳輸。路由器通告和ICMP重定向使用本地鏈路地址來識別路由器。鄰居發(fā)現協(xié)議被用來檢測一個鏈路上重復的IP地址?,F在路由器發(fā)現是基礎協(xié)議集的一部分,IPv4機制則需要從路由表中獲取信息。路由器通告數據包中包含了路由器的鏈路層地址。收到路由器通告的節(jié)點無需再發(fā)出ARP請求來獲取該路由器接口的鏈路層地址。路由器通告數據包包含一個鏈路的前綴(子網信息),再也不用配置子網掩碼。鄰居發(fā)現提供

12、了一種易于對網絡進行重新編號的機制,引入新的前綴和地址。路由器通告使得無狀態(tài)地址自動配置變?yōu)榭赡?,可以通知何時應用有狀態(tài)地址配置。一個鏈路可以分配多個前綴。默認,主機從路由器得知所有的前綴,但路由器也可以配置為不通告前綴,此時路由器接收到含未通告的前綴的數據包,會發(fā)布ICMP重定向消息。標準身份驗證和安全機制可應用于鄰居發(fā)現。LWFIPv6地址結構地址結構IPv6地址地址 = 前綴前綴 + 接口標識接口標識 前綴前綴:相當于v4地址中的網絡ID 接口標識接口標識:相當于v4地址中的主機ID2001:A304:6101:1:E0:F726:4E582001:A304:6101:1E0:F726:

13、4E58前綴前綴接口標識接口標識LWFIPv6地址配置方法分類地址配置方法分類手工配置有狀態(tài)地址自動配置(DHCPv6)無狀態(tài)地址自動配置(ND協(xié)議)LWF無狀態(tài)地址自動配置路由發(fā)現和前綴獲得主機發(fā)送Router Solicitation報文路由器回應Router Advertisement報文主機獲得前綴及其它參數RS報文報文RA報文報文1:1/64節(jié)點請求路由通告LWF路由器請求和公告2. RA1. RS1ICMP Type = 133 (RS)Src = link-local address (FE80:/10)Dst = all-routers multicast address (F

14、F02:2)Query = please send RA2ICMP Type = 134 (RA)Src = link-local address (FE80:/10)Dst = all-nodes multicast address (FF02:1)Data = options, subnet prefix, lifetime, autoconfig flagLWF無狀態(tài)地址自動配置接口ID生成48位位MAC地址地址64位接口位接口ID將將48比特的比特的MAC地址轉化為地址轉化為64比特的接口比特的接口IDMAC地址的唯一性保證了接口地址的唯一性保證了接口ID的唯一性的唯一性設備自動生成,

15、不需人為干預設備自動生成,不需人為干預LWFCMTS中無狀態(tài)地址自動配置在ip-bundle下配置生效C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1:1/64 autoconfig C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1:1/64 no-onlink C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1:1/64 autoconfig no-onlink 注:其中可單獨配置no-onlink,autoconfig,也可以autoconfi

16、g與no-onlink搭配使用。LWF在IPv6網絡中,路由器以一定的時間間隔發(fā)送路由通告消息,便利主機獲得IPv6前綴,但是,當主機產生了鏈路地址后,主機就會發(fā)送路由器請求消息Router Solicitation,主機將RouterSolicitation消息發(fā)送到ALL-ROUTERS多播組,典型的源地址是一個接口的鏈路本地地址。Router Solicitation消息促使路由器立即發(fā)送Router-Advertisement消息。路由器周期性發(fā)送路由通告LWFLWF Router Solicitation消息格式 -主機發(fā)送Router Solicitations以便督促路由器盡快生

17、成Router Advertisements。Router Solicitation消息格式如圖1所示。LWF Router Advertisement消息格式-路由器周期地發(fā)出Router Advertisement消息,或因響應Router Solicitations而發(fā)送Router Advertisement消息。 Router Advertisement消息格式如圖2所示。LWFCMTS與RFC的RA格式對比RFC定義的RA格式CMTS上RA格式LWFCMTS里RA參數的設置C158-C10G(conf-if-mac 10)#router-advertisement cur-hop-

18、limit hop limitenable enable router advertisements, default enablelife-time life time of the routerlink-mtu link MTU sizemanaged-flag managed address config flag.max-advert-interval max advert interval min-advert-interval min advert interval multicast-only multicast response to router-solicitationot

19、her-config-flag other stateful config flagprefix prefix optionreachable-time router reachable timeretransmit-time retransmit timer field in router advertrow-state row statusLWF Neighbor Solicitation消息格式節(jié)點發(fā)送Neighbor Solicitations消息,請求目標節(jié)點的鏈路層地址,同時也提供它們自己的鏈路層地址給目標節(jié)點。當節(jié)點需要解析地址時,多播發(fā)送Neighbor Solicitatio

20、ns消息;當節(jié)點搜索以便驗證鄰居的可達性時,單播發(fā)送Neighbor Solicitations消息。Neighbor Solicitation消息格式如圖3所示。LWFCMTS與RFC的NS格式對比RFC定義的NS格式CMTS上的NS格式LWF Neighbor Advertisement消息格式節(jié)點發(fā)送Neighbor Advertisements以響應Neighbor Solicitations,發(fā)送非請求Neighbor Advertisements以便(非可靠)快速傳播新信息。Neighbor Advertisement消息格式如圖4所示。3個標志: R路由器標志為1,發(fā)送方為路由器

21、; S請求標志為1,消息為響應鄰居請求發(fā)出; O覆蓋標志(1)表示通告消息中的信息應當覆蓋現有鄰居緩存記錄,并且更新所有緩存器中的鏈路層地址。LWFCMTS與RFC的NA格式對比RFC定義的NA格式CMTS上的NA格式LWF Redirect消息格式發(fā)送Redirect分組的路由器通知主機,在前往目的地的路徑上有一個較好的第一跳節(jié)點。主機能夠被重定向到較好的第一跳路由器,但是也能夠用重定向通知目的地事實上是鄰居。后者由設置ICMP Target Address等于ICMP Destination Address實現。Redirect消息格式如圖5所示。LWFDuplicate Address

22、Detection(DAD) -重復地址檢測 節(jié)點在發(fā)送路由器公告(RA)之前要獲得唯一的本地鏈路地址。 IPv6自動配置要求在使用地址之前進行地址重復檢測(DAD)。 標準DAD花費較長時間才能完成,因而引入了“樂觀的DAD”(RFC 4429) 注:CMTS中的DAD功能開啟是在ipbundle下使能的:C158-C10G(ip-bundle 10)#ipv6 dad enable (DAD默認是開啟的)LWF標準DAD過程(1) 在發(fā)送鄰居請求(NS)前,接口必須加入全節(jié)點組播地址(FF02:1)和生成IPv6地址的請求節(jié)點組播地址(solicited-node multicast ad

23、dress),即接收目的地址為這些IPv6地址的分組。(2)生成IPv6地址后隨機延時一段時間后開始發(fā)送用于DAD的鄰居請求(NS)消息。鄰居請求(NS)消息的源地址為:,目的地址為臨時單播地址的請求節(jié)點組播地址。(3) 在DAD過程中地址處于Tentative狀態(tài)(“暫時的”)(IFA_F_TENTATIVE)。在完成DAD過程后,tenativeAddr將會被作為“首選的”地址(PreferedAddr)。若發(fā)現了重復地址,則該地址變?yōu)閺U棄的地址(deprecatedAddr)。 背后原理:未確定唯一性的地址不能使用,即不能接收目的地址或者發(fā)送源地址為此地址的分組,但是與DAD相關的鄰居公

24、告(NA)消息除外。(4) 以下參數值是Linux操作系統(tǒng)下的缺省值,這些參數可根據需要配置: 發(fā)送鄰居請求(NS)的個數n=1 發(fā)送間隔Tret=1000msLWF地址沖突處理(1) 當節(jié)點收到目的地址為其正在做DAD檢測地址的鄰居請求(NS)消息時:如果請求的源地址類型為IPV6_ADDR_ANY(全0地址:),則節(jié)點從接口上刪除這個地址(DAD檢測失?。?,否則節(jié)點不處理此NS消息(2) 當節(jié)點收到目的地址為其正在做DAD檢測地址的鄰居公告(NA)時,則節(jié)點從接口上刪除這個地址(DAD檢測失?。?3) 如果節(jié)點為某個IPv6地址完成DAD檢測后,收到來自其它節(jié)點發(fā)送的目的地址為此IPv6地

25、址的用作DAD檢測的鄰居請求(NS)消息(此時該請求的源地址為IPV6_ADDR_ANY),則節(jié)點應該向全節(jié)點地址(ff02:1)發(fā)送鄰居公告(NA)。LWF主機概念性數據結構主機需要維護下述每個接口信息:(RFC P20)Neighbor Cache一組單個鄰居(最近有流量發(fā)送到這些鄰居)條目。Destination Cache一組關于最近有流量發(fā)送去的目的地的條目。Prefix List定義了一組on-link地址的前綴列表。Prefix List條目根據在Router Advertisements中收到的信息生成。每個條目有關聯的失效計時器值(從此通告中抽取),用于當前綴變得無效時終止前

26、綴。Default Router List路由器列表,分組將發(fā)送到這些路由器。LWF概念性發(fā)送算法 節(jié)點向目的地發(fā)送數據包時,使用目的地緩存、前綴列表、默認路由器列表確定合適的下一跳,然后路由器查詢鄰居緩存確定鄰居的鏈路層地址。 IPv6單播地址下一跳確定的操作方法是:發(fā)送者使用前綴列表中的前綴進行最長前綴匹配,確定數據包的目的地是在連接的還是非連接的。如果下一跳是在連接的,下一跳地址就和目的地址相同,否則發(fā)送者從默認路由器列表中選擇下一跳。LWF地址解析 通過鄰接點請求報文(NS)和鄰接點公告報文(NA)的交互來解析鏈路層地址 發(fā)送主機在接口上發(fā)送組播NS報文,該報文的目的地址為目標IP地址

27、所對應的請求節(jié)點組播地址(Solicited-node),在其中也包含了自己的鏈路層地址 目標主機收到NS報文后,就會了解到發(fā)送主機的IP地址和相應鏈路層地址 目標主機向源發(fā)送主機發(fā)送一個鄰接點公告報文(NA),該報文中包含自己的鏈路層地址LWF地址解析示意圖LWF鄰居不可到達性探測(NUD) Neighbor Unreachability Detection 用于主機和相鄰節(jié)點間的所有路徑,包括主機到主機通信,主機到路由器通信和路由器到主機通信。Neighbor Unreachability Detection 也可用于路由器之間,但是如果相同的機制存在(例如作為路由協(xié)議的一部分),對此不作

28、要求。 注:(CMTS主要關注的是RF端鄰居的不可達,Test group中做了詳細的測試)LWF鄰居緩存和目的地緩存 鄰居緩存:鄰居緩存維護著一份最近有過通信的鄰居的列表。 按照他們的單播IP地址列出,每條記錄包含了有關鄰居的鏈路層地址的信息,以及一個標志(鄰居是路由器還是主機)。 記錄還包含隊列中數據包的信息,鄰居可達性信息,以及下次鄰居不可達性檢測時間。 目的地緩存:用于維護最近有過通信的目的地的信息,包括本地目的地和遠程目的地。 鄰居緩存可以被看作是目的地緩存信息的子集。 遠程通信時,列出了下一跳路由器的地址。 包含MTU大小和往返定時器附加信息。LWFNeighbor Cache 條

29、目狀態(tài)Neighbor Cache 條目可處于以下 5 種狀態(tài)之一:INCOMPLETE關于該條目的地址解析正在被執(zhí)行。 具體來說, Neighbor Solicitation 已經發(fā)送到目標的請求-節(jié)點多播地址,但是相應的 Neighbor Advertisement 還沒有收到。REACHABLE在最后的 ReachableTime 毫秒內收到肯定確認,該確認指出到鄰居的轉發(fā)路徑正常運行。在 REACHABLE 狀態(tài)期間,發(fā)送分組時不發(fā)生特定操作。STALE自從收到最后一個表示轉發(fā)路徑正常運行的肯定確認后,超過ReachableTime毫秒時間已經過去。 在 STALE 狀態(tài)期間, 直到分

30、組被發(fā)送為止沒有操作發(fā)生。進入 STALE 狀態(tài),依賴于收到非請求 Neighbor Discovery 消息,該消息更新了緩存的鏈路層地址。收到這樣的消息不能確認可達性,進入 STALE 狀態(tài)確保可達性被迅速檢驗,如果該條目實際上正在被使用。 然而,直到該條目實際被使用為止可達性實際上沒有被檢驗。LWFDELAY自從收到最后一個表明轉發(fā)路徑正常運行的肯定確認, 超過 ReachableTime 毫秒時間已經過去, 并且在最后 DELAY_FIRST_PROBE_TIME 秒內發(fā)送了分組。如果在進入 DELAY 狀態(tài)后的 DELAY_FIRST_PROBE_TIME 秒內沒有收到可達性確認,發(fā)

31、送 Neighbor Solicitation 并改變狀態(tài)到 PROBE。DELAY 狀態(tài)是一種優(yōu)化,它適用于在下述場景給上層協(xié)議一些附加時間,以便提供可達性確認。這些場景是指,由于最近流量缺乏,自最近的確認以來ReachableTime 毫秒時間已經過去。沒有這個優(yōu)化,在流量間歇之后,當打開 TCP 連接時會進行初始化探測,即使隨后的三次握手幾乎立即提供可達性確認。PROBE通過每 RetransTimer 毫秒重復發(fā)送 Neighbor Solicitations 直到收到可達性確認,來主動地搜索可達性確認。LWFICMP重定向消息(ICMP Redirect) 路由器發(fā)出ICMP重定向消息用來告訴節(jié)點去往給定目的地的路徑上更優(yōu)的第一跳節(jié)點。 重定向消息可告知節(jié)點使用的目的地實際上是同一個鏈路上的一個鄰居,而不是遠程子網上的一個節(jié)點。 IP報頭中的源地址必須是發(fā)送消息的接口的本地鏈路地址,而目的地址是觸發(fā)重定向消息的數據包的源地址。 跳數是255LWFICMP重定向消息LWFTarget Address(目標地址)包含了路徑中更優(yōu)的下一跳接口的本地鏈路地址。Destination Address(目的地址)重定向的目的地址,用它來到達目的地址。如果兩個地址相同,目的地就是一個鄰居而不是遠程節(jié)點Options包含了目標(最佳下一條路由器)的鏈路層地址LWFI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論