一、ospf鏈路狀態路由協議(無類/帶掩碼)
1.1 特性
使用SPF算法:以自己為根節點計算最短路徑樹
華為設備上,常見路由優先級:RIP=100,ospf=10,靜態=60,直連=0
AD:用來判斷路由條目來源的優先級(越小越優)
等價負載均衡:從源到目的同時存在多條AD值和度量值一樣的路徑,默認支持4條負載均衡,最大支持16條。
不支持自動匯總,只支持手動匯總
傳輸層協議,需要上層(網絡層)IP協議號89,管理距離110
只支持等價負載均衡(不等價負載均衡IEGRP,兩條路徑開銷不同也可以實現負載均衡)
支持簡單口令認證(明文)和MD5(哈希算法,不可逆、雪崩效應)加密校驗認證(密文)。為了保證雙方身份合法
觸發更新、增量更新、周期更新1800s=30分鐘
組播更新地址:224.0.0.5(所有可收)、224.0.0.6(DR和BDR可收)
1.2 鏈路狀態:
鏈路:運行在OSPF進程下的路由器接口
鏈路狀態:接口上的描述信息(接口的IP地址、子網掩碼、網絡類型cost值)
只有鄰接關系才會交互鏈路狀態信息
1.3 路由表優選:
遵循最長掩碼匹配原則
管理距離AD,越小越優
二、OSPF路由器特殊角色
2.1 角色名稱
DR:指定路由器
BDR:備用路由器
Drother:其他路由器
2.2 角色關系
DR和BDR為鄰接關系
Drother和Drother為鄰居關系(在Two-way狀態下選舉出)
2.3 角色標識 Router-ID
OSPF路由器的身份標識(以IP的形式表示,不是一個IP地址,是編號)
一個OSPF路由器只能有一個Router-ID
整個OSPF自治系統的Router-ID不能一致
不搶占,清進程/重啟路由器
2.3.1 Router-ID的自動確定方法:
手動指定Router-ID,最優先
活動的loopback回環口IP最大
活動的最大的物理接口IP最大
2.3.2 手工指定Router ID
OSPF進程下:Router(config-router)#router-id 1.1.1.1
指定范圍0.0.0.0~255.255.255.255
OSPF鄰居已經建立好的情況下,手工指定Router ID不會立刻生效,需要重啟ospf進程clear ip ospf process
2.4 角色選舉規則
接口優先級大的優先
Router-ID大的優先
選舉環境:廣播,非廣播多路訪問
DR不一定為主路由器
一個廣播域(網段)選一個DR、BDR(在接口選)
一個網段中有n臺路由器的情況下:構成n*(n-1)/2個鄰接關系
三、OSPF區域(基于接口劃分)
3.1 OSPF普通區域
骨干區域area0:域間通信數據包交互需要經過骨干區域,一定程度上起到防環作用
常規區域area其他:常規區域間不能直接交換數據包
注意:所有常規區域必須與骨干區域相連
3.2 OSPF 特殊區域
主要用來過濾LSA,骨干區域不能配置
末節區域stub | 完全末節區域 | 不完全末節區域NSSA | Totally NSSA |
---|---|---|---|
過濾外部5類(4類。隱含),允許其他區域條目3類 | 過濾外部5類(4類),以及其他3類 | 過濾外部5類、4類,允許其他3類 | 過濾外部5類、4類、其他3類 |
ABR會自動向末節區域發送一跳指向自己的默認路由(不允許有外部條目引進來產生一條指向ABR的默認路由進行通信) | ABR會自動向末節區域發送一跳指向自己的默認路由3類(不允許有外部條目引進來產生一條指向ABR的默認路由進行通信) | 不產生一條指向ABR的默認路由,手動(允許有外部條目引進來,不產生一條指向ABR的默認路由,手動) | ABR會自動向末節區域發送一條指向自己的默認路由(允許有外部條目引進來產生一條指向ABR的默認路由,) |
本區域內的路由器不能 | 本區域內的路由器不能 | 本區域內的路由器可以 | 本區域內的路由器可以 |
成為ASBR(不能有外部條目引入) | 成為ASBR | 成為ASBR(允許外部條目引進) | 成為ASBR |
無虛鏈路經過 | 無虛鏈路經過 | 無虛鏈路經過 | 無虛鏈路經過 |
T_T這部分讓我想想我寫的啥…語言太過精簡,后續再修訂
注意:
末梢區域過濾LSA,在進程下配置。過濾以后路由表里沒有外部OE2的路由條目。但是不影響通信,因為有一條指向自己的默認路由(自己產生)
將一個特殊特殊區域更改為另一個特殊區域,切記將原來的配置刪除干凈,再配置新的特殊區域(在進程下,no area 1 stub)
配置成nassa以后,外部條目以7類的LSSA存在,傳給其他區域時,以5類的LSA傳遞
網絡類型:路由器對接入進來的鏈路的認知,不同的認知處理的方式是不一樣的,可以在接口下修改。
四、OSPF虛鏈路
虛鏈路是一個邏輯的虛擬通道,讓普通區域與骨干區域邏輯相連。在骨干區域和常規區域之間建立虛擬通道,邏輯擴大區域0的范圍
虛鏈路配置
R2(config-router)#area 1 virtual-link 3.3.3.3
R3(config-router)#area 1 virtual-link 2.2.2.2
3.3.3.3 和2.2.2.2 為router-id
注意:為了環境穩定。先配置router-id,在創建虛鏈路環境之前否則會被回環口的ID號替代
五、OSPF認證
用來驗證雙方身份的合法性
不認證、明文認證、MD5認證
開啟虛鏈路認證需要做雙向認證,否則清進程之后鄰居關系down。
六、OSPF路由器類型
IR-內部路由器:所有接口都屬于同一個區域的路由器
ABR-區域邊界路由器:接口不全屬于同一個區域的路由器,同時存在兩個area中的鏈路狀態信息
ASBR-自治系統邊界路由器:將EIGRP系統的自治區域的條目引到OSPF里面
例如:一臺路由器回環口的路由條目沒有被通告進ospf的路由器即為ASBR。默認情況下,兩個自治系統的路由器不能互相通信
AS自治系統:一個單獨的可以自己管理的網絡單元。可以理解為用同一種協議的區域
注意:不同自治系統之間無法直接交換數據互相通信需要通過一定的技術手段(雙向重分發)
七、OSPF路由條目類型
O區域內路由
O IA區域間路由
外部路由條目:O E1或O E2(默認)
O E1:出接口累加開銷,每次加1
O E2:默認初始開銷20,不累加,除非手動更改
路由類型優先順序:O>O IA>O E1>O E2
注意:為了讓兩個不同協議ospf/RIP的網絡系統,同時擁有兩個協議的路由器,會擁有兩個路由條目類型。更優的加表,其他類型不加表。
八、OSPF鄰居建立過程
8.1 OSPF的三張表
鄰居表:存放鄰居的相關信息。列出本地路由器全部已經建立鄰接關系的鄰居路由器信息。
拓撲表(鏈路狀態數據表LSDB):存放所有的鏈路狀態信息—鏈路狀態數據庫。列出了網絡中其他路由器的信息,相當于擁有了整個網絡的路由地圖。
路由表:存放都是最優條目—經過SPF算法的最優路由。列出了到達每個想來了連網絡的最佳路徑。
8.2 OSPF的五個包
報文類型 | 描述 |
---|---|
Hello=type=1 | 建立和維護鄰居關系。 |
1.建立鄰居前發現鄰居 | |
2.鄰居建立之后用來維護鄰居關系,默認10s發送一次 | |
DBD數據庫描述包=type=2 | 描述每臺OSF路由器的LSDB信息。 |
存放LSA的所有目錄信息,鏈路狀態信息 | |
LSR鏈路狀態請求包=type=3 | 請求OSPF鄰居的鏈路狀態信息 |
LSA請求,想知道的LSA信息 | |
LSU鏈路狀態更新包=type=4 | 傳遞LSA(包含一條或者多條)給鄰居,根據LSR所發 |
LSAck鏈路狀態確認包=type=5 | 回應并確認鄰居發來LSU中的LSA已收到 |
8.3 七個狀態過程
總結:
路由器運行OSPF協議的過程
先建立鄰接關系—>知道LSA鏈路狀態—>收斂完成后—>生成鏈路狀態數據庫LSDB—>經過SPF算法計算—>選擇最優路徑樹—>形成路由表(每個路由器都擁有一個完整的數據鏈路圖)
九、OSPF常見幾類LSA
傳播范圍 | 通告路由器 | 鏈路狀態ID | 包含內容 | |
---|---|---|---|---|
1類:路由router-LSA | 本區域防洪廣播,不穿越ABR | 本地路由器Router-ID | 本地路由器Router-ID | 本路由器的直連鄰居,以及直連接口的信息 |
2類:網絡Network-LSA | 本區域,不穿越ABR | DR的Router-ID | DR的接口IP | MA網種的路由器、本網掩碼信息,DR路由本身的Router-ID |
3類:網絡匯總Network summary-LSA | 除本區域外的其他區域 | ABR的Router-ID,經過一個區域改變一次 | 網絡號 | 本區域路由信息,包括網絡號和掩碼 |
4類:ASBR匯總ASBR summary-LSA | 整個AS | ABR的RID,經過一個區域改變一次 | ASBR的RID | 本區域的路由信息,包含網絡號和掩碼 |
5類:自制系統外部AS external-LSA | 整個AS | ASBR的Router-ID | 網絡號 | 域外路由信息,一個LSA即一條路由信息 |
7類:不完全末節區域NSSA external-LSA | NSSA本區域 | ASBR的Router-ID | 網絡號 | 域外路由信息,一個LSA即一條路由信息 |
1、2類實現區域內的路由
1、2、3類實現區域間路由
1、2、3、4、5實現自治系統之間的通信
只有鄰接關系才能交換LSA(鏈路狀態)
十、默認路由
沒有always參數:沒有默認路由不會下放默認路由,要下發一跳,本身也要有一跳默認路由。
有always參數:本身沒有默認路由也可以下放默認路由
出口下放一跳默認路由給內網,使外網能夠和內網的通信。
十一、OSPF條目匯總
3類O IA在ABR(本區域)上匯總,進程下匯總(可以查看鏈路狀態數據庫來查看是誰將條目通告給我,如果有多臺邊界路由器,則每臺都要匯總)
命令:area 0 range+IP+掩碼
5類O E2(默認)在ASBR上匯總,進程下匯總
命令:summary-address+IP+掩碼
要匯總的條目是誰通告進來的就在哪臺路由器上匯總
生效條件:至少存在也給明細條目
匯總條目的開銷值:最小的條目的開銷值
匯總后會產生一條null0(垃圾桶)的條目,為了避免因為明細條目故障產生環路
十二、網絡類型及DR/BDR選舉
網絡類型 | Hello時間 | 選舉DR/BDR | 鄰居建立方式 |
---|---|---|---|
點到點(point-to-point) | 10S | 否 | 自動 |
點到多點(point-to-multipoint) | 30S | 否 | 自動 |
廣播(broadcast) | 10S | 是 | 自動 |
非廣播(non-broadcast) | 30S | 是 | 手工 |
點到多點非廣播(point-to-multipoint Non-broadcast) | 30S | 否 | 手工 |
網路類型不一致而不能起鄰居關系是因為hello時間不一致。不能通信是因為處理方式不一樣,所以不能學到條目信息。點到多點可以學到。視情況分析能不能建立鄰居關系。
兩端網絡類型不一致,可以進行到full,但是不發送LSA
點到點:串型鏈路,封裝上ppp協議(支持認證)、HTL協議的鏈路
思考題
在多路訪問下一定有DR/BDR?
錯。優先級接口為0不選舉。
在一個網絡里一定有DR/BDR?
錯,網絡類型為點到點等不選舉
為了實現網絡互相通信一定有DR/BDR?
對。DR/BDR鄰接關系才能交互鏈路狀態信息
為什么要選舉DR/BDR?
為了減少不必要鄰接關系的建立,減少環境中鏈路狀態信息的交互。以太網環境下,接口優先級為0的不參與DR/BDR的選舉,DR/BDR不支持搶占。
OSPF區域劃分的好處?
1)方便管理
2)減少網絡動蕩
3)減小LSDB,減少SPF計算,節約進程資源
4)規定區域0為骨干區域,所有常規區域數據包交互必須要經過骨干區域,在一定程度上可以防環
為什么OSPF適用于大型網絡環境?
收斂速度快
區域的劃分方便管理
LSDB減小,減小網絡動蕩
促發更新,增量
DR/BDR的選舉
支持認證支持vlsm和CIDR
支持等價負載均衡
組播更新
形成OSPF鄰居的四個條件?
1. 區域ID 一致
2. Hello時間(10s默認)和dead時間一致
3. 認證類型和密碼一致
4. 特殊區域標簽一致
鄰接關系建立不成功的原因?
1)區域ID不一致
2)Hello時間和死亡時間不一致
3)認證類型不一致
4)認證密碼不一致
5)特殊區域標簽不一致
6)掩碼不一致(在廣播環境下,如果是點對點環境,不影響)
7)RID一致
8)MTU不一致
接口下認證和進程下認證有何區別?
接口:只對這個接口開啟認證
進程:路由器上所有活躍的接口開啟認證
認證密碼只能在接口下配置,如果同時在進程下和接口下開啟認證,那么接口下的認證優先生效。認證不成功,鄰居down。
審核編輯:劉清
-
路由器
+關注
關注
22文章
3707瀏覽量
113541 -
OSPF
+關注
關注
0文章
80瀏覽量
14871 -
過濾器
+關注
關注
1文章
427瀏覽量
19557 -
SPF接口
+關注
關注
0文章
4瀏覽量
8408
原文標題:OSPF學習筆記,近4000字!
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論