OSPF路由協議——上

OSPF路由協議

RIP的不足

以跳數評估的路由并非最優路徑

image-20250723193130785
  • 如果RTA選擇s0/0傳輸,傳輸需時會大大縮短為3s

最大跳數為16跳,導致網絡尺度小

image-20250723193319047
  • RIP協議限制網絡直徑不能超過16跳,并且16跳為不可達。

收斂速度慢

  • RIP 定期路由更新
    • 更新計時器:定期路由更新的時間間隔,默認為30s
    • 失效計時器:失效計時器內未收到更新,路由失效,默認180s
    • 清除計時器:清除計時器內未收到更新,路由清除,默認240s
image-20250723193659930

更新發送全部路由表,浪費網絡資源

image-20250723193752213
  • 假設RTA和RTB各有1000條路由,每條路由需占用20個字節
  • 每次路由更新時,RTA和RTB之間單向需消耗至少160Kb的帶寬資源

OSPF簡介

什么是OSPF

  • OSPF英文全稱Open Shortest Path First(開放式最短路徑優先)
  • OSPF是IETF開發的一種鏈路狀態路由協議,使用基于帶寬的度量值
  • OSPF采用SPF(Shortest Path First,最短路徑優先算法)算法計算路由,從算法上保證了無路由環路
  • OSPF通過鄰居關系維護路由,避免了定期更新第帶寬的消耗
  • OSPF路由更新效率高,網絡收斂快,適用于大中型網絡
  • OSPF報文封裝于IP,協議號89,組播地址224.0.0.5和224.0.0.6

OSPF的基本工作原理

OSPF協議模型

  • OSPF基本協議模型
image-20250723194835980
  • LSA(Link-State Advertisement,鏈路狀態通告)

  • LSDB(Link-State Database,鏈路狀態數據庫)

  • OSPF的四張表

OSPF基本概念——Router ID

  • 一臺路由器要想運行OSPF協議,則必須存在Router ID(RID)
  • RID是一個32比特無符號整數,可以在一個自治系統中唯一的標識一臺路由器。
  • RID可以手工配置,也可以自動生成。
  • 如果沒有通過命令指定RID,將按照如下順序自動生成一個RID:
    • 如果當前設備配置了Loopback接口(虛擬接口),將選取所有Loopback接口上數值最大的IP地址作為RID;
    • 如果當前設備沒有配置Loopback接口,將選取它所有已經配置IP地址且鏈路UP的接口上數值最大的IP地址作為RID。

Router ID選舉實例

image-20250723200125147

OSPF基本概念——LS

  • 鏈路狀態(LS):路由器周邊的鏈路狀態
    • 直連網段狀態:通過接口網段和接口狀態感知
      • 描述直連網段:(網段、掩碼、接口開銷)
    • 直連拓撲狀態:通過OSPF鄰居和鄰居狀態感知
      • 描述直連拓撲:(鄰居RID、連接接口、接口開銷)
    • 接口開銷:OSPF參考帶寬/接口帶寬
      • OSPF參考帶寬默認為100Mbps
      • Loopback接口的開銷默認為1
image-20250723200638236

OSPF基本概念——LSA

  • 鏈路狀態通告(LSA)
    • 按一定格式封裝后的鏈路狀態信息
      • LSA 1:路由器鏈路狀態通告
        • 每臺路由器都會發起自己的LSA1
      • LSA 2:傳送網絡鏈路狀態通告
image-20250723201245860

OSPF基本概念——LSDB

  • 鏈路狀態數據庫(LSDB)
    • 每臺OSPF路由器上都有一個LSDB,用于存儲LSA。
    • 同一個 區域中的OSPF路由器的LSDB一致。
      • LSA封裝在LSU報文中,在區域內洪泛,最終到達區域內LSDB一致。
      • LSA在洪泛過程中保持不變
image-20250723201625682

OSPF基本概念——SPF

  • SPF計算
    • 以自己LSA 1為根,進行SPF計算。
    • 各OSPF路由器單獨進行SPF計算,互不影響
image-20250723201749778

SPF開銷計算

  • OSPF路由開銷計算
    • 以自己為根,到達目標網段的出接口的開銷的和。
image-20250723201951888
  • OSPF的度量值為cost,也叫開銷,是以鏈路的接口帶寬為依據;
  • 計算的方法為10的8次方除以帶寬

OSPF基本概念——OSPF網絡類型

  • Broadcast廣播多路訪問:以太網接口
  • NBMA(Non-Broadcast Multi-Access,非廣播多點訪問網絡):幀中繼接口
  • P2MP(Point-to-MultiPoint,點到多點)
  • P2P(Point-to-Point,點到點):PPP HDLC接口

OSPF基本概念——OSPF報文類型與封裝

OSPF報文類型作用
Hello建立并維護鄰居關系
Database Description(DD)數據庫內容的匯總(僅包含LSA頭部)
Link State Request(LSR)請求自己沒有的或者比自己更新的鏈路狀態詳細信息
Link State Update(LSU)鏈路狀態更新信息(LSA頭部和內容)
Link State Acknowledge(LSAck)對LSU的確認
  • OSPF報文封裝在IP報文中,協議號為89
image-20250723212502105

OSPF報文的目的地址

image-20250723212633050

建立鄰居關系(點對點)

image-20250723212702626

維持鄰居關系(點對點)

image-20250723212732839
  • 鄰居之間通過交換Hello報文(默認30s),確認鄰居是否工作正常
  • 如果在一定的時間間隔內(120s),沒有收到鄰居發來的Hello報文,就認為鄰居已經失效,從鄰居表中刪除。

DR/BDR的選舉(廣播多路訪問)

image-20250723212949512
  • 采用DR/BDR建立鄰接關系,可以降低需要維護的鄰接關系的數量

除了被選舉出來的DR/BDR,其他的路由器都稱為DROther,只需要和DR/BDR建立鄰居關系即可,不需要再依次相互建立鄰接關系,所有的LSA將由DR收取,統一進行洪泛,BDR作為DR的備份路由,當DR出故障了的時候,直接替代DR成為新的DR。

DR/BDR的選舉原則

  • 首先比較Hello報文中攜帶的優先級

    • 優先級最高的被選舉為DR,優先級次高的被選舉為BDR
    • 優先級為0的不參與選舉
  • 優先級一致的情況下,比較Router ID

    • Router ID越大越優先
  • 保持穩定原則

    • 當DR/BDR已經選舉完畢,就算一臺具有更高優先級的路由器變為有效,也不會替換該網段中已經選舉的DR/BDR成為新的DR/BDR

DR/BDR的選舉示例一

image-20250723214359728
  • RTE后來加入網絡,雖然它的Router ID比原來的DR和BDR都要高,但是出于穩定性考慮,只能成為DRother路由器

DR/BDR選舉示例二

image-20250723214533226
  • 當DR失效時,BDR立刻成為新的DR
  • DRother路由進行競爭,Router ID高的成為新的BDR

鄰居關系無法建立原因總結

參數配置要點
router id每臺OSPF路由器的router id必須唯一
area id同一網段的所有接口應當配置在同一區域內
Interface network-type同一網絡接口的類型要相同,及hello時間與hellodown時間雙方要一致
network mask除了點到點網絡之外,同一網段的所有端口應當配置相同的掩碼
authentication type同一區域的驗證類型必須一致
authentication data同一網段的驗證碼必須一致
extern option配置stub區域或者NSSA時,區域內所有的路由器都要指定stub特性或者NSSA特性
peerNBMA網絡上的鄰居需要手動指定

OSPF基本概念——鄰居狀態變換(鄰居關系)

image-20250723215352743

OSPF基本概念——鄰居狀態變換(鄰接關系)

image-20250723215509980

DOWN、Init、two-way(鄰居)

image-20250723220648173

ExStart和Exchange(鄰接)

image-20250723220810046

Loading和Full(鄰接)

image-20250723220912387

包含在各種報文中的LSA信息

image-20250723220942321

LSA報文頭部

image-20250723221046303
字段名長度(字節)作用說明
LS age2字節LSA 生存時間(秒),最長3600秒,超過就作廢。控制 LSA 生命周期。
Options1字節支持的OSPF功能選項,比如是否支持NSSA、E位(E1/E2)、DC位等。
LS type1字節LSA 類型(例如1類Router-LSA,2類Network-LSA)
Link State ID4字節LSA的“名字”,類型不同含義不同,例如:
Router-LSA:本路由器的Router ID;
Network-LSA:DR的接口IP。
Advertising Router4 字節發出該 LSA 的路由器 ID,誰發的誰填它。
LS Sequence Number4 字節序號,新LSA比舊的號大。
用于更新判斷。初始值為 0x80000001,每次變化加1。
LS Checksum2字節CRC校驗,用于驗證 LSA 內容是否損壞。
Length2 字節包括頭部在內的 LSA 總長度(字節)。一般為20字節

Loading和Full(續)

image-20250723222527100
  • OSPF協議包具備超時重傳機制
  • OSPF協議具備序列號,對重復包不做處理

泛洪新LSA

image-20250723222636560

當有新的LSA生成或者收到時,這條心的LSA應當被泛洪

泛洪新的LSA時,只需要使用LS Update報文和LS Ack報文:

1.當RTA有新的LSA要泛洪時,RTA向RTB發送一個LS Update報文,在這個報文里包含這條LSA

2.當收到新的LSA以后,RTB向RTA泛洪一個LS Ack報文進行確認。

當在兩個處于完全鄰接狀態(鄰居狀態為Full)的路由器之間泛洪新的LSA時,鄰居狀態不受影響

廣播網絡中LSDB更新

image-20250723223522800
  • 在廣播和NBMA網絡中,鏈路狀態發送變化時,主要是通過DR路由器發送更新報文

OSPF LSA洪范與老化

  • OSPF LSA老化
    • LSA不老化的缺點:當網絡長時間中斷,故障網絡中的設備發起的LSA長時間無效,但仍然存儲在LSDB中,浪費設備內存。
    • OSPF LSA采用遞增老化
      • LSA自發起時開始計時,到達最大老化時間后,從LSDB中清除。
      • OSPF最大老化時間3600秒,LSA頭部的老化時間字段用于計時。
image-20250723223857523
  • OSPF LSA老化與全網刷新
    • 正常OSPF網絡的路由維護
      • SA老化時間到達最大老化時間的一半(30分鐘),發起路由器隨機等待一段時間后重新發起該LSA,然后洪泛,刷新所有路由器LSDB。
      • 新發起的LSA序列號加1,老化時間為0。
    • LSA在整個洪泛過程中,除老化時間外,其余各字段都保持不變。
image-20250723224047595

泛洪新LSA(續)

image-20250723224150506

OSPF區域劃分

OSPF協議分區域管理及路由器角色

image-20250723224452468

OSPF區域號

  • OSPF路由域:運行OSPF路由協議的網絡
  • OSPF區域:OSPF是一種支持劃分多區域的協議
    • Area ID:32位,用數字或IP地址表示
image-20250723224623162

OSPF協議區域LSA發布

image-20250723224650776

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

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

相關文章

(LeetCode 面試經典 150 題) 219. 存在重復元素 II (哈希表)

題目&#xff1a;219. 存在重復元素 II 思路&#xff1a;哈希表&#xff0c;時間復雜度0(n)。 哈希表記錄每個數最新的下標&#xff0c;遇到符合要求的返回true即可。 C版本&#xff1a; class Solution { public:bool containsNearbyDuplicate(vector<int>& nums,…

Cookies 詳解及其與 Session 的協同工作

Cookies 詳解及其與 Session 的協同工作 一、Cookies 的本質與作用 1. 什么是 Cookies&#xff1f; Cookies 是由服務器發送到用戶瀏覽器并存儲在本地的小型文本文件。核心特性&#xff1a; 存儲位置&#xff1a;客戶端瀏覽器數據形式&#xff1a;鍵值對字符串&#xff08;最大…

DeepSeek Janus Pro本地部署與調用

step1、Janus模型下載與項目部署 創建文件夾autodl-tmp https://github.com/deepseek-ai/Janus?tabreadme-ov-file# janusflow 查看是否安裝了git&#xff0c;沒有安裝的話安裝一下&#xff0c;或者是直接github上下載&#xff0c;上傳到服務器&#xff0c;然后解壓 git --v…

【Elasticsearch】BM25的discount_overlaps參數

discount_overlaps 是 Elasticsearch/Lucene 相似度模型&#xff08;Similarity&#xff09;里的一個布爾參數&#xff0c;用來決定&#xff1a;> 在計算文檔長度歸一化因子&#xff08;norm&#xff09;時&#xff0c;是否忽略“重疊 token”&#xff08;即位置增量 positi…

Linux | LVS--Linux虛擬服務器知識點(上)

一. 集群與分布式1.1 系統性能擴展方式當系統面臨性能瓶頸時&#xff0c;通常有以下兩種主流擴展思路&#xff1a;Scale Up&#xff08;向上擴展&#xff09;&#xff1a;通過增強單臺服務器的硬件配置來提升性能&#xff0c;這種方式簡單直接&#xff0c;但受限于硬件物理極限…

【Linux-云原生-筆記】keepalived相關

一、概念Keepalived 是一個用 C 語言編寫的、輕量級的高可用性和負載均衡解決方案軟件。 它的主要目標是在基于 Linux 的系統上提供簡單而強大的故障轉移功能&#xff0c;并可以結合 Linux Virtual Server 提供負載均衡。1、Keepalived 主要提供兩大功能&#xff1a;高可用性&a…

計算機網絡:概述層---計算機網絡的組成和功能

&#x1f310; 計算機網絡基礎全景梳理&#xff1a;組成、功能與核心機制 &#x1f4c5; 更新時間&#xff1a;2025年7月21日 &#x1f3f7;? 標簽&#xff1a;計算機網絡 | 網絡組成 | 分布式 | 負載均衡 | 資源共享 | 網絡可靠性 | 計網基礎 文章目錄前言一、組成1.從組成部…

Linux中scp命令傳輸文件到服務器報錯

上傳本地文件到Linux服務器使用scp命令報錯解決辦法使用scp命令報錯 Could not resolve hostname e: Name or service not known 解決辦法 不使用登錄服務器的工具傳輸&#xff0c;打開本地cmd&#xff0c;使用scp命令傳輸即可。 scp E:\dcm-admin.jar root127.0.0.1:/

歷史數據分析——國藥現代

醫藥板塊走勢分析: 從月線級別來看 2008年11月到2021年2月,月線上走出了兩個震蕩中樞的月線級別2085-20349的上漲段; 2021年2月到2024年9月,月線上走出了20349-6702的下跌段; 目前月線級別放巨量,總體還在震蕩區間內,后續還有震蕩和上漲的概率。 從周線級別來看 從…

#Linux內存管理# 在一個播放系統中同時打開幾十個不同的高清視頻文件,發現播放有些卡頓,打開視頻文件是用mmap函數,請簡單分析原因。

在播放系統中同時使用mmap打開幾十個高清視頻文件出現卡頓&#xff0c;主要原因如下&#xff1a;1. 內存映射&#xff08;mmap&#xff09;的缺頁中斷開銷按需加載機制&#xff1a;mmap將文件映射到虛擬地址空間&#xff0c;但實際數據加載由“缺頁中斷&#xff08;Page Fault&…

AI黑科技:GAN如何生成逼真人臉

GAN的概念 GAN(Generative Adversarial Network,生成對抗網絡)是一種深度學習模型,由生成器(Generator)和判別器(Discriminator)兩部分組成。生成器負責生成 synthetic data(如假圖像、文本等),判別器則試圖區分生成數據和真實數據。兩者通過對抗訓練不斷優化,最終…

FireFox一些設置

firefox后臺打開新的鏈接&#xff0c;例如中鍵打開一個鏈接 地址欄輸入about:config 找到下面三項&#xff0c;全部設為true browser.tabs.loadInBackground browser.tabs.loadDivertedInBackground browser.tabs.loadBookmarksInBackground 參考&#xff1a;FireFox/chrome…

【黑馬SpringCloud微服務開發與實戰】(六)分布式事務

1. 什么是分布式事務下單失敗&#xff0c;購物車還被清理了。不符合一致性。2. seata的架構和原理3. 部署TC服務docker network ls docker inspect mysql mysql 在hm-net下&#xff0c;這里我的ncaos不是跟著視頻配的&#xff0c;因此需要。 docker network connect hm-net nac…

【力扣】第15題:三數之和

原文鏈接&#xff1a;15. 三數之和 - 力扣&#xff08;LeetCode&#xff09; 思路解析 雙指針&#xff1a; &#xff08;1&#xff09;頭尾指針對應值相加如果大于目標值(target)&#xff0c;那么只能尾指針-1&#xff1b;如果小于target&#xff0c;那么只能頭指針1。 &#x…

Linux PCI總線子系統

The Linux Kernel Archives Linux PCI總線子系統 — The Linux Kernel documentation

LeetCode熱題100--24. 兩兩交換鏈表中的節點--中等

1. 題目 給你一個鏈表&#xff0c;兩兩交換其中相鄰的節點&#xff0c;并返回交換后鏈表的頭節點。你必須在不修改節點內部的值的情況下完成本題&#xff08;即&#xff0c;只能進行節點交換&#xff09;。 示例 1&#xff1a; 輸入&#xff1a;head [1,2,3,4] 輸出&#x…

京東視覺算法面試30問全景精解

京東視覺算法面試30問全景精解 ——零售智能 供應鏈創新 工業落地:京東視覺算法面試核心考點全覽 前言 京東作為中國領先的零售科技企業,在智能物流、供應鏈管理、智能倉儲、商品識別、工業質檢等領域持續推動視覺AI的創新與大規模落地。京東視覺算法崗位面試不僅關注候…

【設計模式】觀察者模式 (發布-訂閱模式,模型-視圖模式,源-監聽器模式,從屬者模式)

觀察者模式&#xff08;Observer Pattern&#xff09;詳解一、觀察者模式簡介 觀察者模式&#xff08;Observer Pattern&#xff09; 是一種 行為型設計模式&#xff08;對象行為型模式&#xff09;&#xff0c;它定義了一種一對多的依賴關系&#xff0c;讓多個觀察者對象同時監…

Linux的`<< EOF`(Here-Document)詳解多回答筆記250722

Linux的<< EOF(Here-Document)詳解多回答筆記250722 Linux 中的 << EOF 結構稱為 Here Document&#xff08;立即文檔或嵌入文檔&#xff09;&#xff0c;它是一種在 Shell 腳本中直接嵌入多行文本輸入流&#xff08;通常作為命令的標準輸入&#xff09;的方式。E…

Go語言實戰案例-簡單配置文件(INI格式)解析器

以下是《Go語言100個實戰案例》中的 文件與IO操作篇 - 案例20&#xff1a;簡單配置文件&#xff08;INI格式&#xff09;解析器 的完整內容&#xff0c;適合入門學習如何用 Go 語言解析常見的 .ini 配置文件格式。&#x1f3af; 案例目標使用 Go 語言解析一個 .ini 格式的配置文…