??OSPF核心機制精要:選路、防環與設計原理?

一、OSPF選路規則解析

OSPF作為經典的鏈路狀態路由協議,其選路規則采用層次化優先級機制,不同路由類型遵循嚴格比較順序:

1. 路由類型優先級

優先級路由類型描述
1域內路由通過1類、2類LSA生成
2域間路由通過3類LSA生成
3域外路由通過5類/7類LSA生成

2. 不同類型路由比較規則

域內路由之間域間路由之間會選擇開銷值小的路由加到路由表上

??域內與域間??
域內路由(Intra-Area)絕對優先于域間路由(Inter-Area)

??域間與域外??
域間路由絕對優先于域外路由(External)

??域外路由之間??
E類型路由分為兩類:

  • ??類型1(E1)??:總開銷=種子度量值+路徑開銷
  • ??類型2(E2)??:總開銷=種子度量值(默認類型)

比較規則:

  • E1路由優先于E2路由
  • 同類型比較:
    • E1:比較總開銷(種子+路徑)
    • E2:先比較種子度量值,相同則比較路徑開銷

二、OSPF防環機制深度剖析

1. 區域內防環(基于SPF算法的確定性計算)?

1)基礎概念??

??核心LSA類型??:

Router-LSA (Type-1):描述路由器鏈路狀態(接口、鄰居、Cost)

Network-LSA (Type-2):由DR生成,描述廣播/NBMA網段連接關系

2)有向圖構建規則?

鏈路類型(Link Type)?

Stub鏈路:

Stub網段表示該網段只有數據入口,例如一個Loopback接口就是一個 Stub網段。 此膠片描述了路由器節點和Stub網段的表示方式。 Cost表示從一個端點到另一個端點的開銷,該參數可以在OSPF接口上配置,表示數據離開該接口(出接口)的開銷。

Transit鏈路:

Transit網段有能力轉發既不是本網段產生的,也不以本網段做為目的地的數據。 有至少兩臺路由器的廣播型網段或NBMA網段就是一種Transit網段。 從路由器到所連Transit網段的開銷值就是連接到這個網段的接口所配置的開銷值。 從一個Transit網段到連接到這個網段的路由器的開銷為0。(稱為偽節點)

Point-to-Point(P2P)鏈路:

LSDB描述兩接口處于同一網段的點到點網段的規則如下: 兩臺路由器經由兩條有向線段直接相連,每個方向一條。 連接兩個接口的網段被表示成Stub網段。 兩個路由器同時通告Stub連接到該PPP網段。

3)SPF計算過程

OSPF的SPF計算分為??兩個階段??,確保不會因Stub網段引入環路:

??第一階段??:僅計算有雙向箭頭的節點,生成最短路徑樹(SPT)。

  • 使用Dijkstra算法,每次選擇最小Cost的節點加入SPT。
  • ??關鍵防環??:Transit網段到路由器的Cost=0,確保不會反向計算。

??第二階段??:掛載Stub網段到SPT,作為葉子節點。

  • Stub網段不參與拓撲計算,僅作為終點,避免環路。

4)SPF計算實戰

拓補:

生成有向圖:

第一階段(忽略Stub):

第二階段(最終SPT):

2. 區域間防環(基于星型拓撲和水平分割)??

1)??骨干區域強制連接??

所有非骨干區域(非Area 0)必須直接連接到Area 0,區域間路由需通過Area 0中轉,形成邏輯星型拓撲,避免區域間直接傳遞路由。

??2)ABR的嚴格規則??

??規則1??:ABR僅將直連區域的內部路由注入Area 0,不會將非骨干區域的Type-3 LSA回傳至Area 0。

示例:若ABR從Area 1收到Type-3 LSA,不會將其重新注入Area 0。

??規則2??:ABR不會將Type-3 LSA回傳到原始區域(類似水平分割)。

??規則3??:ABR必須與Area 0有活躍鄰接關系,否則不參與區域間路由計算。

??3)Cost累加機制??

區域間路由的Cost按距離矢量方式逐跳累加(ABR通告自身Cost,下游路由器疊加到達ABR的Cost),但通過星型拓撲限制路徑唯一性。

3. 域外防環(依賴Type-4 LSA和ASBR定位)??

1)??ASBR的定位??

外部路由(Type-5 LSA)的防環依賴于準確找到ASBR的位置:

  • ??同一區域??:通過Type-1/2 LSA計算ASBR路徑。
  • ??其他區域??:依賴Type-4 LSA(ASBR Summary LSA)定位ASBR,確保路徑可達。

2)??Type-4 LSA的作用??

  • Type-4 LSA由ABR生成,描述ASBR的位置,其他區域路由器通過Type-4 LSA計算到達ASBR的最短路徑,再結合Type-5 LSA計算外部路由。
  • ??防環邏輯??:Type-5 LSA的傳播依賴Type-1/4 LSA的路徑計算,確保外部路由的下一跳始終指向正確的ASBR。

三、RFC 2328附錄E

1. 問題背景

當存在相同網絡號不同掩碼的外部路由時:

OSPF是一種基于鏈路狀態型路由協議,其中3 類、5 類、7類LSA傳遞的是路由信息,但是由于用于標識一條LSA的頭部信息中沒有掩碼信息,會導致路由覆蓋的情況。

2. 附錄E解決方案

場景處理方式
短掩碼先注入長掩碼路由使用定向廣播地址作為Link-ID
長掩碼先注入1. 撤銷原LSA
2. 重新注入短掩碼路由
3. 長掩碼路由使用定向廣播地址

3. 實現條件

  • 網絡地址需連續分配
  • 避免真實網絡使用定向廣播地址
  • 序列號遞增保證LSA更新有效性

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

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

相關文章

1.1軟考系統架構設計師:系統架構的定義與作用 - 超簡記憶要點、知識體系全解、考點深度解析、真題訓練附答案及解析

超簡記憶要點 定義:結構決策 | 抽象概念 | 多視圖模型(邏輯/物理/動態)作用:解耦復雜需求 | 集成擴展 | 指導開發(藍圖)要素:構件(原子/復合) | 連接件(API/…

網絡socks 代理

在系統/終端中設了這樣的環境變量,而沒有在代碼中覆蓋,HTTPX 就會啟用該 socks 代理。 env | grep proxy https_proxyhttps://proxyhk.zte.com.cn:80 http_proxyhttp://proxyhk.zte.com.cn:80 no_proxylocalhost,127.0.0.0/8,::1,zte.com.cn,zte.intra,…

PCB規則

PCB封裝 原理圖繪制完成需要檢查 DRC 菜單欄——>設計——>檢查 DRC 底部側邊欄——>DRC——>檢查 DRC 常見問題: 1)某個導線/網絡標簽是一個單網絡 網絡標簽名稱不一樣 網絡標簽只有一個 引腳沒有使用,但是放置了導線 2&#xf…

圖像預處理-圖像邊緣檢測(流程)

一.高斯濾波 因為圖像邊緣檢測就是把像素值有差異的地方提取出來,所以噪聲會有很大影響,因此需要對圖像進行平滑處理,高斯濾波是流程中常用的方法。 二.計算圖像的梯度與方向 過程中通常使用sobel算子進行梯度計算,在OpenCV中&am…

ChatBEV:一種理解 BEV 地圖的可視化語言模型

25年3月來自上海交大、上海AI實驗室、同濟大學和MAGIC的論文“ChatBEV: A Visual Language Model that Understands BEV Maps”。 交通場景理解對于智能交通系統和自動駕駛至關重要,可確保車輛安全高效地運行。雖然 VLM 的最新進展已顯示出整體場景理解的前景&…

武裝Burp Suite工具:xia SQL自動化測試_插件

武裝Burp Suite工具:xia SQL自動化測試_插件 插件作者介紹:本插件僅只插入單引號,沒有其他盲注啥的,且返回的結果需要人工介入去判斷是否存在注入,如果需要所有注入都測試,請把burp的流量轉發到xray。 目錄…

線段樹講解(小進階)

目錄 前言 一、線段樹知識回顧 線段樹區間加減 區間修改維護: 區間修改的操作: 區間修改update: 線段樹的區間查詢 區間查詢: 區間查詢的操作: 遞歸查詢過程: 區間查詢query: 代碼&…

neo4j中節點內的名稱顯示不全解決辦法(如何讓label在節點上自動換行)

因為節點過多而且想讓節點中所有文字都顯示出來而放大節點尺寸 從neo4j中導出png,再轉成PDF來查看時,要看清節點里面的文字就得放大5倍才行 在網上看了很多讓里面文字換行的辦法都不行 然后找到一個比較靠譜的辦法是在要顯示的標簽內加換行符 但是我的節點上顯示的是…

SQL進階知識:五、存儲過程和函數

今天介紹下關于存儲過程和函數的詳細介紹,并結合MySQL數據庫提供實際例子。 在MySQL中,存儲過程(Stored Procedures)和函數(Functions)是數據庫編程的重要組成部分,它們可以封裝SQL語句&#xf…

CONDA:用于 Co-Salient 目標檢測的壓縮深度關聯學習(總結)

摘要 一 介紹 二 有關工作 三 提出的方法 圖2:我們的凝聚式深度關聯(CONDA)模型的整體流程圖。具體來說,凝聚式深度關聯(CONDA)模型首先利用圖像特征來計算超關聯。然后,全像素超關聯由對應誘…

node.js 實戰——(path模塊 知識點學習)

path 模塊 提供了操作路徑的功能 說明path. resolve拼接規范的絕對路徑path. sep獲取操作系統的路徑分隔符path. parse解析路徑并返回對象path. basename獲取路徑的基礎名稱path. dirname獲取路徑的目錄名path. extname獲得路徑的擴展名 resolve 拼接規范的絕對路徑 const…

Kimi做內容社區,劍指小紅書?

原創科技新知AI新科技組作者丨櫻木編輯丨江蘺 主編丨九黎 對于當前融資形勢并不明朗的大模型六小龍來說,該如何生存下去,似乎成了各家急需解決的問題。 根據PitchBook數據,今年一季度風險投資機構在中國AI領域共完成144筆交易,投…

opencv--圖像濾波

圖像濾波 含義 方法 噪聲是怎么產生的 線性濾波 概念 利用窗口對圖像中的像素進行加權求和的濾波方式。 圖像來源于小虎教程。 圖像的濾波是二維濾波的過程。 濾波器窗口: 濾波器窗口(也稱為卷積核或模板)是一個小的矩陣(通常為…

Java 實現SpringContextUtils工具類,手動獲取Bean

SpringContextUtils 工具類實現 下面是一個完整的 Spring 上下文工具類實現,用于從 Spring 容器中獲取 Bean。這個工具類考慮了線程安全、性能優化和易用性,并提供了多種獲取 Bean 的方式。 完整實現代碼 import org.springframework.beans.BeansExce…

基于 Vue 2 開發的分頁卡片列表組件(帶懶加載和點擊事件)

功能目標&#xff1a; CardList.vue 中支持分頁&#xff0c;每頁顯示指定數量的卡片。添加“加載中”動畫。支持懶加載&#xff1a;滾動到底部自動加載下一頁。點擊卡片的事件邏輯由 Card.vue 內部發出&#xff0c;并由 CardList 向上傳遞。 主頁面文件 Home.vue <templat…

【數據結構和算法】6. 哈希表

本文根據 數據結構和算法入門 視頻記錄 文章目錄 1. 哈希表的概念1.1 哈希表的實現方式1.2 哈希函數&#xff08;Hash Function&#xff09;1.3 哈希表支持的操作 2. Java實現 在前幾章的學習中&#xff0c;我們已經了解了數組和鏈表的基本特性&#xff0c;不管是數組還是鏈表…

【python】如何將文件夾及其子文件夾下的所有word文件匯總導出到一個excel文件里?

根據你的需求,這里提供一套完整的Python解決方案,支持遞歸遍歷子文件夾、提取Word文檔內容(段落+表格),并整合到Excel中。以下是代碼實現及詳細說明: 一個單元格一個word的全部內容 完整代碼 # -*- coding: utf-8 -*- import os from docx import Document import pand…

leetcode-位運算

位運算 371. 兩整數之和 題目 給你兩個整數 a 和 b &#xff0c;不使用 運算符 和 - &#xff0c;計算并返回兩整數之和。 示例 1&#xff1a; 輸入&#xff1a; a 1, b 2 輸出&#xff1a; 3 示例 2&#xff1a; 輸入&#xff1a; a 2, b 3 輸出&#xff1a; 5 提示&am…

飛帆控件:在編輯模式下額外加載的庫

飛帆是一個自由的控件設計平臺。在飛帆中&#xff0c;我們可以很方便地創建基于 Vue 2 組件的控件&#xff0c;并使用控件來搭建網頁。 他山之石&#xff0c;可以攻玉。在創建控件中&#xff0c;使用 js 、css 依賴庫能讓我們的控件更強大。 有些時候&#xff0c;在編輯模式下…

GPLT-2025年第十屆團體程序設計天梯賽總決賽題解(共計266分)

今天偶然發現天梯賽的代碼還保存著&#xff0c;于是決定寫下這篇題解&#xff0c;也算是復盤一下了 L1本來是打算寫的穩妥點&#xff0c;最后在L1-6又想省時間&#xff0c;又忘記了insert&#xff0c;replace這些方法怎么用&#xff0c;也不想花時間寫一個文件測試&#xff0c…