CCNA4:OSPF——開放式最短路徑優先協議

CCNA4:OSPF——開放式最短路徑優先協議

OSPF是標準的鏈路狀態路由協議,其實就是拓撲型協議。它是無類別協議,更新時攜帶子網掩碼,使用組播(224.0.0.5、224.0.0.6)進行更新,管理距離110,度量爲cost表示開銷值。

OSPF是一個拓撲型協議,它最大的特點就是選路佳,不會出環。但是由於它是拓撲型協議,那麼每多一臺路由器,就會導致設備的更新量很大,會佔用大量的資源。爲了減少更新量,OSPF採用了 結構化部署:區域劃分、地址規劃
通過區域之內傳拓撲,區域之間傳路由這種方式,這就叫做鏈路狀態型的距離矢量特徵。

OSPF使用觸發更新、週期更新(30分鐘)。使用週期更新的原因是:由於更新量太大,會導致網絡擁塞,可能無法收到某些數據包,導致數據庫不統一,因此用週期更新,讓路由器之間沒過30分鐘比對一次。

1、OSPF的數據包:

數據包 數據包的作用
Hello包 Hello包用於發現、建立、週期保活鄰居關係,通過hello包的互發來發現鄰居
Hello包中存在router ID——RID,相當於全網唯一的編號,使用IP地址。
DBD包 DBD包叫做數據庫描述包:路由器通過收到這個包之後,來查看該DBD包中那一條LSA信息自己沒有,起到比對作用。
LSR 鏈路狀態請求包 路由器通過發送LSR鏈路狀態請求包來向對端請求自己沒有的LSA信息
LSU 鏈路狀態更新包 該包中攜帶各種LSA,用於回覆其它路由器的請求
LSack 鏈路狀態確認包 表示自己已經收到更新包

2、OSPF的工作過程:

(1)啓動配置完成後,本地使用組播(224.0.0.5、224.0.0.6)發送hello包到所有鄰居處,若收集到其他鄰居的hello包,那麼建立鄰居關係,生成鄰居表

(2)緊接着和所有鄰居間進行 條件匹配
若失敗將停留於鄰居關係,僅hello包週期保活即可。
若匹配成功,將建立鄰接(毗鄰)關係,鄰接關係將使用DBD/LSR/LSU/LSack來獲取未知的LSA信息,當收集齊所有的LSA信息後,本地生成LSDB(鏈路狀態數據庫也就是數據庫表

(3)之後在本地基於LSDB計算到達所有未知網段的最佳路徑,然後將其加載到路由表

(4)收斂完成後,hello包週期保活鄰居、鄰接關係;每過30min週期性的使用DBD比對數據庫。
(5)若結構突變:
①新增、斷開網段時,直連設備使用DBD同步信息到所有的鄰接處。
②設備斷電無法溝通,dead time到時後斷開鄰居關係。
LSA:鏈路狀態通告,或者說是拓撲或路由。
LSDB:鏈路狀態數據庫,用於存放所有的LSA集合。
OSPF協議的收斂被稱作LSA洪泛、LSDB同步

3、OSPF的狀態機(重點):

狀態機 意義
Down 一旦本地發出hello包就進入下一個狀態
Init(初始化) 接收到的hello包中,若存在本地RID,那麼進入下一狀態
2way(雙向通信) 鄰居關係建立的標誌

條件匹配:點到點網絡直接進入下一狀態,MA網絡中將進行DR/BDR選舉(40s)非DR/BDR間不得進入下一狀態

Exstart(預啓動) 類hello的DBD,進行主從關係選舉,RID數字爲大者爲主,優先進入下一狀態
Exchange(準交換) 使用真正的DBD包,進行數據庫目錄的共享,需要ACK確認
Loading(加載) 使用LSR/LSU/LSack來獲取未知的LSA信息
Full(完成) 鄰接關係建立的標誌

大致過程用圖片來表示,是這樣的:
在這裏插入圖片描述

4、OSPF的配置、鄰居表、數據庫表、路由表:

(1)OSPF的配置解釋:
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 12.1.1.0 0.0.0.255 area 0

#1 router ospf 1中1爲進程號可以讓一臺路由器運行多個ospf進程,僅具有本地意義
#2 router-id 1.1.1.1 配置RID,要求爲全網唯一,爲手工配置,如果不配置默認取環回接口最大數字,最後再取物理接口最大數字。
#3 宣告所擁有的網段,使用反掩碼來匹配可變動範圍(12.1.1.0 0.0.0.255 表示爲最後8位爲可變動範圍),達到宣告的目的,同時宣告自己所在的區域。這裏的反掩碼是說的範圍,而掩碼說的是網絡位與主機位的區分,邏輯上是不一樣的。

OSPF劃分區域的原因:避免更新量太大,可以工作在更大的環境中。
OSPF劃分規則:
①必須爲星型結構——區域0爲骨幹區域,其餘爲中心站點。
②ABR——區域邊界路由器,它是將一邊區域拓撲計算所得路由發送到另一邊
在這裏插入圖片描述
(2)鄰居表
爲了更好的說明3張表,這裏配置3臺路由器。配置就按照上一步進行配置,如圖:
在這裏插入圖片描述
鄰居表:啓動配置完成後,所有設備間使用hello包,發現並建立鄰居關係,鄰居表生成。Hello time爲10s,dead time 爲hello time 的4倍,它會從40s開始倒計時,倒到30s時,新的hello包來了,那麼又恢復到40s。
在這裏插入圖片描述
(3)數據庫表
鄰居關係建立後,鄰居間進行調節匹配,匹配成功者之間進入鄰接關係,基於DBD/LSR/LSU/LSack獲取未知LSA信息,生成LSDB(數據庫表),這只是幾個目錄:
在這裏插入圖片描述
詳細看其中的一條目錄。
r2#show ip ospf database router 1.1.1.1
在這裏插入圖片描述
這裏我不會詳細解釋,之後我會在NP階段寫關於OSPF的詳細講解,敬請期待。
(4)路由表:
LSDB同步完成後,本地使用SPF最短路徑選路規則,將到達未知網段的路由加載到路由表
在這裏插入圖片描述

O 本地區域內的路由,是本地通過拓撲計算所得
O IA 域間路由,其他區域的路由,通過ABR共享進入

其中管理距離爲110,度量爲cost值也就是開銷值,由於度量值要越小越好,因此使用開銷值:
在這裏插入圖片描述
注:當接口帶寬大於參考帶寬時,比如1000M時,cost值爲1。就有可能出現選路不佳,建議修改參考帶寬,默認爲Mbits
r1(config)#router ospf 1
r1(config-router)#auto-cost reference-bandwidth 1000
切記:整個網絡所有設備均需要修改抑制。

5、OSPF建立成爲鄰接關係的條件:

鄰接關係建立的條件是建立鄰居關係:
鄰居關係:只存在Hello包的保活,之間沒有路由、拓撲的傳遞。
鄰接關係:進行LSA的交互、洪泛(進行拓撲路由的傳遞)。

網絡類型決定了鄰接關係是怎樣的:
點到點網絡:在一個網段內只能存在兩個節點。
MA網絡:在一個網段內節點之間的數量不限制。

(1)點到點網絡:
在點到點網絡OSPF中只能直接建立鄰接關係
(2)MA網絡中:
在MA網絡中爲 避免重複的更新 ,將進行DR/BDR選舉,所有的非DR/BDR間僅建立鄰居關係;DR/BDR與其他非DR/BDR建立鄰接關係,基於224.0.0.6(DR/BDR專用)溝通。因此要出現DRother與DRother之間的hello包溝通,至少需要4臺路由器。

DR爲老大,BDR爲老二它用於接管DR臨時故障導致網絡癱瘓而設置的。DROTHER它們只和DR之間進行比對數據庫,不和DROTHER比對數據庫,減少更新量。

選舉規則;
1、比較接口優先級,0-255,越大越好。 默認爲1,0表示不參選。
2、接口優先級若相同,比較RID
R1(config)#interface f0/0
R1(config-if)#ip ospf priority 3 修改接口優先級

注:OSPF選舉爲非搶佔的,因此在人爲**修改優先級後,必須讓所有重啓設備一次性敲好所有配置命令,**然後最好在十幾秒內重啓OSPF進程,超出40s不成功。
或者是將設備的參選接口優先級修改爲0,不參選,但至少留一臺設備參選,否則無DR,網絡將無法同行。
在這裏插入圖片描述

6、OSPF的擴展配置:

1) 認證----直接在連接鄰居的接口上配置
在這裏插入圖片描述
2) 加快收斂—hello time 10s dead time 40s在這裏插入圖片描述
在直連鄰居的接口上修改,且鄰居間time必須完全一致,否則無法保持鄰居關係匹配
在這裏插入圖片描述
3) 被動接口----僅接受不發送路由協議的信息,用於連接用戶的接口,不得用於連接鄰居的接口
在這裏插入圖片描述
4) 缺省路由----在邊界路由器上配置缺省信息後,向內網發送缺省路由
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章