亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

網(wǎng)絡(luò)技術(shù)

淺析OSPF協(xié)議的工作原理

時(shí)間:2024-08-20 12:21:17 網(wǎng)絡(luò)技術(shù) 我要投稿
  • 相關(guān)推薦

淺析OSPF協(xié)議的工作原理

  鏈路是路由器接口的另一種說法,因此OSPF也稱為接口狀態(tài)路由協(xié)議。OSPF通過路由器之間通告網(wǎng)絡(luò)接口的狀態(tài)來建立鏈路狀態(tài)數(shù)據(jù)庫,生成最短路徑樹,每個(gè)OSPF路由器使用這些最短路徑構(gòu)造路由表。

淺析OSPF協(xié)議的工作原理

  OSPF路由協(xié)議是一種典型的鏈路狀態(tài)(Link-state)的路由協(xié)議,一般用于同一個(gè)路由域內(nèi)。在這里,路由域是指一個(gè)自治系統(tǒng) (Autonomous System),即AS,它是指一組通過統(tǒng)一的路由政策或路由協(xié)議互相交換路由信息的網(wǎng)絡(luò)。在這個(gè)AS中,所有的OSPF路由器都維護(hù)一個(gè)相同的描述這個(gè) AS結(jié)構(gòu)的數(shù)據(jù)庫,該數(shù)據(jù)庫中存放的是路由域中相應(yīng)鏈路的狀態(tài)信息,OSPF路由器正是通過這個(gè)數(shù)據(jù)庫計(jì)算出其OSPF路由表的。

  作為一種鏈路狀態(tài)的路由協(xié)議,OSPF將鏈路狀態(tài)廣播數(shù)據(jù)包LSA(Link State Advertisement)傳送給在某一區(qū)域內(nèi)的所有路由器,這一點(diǎn)與距離矢量路由協(xié)議不同。運(yùn)行距離矢量路由協(xié)議的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。

  一 OSPF的數(shù)據(jù)包

  OSPF的包類型:

  1 HELLO 12 Database Description 數(shù)據(jù)庫的描述 DBD 可靠

  3 Link-state Request 鏈路狀態(tài)請(qǐng)求包 LSR 可靠

  4 Link-state Update 鏈路狀態(tài)更新包 LSU 可靠

  5 Link-state Acknowledment 鏈路狀態(tài)確認(rèn)包 LSACK

  1).Hello協(xié)議的目的:

  1.用于發(fā)現(xiàn)鄰居

  2.在成為鄰居之前,必須對(duì)Hello包里的一些參數(shù)協(xié)商成功

  3.Hello包在鄰居之間扮演著keepalive的角色

  4.允許鄰居之間的雙向通信

  5.它在NBMA(Nonbroadcast Multi-access)網(wǎng)絡(luò)上選舉DR和BDR(NBMA中默認(rèn)30s發(fā)送一次,多路訪問和點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)上默認(rèn)10s發(fā)送一次)

  2.Hello Packet包含以下信息:

  1).源路由器的RID

  2.源路由器的Area ID

  3.源路由器接口的掩碼

  4.源路由器接口的認(rèn)證類型和認(rèn)證信息

  5.源路由器接口的Hello包發(fā)送的時(shí)間間隔

  6.源路由器接口的無效時(shí)間間隔

  7.優(yōu)先級(jí)

  8.DR/BDR

  9.五個(gè)標(biāo)記位(flag bit)

  10.源路由器的所有鄰居的RID

  二 OSPF的網(wǎng)絡(luò)類型

  OSPF定義的5種網(wǎng)絡(luò)類型:

  1.點(diǎn)到點(diǎn)網(wǎng)絡(luò), 比如T1線路,是連接單獨(dú)的一對(duì)路由器的網(wǎng)絡(luò),點(diǎn)到點(diǎn)網(wǎng)絡(luò)上的有效鄰居總是可以形成鄰接關(guān)系的,在這種網(wǎng)絡(luò)上,OSPF包的目標(biāo)地址使用的是224.0.0.5,這個(gè)組播地址稱為AllSPFRouters.

  2.廣播型網(wǎng)絡(luò),比如以太網(wǎng),Token Ring和FDDI,這樣的網(wǎng)絡(luò)上會(huì)選舉一個(gè)DR和BDR,DR/BDR的發(fā)送的OSPF包的目標(biāo)地址為224.0.0.5,運(yùn)載這些OSPF包的幀的目 標(biāo)MAC地址為0100.5E00.0005;而除了DR/BDR以外的OSPF包的目標(biāo)地址為224.0.0.6,這個(gè)地址叫AllDRouters.

  3.NBMA網(wǎng)絡(luò), 比如X.25,Frame Relay,和ATM,不具備廣播的能力,因此鄰居要人工來指定,在這樣的網(wǎng)絡(luò)上要選舉DR和BDR,OSPF包采用unicast的方式

  4.點(diǎn)到多點(diǎn)網(wǎng)絡(luò) 是NBMA網(wǎng)絡(luò)的一個(gè)特殊配置,可以看成是點(diǎn)到點(diǎn)鏈路的集合. 在這樣的網(wǎng)絡(luò)上不選舉DR和BDR.

  5.虛鏈接: OSPF包是以u(píng)nicast的方式發(fā)送

  所有的網(wǎng)絡(luò)也可以歸納成2種網(wǎng)絡(luò)類型:

  1.傳輸網(wǎng)絡(luò)(Transit Network)

  2.末節(jié)網(wǎng)絡(luò)(Stub Network )

  三 OSPF的DR及BDR

  OSPF路由器在完全鄰接之前,所經(jīng)過的幾個(gè)狀態(tài):

  1.Down: 初始化狀態(tài).

  2.Attempt: 只適于NBMA網(wǎng)絡(luò),在NBMA網(wǎng)絡(luò)中鄰居是手動(dòng)指定的,在該狀態(tài)下,路由器將使用HelloInterval取代PollInterval來發(fā) 送Hello包.

  3.Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然沒有建立起來.

  4.two-way: 雙向會(huì)話建立.

  5.ExStart: 信息交換初始狀態(tài),在這個(gè)狀態(tài)下,本地路由器和鄰居將建立Master/Slave關(guān)系,并確定DD Sequence Number,接口等級(jí)高的的成為Master.

  6.Exchange: 信息交換狀態(tài),本地路由器向鄰居發(fā)送數(shù)據(jù)庫描述包,并且會(huì)發(fā)送LSR用于請(qǐng)求新的LSA.

  7.Loading: 信息加載狀態(tài),本地路由器向鄰居發(fā)送LSR用于請(qǐng)求新的LSA .

  8.Full: 完全鄰接狀態(tài),這種鄰接出現(xiàn)在Router LSA和Network LSA中.

  在DR和BDR出現(xiàn)之前,每一臺(tái)路由器和他的鄰居之間成為完全網(wǎng)狀的OSPF鄰接關(guān)系,這樣5臺(tái)路由器之間將需要形成10個(gè)鄰接關(guān)系,同時(shí)將產(chǎn)生 25條LSA.而且在多址網(wǎng)絡(luò)中,還存在自己發(fā)出的LSA 從鄰居的鄰居發(fā)回來,導(dǎo)致網(wǎng)絡(luò)上產(chǎn)生很多LSA的拷貝,所以基于這種考慮,產(chǎn)生了DR和BDR.

  DR將完成如下工作:

  1. 描述這個(gè)多址網(wǎng)絡(luò)和該網(wǎng)絡(luò)上剩下的其他相關(guān)路由器.

  2. 管理這個(gè)多址網(wǎng)絡(luò)上的flooding過程.

  3. 同時(shí)為了冗余性,還會(huì)選取一個(gè)BDR,作為雙備份之用.

  DR BDR選取規(guī)則: DR BDR選取是以接口狀態(tài)機(jī)的方式觸發(fā)的.

  1. 路由器的每個(gè)多路訪問(multi-access)接口都有個(gè)路由器優(yōu)先級(jí)(Router Priority),8位長的一個(gè)整數(shù),范圍是0到255,Cisco路由器默認(rèn)的優(yōu)先級(jí)是1優(yōu)先級(jí)為0的話將不能選舉為DR/BDR.優(yōu)先級(jí)可以通過命 令ip ospf priority進(jìn)行修改.

  2. Hello包里包含了優(yōu)先級(jí)的字段,還包括了可能成為DR/BDR的相關(guān)接口的IP地址.

  3. 當(dāng)接口在多路訪問網(wǎng)絡(luò)上初次啟動(dòng)的時(shí)候,它把DR/BDR地址設(shè)置為0.0.0.0,同時(shí)設(shè)置等待計(jì)時(shí)器(wait timer)的值等于路由器無效間隔(Router Dead Interval).

  DR BDR選取過程:

  1. 在和鄰居建立雙向(2-Way)通信之后,檢查鄰居的Hello包中Priority,DR和BDR字段,列出所有可以參與DR/BDR選舉的鄰居.所有 的路由器聲明它們自己就是DR/BDR(Hello包中DR字段的值就是它們自己的接口地址;BDR字段的值就是它們自己的接口地址)

  2. 從這個(gè)有參與選舉DR/BDR權(quán)的列表中,創(chuàng)建一組沒有聲明自己就是DR的路由器的子集(聲明自己是DR的路由器將不會(huì)被選舉為BDR)

  3. 如果在這個(gè)子集里,不管有沒有宣稱自己就是BDR,只要在Hello包中BDR字段就等于自己接口的地址,優(yōu)先級(jí)最高的就被選舉為BDR;如果優(yōu)先級(jí)都一樣,RID最高的選舉為BDR

  4. 如果在Hello包中DR字段就等于自己接口的地址,優(yōu)先級(jí)最高的就被選舉為DR;如果優(yōu)先級(jí)都一樣,RID最高的選舉為DR;如果選出的DR不能工作,那么新選舉的BDR就成為DR,再重新選舉一個(gè)BDR。

  5. 要注意的是,當(dāng)網(wǎng)絡(luò)中已經(jīng)選舉了DR/BDR后,又出現(xiàn)了1臺(tái)新的優(yōu)先級(jí)更高的路由器,DR/BDR是不會(huì)重新選舉的

  6. DR/BDR選舉完成后,DRother只和DR/BDR形成鄰接關(guān)系.所有的路由器將組播Hello包到AllSPFRouters地址 224.0.0.5以便它們能跟蹤其他鄰居的信息,即DR將洪泛update packet到224.0.0.5;DRother只組播update packet到AllDRouter地址224.0.0.6,只有DR/BDR監(jiān)聽這個(gè)地址.

  四 OSPF鄰居關(guān)系

  鄰接關(guān)系建立的4個(gè)階段:

  1.鄰居發(fā)現(xiàn)階段

  2.雙向通信階段:Hello報(bào)文都列出了對(duì)方的RID,則BC完成.

  3.數(shù)據(jù)庫同步階段:

  4.完全鄰接階段: full adjacency

  鄰居關(guān)系的建立和維持都是靠Hello包完成的,在一般的網(wǎng)絡(luò)類型中,Hello包是每經(jīng)過1個(gè)HelloInterval發(fā)送一次,有1個(gè)例外: 在NBMA網(wǎng)絡(luò)中,路由器每經(jīng)過一個(gè)PollInterval周期發(fā)送Hello包給狀態(tài)為down的鄰居(其他類型的網(wǎng)絡(luò)是不會(huì)把Hello包發(fā)送給狀 態(tài)為down的路由器的).Cisco路由器上PollInterval默認(rèn)60s Hello Packet以組播的方式發(fā)送給224.0.0.5,在NBMA類型,點(diǎn)到多點(diǎn)和虛鏈路類型網(wǎng)絡(luò),以單播發(fā)送給鄰居路由器。鄰居可以通過手工配置或者 Inverse-ARP發(fā)現(xiàn).

  OSPF泛洪

  Flooding采用2種報(bào)文

  LSU Type 4---鏈路狀態(tài)更新報(bào)文

  LSA Type 5---鏈路狀態(tài)確認(rèn)報(bào)文

  在P-P網(wǎng)絡(luò),路由器是以組播方式將更新報(bào)文發(fā)送到組播地址224.0.0.5.

  在P-MP和虛鏈路網(wǎng)絡(luò),路由器以單播方式將更新報(bào)文發(fā)送至鄰接鄰居的接口地址.

  在廣播型網(wǎng)絡(luò),DRother路由器只能和DR&BDR形成鄰接關(guān)系,所以更新報(bào)文將發(fā)送到224.0.0.6,相應(yīng)的DR以 224.0.0.5泛洪LSA并且BDR只接收LSA,不會(huì)確認(rèn)和泛洪這些更新,除非DR失效 在NBMA型網(wǎng)絡(luò),LSA以單播方式發(fā)送到DR BDR,并且DR以單播方式發(fā)送這些更新.

  LSA通過序列號(hào),校驗(yàn)和,和老化時(shí)間保證LSDB中的LSA是最新的,

  Seq: 序列號(hào)(Seq)的范圍是0x80000001到0x7fffffff.

  Checksum: 校驗(yàn)和(Checksum)計(jì)算除了Age字段以外的所有字段,每5分鐘校驗(yàn)1次.

  Age: 范圍是0到3600秒,16位長.當(dāng)路由器發(fā)出1個(gè)LSA后,就把Age設(shè)置為0,當(dāng)這個(gè)LSA經(jīng)過1臺(tái)路由器以后,Age就會(huì)增加1個(gè)LSA保存在LSDB中的時(shí)候,老化時(shí)間也會(huì)增加.

  當(dāng)收到相同的LSA的多個(gè)實(shí)例的時(shí)候,將通過下面的方法來確定哪個(gè)LSA是最新的:

  1. 比較LSA實(shí)例的序列號(hào),越大的越新.

  2. 如果序列號(hào)相同,就比較校驗(yàn)和,越大越新.

  3. 如果校驗(yàn)和也相同,就比較老化時(shí)間,如果只有1個(gè)LSA擁有MaxAge(3600秒)的老化時(shí)間,它就是最新的.

  4. 如果LSA老化時(shí)間相差15分鐘以上,(叫做MaxAgeDiff),老化時(shí)間越小的越新.

  5. 如果上述都無法區(qū)分,則認(rèn)為這2個(gè)LSA是相同的.

  五 OSPF區(qū)域

  區(qū)域長度32位,可以用10進(jìn)制,也可以類似于IP地址的點(diǎn)分十進(jìn)制分3種通信量

  1. Intra-Area Traffic:域內(nèi)間通信量

  2. Inter-Area Traffic:域間通信量

  3. External Traffic:外部通信量

  路由器類型

  1. Internal Router:內(nèi)部路由器

  2. ABR(Area Border Router):區(qū)域邊界路由器

  3. Backbone Router(BR):骨干路由器

  4. ASBR(Autonomous System Boundary Router):自治系統(tǒng)邊界路由器。

  虛鏈路(Virtual Link)

  以下2中情況需要使用到虛鏈路:

  1. 通過一個(gè)非骨干區(qū)域連接到一個(gè)骨干區(qū)域.

  2. 通過一個(gè)非骨干區(qū)域連接一個(gè)分段的骨干區(qū)域兩邊的部分區(qū)域.

  虛鏈接是一個(gè)邏輯的隧道(Tunnel),配置虛鏈接的一些規(guī)則:

  1. 虛鏈接必須配置在2個(gè)ABR之間.

  2. 虛鏈接所經(jīng)過的區(qū)域叫Transit Area,它必須擁有完整的路由信息.

  3. Transit Area不能是Stub Area.

  4. 盡口的避免使用虛鏈接,它增加了網(wǎng)絡(luò)的復(fù)雜程度和加大了排錯(cuò)的難度.

  OSPF區(qū)域—OSPF的精華

  Link-state 路由在設(shè)計(jì)時(shí)要求需要一個(gè)層次性的網(wǎng)絡(luò)結(jié)構(gòu).

  OSPF網(wǎng)絡(luò)分為以下2個(gè)級(jí)別的層次:

  骨干區(qū)域 (backbone or area 0)

  非骨干區(qū)域 (nonbackbone areas)

  在一個(gè)OSPF區(qū)域中只能有一個(gè)骨干區(qū)域,可以有多個(gè)非骨干區(qū)域,骨干區(qū)域的區(qū)域號(hào)為0。

  各非骨干區(qū)域間是不可以交換信息的,他們只有與骨干區(qū)域相連,通過骨干區(qū)域相互交換信息。

  非骨干區(qū)域和骨干區(qū)域之間相連的路由叫邊界路由(ABRs-Area Border Routers),只有ABRs記載了各區(qū)域的所有路由表。各非骨干區(qū)域內(nèi)的非ABRs只記載了本區(qū)域內(nèi)的路由表,若要與外部區(qū)域中的路由相連,只能通過 本區(qū)域的ABRs,由ABRs連到骨干區(qū)域的BR,再由骨干區(qū)域的BR連到要到達(dá)的區(qū)域。

  骨干區(qū)域和非骨干區(qū)域的劃分,大大降低了區(qū)域內(nèi)工作路由的負(fù)擔(dān)。

  六 LSA類型

  1.類型1:Router LSA:每個(gè)路由器都將產(chǎn)生Router LSA,這種LSA只在本區(qū)域內(nèi)傳播,描述了路由器所有的鏈路和接口,狀態(tài)和開銷.

  2.類型2:Network LSA:在每個(gè)多路訪問網(wǎng)絡(luò)中,DR都會(huì)產(chǎn)生這種Network LSA,它只在產(chǎn)生這條Network LSA的區(qū)域泛洪描述了所有和它相連的路由器(包括DR本身).

  3.類型3:Network Summary LSA :由ABR路由器始發(fā),用于通告該區(qū)域外部的目的地址.當(dāng)其他的路由器收到來自ABR的Network Summary LSA以后,它不會(huì)運(yùn)行SPF算法,它只簡單的加上到達(dá)那個(gè)ABR的開銷和Network Summary LSA中包含的開銷,通過ABR,到達(dá)目標(biāo)地址的路由和開銷一起被加進(jìn)路由表里,這種依賴中間路由器來確定到達(dá)目標(biāo)地址的完全路由(full route)實(shí)際上是距離矢量路由協(xié)議的行為

  4.類型4:ASBR Summary LSA:由ABR發(fā)出,ASBR匯總LSA除了所通告的目的地是一個(gè)ASBR而不是一個(gè)網(wǎng)絡(luò)外,其他同NetworkSummary LSA.

  5.類型5:AS External LSA:發(fā)自ASBR路由器,用來通告到達(dá)OSPF自主系統(tǒng)外部的目的地,或者OSPF自主系統(tǒng)那個(gè)外部的缺省路由的LSA.這種LSA將在全AS內(nèi)泛洪

  6.類型6:Group Membership LSA

  7.類型7:NSSA External LSA:來自非完全Stub區(qū)域(not-so-stubby area)內(nèi)ASBR路由器始發(fā)的LSA通告它只在NSSA區(qū)域內(nèi)泛洪,這是與LSA-Type5的區(qū)別.

  不透明LSA:

  8.類型8:External Attributes LSA

  9.類型9:Opaque LSA(link-local scope,)

  10.類型10:Opaque LSA(area-local scope)

  11.類型11:Opaque LSA(AS scope)

  OSPF末節(jié)區(qū)域

  這種區(qū)域不接受本自治系統(tǒng)以外的路由信息,位于Stub邊界的ABR將宣告一條默認(rèn)路由到所有的Stub區(qū)域內(nèi)的內(nèi)部路由器.

  末節(jié)區(qū)域限制:

  a) 所有位于stub area的路由器必須保持LSDB信息同步, 并且它們會(huì)在它的Hello包中設(shè)置一個(gè)值為0的E位(E-bit),因此這些路由器是不會(huì)接收E位為1的Hello包,也就是說在stub area里沒有配置成stub router的路由器將不能和其他配置成stub router的路由器建立鄰接關(guān)系.

  b) 不能在stub area中配置虛鏈接(virtual link),并且虛鏈接不能穿越stub area.

  c) stub area里的路由器不可以是ASBR.stub area可以有多個(gè)ABR,但是由于默認(rèn)路由的緣故,內(nèi)部路由器無法判定哪個(gè)ABR才是到達(dá)ASBR的最佳選擇.

  完全末節(jié)區(qū)域:不接受外部自治系統(tǒng)路由或來自本自治系統(tǒng)內(nèi)其他區(qū)域的的匯總路由(Cisco專有特性)。

  次末節(jié)區(qū)域(NSSA):允許外部路由被宣告OSPF域中來,同時(shí)保留Stub Area的特征,因此NSSA里可以有ASBR,ASBR將使用type7-LSA來宣告外部路由,但經(jīng)過ABR,Type7被轉(zhuǎn)換為Type5.7類 LSA通過OSPF報(bào)頭的一個(gè)P-bit作Tag,如果NSSA里的ABR收到P位設(shè)置為1的NSSA External LSA,它將把LSA類型7轉(zhuǎn)換為LSA類型5.并把它洪泛到其他區(qū)域中;如果收到的是P位設(shè)置為0的NSSAExternal LSA,它將不會(huì)轉(zhuǎn)換成類型5的LSA,并且這個(gè)類型7的LSA里的目標(biāo)地址也不會(huì)被宣告到NSSA的外部NSSA在IOS11.2后支持.

【淺析OSPF協(xié)議的工作原理】相關(guān)文章:

OSPF路由匯總教程08-21

華為認(rèn)證ospf配置命令06-28

淺析搜索引擎投票優(yōu)化方式原理10-24

多進(jìn)程OSPF及進(jìn)程號(hào)的意義06-25

OSPF常用的LSA類型有哪些09-30

OSPF鏈路狀態(tài)更新實(shí)例08-14

常見的OSPF五個(gè)疑難問題09-09

主板工作原理及分類08-11

EDA技術(shù)的工作原理07-14

CPU工作原理介紹10-19