OSPF鄰居關(guān)系建立過(guò)程詳解_第1頁(yè)
OSPF鄰居關(guān)系建立過(guò)程詳解_第2頁(yè)
OSPF鄰居關(guān)系建立過(guò)程詳解_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、OSPF鄰居關(guān)系建立過(guò)程詳解在初始情況下,A、B在某個(gè)接口激活了 OSPF后,都會(huì)開始在這個(gè)接口上 去發(fā)組播的HELLO包,目的是發(fā)現(xiàn)OSPF鄰居。HELLO包里,有個(gè)active neighbor 字段,用來(lái)存儲(chǔ)路由器在某個(gè)OSPF接口上發(fā)現(xiàn)的鄰居,當(dāng)然,初始情況下,這 個(gè)HELLO包里是不包含任何活躍的鄰居的(也就沒(méi)有active neighbor字段), 因?yàn)樗l(shuí)也沒(méi)發(fā)現(xiàn)。當(dāng)OSPF路由器(B)在某個(gè)OSPF接口上收到鄰居發(fā)來(lái)的HELLO包(里面 沒(méi)有裝active neighbor),它會(huì)記錄下A (在口己的OSPF接口數(shù)據(jù)結(jié)構(gòu)中)并 且將A的狀態(tài)視為init,然后將A的Routerl

2、D存儲(chǔ)在自己將要發(fā)送的HELLO包 的active neighbor字段里發(fā)送出去,這樣A就會(huì)收到這個(gè)hello包,并且在這 個(gè)hell。包當(dāng)中找到自己的RouterlD,那么A會(huì)認(rèn)為,與B已經(jīng)完成了雙邊關(guān) 系的建立,因此A會(huì)將B的鄰居狀態(tài)置為two-way-與此同時(shí),A也會(huì)繼續(xù)發(fā)送 HELLO包,并且將B的routerlD放置于HELLO包中,而B收到這個(gè)hello包并 看見己的RouterlD后,B也會(huì)將A的狀態(tài)置為two-way,至此OSPF的第一 個(gè)穩(wěn)態(tài)就達(dá)到了。接下去A、B會(huì)進(jìn)入ex-start狀態(tài)并開始進(jìn)行master、slave的協(xié)商,協(xié) 商M/S的目的是為了決定在后續(xù)的LSA交

3、互中,誰(shuí)來(lái)決定DD的序列號(hào),而 RouterlD大的那個(gè)0SPF路由器的接口將會(huì)成為master,由它來(lái)決定DD seq, 對(duì)端成為slaveo這里要注意master不是DR,要注意與DR的概念進(jìn)行區(qū)分。這 個(gè)協(xié)商過(guò)程,是由交互DBD包實(shí)現(xiàn)的,注意這里使用的是空的DBD包,也就是不 包含任何LSA頭部的DBD包,這個(gè)包當(dāng)中,有三個(gè)位非常關(guān)鍵:I、M、MSo用于 ex-start階段協(xié)商master slave的DBD包,I位(或叫做init位)都是置0 的,另外MS位如果置1,表小DBD報(bào)文始發(fā)路由器認(rèn)為自己的master,當(dāng)然起 初大家都這么認(rèn)為,在一系列DBD交換后,就會(huì)得到選舉結(jié)果,被選

4、舉為slave 的0SPF接口,會(huì)將發(fā)送的DBD包MS位置為0;另外M位表示more,如果一個(gè) 0SPF接口發(fā)送的DBD包M位置1,在表示這不是最后一個(gè)DBD,后續(xù)還有DBD包 待發(fā)送。當(dāng)0SPF接口收到一個(gè)DBD包且其中I位置0的時(shí)候,它就知道與該鄰居 的ex-start階段己經(jīng)過(guò)去了,于是將鄰居的狀態(tài)置為ex-change,并存儲(chǔ)對(duì)端 發(fā)來(lái)的DBD包所包含的LSA頭部,當(dāng)然,他口己也發(fā)送關(guān)于口己0SPFDB的摘 要給鄰居。如此一來(lái),雙方都能通過(guò)DBD的交互,了解到對(duì)方OSPF DB中的摘要 情況。在這個(gè)過(guò)程中,可能交互數(shù)個(gè)DBD報(bào)文,并要注意,這些報(bào)文的I位都置 0,且M位一般也置0,除非

5、這是某個(gè)0SPF接口發(fā)送的最后一個(gè)DBD包。當(dāng)Router A收到一個(gè)M位置0的DBD包的時(shí)候,它就知道,這是鄰居發(fā) 來(lái)的最后一個(gè)DBD包了,如果它搜集完這個(gè)鄰居(假設(shè)是B)發(fā)來(lái)的DBD并且發(fā) 現(xiàn),這些DBD里有它感興趣的LSA,它期里更詳細(xì)的LSA信息時(shí),它將B置為 Loading狀態(tài),并且開始發(fā)送LSR報(bào)文去請(qǐng)求特定LSA的詳細(xì)信息。B收到這個(gè) LSR后,會(huì)以LSU進(jìn)行回應(yīng),其中就包含了對(duì)方請(qǐng)求的LSA詳細(xì)信息,因此,只 有在LSU報(bào)文中,才能看到LSA的完整信息。收到LSU后,A將LSU中所包含的 LSA放進(jìn)自己的LSDB,并且給B發(fā)一個(gè)Lsack進(jìn)行確認(rèn)。當(dāng)OSPF接口上所有的 待請(qǐng)求

6、的LSA全部收到更新后,它會(huì)將鄰居置為FULLo至此,0SPF鄰接關(guān)系的 建立達(dá)到全毗鄰。在這里我們有個(gè)地方需要留意,我們通常說(shuō),0SPF路由器A與B進(jìn)入了 xx狀態(tài),其實(shí)這句話并不嚴(yán)謹(jǐn),原因之一,是因?yàn)?SPF是接口敏感型協(xié)議,許 多的操作都是以0SPF接口作為立足點(diǎn)去考慮的,譬如鄰居關(guān)系的建立,再如DR 和BDR,我們不能說(shuō)一臺(tái)路由器是DR,準(zhǔn)確的說(shuō),應(yīng)該是某路由器的某個(gè)接口是 DR;再者,說(shuō)兩臺(tái)路由器之間是xx狀態(tài),這個(gè)也不嚴(yán)i堇,所謂的鄰居狀態(tài),必 須是以某臺(tái)路由器為觀察點(diǎn),在其某個(gè)接口上觀察到的某個(gè)鄰居的狀態(tài),因此可 能出現(xiàn)的一個(gè)情況是,在A上,看到的B的狀態(tài)為L(zhǎng)oading,但是在

7、B上,A的 狀態(tài)已經(jīng)是FULL 7 o下面是關(guān)于狀態(tài)機(jī)的詳細(xì)解釋:1. Down在DOWN狀態(tài)下,OSPF接口仍然有嘗試發(fā)現(xiàn)鄰居的意愿,因此會(huì)不斷的發(fā)送 組播hell。包。2. At t eiiip t如果一個(gè)路由器,它鄰居處于這種狀態(tài),則表示它從鄰居沒(méi)有收到任何信息, 但是做了努力來(lái)與鄰居聯(lián)系。僅在NBMA網(wǎng)絡(luò)上存在,當(dāng)NBMA網(wǎng)絡(luò)上具有DR選取資格的路由器和其鄰居路由 器相連的接口開始變?yōu)橛行?Activ/e)時(shí),或者當(dāng)這臺(tái)路由器成為DR或BDR時(shí), 這臺(tái)具有DR選取資格的路由器將會(huì)把鄰居路由器的狀態(tài)轉(zhuǎn)換到Attempt狀態(tài)。 在Attempt狀態(tài)卜,路由器將使用hellointerval

8、時(shí)間代替pollinterval的時(shí)間 來(lái)作為向鄰居發(fā)送hello數(shù)據(jù)包的時(shí)間間隔。3. init當(dāng)OSPF接口收到鏈路上某個(gè)鄰居發(fā)來(lái)的第一個(gè)HELLO包的時(shí)候,它會(huì)在接口 上將該鄰居置為init狀態(tài),注意這個(gè)hello包中可能并未包含任何的鄰居信息。 但是這至少證明,我這個(gè)OSPF接口在這個(gè)鏈路上,至少有個(gè)活的鄰居。下面是 個(gè)沒(méi)有發(fā)現(xiàn)任何active neighbor的hello包:4. Two-way當(dāng)OSPF路由器在某個(gè)鏈路上發(fā)現(xiàn)了鄰居后,它H己發(fā)送的hello包里就會(huì)增加 active neighbor字段,用于存儲(chǔ)在該鏈路上發(fā)現(xiàn)的OSPF鄰居。當(dāng)一臺(tái)OSPF router看到門己(的

9、RouterlD)出現(xiàn)在鄰居發(fā)過(guò)來(lái)的的hello分組中,它就會(huì) 將該鄰居置為Two-wayo該狀態(tài)是OSPF鄰居之間可以具有的最基本的關(guān)系,也 是第一個(gè)穩(wěn)態(tài),但是此時(shí)兩者還不能共亨路由信息。下面是一個(gè)已經(jīng)在鏈路上發(fā) 現(xiàn)了鄰居 1. 1. 1. 1 的 hello:5. ExStart一臺(tái)OSPF路由器在將某個(gè)鄰居置為2way狀態(tài)后,就開始發(fā)送空的DBD 包,用于協(xié)商master/slaveo這個(gè)就是ex-start狀態(tài)。兩臺(tái)router間用空的 BDB分組確定master和slave關(guān)系(注意不是DR和BDR), 在DBD包中有3個(gè)標(biāo)記位用來(lái)管理鄰接關(guān)系的建立過(guò)程: I位或稱為初始位(init

10、ial bit)用于ex-start協(xié)商主從關(guān)系的初始化協(xié)商的DBD包,該位置1 M位或稱為后繼位(More bit)如果這不是OSPFrouter發(fā)送的最后一個(gè)DBD,該位置1 MS位或稱為主/從位(Master/slave bit)如果始發(fā)路由器是Master,則該位置1如果某臺(tái)OSPF router收到鄰居發(fā)來(lái)的DBD, I位也就是init位置0,則意味著 ex-start狀態(tài)結(jié)束,井且MS/slave已經(jīng)選出來(lái)了,那么該路由器會(huì)將鄰居置為 exchange狀態(tài),開始用包含LSA頭部的DBD交換各自的LSBD。下面是一個(gè)用于初始化協(xié)商的DBD消息:6. Exchange 狀態(tài)這個(gè)過(guò)程,雙

11、方使用包含自己LSA頭部的DBD報(bào)文進(jìn)行交互,并且將對(duì)方 發(fā)過(guò)來(lái)的LSA頭部、并且自己感興趣的LSA (或自己沒(méi)有的LSA)存儲(chǔ)在一個(gè)本 地OSPF接口的隊(duì)列里,以便在下一個(gè)階段進(jìn)行LSA詳細(xì)信息的請(qǐng)求。當(dāng)某個(gè)OSPF 接口收到鄰居發(fā)來(lái)的DBD, M位置0,則表示對(duì)方已經(jīng)發(fā)完DBD 了,與此同時(shí), 如果該路由器的這個(gè)OSPF接口上存在待請(qǐng)求的LSA,那么它會(huì)將這個(gè)鄰居置為 loading 狀態(tài)。下而是一個(gè)裝載了 LSA頭部的DBD消息:7. loading 狀態(tài)OSPF router使用LSR去請(qǐng)求LSA的詳細(xì)信息,對(duì)方使用LSU發(fā)來(lái)更新,因此只 有LSU里才有LSA的完整信息。在收到LSU后

12、,一方面本地使用LSAack進(jìn)行確 認(rèn),另一方面將LSU中包含的LSA裝載進(jìn)自己的LSDBo以下是一個(gè)LSR消息,非常的簡(jiǎn)單:接著是一個(gè)LSU消息,里頭包含了 LSA的完整信息,LSA這里暫時(shí)不做詳細(xì)介紹, 請(qǐng)看下文:8. Full Adjacency 狀態(tài)Loading狀態(tài)結(jié)束后,也就是本地OSPF接口上再?zèng)]有待更新的LSA隊(duì)列后,將 鄰居置為FULLoOSPF多區(qū)域原理一、OSPF鄰接關(guān)系1. OSPF的數(shù)據(jù)包類型OSPF常用的包類型:狀態(tài)名稱描述Hello建立和維護(hù)同鄰居路由器的鄰接關(guān)系數(shù)據(jù)庫(kù)描述包DBD描述每臺(tái)OSPF路由器的鏈路狀態(tài)庫(kù)的 內(nèi)容鏈路狀態(tài)請(qǐng)求包LSR請(qǐng)求鏈路狀態(tài)數(shù)據(jù)庫(kù)的部

13、分內(nèi)容鏈路狀態(tài)更新包LSU傳送鏈路狀態(tài)數(shù)據(jù)通告LSA給鄰居路由 器鏈路狀態(tài)確認(rèn)包LSAck確認(rèn)鄰居發(fā)送過(guò)來(lái)的LSA 收到2. OSPF鄰接關(guān)系的建立過(guò)程在建立鄰接關(guān)系的過(guò)程中,路由器需要經(jīng)歷6個(gè)狀態(tài):Init 2-wayExstart Exchange loadings Fullo3. 建立鄰接關(guān)系需要滿足的條件Area ID 相同,Hello Interval 和 Dead Interval 相同,Stub區(qū)域標(biāo)記相同。二、OSPF的網(wǎng)絡(luò)類型1. 點(diǎn)到點(diǎn)網(wǎng)絡(luò)(Point-to-Point)點(diǎn)到點(diǎn)網(wǎng)絡(luò)連接單獨(dú)的一對(duì)路由器。在點(diǎn)到點(diǎn)網(wǎng)絡(luò)上 的有效鄰居總是可以形成鄰接關(guān)系。OSPF的網(wǎng)絡(luò)類型就是點(diǎn)

14、到點(diǎn)網(wǎng)絡(luò)。2. 廣播多址網(wǎng)絡(luò)(Broadcast)廣播型網(wǎng)絡(luò),像以太網(wǎng)和光纖分布式數(shù)字網(wǎng)(FDDI) 等。由于它們是廣播型的,因而連接在這種網(wǎng)絡(luò)上的所有設(shè)備都可以接收到傳送的報(bào)文。在廣播型 網(wǎng)絡(luò)上的OSPF路由器會(huì)選舉一個(gè)指定路由器DR和一個(gè)備份指定路由器BDRo3. 非廣播多址網(wǎng)絡(luò)(NBMA)NBMA網(wǎng)絡(luò),像X. 25.幀中繼和ATM等,可以連接兩臺(tái) 以上的路由器,但是他們沒(méi)有廣播數(shù)據(jù)包的能力。在NBMA網(wǎng)絡(luò)上的OSPF路由器需要選舉DR和BDR, 并且所有的OSPF報(bào)文都是單播的。4. 點(diǎn)到多點(diǎn)網(wǎng)絡(luò)(Point-to-Multipoint)點(diǎn)到多點(diǎn)網(wǎng)絡(luò)是NBMA網(wǎng)絡(luò)的一個(gè)特殊配置,可以被看

15、 作是一群點(diǎn)到點(diǎn)鏈路的集合。在這些網(wǎng)路上的OSPF路由器不需要選舉DR和BDRo三、OSPF多址網(wǎng)路中的DR和BDR為了在廣播網(wǎng)絡(luò)中避免網(wǎng)絡(luò)資源的浪費(fèi),可以在網(wǎng)段上選 舉一個(gè)指定路由器DR, DR同網(wǎng)絡(luò)中的其他路由器建立鄰接關(guān)系,其他路由器只與DR建立鄰接關(guān)系,也 只與DR互相交換鏈路狀態(tài)信息,DR將會(huì)把從各個(gè)非DR路由器收集到的完整的鏈路信息以組播的形 式發(fā)送到網(wǎng)絡(luò)上,其他與DR建立鄰接關(guān)系的路由器會(huì)接收到這個(gè)網(wǎng)絡(luò)內(nèi)完整的鏈路信息。為了加強(qiáng)網(wǎng)絡(luò)的冗余性,必須指定一個(gè)備份指定路由器 BDR,網(wǎng)絡(luò)上所有的路由器將和DR和BDR同時(shí)形成鄰接關(guān)系。如果DR失效了,BDR將成為新的DR。 每臺(tái)路由器的

16、每一個(gè)多點(diǎn)訪問(wèn)的接口都有一個(gè)路由器優(yōu) 先級(jí),用一個(gè)8位的無(wú)符號(hào)整數(shù)來(lái)表示,大小范圍是1 一255,數(shù)值越大,優(yōu)先級(jí)越高。在Cisco路由器 上默認(rèn)優(yōu)先級(jí)是1。如果路由器的優(yōu)先級(jí)被設(shè)置為0,它將不參與DR和BDR的選舉,而成為DRothero 當(dāng)一臺(tái)OSPF路由器有效啟動(dòng)并發(fā)現(xiàn)它的鄰居路由器時(shí),它 將去檢査有效的DR和BDR。如果DR和BDR存在的話,這臺(tái)路由器將接受已經(jīng)存在的DR和BDR。如果BDR 不存在,將執(zhí)行一個(gè)選舉過(guò)程,選出具有最高優(yōu)先級(jí)的路由器作為BDR,如果存在多個(gè)路由器具有 相問(wèn)的優(yōu)先級(jí),那么在數(shù)值上具有最高路由器ID的路由器將被選中。如果沒(méi)有有效的DR路由器 存在,那么BDR路

17、由器將被選舉為DR,然后再執(zhí)行一個(gè)選舉過(guò)程選舉BDR。注意:在已經(jīng)選舉了 DR和BDR路由器后,如果一臺(tái)具有更 髙優(yōu)先級(jí)的路由器接入網(wǎng)絡(luò),這臺(tái)新的路由器不會(huì)替換DR或BDR中的任何一個(gè)。四、OSPF的多區(qū)域1. 生成OSPF多區(qū)域的原因改善網(wǎng)絡(luò)的可擴(kuò)展性,快速收斂。2. OSPF區(qū)域通信量(1)域內(nèi)通信最:由單個(gè)區(qū)域內(nèi)路由器之間交換的數(shù) 據(jù)包構(gòu)成通信量。(2)域間通信量:由不同區(qū)域的路由器之間交換的數(shù)據(jù) 包構(gòu)成的通信量。(3)外部通信量:是指由OSPF區(qū)域內(nèi)的路由器和另一 個(gè)自治系統(tǒng)內(nèi)的路由器之間交換的數(shù)據(jù)包構(gòu)成的通信量。3. 路由器的類型(1)內(nèi)部路由器:是指所有接口都屬于一個(gè)區(qū)域的路由 器。(2)區(qū)域邊界路由器(ABR):是指連接一個(gè)或多個(gè)區(qū) 域到骨干區(qū)域的路由器。(3)自治系統(tǒng)邊界路由器(ASBR):可以認(rèn)為是OSPF 域外部的通信量進(jìn)入OSPF域的網(wǎng)關(guān)路由器。4. 骨干區(qū)域與標(biāo)準(zhǔn)區(qū)域骨干區(qū)域的Area ID定是0,它是連接所有的其他 區(qū)域的核心域,相當(dāng)于交換網(wǎng)絡(luò)的匯聚層。標(biāo)準(zhǔn)區(qū)域可以接收各種鏈路狀態(tài)信息和匯總的路由通 告。沒(méi)有特殊定義的區(qū)域就是標(biāo)準(zhǔn)區(qū)域。五、鏈路狀態(tài)數(shù)據(jù)庫(kù)1 鏈路狀態(tài)數(shù)據(jù)庫(kù)的組成每個(gè)路由器都創(chuàng)建了由每個(gè)接口、對(duì)應(yīng)的相鄰節(jié)點(diǎn)和 接口速度組成的數(shù)據(jù)庫(kù)。鏈路狀態(tài)數(shù)據(jù)庫(kù)中的每個(gè)條目都稱

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論