最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

干貨 l IPV6沒(méi)有ARP 拯救你三層地址到二層地址映射的尷尬

2021-04-29 11:50 作者:太閣網(wǎng)絡(luò)  | 我要投稿

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)配置等功能。


1.地址解析:地址解析是一種確定目的節(jié)點(diǎn)的鏈路層地址的方法。NDP中的地址解析功能不僅替代了原IPv4中的ARP,同時(shí)還用鄰居不可達(dá)檢測(cè)(NUD)方法來(lái)維持鄰居節(jié)點(diǎn)之間的可達(dá)性狀態(tài)信息。


2.無(wú)狀態(tài)地址配置:NDP中特有的地址自動(dòng)配置機(jī)制,包括一些列相關(guān)功能,如路由器發(fā)現(xiàn)、接口ID自動(dòng)生成、重復(fù)地址監(jiān)測(cè)等。通過(guò)無(wú)狀態(tài)自動(dòng)配置機(jī)制,鏈路上的節(jié)點(diǎn)可以自動(dòng)獲得IPv6全球單播地址。


a)路由器發(fā)現(xiàn):路由器與其他相連的鏈路上發(fā)布網(wǎng)絡(luò)參數(shù)信息,主機(jī)捕獲此信息后,可以獲得全球單播IPv6地址前綴、默認(rèn)路由、鏈路參數(shù)(鏈路MTU)等信息。


b)接口ID自動(dòng)生成:主機(jī)根據(jù)EUI-64規(guī)范或其他方式為接口自動(dòng)生成接口標(biāo)識(shí)符。


c)重復(fù)地址監(jiān)測(cè)(DAD):根據(jù)前綴信息生成或手動(dòng)配置IPv6地址后,為保證該地址的唯一性,在其可以使用之前,主機(jī)需要檢驗(yàn)它是否已被鏈路上的其他節(jié)點(diǎn)所使用。


d)前綴重新編址:當(dāng)網(wǎng)絡(luò)前綴變化時(shí),路由器在與其相連的鏈路上發(fā)布新的網(wǎng)絡(luò)參數(shù)信息,主機(jī)捕獲這些新信息后,重新配置前綴、鏈路MTU等地址相關(guān)信息。


3.路由重定向:當(dāng)在本地鏈路上存在一個(gè)更好的到達(dá)目的網(wǎng)絡(luò)的路由器時(shí),路由器需要通告節(jié)點(diǎn)來(lái)進(jìn)行相應(yīng)配置改變。


NDP定義了5種ICMPv6報(bào)文類型,包括RS、RA、NS、NA和Redirect報(bào)文,如表所示。



ICMPv6報(bào)文類型


IPv6地址解析


地址解析在報(bào)文轉(zhuǎn)發(fā)過(guò)程中具有至關(guān)重要的作用。當(dāng)一個(gè)節(jié)點(diǎn)需要得到同一條鏈路上另外一個(gè)節(jié)點(diǎn)的鏈路層地址時(shí),需要進(jìn)行地址解析。IPv6使用NDP實(shí)現(xiàn)了這個(gè)功能,且有所增強(qiáng)。IPv6的地址解析過(guò)程包括兩部分:一部分解析目的IP地址所對(duì)應(yīng)的鏈路層地址;另一部分是鄰居可達(dá)性狀態(tài)的維護(hù)過(guò)程,即鄰居不可達(dá)檢測(cè)。


1、地址解析

與IPv4的ARP相比,IPv6地址解析技術(shù)工作在OSI參考模型的網(wǎng)絡(luò)層,與鏈路層協(xié)議無(wú)關(guān)。這一特點(diǎn)的益處如下:

(1)加強(qiáng)了地址解析協(xié)議與底層鏈路的獨(dú)立性。對(duì)每一種鏈路層協(xié)議都使用相同的地址解析,無(wú)須再為每一種鏈路層協(xié)議定義一個(gè)新的地址解析協(xié)議。

(2)增強(qiáng)了安全性。在第三層實(shí)現(xiàn)地址解析可以利用三層標(biāo)準(zhǔn)的安全認(rèn)證機(jī)制來(lái)防止ARP攻擊和ARP欺騙。

(3)減小了報(bào)文傳播范圍。IPv6的地址解析利用三層組播尋址限制了報(bào)文的傳播范圍,可節(jié)省網(wǎng)絡(luò)帶寬。


在IPv6中,NDP通過(guò)在節(jié)點(diǎn)間交互NS和NA報(bào)文完成IPv6地址到鏈路層地址的解析,然后通過(guò)解析后得到的鏈路層地址和IPv6等地址信息來(lái)建立相應(yīng)的鄰居緩存表項(xiàng)。


如下圖所示,NodeA的鏈路層地址為00E0-FC00-0001,全局地址為1::1:A;NodeB的鏈路層地址為00E0-FC00-0002,全局地址為1::2:B。當(dāng)NodeA要發(fā)送數(shù)據(jù)報(bào)文到NodeB時(shí),需要NDP完成地址解析過(guò)程。


(1)NodeA發(fā)送一個(gè)NS報(bào)文到鏈路上,目的IPv6地址為NodeB對(duì)應(yīng)的被請(qǐng)求節(jié)點(diǎn)組播地址(FF02::1:FF02:B),選項(xiàng)字段中攜帶了NodeA的鏈路層地址00E0-FC00-0001。


(2)NodeB接收到該NS報(bào)文后,由于報(bào)文的目的地址FF02::1::FF02:B是NodeB的被請(qǐng)求節(jié)點(diǎn)組播地址,所以NodeB會(huì)處理該報(bào)文;同時(shí),根據(jù)NS報(bào)文中的源地址和源鏈路層地址選項(xiàng)更新自己的鄰居緩存表項(xiàng)。


(3)NodeB發(fā)送一個(gè)NA報(bào)文來(lái)應(yīng)答NS,同時(shí)在消息的目標(biāo)鏈路層地址選項(xiàng)中攜帶自己的鏈路層地址00E0-FC00-0002。


(4)NodeA接收到NA報(bào)文后,根據(jù)報(bào)文中攜帶的NodeB鏈路層地址,創(chuàng)建一個(gè)到目標(biāo)節(jié)點(diǎn)NodeB的鄰居緩存表項(xiàng)。



通過(guò)交互,NodeA和NodeB就獲得了對(duì)方的鏈路層地址,建立起了到達(dá)對(duì)方的鄰居緩存表項(xiàng),從而可以相互通信。


當(dāng)一個(gè)節(jié)點(diǎn)的鏈路層地址發(fā)生改變時(shí),將以所有節(jié)點(diǎn)組播地址FF02::1為目的地址發(fā)送NA報(bào)文,通知鏈路上的其他節(jié)點(diǎn)更新鄰居緩存表項(xiàng)。


2.鄰居不可達(dá)檢測(cè)(NUD)

NUD(Neighbor Unreachable Detection,鄰居不可達(dá)檢測(cè))是節(jié)點(diǎn)確定鄰居可達(dá)性的過(guò)程。鄰居不可達(dá)檢測(cè)機(jī)制通過(guò)鄰居可達(dá)性狀態(tài)機(jī)來(lái)描述鄰居的可達(dá)性。

鄰居可達(dá)性狀態(tài)機(jī)保存在鄰居緩存表中,共有如下6種狀態(tài):


(1)INCOMPLETE(未完成狀態(tài)):表示正在解析地址,但鄰居鏈路層地址尚未確定。

(2)REACHABLE(可達(dá)狀態(tài)):表示地址解析成功,該鄰居可達(dá)。

(3)STALE(失效狀態(tài)):表示可達(dá)時(shí)間耗盡,未確定鄰居是否可達(dá)。

(4)DELAY(延遲狀態(tài)):表示未確定鄰居是否可達(dá)。DELAY狀態(tài)不是一個(gè)穩(wěn)定的狀態(tài),而是一個(gè)延時(shí)等待狀態(tài)。

(5)PROBE(探測(cè)狀態(tài)):節(jié)點(diǎn)會(huì)向處于PROBE狀態(tài)的鄰居持續(xù)發(fā)送NS報(bào)文。

(6)EMPTY(空閑狀態(tài)):表示節(jié)點(diǎn)上沒(méi)有相關(guān)鄰接點(diǎn)的鄰居緩存表項(xiàng)。



圖中實(shí)線箭頭表示由NS/NA報(bào)文交互導(dǎo)致的狀態(tài)變化,各狀態(tài)間的相互轉(zhuǎn)換如下:

① 在EMPTY狀態(tài)時(shí),如果有報(bào)文要發(fā)送給鄰接節(jié)點(diǎn),則在本地鄰居緩存表建立該鄰接節(jié)點(diǎn)的表項(xiàng),并將該表項(xiàng)置于INCOMPLETE狀態(tài),同時(shí)向鄰接節(jié)點(diǎn)以組播方式發(fā)送NS報(bào)文。

② 節(jié)點(diǎn)收到鄰居回應(yīng)的單播NA報(bào)文后,將處于INCOMPLETE狀態(tài)的鄰居緩存表項(xiàng)轉(zhuǎn)化為REACHABLE狀態(tài)。如果地址解析失?。òl(fā)出的組播NS超時(shí)),則刪除該表項(xiàng)。

③ 處于REACHABLE狀態(tài)的表項(xiàng),如果在REACHABLE_TIME時(shí)間內(nèi)沒(méi)有收到關(guān)于該鄰居的"可達(dá)性證實(shí)信息",則進(jìn)入STALE狀態(tài)。此外,如果該節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)出的非S置位NA報(bào)文,并且鏈路層地址有變化,相關(guān)表項(xiàng)會(huì)進(jìn)入STALE狀態(tài)。

④ 處于STALE狀態(tài)的表項(xiàng),當(dāng)有報(bào)文發(fā)往該鄰居時(shí),這個(gè)報(bào)文會(huì)利用緩存的鏈路層地址進(jìn)行封裝,并使該表項(xiàng)進(jìn)入DELAY狀態(tài),等待收到"可達(dá)性證實(shí)信息"。

⑤ 進(jìn)入DELAY狀態(tài)后,如果DELAY_FIRST_PROBE_TIME時(shí)間之內(nèi)還未收到關(guān)于該鄰居的"可達(dá)性證實(shí)信息",則該表項(xiàng)進(jìn)入PROBE狀態(tài)。

⑥ 在PROBE狀態(tài)時(shí),節(jié)點(diǎn)會(huì)周期性地用NS報(bào)文來(lái)探測(cè)鄰居的可達(dá)性,探測(cè)最大時(shí)間間隔為RETRANS_TIMER,在最多嘗試MAX_ UNICAST_SOLICIT次后,如果仍未收到鄰居回應(yīng)的NA報(bào)文,則認(rèn)為該鄰居已不可達(dá),該表項(xiàng)將被刪除。

NodeA上,NodeB的表項(xiàng)處于STALE狀態(tài)。此時(shí)若NodeA有報(bào)文發(fā)往NodeB,且沒(méi)有上層協(xié)議能夠提供到NodeB的"可達(dá)性證實(shí)信息"時(shí),則NodeA需要重新驗(yàn)證到NodeB的可達(dá)性。


NUD過(guò)程與地址解析過(guò)程的主要不同之處在于以下兩點(diǎn):

(1)NUD的NS報(bào)文的目的MAC是目的節(jié)點(diǎn)的MAC地址;目的IPv6地址為NodeB的單播地址,而不是被請(qǐng)求節(jié)點(diǎn)組播地址。

(2)NA報(bào)文中的S標(biāo)記須置位,表示是可達(dá)性確認(rèn)報(bào)文,即這個(gè)NA報(bào)文是專門(mén)響應(yīng)NS報(bào)文的。

無(wú)狀態(tài)地址自動(dòng)配置


IPv6同時(shí)定義了無(wú)狀態(tài)和有狀態(tài)地址自動(dòng)配置機(jī)制。有狀態(tài)地址自動(dòng)配置使用DHCPv6來(lái)給主機(jī)動(dòng)態(tài)分配IPv6地址,無(wú)狀態(tài)地址自動(dòng)配置通過(guò)NDP來(lái)實(shí)現(xiàn)。在無(wú)狀態(tài)地址自動(dòng)配置中,主機(jī)通過(guò)接收鏈路上的路由器發(fā)出的RA消息,結(jié)合接口的標(biāo)識(shí)符而生成一個(gè)全球單播地址。


1.路由器發(fā)現(xiàn)

路由器發(fā)現(xiàn)是指主機(jī)定位本地鏈路上的路由器和確定其配置信息的過(guò)程,主要包含以下3方面內(nèi)容:

(1)路由器發(fā)現(xiàn)(Router Discovery):主機(jī)發(fā)現(xiàn)鄰居路由器及選擇某一個(gè)路由器作為默認(rèn)網(wǎng)關(guān)的過(guò)程。

(2)前綴發(fā)現(xiàn)(Prefix Discovery):主機(jī)發(fā)現(xiàn)本地鏈路上的一組IPv6前綴,生成前綴列表。該列表用于主機(jī)的地址自動(dòng)配置和on-link判斷。

(3)參數(shù)發(fā)現(xiàn)(Parameter Discovery):主機(jī)發(fā)現(xiàn)相關(guān)操作參數(shù)的過(guò)程,如MTU、報(bào)文的默認(rèn)跳數(shù)限制、地址分配方式等信息。


2.重復(fù)地址檢測(cè)

DAD(Duplicate Address Detection,重復(fù)地址檢測(cè))是節(jié)點(diǎn)確定即將使用的地址是否在鏈路上唯一的過(guò)程。所有的IPv6單播地址,包括自動(dòng)配置或手動(dòng)配置的單播地址,在節(jié)點(diǎn)使用之前必須要通過(guò)重復(fù)地址檢測(cè)。

DAD機(jī)制通過(guò)NS和NA報(bào)文實(shí)現(xiàn)。節(jié)點(diǎn)會(huì)發(fā)送NS報(bào)文,其源地址為未指定地址,目的地址為接口配置的IPv6地址。在NS報(bào)文發(fā)送到鏈路上后,如果在規(guī)定時(shí)間內(nèi)沒(méi)有收到應(yīng)答的NA報(bào)文,則認(rèn)為這個(gè)單播地址在鏈路上是唯一的,可以分配給接口;反之,如果收到應(yīng)答的NA報(bào)文,則表明這個(gè)地址已經(jīng)被其他節(jié)點(diǎn)所使用,不能配置到接口。


3.前綴重新編址

前綴重新編址(Prefix Renumbering)允許網(wǎng)絡(luò)從以前的前綴平穩(wěn)地過(guò)渡到新的前綴,用于提供對(duì)用戶透明的網(wǎng)絡(luò)重新編址能力。路由器通過(guò)RA報(bào)文中的優(yōu)先時(shí)間和有效時(shí)間參數(shù)來(lái)實(shí)現(xiàn)前綴重新編址。

(1)優(yōu)先時(shí)間(Preferred Lifetime):無(wú)狀態(tài)自動(dòng)配置得到的地址保持優(yōu)先選擇狀態(tài)的時(shí)間。

(2)有效時(shí)間(Valid Lifetime):地址保持有效狀態(tài)的時(shí)間。

對(duì)于一個(gè)地址或前綴,優(yōu)先時(shí)間小于或等于有效時(shí)間。當(dāng)?shù)刂返膬?yōu)先時(shí)間到期時(shí),該地址不能被用來(lái)建立新連接,但是在有效時(shí)間內(nèi),該地址還能用來(lái)保持以前建立的連接。

在重新編址時(shí),站點(diǎn)內(nèi)的路由器會(huì)繼續(xù)通告當(dāng)前前綴,但是有效時(shí)間和優(yōu)先時(shí)間將被減小到接近于0;同時(shí)路由器開(kāi)始通告新的前綴。這樣,在每個(gè)鏈路上至少有兩個(gè)前綴共存,RA消息中包括一個(gè)舊的和一個(gè)新的IPv6前綴信息。


4.無(wú)狀態(tài)地址自動(dòng)配置過(guò)程

NDP的無(wú)狀態(tài)自動(dòng)配置包含兩個(gè)階段:鏈路本地地址的配置和全球單播地址的配置。當(dāng)一個(gè)接口啟用時(shí),主機(jī)會(huì)首先根據(jù)本地前綴FE80::/64和EUI-64接口標(biāo)識(shí)符,為該接口生成一個(gè)鏈路本地地址,如果在后續(xù)的DAD中發(fā)生地址沖突,則必須對(duì)該接口手動(dòng)配置本地鏈路地址,否則該接口將不可用。

需要說(shuō)明的是,一個(gè)鏈路本地地址的優(yōu)先時(shí)間和有效時(shí)間是無(wú)限的,永遠(yuǎn)不超時(shí)。

對(duì)于主機(jī)上全球單播地址的配置步驟如下:

① 主機(jī)節(jié)點(diǎn)NodeA在配置好鏈路本地地址后,發(fā)送RS報(bào)文,請(qǐng)求路由器的前綴信息。

② 路由器收到RS報(bào)文后,發(fā)送單播RA報(bào)文,攜帶用于無(wú)狀態(tài)地址自動(dòng)配置的前綴信息,同時(shí)路由器也會(huì)周期性地發(fā)送組播RA報(bào)文。

③ NodeA收到RA報(bào)文后,根據(jù)前綴信息和配置信息生成一個(gè)臨時(shí)的全球單播地址。同時(shí)啟動(dòng)DAD,發(fā)送NS報(bào)文驗(yàn)證臨時(shí)地址的唯一性,此時(shí)該地址處于臨時(shí)狀態(tài)。

④ 鏈路上的其他節(jié)點(diǎn)收到DAD的NS報(bào)文后,如果沒(méi)有用戶使用該地址,則丟棄報(bào)文,否則產(chǎn)生應(yīng)答NS的NA報(bào)文。

⑤ NodeA如果沒(méi)有收到DAD的NA報(bào)文,說(shuō)明地址是全局唯一的,則用該臨時(shí)地址初始化接口,此時(shí)地址進(jìn)入有效狀態(tài)。

地址自動(dòng)配置完成后,路由器可以自動(dòng)進(jìn)行NUD,周期性地發(fā)送NS報(bào)文,探測(cè)該地址是否可達(dá)。




路由器重定向


在重定向過(guò)程中,路由器通過(guò)發(fā)送重定向報(bào)文來(lái)通知鏈路上的報(bào)文發(fā)送節(jié)點(diǎn),在同一鏈路上存在一個(gè)更優(yōu)的轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文的路由器。接收到該消息的節(jié)點(diǎn)據(jù)此修改其本地路由表項(xiàng)。路由器僅為單播數(shù)據(jù)流發(fā)送重定向報(bào)文,而重定向報(bào)文也僅以單播形式發(fā)送到始發(fā)主機(jī),并且只會(huì)被始發(fā)節(jié)點(diǎn)處理。

如圖2-12所示,NodeA的默認(rèn)路由器為RTA,現(xiàn)在NodeA想發(fā)送數(shù)據(jù)報(bào)文到NodeB,路由器重定向機(jī)制需要經(jīng)過(guò)以下過(guò)程:



(1)NodeA首先傳送第一個(gè)數(shù)據(jù)報(bào)文到它的默認(rèn)路由器RTA,當(dāng)該報(bào)文經(jīng)過(guò)RTB到達(dá)NodeB后,RTA知道RTB是鏈路上轉(zhuǎn)發(fā)報(bào)文的更好選擇。

(2)RTA向始發(fā)報(bào)文的NodeA發(fā)送一個(gè)ICMPv6重定向報(bào)文,目標(biāo)地址中含有RTB的IPv6地址,報(bào)文選項(xiàng)字段的目標(biāo)鏈路層地址中含有RTB的鏈路層地址。

(3)NodeA獲悉RTB是到NodeB的更好路徑后,修改自己的目的緩存表,當(dāng)再發(fā)送到NodeB的報(bào)文時(shí)優(yōu)先發(fā)送到RTB,重定向完成。


干貨 l IPV6沒(méi)有ARP 拯救你三層地址到二層地址映射的尷尬的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大方县| 枣阳市| 辰溪县| 滨州市| 金塔县| 通海县| 台山市| 巴塘县| 盐池县| 青铜峡市| 正安县| 运城市| 洛南县| 固始县| 株洲市| 廉江市| 灯塔市| 长武县| 璧山县| 吉林省| 城口县| 文山县| 汾西县| 兴安县| 延津县| 嘉荫县| 定襄县| 新巴尔虎左旗| 合川市| 长子县| 綦江县| 佛山市| 江都市| 宜兰县| 营口市| 女性| 朝阳市| 靖安县| 金昌市| 客服| 锦屏县|