目錄
前言
內容均屬本人整理創作,如有遺漏或錯誤,歡迎評論指出!
更多資源請參考我的【GitHub】
OSPF
一、ospf基礎
1、ospf(open shortest path first)
- 開放式最短路徑
- 路由信息傳遞與路由計算分離。
- 基於SPF算法。 域內防環
- 以“累計鏈路開銷”作爲選路參考值
2、ospf工作過程
- 鄰居建立
- 同步鏈路狀態數據庫
- 計算最優路由
3、ospf頭部報文
Version
:對於當前所使用的OSPFv2,該字段的值爲2。Type
:OSPF報文類型。Packet length
:表示整個OSPF報文的長度,單位是字節。Router ID
:表示生成此報文的路由器的Router ID。Area ID
:表示此報文需要被通告到的區域。Checksum
:校驗字段,其校驗的範圍是整個OSPF報文,包括OSPF報文頭部。Auth Type
:爲0時表示不認證;爲1時表示簡單的明文密碼認證;爲2時表示加密(MD5)認證。Authentication
:認證所需的信息。該字段的內容隨AuType的值不同而不同。
4、ospf報文類型
-
hello
-
作用
- 發現和維護鄰居關係
- 選舉DR和BDR
- 鄰居發現:自動發現鄰居路由器。
- 鄰居建立:完成Hello報文中的參數協商,建立鄰居關係。
- 鄰居保持:通過Keepalive機制,檢測鄰居運行狀態
-
週期
- P2P\ bradcast 10s
- NBMA\ P2MP 30S
-
關鍵字段
- source ospf route(route-id)
- area ID
- auth type
- network mask
-
-
DD
- 1、協商主從(空dd報文) 2、發送lsa頭部摘要
-
LSR
- 作用請求完整的lsa
-
LSU
- 用於承載lsa
-
LSACK
- 收到lsu後進行確認
5、ospff的LSDB同步
ExStart
:鄰居狀態變成此狀態以後,路由器開始向鄰居發送DD報文。Master/Slave關係是在此狀態下形成的,初始DD序列號也是在此狀態下確定的。在此狀態下發送的DD報文不包含鏈路狀態描述。Exchange
:在此狀態下,路由器與鄰居之間相互發送包含鏈路狀態信息摘要的DD報文。Loading
:在此狀態下,路由器與鄰居之間相互發送LSR報文、LSU報文、LSAck報文。Full
:LSDB同步過程完成,路由器與鄰居之間形成了完全的鄰接關係。
6、狀態機
-
down
- 未收到hello報文
-
attempt
- 此狀態只在NBMA網絡上存在,表示沒有收到鄰居的任何信息,但是已經週期性的向鄰居發送報文,發送間隔爲HelloInterval
-
lnit
- 收到hello報文,但鄰居字段中未看到自己的route-ID
-
2-way
- 此事件表示路由器發現與鄰居的雙向通信已經開始
-
exstart
- 交互 DD空報文
-
echange
- 交互DD報文(按DD序列號)
-
loading
- 發送LSR回覆LSU
-
full
- 全毗鄰
7、DR\BDR選舉
-
爲減少MA網絡中的LSA泛洪及鄰接關係數量,OSPF會在每一個MA網絡中選舉一個指定路由器 DR(Designated Router)和一個備用指定路由器BDR(Backup Designated Router)。降低協議流量
-
DR–以大爲優
-
ma網絡中只有一臺具有選舉DR的資格,其他路由器和DR路由建立鄰接關係
-
1、優先級
- 默認爲1。0表示不參與。優先級大的爲DR
2、route-id
- 大的爲DR
-
-
BDR
- 備份DR
8、network-type
- `p2p`
- 組播形式發送協議報文
- 週期10s 無需選舉DR BDR
- 和鄰居建立鄰接關係
-
BMA
-
組播形式發送hello LSU LSACK報文
-
單播形式發送DD LSR報文
-
週期10s 需要選舉DR BDR
-
鄰接關係
- DR與BDR 、DRother建立鄰接關係
- BDR與DR 、DRother建立鄰接關係
- DRother之間只建立鄰居關係
-
-
NBMA
-
需要選舉DR BDR 週期30s
-
鄰接關係
- DR與BDR 、DRother建立鄰接關係
- BDR與DR 、DRother建立鄰接關係
- DRother之間只建立鄰居關係
-
-
P2MP
- 無需選舉DR BDR 週期10s
- 和鄰居建立鄰接關係
9、鏈路狀態
- 鏈路的類型;
- 接口IP地址及掩碼;
- 鏈路上所連接的鄰居路由器;
- 鏈路的帶寬(開銷)。
10、區域
- 骨幹區域:area 0
- 非骨幹區域區域:area 1-x
二、ospf域內路由
1、route-LSA頭部
- Type:LSA類型,Router-LSA是一類LSA。
- LS id:鏈路狀態ID。
- Adv rtr:產生此Router-LSA的路由器Router ID。
2、link-type
-
stubnet
描述直連的網絡號
- ink id:直連的網絡號
- data: 子網掩碼
- metric: 自身到改直連網絡的開銷
-
p2p
描述p2p、p2mp鏈路上的鄰居
- link id:鄰居的router id
- data: 與鄰居相連的接口
- metric: 自身到該鄰居的開銷
-
transen
t描述broadcast、NBMA鏈路上的鄰居
- link id:僞節點的router id,借用DR接口的地址充當
- data:自身和僞節點相連的接口地址
- metric:自身到僞節點的開銷
-
virtual
描述v-link上的鄰居
- link id: v-link上鄰居的router id
- data: 與鄰居相連的接口IP metric: 到鄰居的開銷
3、router-LSA
-
Type
:鏈接類型(並非OSPF定義的四種網絡類型)- Point-to-Point:描述一個從本路由器到鄰居路由器之間的點到點鏈接,屬於拓撲信息。
- TransNet:描述一個從本路由器到一個Transit網段(例如MA網段或者NBMA網段)的鏈接,屬於拓撲信息。
- StubNet:描述一個從本路由器到一個Stub網段(例如Loopback接口)的鏈接,屬於路由信息。
-
Link ID
:此鏈接的對端標識,不同鏈接類型的Link ID表示的意義也不同。 -
Data
:用於描述此鏈接的附加信息,不同的鏈接類型所描述的信息也不同。 -
Metric
:描述此鏈接的開銷- ### 4、network-LAS - `Type`:LSA類型,Network-LSA是二類LSA。 - `LS id`:DR的接口IP地址。 - `Adv rtr`:產生此Network-LSA的路由器Router ID,即DR的Router ID。 - `Net mask`:該網段的網絡掩碼。
5、LSA
-
1\route LSA:路由信息
-
2\network LSA: 鏈路路由信息
-
3\network summary LSA:區域間路由信息
-
4\ASBR summary LSA:連接外部信息
-
5\AS external LSA:外部路由信息
-
7\NSSA LSA:特殊區域引入的外部路由
6、SPF算法
-
在一類LSA和二類LSA中,包括了拓撲信息和路由信息。
-
OSPF將依據SPF算法和各類LSA進行最短路徑樹的計算
- Phase 1:依據一類LSA中的Point to Point,TransNet以及二類LSA,構建SPF樹。
- Phase 2:依據一類LSA中的Stub以及二類LSA,計算最優路由。
三、域間路由
1、區域間路由彙總
- 基於進程
- 產生下一條null接口
- 所有明細路由消失後才消失
- cost值取明細路由中最小的
2、Network-Summary-LSA
Ls id
:目的網段地址。Adv rtr
:ABR的Router ID。Net mask
:目的網段的網絡掩碼。Metric
:ABR到達目的網段的開銷值。
3、ABR計算區域間路由
- 根據三類LSA中的Adv rtr字段,判斷出ABR。
- 根據Ls id、Net mask、Metric字段獲得ABR到達目的網絡號/掩碼、開銷。
- 如果多個ABR產生了指向相同目的網段的三類LSA,則根節點將根據本路由器到達目的網段的累計開銷進行比較,最終生成最小開銷路由。如果根節點到達目的網段的累計開銷值相同,則產生等價負載的路由。
4 防環機制
- OSPF劃分了骨幹區域和非骨幹區域,所有非骨幹區域均直接和骨幹區域相連且骨幹區域只有一個,非骨幹區域之間的通信都要通過骨幹區域中轉,骨幹區域ID固定爲0。
- OSPF規定從骨幹區域傳來的三類LSA不再傳回骨幹區域
5 虛連接
- 骨幹區域必須是連續的,但是並不要求物理上連續,可以使用虛連接使骨幹區域邏輯上連續。
- 虛連接可以在任意兩個區域邊界路由器上建立,但是要求這兩個區域邊界路由器都有端口連接到一個相同的非骨幹區域
- 命令
ospf x
vlink-peer xxxx // 邏輯接口的ip地址
四、ospf外部路由
1、AS-external-LSA
-
將被泛洪到所有的ospf區域
-
包含信息
Ls id
:目的網段地址。Adv rtr
:ASBR的Router ID。Net mask
:目的網段的網絡掩碼。Metric
:ASBR到達目的網絡的開銷值,默認值爲1。Tag
:外部路由信息可以攜帶一個Tag標籤,用於傳遞該路由的附加信息,通常用於路由策略,默認值爲1。
2、ASBR-Summary-LSA
Ls id
:該ASBR的Router ID。A rtr
:該產生此四類LSA的ABR的Router ID。Metric
:從該ABR到達此ASBR的OSPF開銷值。
3、引入外部路由
- 命令
import-route xxxx type x x
display ospf lsdb
display ospf lsdb ase self-originate
4、外部路由的計算
-
度量值
-
metric-1 A+B
- external type-1
-
metric-1 A
- external type-2
-
5、次優路由
- forwarding-address的值應當被設爲該路由表中該路的ip address
- OSPF通過設置Forwarding Address來解決這個問題
五、ospf特殊區域及其他特性
1、特殊區域
-
stub area
-
末梢區域
- 阻擋 type-4,type-5 LSA 進入,允許type-3 LSA進入
-
配置注意事項
- 骨幹區域不能被配置爲Stub區域。
- 如果要將一個區域配置成Stub區域,則該區域中的所有路由器必須都要配置成Stub路由器。
- Stub區域內不能存在ASBR,自治系統外部路由不能在本區域內傳播。
- 虛連接不能穿越Stub區域建立。
-
-
totally stub
-
完全未末梢區域
- 阻擋type-3 type-4 type-5LSA進入,只允許缺省路由的type-3LSA進入
-
Totally Stub區域訪問其他區域及自制系統外部是通過默認路由實現的。
-
自制系統外部、其他OSPF區域的網絡發生變化,Totally Stub區域內的路由器是不直接受影響的。
-
-
NSSA
-
非完全末梢區域
- 阻擋type-4 type-5 LSA進入
-
細節
-
-no-summary之後。arbitrary產生幾類的默認路由?
- 3類。ospf形式的默認路由只能以3、5、7類存在
-
ABR同時特使ASBR的設備引入外部路由,np不置位,因爲不需要吧7類再轉成5類,因爲ASBR本身就產生5類LSA.
nssa 命令細節
-
-
nssa ?
default-route-advertise Originate Type 7 default into NSSA area //在ASBR上配置產生缺省路由的type-7LSA到NSSA區域的
flush-waiting-timer Flush waiting timer
no-import-route No redistribution into this NSSA area // ABR如果做了外部路由,由於NSSA內部路由可以通過外部路由
no-summary Do not send summary LSA into NSSA
set-n-bit Set n bit in DD packet in NSSA area
suppress-forwarding-address Suppress forwarding address for Translated Type-5
LSAs
translator-always Set NSSA translator role always
translator-interval Configure NSSA translator interval value
zero-address-forwarding Allow zero forwarding address for Type-7 LSAs
<cr> Please press ENTER to execute command
-
totally NSSA
-
非完全末梢區域
- 外部路由引入用type-7描述,NSSA的abr在注入area 0時把type-7轉換爲type-5
- 不允許三類LSA在本區域內泛洪
- BR上需要追加no-summary參數。
- P-BIT位置並且FA(forarding address)不爲0的type-7才能轉換成type-5
-
-
NSSA LSA
- NSSA區域的ABR收到七類LSA時,會有選擇地將其轉換爲五類LSA,以便將外部路由信息通告到OSPF網絡的其它區域。
- NSSA區域有多個ABR時,進行7類LSA與5類LSA轉換的是Router ID最大的ABR。
2、其他特性
-
區域間路由彙總和外部路由彙總
- 多條連續的IP前綴彙總成一條路由前綴
- 命令
ospf x
asbr-summary x.x.x.x x.x.x.x
-
ospf更新機制
-
定時更新
- LSA每1800s更新一次,3600s失效。
-
觸發更新
- 當鏈路狀態發生變化之後,立即發送鏈路狀態更新。
-
-
ospf認證機制
-
方式
-
接口認證方式。
- 優先選擇
-
區域認證方式。
-
-
認證模式
- null(不認證)
- simple(明文)
- md5(密文)
- HMAC-MD5
-
往期文章
最最最能測出你數通hcia基礎扎不紮實的實驗
stp始終學不會?這份思維導圖,猛男必點,猛女必看!
華爲交換機中hybrid、access、trunk的區別
本文作者: 肉肉
本文鏈接:https://blog.csdn.net/Arouroua/article/details/105989754
版權聲明: 本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明出處!