動(dòng)態(tài)路由OSPF

Open Shortest Path First,開放最短路徑優(yōu)先

OSPFv2

OSPF的術(shù)語(yǔ)

鏈路(Link):當(dāng)一個(gè)接口加入OSPF進(jìn)程,就被當(dāng)做是OSPF的一條鏈路。

鏈路狀態(tài)(Link-State):包括接口的IP、子網(wǎng)、網(wǎng)絡(luò)類型、鏈路花費(fèi)、鏈路上的鄰居等。

路由器ID(Router ID,簡(jiǎn)稱RID):RID是一個(gè)用來標(biāo)識(shí)路由器的IP地址,可以在OSPF路由進(jìn)程中手工指定;如果沒有指定,路由器默認(rèn)選擇回環(huán)接口中最高的IP作為RID;如果沒有回環(huán)地址,路由器使用所有激活的物理接口中最高的IP作為RID。

鄰居(Neighbor):兩臺(tái)或多臺(tái)路由連接在一個(gè)公共的網(wǎng)絡(luò)上,如兩臺(tái)路由通過串行線路相連,多臺(tái)路由通過以太網(wǎng)相連。

鄰接(Adjacency):鄰接是兩臺(tái)路由器之間的關(guān)系,OSPF只與建立了鄰接關(guān)系的鄰居共享路由信息。

區(qū)域(Area):OSPF通過劃分區(qū)域來實(shí)現(xiàn)分層設(shè)計(jì),跨越兩個(gè)或兩個(gè)以上區(qū)域的路由被稱作ABR(Area

Border Router,區(qū)域邊界路由)。所有的區(qū)域都和“Area 0”相連,“Area

0”被稱作骨干區(qū)域,骨干區(qū)域路由器具有整個(gè)自制系統(tǒng)中所有路由條目,LSA的擴(kuò)散僅限制在區(qū)域內(nèi),通過劃分多個(gè)區(qū)域可以減小LSA擴(kuò)散過程中對(duì)硬件的負(fù)擔(dān)。

指定路由器(Designated Router,簡(jiǎn)稱RD):當(dāng)OSPF鏈路被連接到多路訪問的網(wǎng)絡(luò)中時(shí),需要選擇一臺(tái)指定路由器(DR),每臺(tái)路由器都把拓?fù)渥兓l(fā)給DR和BDR,然后由DR通知該多路訪問網(wǎng)絡(luò)中的其他路由器。

備用的指定路由器(Backup Designated Router,簡(jiǎn)稱BDR):當(dāng)DR發(fā)生故障的時(shí)候,BDR轉(zhuǎn)變成DR,接替DR個(gè)工作。

花費(fèi)(Cost):OSPF中使用的唯一度量值,使用鏈路的帶寬計(jì)算得來。

LS路由協(xié)議概念

1. 更新方式-組播更新

224.0.0.5 (所有的router)

224.0.0.6 (只有DR/BDR)

注:為減小多路訪問網(wǎng)絡(luò)中OSPF流量,OSPF會(huì)選擇一個(gè) 指定路由器(DR)和一個(gè)備 份指定路由器(BDR)。當(dāng)多路訪問網(wǎng)絡(luò)發(fā)生變化時(shí),DR負(fù)責(zé)更新其他所有OSPF 路由 器。BDR會(huì)監(jiān)控DR 的狀態(tài),并在當(dāng)前DR發(fā)生故障時(shí)接替其角色。

2. 更新內(nèi)容---LSA——鏈路狀態(tài)通告。

存在于鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)中支持等開銷負(fù)載均衡,默認(rèn)4條LSA,最大6條(1 2 3 4 5 7)

LS&DV路由協(xié)議區(qū)分

3. 傳播的內(nèi)容

A. DV傳播的是自己的路由表

B. LS傳播的是鏈路狀態(tài)

4. 傳播的范圍

A. DV傳播的是下一個(gè)鄰居

B. LS是一個(gè)區(qū)域內(nèi)傳播

5. 更新方式

A. DV依照傳聞更新

B. LS依照LSA,觸發(fā)更新

OSPF的三張表

1. 鄰居表

?

1、Show ip ospf neighbor

?

2. 拓?fù)浔?數(shù)據(jù)庫(kù)表)

?

1、Show ip ospf database

?

3. 路由表

?

1、Show ip route ospf? //查看路由表中ospf協(xié)議的路由

2、Show ip ospf route? //查看ospf宣告的所有路由表

?

OSPF的四種路由器

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

所有端口在同一區(qū)域的路由器。

2. 主干路由器:

具有連接主干區(qū)域端口的路由器。

3. 區(qū)域邊界路由器(ABR):

具有連接多區(qū)域端口的路由器,一般作為一個(gè)區(qū)域的出口。ABR為每一個(gè)所連接的區(qū)域建立鏈路狀態(tài)數(shù)據(jù)庫(kù),負(fù)? ??? ??責(zé)將所連接區(qū)域的路由摘要信息發(fā)送到主干區(qū)域,而主干區(qū)域上的ABR則負(fù)責(zé)將這些信息發(fā)送到各個(gè)區(qū)域。

4. 自治域系統(tǒng)邊界路由器(ASBR):

至少擁有一個(gè)連接外部自治域網(wǎng)絡(luò)(如非OSPF的網(wǎng)絡(luò))端口的路由器,負(fù)責(zé)將非OSPF網(wǎng)絡(luò)信息傳入OSPF網(wǎng)絡(luò)。

OSPF的五個(gè)報(bào)文

1. Hello

建立和維護(hù)OSPF路由器間的鄰接關(guān)系,在多路訪問中選擇DR和BDR。

2. DBD(Database Description,數(shù)據(jù)庫(kù)狀態(tài)描述包)

DBD包是發(fā)送端對(duì)自己鏈路狀態(tài)數(shù)據(jù)庫(kù)的一個(gè)簡(jiǎn)短描述,接收路由器根據(jù)接收到的DBD包對(duì)比自己的鏈路狀態(tài)數(shù)據(jù)庫(kù),檢測(cè)發(fā)送端和接收端的鏈路狀態(tài)數(shù)據(jù)庫(kù)是否同步。

3. LSR(Link-State Request,鏈路狀態(tài)請(qǐng)求包)

接收端可以發(fā)送LSA來請(qǐng)求接收到的DBD中的某些詳細(xì)信息。

4. LSU(Link-State Update,鏈路狀態(tài)更新包)

LSU用來更新OSPF路由信息,回復(fù)LSR請(qǐng)求。

5. LSAck(Link-State Acknowledgement,鏈路狀態(tài)確認(rèn))

當(dāng)收到一個(gè)LSU,路由器發(fā)送LSAck確認(rèn)。

抓包測(cè)試

OSPF的七個(gè)狀態(tài)

1. DOWN:

OSPF初始狀態(tài),還沒有開始交換信息。

2. Init:

交換信息初期,表示已經(jīng)收到了鄰居的Hello報(bào)文,但是報(bào)文中沒有列出本路由的RID,也就是說對(duì)方還沒有收到本路由發(fā)出的Hello報(bào)文。

3. Two-Way:

雙向階段,雙方都收到了對(duì)方發(fā)送的Hello報(bào)文,建立了鄰居關(guān)系。在多路訪問的網(wǎng)絡(luò)中,兩個(gè)接口狀態(tài)是DROther的路由器之間將停留在此狀態(tài),其他情況將繼續(xù)轉(zhuǎn)入高級(jí)狀態(tài)。在此狀態(tài)下的路由器是不能共享路由信息的,想共享路由信息,必須建立鄰接關(guān)系。

4. Exstart:

準(zhǔn)備開始交換階段,雙方通過Hello報(bào)文決定主從關(guān)系,最高RID的路由將成為主路由,最先發(fā)起交換。主從關(guān)系確立后進(jìn)入下一個(gè)階段。

5. Exchange:

開始交換階段,路由器將本地的”路由狀態(tài)數(shù)據(jù)庫(kù)(LSDB)”用”數(shù)據(jù)庫(kù)描述(DBD)”報(bào)文來描述,然后發(fā)給鄰路由。如果這個(gè)階段中的路由收到不在其數(shù)據(jù)庫(kù)中的有關(guān)鏈路的信息,那么在下一個(gè)階段中將請(qǐng)求對(duì)方發(fā)送該路由條目的完整信息。

6. Loading:

加載階段,路由器通過發(fā)送”鏈路狀態(tài)請(qǐng)求(LSR)”,來向鄰居請(qǐng)求一些路由條目的詳細(xì)信息。鄰居則會(huì)使用”鏈路狀態(tài)更新包(LSU)”來回復(fù)LSR請(qǐng)求,收到鄰居發(fā)回的LSU后,再發(fā)送LSAck向發(fā)送LSU的路由進(jìn)行確認(rèn)。

7. Full:

完全鄰接狀態(tài),Loading結(jié)束后,路由器之間就變成了”Full adjacency”。

OSPF的LSA

??

??

??

??

??

??

鄰居與鄰接的區(qū)別

鄰居關(guān)系是指,當(dāng)雙方收到對(duì)方的hello報(bào)文的時(shí)候,報(bào)文里面的參數(shù)(hello time.dead interval , area id.authentication ,mask等)一致的時(shí)候,并且鄰居關(guān)系為2-way的時(shí)候,這個(gè)就可以成為是建立了鄰居關(guān)系,但是還不是鄰接關(guān)系。

鄰接關(guān)系是指在建立的鄰居關(guān)系之后繼續(xù)發(fā)送DD,LSR,LSU等報(bào)文,最終雙方的LSDB達(dá)到同步之后,鄰居狀態(tài)為FULL時(shí),才成為鄰接關(guān)系。

OSPF? Router ID 選舉規(guī)則

手動(dòng)配置 ? router-id x.x.x.x

默認(rèn)使用最大的已激活的回環(huán)口做RID

若沒有回環(huán)口,則默認(rèn)選擇最大激活的物理接口的IP做RID

實(shí)驗(yàn)測(cè)試

OSPF ?DR與BDR的選舉規(guī)則

OSPF路由器選擇網(wǎng)絡(luò)優(yōu)先級(jí)最高的路由器為DR,接口優(yōu)先級(jí)次高的路由器為BDR,以太網(wǎng)接口默認(rèn)的優(yōu)先級(jí)都為1。

如果優(yōu)先級(jí)相同,將使用RID最高的為DR,次高的為BDR。

注意:不支持搶占性

實(shí)驗(yàn)測(cè)試

?

1、Int f0/0

2、Ip ospf priority x

3、Clear ip ospf process? \\清理ospf的進(jìn)程

?

OSPF度量值計(jì)算(開銷/消耗)

鏈路cost = 10^8/帶寬=100M/帶寬(單位)

串行線路的帶寬是1.544M 串行線路的花費(fèi)=100M/1.544≈64 (取整,且不四舍五入)

快速以太網(wǎng)的帶寬是100M: 快速以太網(wǎng)線路花費(fèi)=100M/100M=1

實(shí)驗(yàn)測(cè)試

OSPF的區(qū)域

骨干區(qū)域

非骨干區(qū)域

??? a. 普通區(qū)域

??? b. Stub區(qū)域

??? c. 完全stub區(qū)域

??? d. Nssa區(qū)域

??? e. 完全nssa區(qū)域

OSPF的特殊區(qū)域

1.STUB區(qū)域

如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF外部的路由?????? 末梢區(qū)域

如果設(shè)置為stub區(qū)域,4類和5類LSA消失不見,并且多出來一條3類默認(rèn)了路由的LSA。

?

1、router ospf 1

2 、area 1 stub? \\將區(qū)域配置成stub區(qū)域 會(huì)過濾掉4類和5類LSA,該非骨干區(qū)域上所有路由器都要配置,不然鄰居會(huì)斷開

?

2.完全STUB區(qū)域

如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF其他區(qū)域和OSPF外部的路由

如果設(shè)置為stub no-summary區(qū)域,其他區(qū)域的3類,4類和5類LSA消失不見,并且只剩一條3類默認(rèn)了路由的LSA。

?

1、router ospf 1

2、area 1 stub no-summary? \\將區(qū)域配置成完全stub區(qū)域,過濾掉3類LSA,只配置在ABR上,其他的路由器,都必須配置stub

?

3.NSSA區(qū)域

但是stub區(qū)域內(nèi)不允許引入外部路由,因?yàn)槲覀円?guī)定不管什么末節(jié)區(qū)域內(nèi)部都不能存在4類5類的LSA

所以我們定義了另外一種特殊區(qū)域NSSA,定義了一種新的LSA,7類LSA其實(shí)和5類LSA作用一樣,但是只存在于NSSA區(qū)域,一旦7類LSA到達(dá)了本NSSA區(qū)域的ABR上,ABR會(huì)將7類轉(zhuǎn)換成5類來繼續(xù)傳遞。

如果設(shè)置為nssa區(qū)域,4類和5類LSA消失不見,并且沒有多出來一條3類默認(rèn)了路由的LSA,需要手動(dòng)加上,并且是7類的默認(rèn)路由。

?

1、router ospf 1

2、area 1 nssa? ? \\后面這個(gè)不加在ABR上,就會(huì)讓整個(gè)nssa區(qū)域沒有默認(rèn)路由

?

4.完全NSSA區(qū)域

如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF其他區(qū)域和OSPF外部的路由

?

1、router ospf 1

2、area 1 nssa no-summary \\這個(gè)no-summary只要加在ABR上就可以,并且會(huì)產(chǎn)生默認(rèn)路由

?

OSPF 虛鏈路

在網(wǎng)絡(luò)規(guī)劃之初,一切都是完善的,但是隨著發(fā)展,一定會(huì)出現(xiàn)擴(kuò)展的需求。比如在某個(gè)非骨干區(qū)域上發(fā)生了區(qū)域分裂,導(dǎo)致某個(gè)非骨干區(qū)域無法和骨干區(qū)域相連,就需要虛鏈路

OSPF提供的虛鏈路

?

1、router ospf 1

2、router-id 8.8.8.8

3、area 2 virtual-link 4.4.4.4? ? \\2是需要跨越的區(qū)域號(hào),4.4.4.4是對(duì)方的loopback接口地址,必須還要是Router-ID

?

通過建立虛擬通道可以建立Area 0的鄰居關(guān)系

?

1、interface Tunnel0

2、ip address 192.168.84.4 255.255.255.0? ? \\隧道的IP地址

3、ip ospf 1 area 0? ? \\隧道放在area 0

4、tunnel source Ethernet0/2? ? ? \\隧道的入口,往往是自己的出接口

5、tunnel destination 192.168.48.8? ? \\隧道的目的地,一定要保障可達(dá)

?

OSPF的默認(rèn)路由

?

1、router ospf 1

2、default-information originate always? ? \\always加上可以不檢查本地是否有0.0.0.0

?

OSPF鏈路的驗(yàn)證

OSPF使用HMAC來保證數(shù)據(jù)的完整性,源認(rèn)證。HMAC并不能保障數(shù)據(jù)的機(jī)密性。

信息安全的三要素:CIA

機(jī)密性(Confidentiality)指只有授權(quán)用戶可以獲取信息。

完整性(Integrity)指信息在輸入和傳輸?shù)倪^程中,不被非法授權(quán)修改和破壞,保證數(shù)據(jù)的一致性。

可用性(Availability)指保證合法用戶對(duì)信息和資源的使用不會(huì)被不正當(dāng)?shù)鼐芙^。

接口認(rèn)證

?

1、Router(config-if)# ip ospf message-digest-key key-id md5 key

2、Router(config-if)# Ip ospf authentication message-digest

?

區(qū)域認(rèn)證

如果給area 0加區(qū)域認(rèn)證,別忘了虛鏈路

?

1、Router(config-if)# ip ospf message-digest-key key-id md5 key

2、Router(config-router)# area 0 authentication messae-digest

?

虛鏈路認(rèn)證

?

1、area 1 virtual-link 3.3.3.3 authentication-key CISCO

?

虛擬通道認(rèn)證

?

1、ip ospf message-digest-key 1 md5 cisco

?

OSPF的被動(dòng)接口

Passive-interface 接口

??

如何加快收斂速度

修改hello和dead時(shí)間 ? //dead=4hello

下放缺省路由

有靜態(tài)的時(shí)候

IP route 0.0.0.0 0.0.0.0 lo0

default-information originate

沒有靜態(tài)的時(shí)候

Default-information originate always

OSPF 支持手動(dòng)匯總,默認(rèn)不支持自動(dòng)匯總

一般在ASBR/ABR上進(jìn)行匯總

OSPF實(shí)驗(yàn)

??

需求

1,按照如圖所示配置好路由器的接口地址。在每臺(tái)路由器上必須建立loopback0接口。

2,配置好OSPF,區(qū)域劃分如圖所示,并且ospf的router-id必須為loopback0的地址。最終實(shí)現(xiàn)全網(wǎng)互聯(lián)。

3,在R1、R2、R3、R4之間的多路訪問網(wǎng)絡(luò)里面,必須是的R1成為DR,R2成為BDR。在其余的鏈路里面必須保障OSPF鄰居的快速建立,而不需要經(jīng)過wait timer。

4,在R1和R2上建立loopback10,接口的地址為同樣的100.1.1.1/32來模擬外網(wǎng)的接入。要求R1和R2都向內(nèi)網(wǎng)通告一條缺省路由,正常的時(shí)候所有的路由器通過R1的缺省路由來訪問外網(wǎng),當(dāng)R1無法正常工作的時(shí)候,通過R2來訪問外網(wǎng)。(需要在R7上使用traceroute來測(cè)試路線。)

5,area 2為特殊區(qū)域,該區(qū)域無法學(xué)習(xí)到ospf其他區(qū)域的路由。R7的loopback0的地址通過redistribute connected subnets命令進(jìn)入ospf。(觀察R5和R6上的7.7.7.0路由的來源,思考原因。)

6,在R3上創(chuàng)建loopback1-3,地址為172.16.x.1/24(x為1-3)。并且宣告進(jìn)OSPF區(qū)域1,要求在area 0只能看到一條匯總的路由172.16.0.0

7,area 0需要啟用明文區(qū)域認(rèn)證,R3和R5之間明文鏈路認(rèn)證,R4和R6之間密文鏈路認(rèn)證。

8,禁止area 2內(nèi)的192.168.57.0/24和192.168.67.0/24被其他區(qū)域?qū)W習(xí)到。此刻思考區(qū)域0里面關(guān)于7.7.7.0的路由消失的原因,并且需要解決7.7.7.0消失的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容