文章目錄
OSPF基原理
- OSPF(Open Shortest Path First)開放式最短路徑優先,基於SPF算法的鏈路狀態路由協議
- OSPF優點:
- 路由信息傳遞與路由計算分離
- 基於SPF算法(最短路徑樹)
- 以“累計鏈路開銷”作爲選路參考值
RIP在大型網絡中部署面臨的問題
RIP特性 | 問題 |
---|---|
逐跳收斂 | 收斂慢,故障恢復時間長 |
傳聞路由更新機制 | 缺少對全局網絡拓撲的瞭解 |
最多有效跳數爲15 | 環形組網中,使遠端路由不可達 |
以“跳數爲度量” | 存在選擇次優路徑的風險 |
OSPF相比於RIP的優化
RIP問題 | 優化 |
---|---|
收斂慢,故障恢復時間長 | 收到更新->計算路由->發送更新 ,更改爲,收到更新->發送更新->計算路由 |
缺少對全局網絡拓撲的瞭解 | 路由器基於拓撲信息,獨立計算路由 |
最多有效跳數爲15 | 不限定跳數 |
存在選擇次優路徑的風險 | 將鏈路帶寬作爲選路參考值 |
- OSPF中收到路由信息放入DB(數據庫)中,將數據庫轉發給鄰居,同時放入協議RIB(路由表),計算路由,再加入RIB(全局路由表)
- RIP收到路由信息,放入DB中(RIP的DB和協議RIB相同),計算好路由後,放入RIB(全局路由表),再轉發給鄰居
OSPF工作過程
- 鄰居建立
- 同步鏈路狀態數據庫
- 計算最優路徑
鄰居建立過程
- Router-ID用於在自治系統中,唯一標識一臺運行OSPF的路由器
- 如果沒有指定Router-ID,會優先從本地的環回口中選擇最大的IP地址
- 如果沒有本地環回口地址,會從物理接口中選擇最大的IP地址作爲Router-ID
發現並建立鄰居
- 發送Hello報文
- Hello報文的作用:
- 鄰居發現:自動發現鄰居路由器
- 鄰居建立:完成Hello報文中的參數協商,建立令居關係
- 鄰居保持:通過保活機制檢測鄰居運行狀態
- 雙方互相發送Hello報文,收到報文後,狀態從Down進入Init,然後回覆帶有鄰居Router-ID的Hello報文,鄰居收到後,狀態進入2-Way,鄰居關係建立
- 維護鄰居關係:
- 廣播和P2P每間隔10秒互相發送Hello報文,40秒(間隔時間的4倍)未收到Hello報文,就認爲鄰居出現故障
- NBMA和P2MP每間隔30秒互相發送Hello報文,120秒未收到Hello報文就認爲鄰居出現故障
- Hello報文通過組播(224.0.0.5)發送給其他路由器
實驗1:如下拓撲
- 配置OSPF,並抓包查看報文
[AR1]int lo 1
[AR1-LoopBack1]ip ad 1.1.1.1 24
[AR1-LoopBack1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip ad 12.1.1.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]ospf router-id 1.1.1.1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]net 12.1.1.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0
[AR2]int lo 1
[AR2-LoopBack1]ip ad 2.2.2.2 32
[AR2-LoopBack1]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip ad 12.1.1.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]ospf router-id 2.2.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]net 12.1.1.2 0.0.0.0
- 報文分析
鏈路狀態信息
- 鏈路狀態信息LSA包含的信息:
- 鏈路的類型
- 接口IP地址及掩碼
- 鏈路上所連接的鄰居路由器
- 鏈路的帶寬(開銷)
- OSPF支持多種網絡協議
- P2P:PPP的網絡類型。僅兩臺路由互聯,支持廣播和組播
- 廣播:Ethernet-II的網絡類型。兩臺或兩臺以上的路由器通過共享介質互聯,支持廣播和組播
- NBMA:幀中繼(FR)的網絡類型。兩臺或兩臺以上的路由器通過VC互連,不支持廣播和組播
- P2MP:多個點到點的集合,支持廣播、組播
OSPF度量方式
- 接口的cost=參考帶寬/實際帶寬
- 更改cost:
- 直接在接口下改配置
ospf cost 10
(接口視圖下) - 修改參考帶寬(所有路由器都要修改,確保選路一致性)
- 直接在接口下改配置
計算路徑開銷累加是累加進接口的開銷值
報文類型及作用
Type | 報文名 | 功能 |
---|---|---|
1 | Hello | 發現和維護鄰居關係 |
2 | Database Description | 交互鏈路狀態數據庫摘要 |
3 | Link State Request | 請求特定的鏈路狀態信息 |
4 | Link State Update | 發送詳細的鏈路狀態信息 |
5 | Link State Ack | 發送確認報文 |
LSDB同步過程
- 第一份發出的DD包,不包含LSA的任何信息,用來選舉主從
I
位表示是否爲第一個數據包M
位表示之後是否還有DD包MS
位爲1表示爲主,爲0表示爲從(通過比較Router-ID,大的爲主)
- RTB中的路由信息如果RTA中沒有,RTA會發送LSR請求報文,獲取STB中的RTA沒有的路由信息,RTA的路由信息RTB都有,RTB則直接進入Full
- RTB收到RTA的請求報文,會把RTB中沒有的路由信息放在LSU中,發送給RTA
- RTA收到LSU後,更新自己的路由信息表,恢復LSAck報文確認
- Full表示鄰接關係建立成功
DR與BDR的選舉與作用
- 鄰接關係個數=[n*(n-1)]/2
DR與BDR的作用
- 減少鄰接關係
- 降低OSPF協議流量
DR與BDR選舉
- DR與BDR的選舉是基於接口
- 接口的DR優先級越大越優先
- 接口的DR優先級相等時,Router-ID越大越優先
更改網絡類型
ospf network-type p2p
OSPF域內路由
Router-LSA
描述P2P網絡
描述MA網絡或NBMA網絡
Network-LSA
display ospf lsdb router
查看一類LSAdisplay ospf routing
查看協議路由表
SPF計算
- 構建SPF樹
- 根據Router-LSA和Network-LSA中的拓撲信息,構建SPF樹幹
- 計算最優路由
- 基於SPF樹幹和Router-LSA、Network-LSA中的路由信息,計算最優路由
OSPF域間路由
區域間路由傳遞
Network-Summary-LSA
- 三類LSA是由ABR(邊界路由器)產生的,用來描述區域間的路由信息
- 三類LSA是在區域內泛洪,
- 爲本區域產生一條相鄰區域的三類LSA
區域間路由防環
- 非骨幹區域必須與骨幹區域相連
- ABR收到非骨幹區域的LSA不做計算
- 三類LSA傳遞規則
虛連接Vlink
- 進入OSPF進程
ospf 1
- 進入中間區域
area 1
- 虛連接
vlink-peer 對端的Router-ID
OSPF外部路由
外部路由引入
- 命令:
import-route static
AS-External-LSA
- ASBR產生,在整個OSPF域內泛洪
- 引入外部路由,一條AS External LSA只能宣告一條外部路由
ASBR-Summary-LSA
- ABR產生,在區域內泛洪
- 告訴其他設備如何去往ASBR
- 通告到ASBR的開銷
外部路由類型
Type | Cost |
---|---|
第一類外部路由 | AS內部開銷值+AS外部開銷值 |
第二類外部路由 | AS外部開銷 |
- 默認爲第二類外部路由
- 第二類會先比較外部開銷,外部開銷相同,會比較內部開銷
- 第二類會可能會造成次優路徑
- External-Type1的優先級高於External-Type2(Type1比Type2更精確)
次優路徑
Forwarding Address
- 字段爲0
- 字段非0時,接口類型不能爲P2P或P2MP接口、不能是靜默接口、ASBR設備到達目的網段的下一跳地址所在網段被髮布在OSPF中
- 靜默接口:不再收發報文
- 當三個條件都成立時,FA字段爲非零,字段爲ASBR到達目的網段的下一跳的地址
OSPF特殊區域
Stub區域和Totally Stub區域
- 傳輸區域
- 末端區域
Stub區域
- 配置:區域中的每臺設備的OSPF進程下,進入區域,輸入
stub
- 不引入外部路由
- 沒有四類、五類LSA
- 有一條三類的默認路由,有三類的明細路由
Totally Stub區域
- 配置:只需要在ABR上配置,進入OSPF進程,進入區域,輸入
stub no-summary
- 不能引入外部路由
- 有一條三類默認路由,沒有三類明細、四類、五類LSA,
NSSA區域和Totally NSSA區域
NSSA區域
- 允許外部路由
- 七類LSA只能在NSSA區域中傳遞
- 七類LSA傳遞給ABR,ABR轉換爲五類LSA,進行OSPF全區域泛洪
- 有三類的默認路由、明西路由
Totally NSSA區域
- 沒有三類明細路由,有一條三類的默認路由
總結
LSA類型 | 通告路由器 | LSA內容 | 傳播範圍 |
---|---|---|---|
Router LSA(Type-1) | OSPF Router | 拓撲信息、路由信息 | 本區域內 |
Network LSA(Type-2) | DR | 拓撲信息、路由信息 | 本區域內 |
Network-Summary-LSA(Type-3) | ABR | 域間路由信息 | 非Totally Stub區域(區域內) |
ASBR-Summary-LSA(Type-4) | ABR | ASBR的Router ID以及到ASBR的開銷 | 非特殊區域(區域內) |
AS-External-LSA(Type-5) | ASBR | 路由進程域外部路由 | (非特殊區域)OSPF進程域 |
NSSA LSA(Type-7) | ASBR | NSSA域外部路由信息 | (Totally)NSSA區域 |
區域間路由彙總和外部路由彙總
區域間路由彙總
- 配置:在邊界路由器,進入OSPF進程,進入區域,輸入
abr-summary 172.16.0.0 255.255.248.0
外部路由彙總
- 配置:在ASBR上,進入OSPF進程,輸入
bsbr-summary 172.17.0.0 255.255.248.0
以上內容均屬原創,如有不詳或錯誤,敬請指出。