OSPF協議原理講解和實際配置(華為/思科)

OSPF(open shorest path first,開放最短路徑優先)是一種動態的,基于鏈路狀態的動態路由協議,廣泛的應用在企業網絡中,通過維護網絡拓撲信息,利用?Dijkstra 算法實現最短路徑,實現高效的路由選擇。

目錄

一、OSPF特點

二、OSPF協議的工作原理

(一)建立鄰居關系(通過hello協議)

(二)信息同步(LSA交換)

(三)計算最短路徑(SPF:Dijkstra算法)

(四)維護和更新機制

三、OSPF的層次化是如何實現的

分區域

(一)、OSPF網絡層次化的核心是區域(area)劃分

(二)區域的構建是有規則的

分角色

路由匯總

定義不同類型的鏈路狀態通告

三、單區域的ospf協議的配置

思科設備

基礎環境配置

思科設備ospf詳細配置

華為設備

前期配置

ospf配置

四、多區域的OSPF配置

思科設備

華為設備

五、ACL 的作用

六、重分發(Redistribute)配置

核心作用:將一種路由協議的路由,發布到另一種路由協議中(需指定 “種子 metric”)

場景 1:其他協議(如 OSPF)→ RIP

場景 2:RIP → OSPF

場景 3:靜態路由 → OSPF

場景 4:直連路由 → OSPF

七、常用 OSPF 補充查看命令

思科設備

華為設備


一、OSPF特點

1、ospf協議是全世界最實用的路由協議,沒有之一

2、使用spf算法來計算最優路徑,具體實現的是Dijkstra(迪杰斯特拉算法)

3、ospf協議屬于典型的鏈路狀態型路由協議(每個路由器都維護一份完整的網路拓撲這個拓撲是用鏈路狀態數據庫來維護的)

4、ospf選擇最優路徑依靠的參數為開銷cost

5、ospf協議使用應用層次化的網絡結構來選擇最優路徑

6、ospf協議有三張表,鄰居表,鏈路狀態數據庫表,路由表

二、OSPF協議的工作原理

(一)建立鄰居關系(通過hello協議)

1、當路由器啟動ospf后,路由器通過接口周期性的發送hello報文(默認十秒一次,廣播)

2、報文中包含RouterID、Hello間隔、Dead時間(默認是4倍Hello間隔)、區域id等信息

3、如果想要接受方和發送方的區域id,認證信息相互匹配的話,就會形成鄰居信息,記錄在路由器的鄰居表中

(二)信息同步(LSA交換)

鄰居關系建立之后,路由器通過多種報文交換LSA,同步LSDB

  • DD報文(數據庫報文): 雙方交換LSDB的摘要信息,用來發現彼此的LSDB的差異
  • LSR報文(鏈路狀態請求報文): 相對方請求自身缺少的LSA詳細信息
  • LSU報文(鏈路狀態更新報文): 攜帶完整的LSA內容,相應LSR請求
  • LSAck報文(鏈路狀態確認報文):確認收到LSU,保證鏈接的可靠性

同步完成之后,同一個區域內的LSDB完全一致

(三)計算最短路徑(SPF:Dijkstra算法)

基于LSDB,每個路由器以自身為根(就是以此路由器為觸發點),運行Dijkstra算法生成最短路徑樹(SPT)

路徑度量值為Cost(開銷)默認計算公式:Cost = 100Mbit/s ÷ 接口帶寬(這個流量的值可以自己定義)

從最短路徑樹種提取路由條目,假如OSPF協議的路由表(優先級華為設備默認是10)

(四)維護和更新機制

  • 周期性Hello報文:維持鄰居關系,如果Dead時間內沒有收到Hello,則判定鄰居失效
  • 觸發更新:當網絡結構發生變化的時候,路由器立刻發送新的LSA,僅擴散變化的部分,減少帶寬的消耗
  • LSA老化機制: 每一個LSA都要老化的時間(默認 3600 秒),定期刷新(1800 秒),超時未刷新則從 LSDB 中刪除。

三、OSPF的層次化是如何實現的

  • 分區域

(一)、OSPF網絡層次化的核心是區域(area)劃分

將整個自治系統劃分為多個非重疊的區域,每個區域內的路由器只維護當前區域的詳細信息,對其他的區域僅僅了解匯總后的摘要

(二)區域的構建是有規則的

每個區域有唯一標識

必須存在 “骨干區域(Area 0)

區域內路由 “詳細化”,區域間路由 “匯總化”

  • 分角色

(一)OSPF將路由器劃分成了四種不同的角色,每個角色職責明確,分工協作

內部路由器:僅僅屬于一個區域,只維護本區域的路由信息,不參與區域之間的交互


區域邊界路由器:同時屬于骨干區域和一個或者多個常規區域,收集常規區域的明細路由,生成“區域匯總路由”并且發布到骨干區域,從骨干區域接受其他區域的匯總路由發布到所屬的常規區域


骨干路由器:一定屬于骨干區域,同時可能屬于其他區域,負責骨干區域內的路由計算和區域間的路由傳遞


自治系統邊界路由器:鏈接ospf自治系統和其他協議的網絡,將其他協議的路由引入到OSPF網絡中,生成外部的LSA,可以部署在任何區域

  • 路由匯總

通過路由匯總,減少跨區域的信息交互

  • 定義不同類型的鏈路狀態通告

Type-3 LSA(區域間匯總 LSA)

Type-4 LSA(ASBR 位置通告 LSA)

Type-5 LSA(外部路由 LSA)

Type-7 LSA(NSSA 外部路由 LSA)

三、單區域的ospf協議的配置

當ospf沒有劃分區域的時候,所有的區域都默認為骨干區域

  • 思科設備

基礎環境配置

#全局基礎設置# 1. 關閉域名解析(避免輸入錯誤命令時卡頓)
Router(config)# no ip domain-lookup
# 2. 配置Console口(防打斷、永不超時)
Router(config)# line console 0
Router(config-line)# logging synchronous  # 防命令被日志打斷
Router(config-line)# exec-timeout 0 0    # 會話永不超時(0分0秒)
Router(config-line)# exit#如果有三層交換機的話要開啟三層交換機的路由功能,并且將接口轉化為三層接口# 1. 開啟三層交換機路由功能(默認關閉)
Switch(config)# ip routing
# 2. 將二層接口轉化為三層接口(可配置IP)
Switch(config)# interface 接口類型/編號  # 如GigabitEthernet0/0
Switch(config-if)# no switchport         # 二層→三層
Switch(config-if)# ip address IP地址 子網掩碼  # 如ip address 192.168.1.1 255.255.255.0
  • 思科設備ospf詳細配置

配置過程:進入ospf進程→配置router-id→宣告網絡直連到area0

#接下來是ospf的詳細配置 # 1. 進入OSPF進程(進程號1-65535,本地有效)
Router(config)# router ospf 進程號  # 如router ospf 1
# 2. 配置Router-ID(必配,優先用環回口最大IP;無環回則用物理接口最大IP)
# 方式1:手動指定(推薦)
Router(config-router)# router-id 0.0.0.1  # 示例:環回口192.168.0.1則用此ID
# 方式2:自動獲取(需提前配置環回口,如interface Loopback0,ip address 192.168.0.1 255.255.255.255)
# 3. 宣告直連網絡到Area 0(格式:network 網絡號 反掩碼 area 0)
# 示例:宣告192.168.1.0/24和10.0.0.0/8網段
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.255.255.255 area 0

注意:router-id 192.168.1.1?是配置該命令的路由器自身在 OSPF 協議中的唯一標識。

例如,當路由器 A 配置了?router-id 192.168.1.1,那么在整個 OSPF 網絡中,“192.168.1.1” 就唯一代表路由器 A,其他路由器會通過這個 ID 來區分它與其他設備。



  • 華為設備

華為設備的單區域網絡配置流程和思科大同小異

前期配置

<Huawei> system-view  #進入系統視圖
[Huawei] sysname AR1  #重命名設備
[Huawei] undo ter m  #防止設備一直輸出文本

ospf配置

#配置路由,也是要制定一個
[AR1] ospf 1   # 啟動OSPF進程1(進程號1-65535,本地有效)
[AR1] router-id 10.0.1.1  #指定Router ID為環回IP(具有穩定性)
[AR1-ospf-1] area 0  # 進入區域0(單區域通常用區域0,骨干區域;也可使用其他區域ID,如1,但建議統一)
[AR1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255  # 宣告直連網段(網段+反掩碼)
[AR1-ospf-1-area-0.0.0.0] network 10.0.1.1 0.0.0.0  # 宣告環回網段(32位掩碼的反掩碼是0.0.0.0)
#使用反碼來匹配網段,使用環回口來代替一個其他網絡
[AR1-ospf-1-area-0.0.0.0] quit
[AR1-ospf-1] quit

四、多區域的OSPF配置

  1. 區域內拓撲變化(如路由器故障)僅在本區域內傳遞,不影響其他區域;
  2. 即使變化需傳遞到骨干區域,ABR 會先對路由匯總(減少路由條目)再轉發到 Area 0?
  • 思科設備

# ABR路由器配置(同時屬于Area 0和Area 1)
#ABR區域邊界路由器
Router(config)# router ospf 1
Router(config-router)# router-id 0.0.0.2  # ABR的Router-ID
# 宣告連接Area 0的直連網絡
Router(config-router)# network 192.168.0.0 0.0.0.255 area 0
# 宣告連接Area 1的直連網絡
Router(config-router)# network 192.168.2.0 0.0.0.255 area 1# 非ABR(僅屬于Area 1)配置
Router(config)# router ospf 1
Router(config-router)# router-id 0.0.0.3
Router(config-router)# network 192.168.2.0 0.0.0.255 area 1  # 僅宣告到Area 1
  • 華為設備

#區域內路由器
[AR1] ospf 1 router-id 10.0.1.1  #創建OSPF進程1,手動指定路由器ID(環回0的IP)
[AR1-ospf-1] area 1  #進入Area 1視圖
[AR1-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255  #宣告接口網段(反掩碼)
[AR1-ospf-1-area-0.0.0.1] network 10.0.1.1 0.0.0.0  ## 宣告環回接口網段
[AR1-ospf-1-area-0.0.0.1] quit
[AR1-ospf-1] quit
#邊界網關路由器
[AR2] ospf 1 router-id 10.0.2.2  #路由器ID為環回0的IP
[AR2-ospf-1] area 0  # 進入骨干區域Area 0
[AR2-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255  #宣告Area 0的接口網段
[AR2-ospf-1-area-0.0.0.0] network 10.0.2.2 0.0.0.0  #宣告環回接口(屬于Area 0)
[AR2-ospf-1-area-0.0.0.0] quit
[AR2-ospf-1] area 1  #進入Area 1
[AR2-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255  #宣告Area 1的接口網段
[AR2-ospf-1-area-0.0.0.1] quit
[AR2-ospf-1] quit

五、ACL 的作用

  1. 過濾通過路由器的數據包(如拒絕特定 IP 的流量);
  2. 過濾路由表中的路由條目(如阻止特定路由被學習)。

六、重分發(Redistribute)配置

這里只是思科的重新分發樣例

核心作用:將一種路由協議的路由,發布到另一種路由協議中(需指定 “種子 metric”)

場景 1:其他協議(如 OSPF)→ RIP

# 進入RIP進程
Router(config)# router rip
Router(config-router)# version 2  # 啟用RIP v2(支持子網)
# 重分發OSPF路由,指定metric(必須<15,RIP最大跳數15)
Router(config-router)# redistribute ospf 1 metric 3  # 示例:metric=3

場景 2:RIP → OSPF

# 進入OSPF進程
Router(config)# router ospf 1
# 重分發RIP路由,必須加subnets(否則不發布子網路由)
Router(config-router)# redistribute rip subnets

場景 3:靜態路由 → OSPF

Router(config)# router ospf 1
Router(config-router)# redistribute static subnets  # 加subnets支持子網

場景 4:直連路由 → OSPF

Router(config)# router ospf 1
Router(config-router)# redistribute connected subnets  # 加subnets支持子網

七、常用 OSPF 補充查看命令

  • 思科設備

# 1. 查看OSPF鄰居詳情(含鄰居狀態、Router-ID)
Router# show ip ospf neighbor detail# 2. 查看OSPF進程信息(含SPF算法執行次數、Router-ID)
Router# show ip ospf# 3. 查看指定接口的OSPF信息(含所屬區域、Router-ID)
Router# show ip ospf interface 接口類型/編號  # 如show ip ospf interface GigabitEthernet0/0# 4. 查看完整路由表(篩選OSPF路由可加“ospf”參數)
Router# show ip route
  • 華為設備

display ospf peer
display ospf peer brief
display ospf peer [router-id] verbose

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98936.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98936.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98936.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開題答辯全過程】以 《黃帝內經》問答系統為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人&#xff0c;語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1,因為在此系統上禁止運行腳

這個錯誤是由于 PowerShell 的執行策略限制&#xff0c;導致無法運行腳本。你可以通過以下步驟解決這個問題&#xff1a; 1. 查看當前的執行策略 打開 PowerShell&#xff0c;以管理員身份運行&#xff0c;輸入以下命令查看當前的執行策略&#xff1a; Get-ExecutionPolicy如果…

macOS蘋果電腦運行向日葵遠程控制軟件閃退

文章目錄問題原因分析修復附錄向日葵字太小按Ctrl鍵會彈出開始菜單的問題問題 向日葵是一款遠程控制的應用&#xff0c;在macOS下也能運行&#xff0c; 本來用的好好的&#xff0c;有一天升級后突然就運行不起來了&#xff0c;一點開能顯示幾秒首界面&#xff0c;立馬就自動退…

Linux dma-buf 框架原理、實現與應用詳解

1. 背景與意義 1.1 異構系統與緩沖區共享的挑戰 在現代 SoC、嵌入式、圖形和多媒體系統中&#xff0c;CPU、GPU、VPU、ISP、DMA 控制器等多個硬件單元需要高效地共享和傳遞大塊數據&#xff08;如圖像幀、視頻流、AI 張量等&#xff09;。如果每個設備都維護獨立的緩沖區&…

Scikit-learn Python機器學習 - 分類算法 - 樸素貝葉斯

鋒哥原創的Scikit-learn Python機器學習視頻教程&#xff1a; https://www.bilibili.com/video/BV11reUzEEPH 課程介紹 ? 本課程主要講解基于Scikit-learn的Python機器學習知識&#xff0c;包括機器學習概述&#xff0c;特征工程(數據集&#xff0c;特征抽取&#xff0c;特…

如何免費股票數據API(第13期):滬深A股《最新分時交易》數據獲取大全:附Python、Java等多語言實戰教程與接口文檔說明

在金融科技迅猛發展的今天&#xff0c;股票量化分析以其嚴謹的科學性和強大的系統性&#xff0c;正日益成為投資領域的主流方法論。任何卓越的量化模型的誕生&#xff0c;都離不開全面、精準、及時的數據支撐。無論是躍動著的實時交易數據、沉淀了歷史規律的K線走勢&#xff0c…

國標GB28181視頻EasyGBS視頻監控平臺:一網聯全城,交通道路可視化、視頻巡檢、應急指揮“三合一”。

一、方案背景?人車暴漲&#xff0c;路口告急&#xff1a;高峰堵、事故慢、取證難&#xff0c;老辦法已拖不動城市交通。破局之道&#xff0c;先看攝像頭——EasyGBS 嚴格遵循 GB28181 國標&#xff0c;一站式完成直播、存儲、檢索、轉碼&#xff0c;把萬千路口秒級搬上云端&am…

單元測試(白盒測試方法)

一、單元測試1.單元測試是對軟件的基本組成單元進行的測試&#xff0c;如函數、類或類的方法。單元測試是對軟件的最小可測試單元&#xff08;即可獨立編譯或匯編的程序模塊&#xff09;進行的測試活動&#xff0c;也稱為模塊測試二、白盒測試方法實例代碼public static int te…

2010-2022 同等學力申碩國考:軟件工程簡答題真題匯總

2010年簡答題 給出數據流圖的定義&#xff0c;并舉例說明數據流圖的四個基本構成成份。 數據流圖&#xff08;Data Flow Diagram, DFD&#xff09;是一種用于描述系統中數據流動和處理過程的圖形工具。它通過直觀的方式展示了系統的輸入數據如何經過一系列處理變換為輸出數據&a…

海外盲盒APP開發:如何用技術重構“驚喜經濟”

當盲盒的神秘感遇上技術的確定性&#xff0c;一場關于消費體驗的革命正在海外市場悄然發生。從概率算法的公平性到AR虛擬開箱的沉浸感&#xff0c;從跨境物流的實時追蹤到多語言支持的無縫切換&#xff0c;海外盲盒APP的開發是一場技術、設計與商業邏輯的深度融合。概率算法&am…

Aosp13 手機sim卡信號格顯示修改

工作中&#xff0c;客戶要求對信號格顯示偏弱不夠友好為由&#xff0c;提出修改&#xff0c;要求使其顯示信號強一些。在此記錄 一問題&#xff1a;修改系統sim卡顯示的信號格&#xff0c;在設備其他配置不變的情況下&#xff0c;使其信號格顯示比原有的要優秀二 …

硬件開發2-匯編2(ARMv7-A)- 裸機開發

一、指令1、b&#xff08;Branch&#xff09;原型&#xff1a;B<c> <label>作用&#xff1a;實現無條件跳轉&#xff0c;常用于不返回的跳轉場景特點&#xff1a;僅跳轉到目標地址&#xff0c;不保存返回地址示例&#xff1a;b reset ;跳轉到reset標號處執…

清源 SCA 社區版更新(V4.2.0)|漏洞前置感知、精準修復、合規清晰,筑牢軟件供應鏈安全防線!

隨著數字化進程加速&#xff0c;軟件供應鏈安全威脅日益復雜&#xff0c;公開漏洞響應滯后、0day 攻擊防不勝防、組件升級編譯失敗、安全與合規風險混雜......這些痛點讓企業安全團隊、運維人員及研發團隊疲于應對。自 2025 年 7 月 1 日安勢清源 SCA 社區版首次正式發布以及在…

氚燃料增殖里程碑:MIT新型BABY包層技術實驗驗證

● 導語 5月20日&#xff0c;麻省理工學院&#xff08;MIT&#xff09;發文稱&#xff0c;BABY實驗首次獲取了氚在裝置內增殖的實測數據&#xff0c;驗證了核心模型&#xff0c;并為未來核聚變電廠的燃料自循環奠定了重要基礎。 原文&#x1f447;&#x1f3fb; https://m…

python+springboot+uniapp微信小程序題庫系統 在線答題 題目分類 錯題本管理 學習記錄查詢系統

目錄技術棧介紹具體實現截圖系統設計研究方法&#xff1a;設計步驟設計流程核心代碼部分展示研究方法詳細視頻演示試驗方案論文大綱源碼獲取/詳細視頻演示技術棧介紹 Django-SpringBoot-php-Node.js-flask 本課題的研究方法和研究步驟基本合理&#xff0c;難度適中&#xff0…

Office轉PDF轉換器v1.0.py

軟件介紹 這是批量將word、Excel、PPT轉換為PDF格式的軟件&#xff0c;不過PPT轉換為PDF需要電腦安裝了office&#xff0c;目前這個我還沒有解決沒有office也可以安裝的方法。 軟件使用 軟件使用是比較簡單的&#xff0c;導入文件/文件夾&#xff0c;在自定義輸出路徑 點擊這…

62_基于深度學習的海洋垃圾檢測識別系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹&#x1f3af; 功能展示&#x1f31f; 一、環境安裝&#x1f386; 環境配置說明&#x1f4d8; 安裝指南說明&#x1f3a5; 環境安裝教學視頻 &#x1f31f; 二、數據集介紹&#x1f31f; 三、系統環境&#xff08;框架/依賴庫&#xff09;說明&#x1f9f1; 系統環…

深入淺出 全面剖析消息隊列(Kafka,RabbitMQ,RocketMQ 等)

消息隊列 一、概念 消息隊列&#xff08;MQ&#xff09;&#xff1a;一種異步通信機制&#xff0c;通過“消息”的形式讓不同系統或模塊解耦核心思想&#xff1a;發送方&#xff08;生產者Producer&#xff09;只負責發送消息&#xff0c;接收方&#xff08;消費者Consumer&…

Flux Images Generation API 對接說明

本文將介紹一種 Flux Images Generation API 對接說明&#xff0c;它是可以通過輸入自定義參數來生成Flux官方的圖片。 接下來介紹下 Flux Images Generation API 的對接說明。 申請流程 要使用 API&#xff0c;需要先到 Flux Images Generation API 對應頁面申請對應的服務…

CSS布局 - 網格布局 -- 筆記3

目錄網格布局基礎網格網格剖析CSS 提供了一些控制網頁布局的幾個重要工具&#xff0c;這里介紹網格布局。 網格布局 CSS 網格可以定義由行和列組成的二維布局&#xff0c;然后將元素放置到網格中。有些元素可能只占據網格的一個單元&#xff0c;另一些元素則可能占據多行或多…