OSPF高級特性之FRR

一、概述

? ? ? ? 眾所周知,IGP當中鏈路狀態路由協議(OSPF、ISIS)之所以可以代替我們的矢量路由協議(RIP),就是因為鏈路狀態路由協議可以根據某些特性快速的感知到路由的變化從而改變路徑。

? ? ? ? 前面我們已經介紹過了OSPF的其中一個快速收斂的機制,SPF算法,本章節將介紹另一個快速收斂機制,FRR(鏈路保護)

? ? ? ? 在我們OSPF網絡環境當中,當沒有配置BFD的情況下鏈路發生了故障時,設備是有一段空窗期無法快速感知到鏈路故障的,在這個空窗期內數據將會丟包,假如說沒有備份路徑則一直丟包,那么這個空窗期是多久呢?又是怎么計算得出的呢?

舉個例子:

在這個拓撲當中假設AR1與AR4之間的鏈路發生了故障

AR1在Hello報文的老化時間(40s)倒計時之后沒有收到對方的Hello報文,AR1就認為鄰居down了,這里就需要40s

AR1在感知到鄰居down之后拓撲發生了改變,AR1會產生LSA來通知其他鄰居,收到該LSA加入到LSDB當中之后,重新進行SPF(SPT、PRC)算法。

經過以上一系列的操作之后重新計算出了新的拓撲和路由信息之后數據才會通過AR3去訪問AR5,在此期間所有想要通過AR1去訪問AR5的數據都將丟包。

在一些特定場景當中,客戶不希望長時間的丟包,保證網絡的穩定性和可靠性,那么在OSPF當中有沒有什么技術可以加快收斂時間呢?

有的兄弟有的

其中就包括我們接下來要介紹的技術FRR

二、FRR

? ? ? OSPF(fast reroute,快速重路由)通過LFA算法來預先計算出網絡目的的備份路徑,保存在轉發表當中,當主路徑發生故障時,可以及時將數據快速的切換到備份路徑上,保證數據不中斷,可將故障恢復時間降低到(50ms)之內,通常我們也會使用BFD來監測主路徑,當主路徑發生故障時,通過FRR計算的備份路徑快速的切換到備份路徑上,這樣大大減少了我們收斂的時間,保證了數據不中斷。

? ? ? ?不是所有的路徑都可以被當作備份路徑保存在轉發路由表當中的,需要滿足一定的條件:N D < N S + S D

?舉個例子:

在這張拓撲當中,AR3作為AR1去往AR5的備份路徑

AR3通過AR4去訪問AR5的COST為2

AR3通過AR1去訪問AR5的COST為3

AR1通過AR4去訪問AR5的COST為2

此時N D=2 < N S(1) + S D(2)=3

AR1可以通過LFA算法來計算出備份路徑放入自己的轉發路由表當中,但如果此時我們將AR3與AR4之間的鏈路COST改成2那么條件就無法打成。

AR3通過AR4去訪問AR5的COST為3

AR3通過AR1去訪問AR5的COST為3

AR1通過AR4去訪問AR5的COST為2

此時N D=3 ≮? N S(1) + S D(2) =3

條件無法達成則AR1無法將AR3的備份路徑加入到轉發路由表當中

三、實驗

拓撲

1、基礎配置

AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.14.1 24
interface g0/0/1
ip add 10.0.13.1 24
interface loopback 1
ip add 1.1.1.1 32AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.13.3 24
interface g0/0/1
ip add 10.0.34.3 24AR4
system
sysname AR4
interface g0/0/0
ip add 10.0.14.4 24
interface g0/0/1
ip add 10.0.34.4 24
interface g0/0/2
ip add 10.0.45.4 24AR5
system
sysname AR5
interface g0/0/0
ip add 10.0.45.5 24
interface loopback 1
ip add 5.5.5.5 32

2、路由配置

AR1
ospf 1 router-id 1.1.1.1
area 0
netw 0.0.0.0 0.0.0.0AR3
ospf 1 router-id 3.3.3.3
area 0
netw 0.0.0.0 0.0.0.0AR4
ospf 1 router-id 4.4.4.4
area 0
netw 0.0.0.0 0.0.0.0AR5
ospf 1 router-id 5.5.5.5
area 0
netw 0.0.0.0 0.0.0.0

查看OSPF鄰居表和LSDB

[AR1]dis ospf peer briefOSPF Process 1 with Router ID 1.1.1.1Peer Statistic Information----------------------------------------------------------------------------Area Id          Interface                        Neighbor id      State    0.0.0.0          GigabitEthernet0/0/0             4.4.4.4          Full        0.0.0.0          GigabitEthernet0/0/1             3.3.3.3          Full        ----------------------------------------------------------------------------
[AR1]display ospf lsdb OSPF Process 1 with Router ID 1.1.1.1Link State Database Area: 0.0.0.0Type      LinkState ID    AdvRouter          Age  Len   Sequence   MetricRouter    4.4.4.4         4.4.4.4             77  60    80000007       1Router    1.1.1.1         1.1.1.1             88  60    80000007       1Router    5.5.5.5         5.5.5.5             80  48    80000004       1Router    3.3.3.3         3.3.3.3             85  48    80000007       1Network   10.0.14.4       4.4.4.4             79  32    80000002       0Network   10.0.13.3       3.3.3.3             91  32    80000002       0Network   10.0.34.4       4.4.4.4             85  32    80000002       0Network   10.0.45.5       5.5.5.5             80  32    80000002       0

查看AR1去往AR5的路由

[AR1]display ip routing-table 5.5.5.5 32 verbose 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1Destination: 5.5.5.5/32Protocol: OSPF             Process ID: 1Preference: 10                     Cost: 2NextHop: 10.0.14.4         Neighbour: 0.0.0.0State: Active Adv              Age: 00h01m38sTag: 0                  Priority: mediumLabel: NULL                QoSInfo: 0x0IndirectID: 0x0              RelayNextHop: 0.0.0.0           Interface: GigabitEthernet0/0/0TunnelID: 0x0                   Flags:  D

可以看到此時AR1去往AR5的路由當中并沒有備份路徑,如果此時AR1的主路徑發生的故障則需要較長的一段時間來重新計算出新的鏈路來轉發數據,那我們的客戶肯定是不能接受的,所以接下來我們就來配置FRR(快速重路由)技術來加快我們收斂的速度。

AR1
ospf 1
frr
loop-free-alternate

?配置完后我們來重新查看AR1去往AR5的路由信息

[AR1]display ip routing-table 5.5.5.5 32 verbose 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1Destination: 5.5.5.5/32Protocol: OSPF             Process ID: 1Preference: 10                     Cost: 2NextHop: 10.0.14.4         Neighbour: 0.0.0.0State: Active Adv              Age: 00h00m17sTag: 0                  Priority: mediumLabel: NULL                QoSInfo: 0x0IndirectID: 0x0              RelayNextHop: 0.0.0.0           Interface: GigabitEthernet0/0/0TunnelID: 0x0                   Flags:  DBkNextHop: 10.0.13.3       BkInterface: GigabitEthernet0/0/1BkLabel: NULL            SecTunnelID: 0x0              BkPETunnelID: 0x0         BkPESecTunnelID: 0x0              BkIndirectID: 0x0       

可以看到此時AR1的路由表當中已經有了下一跳為10.0.13.3的備份路徑,當AR1感知到主路徑發生故障時,就會快速的將去往AR5的路徑切換到備份路徑,從而減少了丟包時間。

如果此時我們將AR3與AR4之間的鏈路COST改為2,看看AR1的路由會不會發生變化

AR3
interface g0/0/1
ospf cost 2
[AR1]display ip routing-table 5.5.5.5 32 verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1Destination: 5.5.5.5/32Protocol: OSPF             Process ID: 1Preference: 10                     Cost: 2NextHop: 10.0.14.4         Neighbour: 0.0.0.0State: Active Adv              Age: 00h00m01sTag: 0                  Priority: mediumLabel: NULL                QoSInfo: 0x0IndirectID: 0x0              RelayNextHop: 0.0.0.0           Interface: GigabitEthernet0/0/0TunnelID: 0x0                   Flags:  D

可以看到我們將AR3與AR4之間的鏈路COST改大之后AR1的路由表當中就沒有了AR3的備份路徑了。

這是為什么呢?

其實很簡單,就是我們上面提到的條件:N D < N S + S D

?想要AR1計算出AR3的備份路徑,那么AR3到達AR5的COST就必須小于AR3到達AR1+AR1到達AR5的COST。

通過FRR計算出備份路徑,在鏈路發生故障時我們可以將故障時間降低致大約50s左右,但這還是很久如果想要進一步加快收斂速度,我們可以在AR1的主路徑上配置BFD快速檢測,不需要等待40s的hello老化時間

以上就是本章的全部內容了,感謝大家的瀏覽觀看!文章若有錯誤或疑問可聯系博主刪除更改。

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

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

相關文章

多元化國產主板,滿足更高性能、更高安全的金融發展

在金融行業數字化轉型的浪潮中&#xff0c;對于核心硬件的性能與安全需求達到了前所未有的高度。國產主板應運而生&#xff0c;憑借其卓越的多元化特性&#xff0c;為金融領域帶來了高性能運算與高安全防護的雙重保障&#xff0c;成為推動金融行業發展的關鍵力量。以高能計算機…

數據庫分布式架構:ShardingSphere 實踐

一、數據庫分布式架構概述 1.1 分布式架構概念 在當今數字化時代&#xff0c;隨著業務的不斷拓展和數據量的爆炸式增長&#xff0c;傳統的單機數據庫架構逐漸暴露出諸多局限性。例如&#xff0c;在電商大促期間&#xff0c;海量的訂單數據和用戶訪問請求會讓單機數據庫不堪重…

【WRFDA教程第二期】運行WRFDA 3DVAR/4DVAR數據同化

目錄 一、準備階段&#xff1a;下載并解壓測試數據二、運行 3DVAR 教學實驗日志分析&#xff08;wrfda.log&#xff09;進階實驗建議&#xff1a;對比不同設置的影響輸出文件說明 三、運行 4DVAR 教學實驗步驟1&#xff1a;準備工作目錄與環境變量步驟2&#xff1a;鏈接可執行文…

redis緩存三大問題分析與解決方案

什么是緩存&#xff1f; 緩存&#xff08;Cache&#xff09;是一種將熱點數據緩存在內存中&#xff08;如 Redis&#xff09;以加快訪問速度、減輕數據庫壓力的技術。 但引入緩存后可能出現 三大核心問題&#xff1a; 緩存穿透&#xff08;Cache Penetration&#xff09;緩存…

李宏毅機器學習筆記——梯度下降法

深度學習介紹 基于仿生學的一種自成體系的機器學習算法&#xff0c;包括但不限于圖像識別、語音、文本領域。 梯度下降法 作為深度學習算法種常用的優化算法 梯度下降法&#xff0c;是一種基于搜索的最優化方法&#xff0c;最用是最小化一個損失函數。梯度下降是迭代法的一…

day50/60

浙大疏錦行 DAY 50 預訓練模型CBAM模塊 知識點回顧&#xff1a; resnet結構解析CBAM放置位置的思考針對預訓練模型的訓練策略 差異化學習率三階段微調 ps&#xff1a;今日的代碼訓練時長較長&#xff0c;3080ti大概需要40min的訓練時長 作業&#xff1a; 好好理解下resnet18的…

Vue3 之vite.config.js配置

一、示例 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path // https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],base: ./,build: {assetsDir: static, //指定靜態資源目錄rollupOptions: {input: {mai…

利用Gpu訓練

方法一&#xff1a; 分別對網絡模型&#xff0c;數據&#xff08;輸入&#xff0c;標注&#xff09;&#xff0c;損失函數調用.cuda() 網絡模型&#xff1a; if torch.cuda.is_available():netnet.cuda() 數據&#xff08;訓練和測試&#xff09;&#xff1a; if torch.cud…

使用excel中的MATCH函數進行匹配數據

一、背景 在平日處理數據時&#xff0c;經常需要將給定數據按照制定的數據進行排序&#xff0c;數量比較大時&#xff0c;逐個處理有點費事費力且容易出錯&#xff0c;這時可借助excel表格中match函數進行精確匹配。 二、使用match函數–精確排序操作步驟 主要工作步驟&#xf…

SpringCloud系列(41)--SpringCloud Config分布式配置中心簡介

前言&#xff1a;微服務意味著要將單體應用中的業務拆分成一個個子服務&#xff0c;每個服務的粒度相對較小&#xff0c;因此系統中會出現大量的服務&#xff0c;但由于每個服務都需要必要的配置信息才能運行&#xff0c;所以—套集中式的、動態的配置管理設施是必不可少的&…

wireshark介紹和使用

Wireshark 介紹 Wireshark 是一款開源的 網絡協議分析工具&#xff08;Packet Sniffer&#xff09;&#xff0c;用于捕獲和分析網絡數據包。它支持多種協議解析&#xff0c;適用于網絡調試、安全分析、網絡教學等場景。 官網&#xff1a;https://www.wireshark.org/ 特點&#…

【甲方安全建設】敏感數據檢測工具 Earlybird 安裝使用詳細教程

文章目錄 背景工具介紹安裝方法一、Linux 與 macOS 安裝流程二、Windows 系統安裝流程(一)三、Windows 系統安裝流程(二)四、錯誤處理使用說明模塊與規則機制集成與運維建議結語背景 隨著源代碼泄露、配置誤提交、密碼硬編碼等風險頻發,企業源代碼庫中潛在的敏感信息泄漏…

異步Websocket構建聊天室

目錄 Websocket技術背景 Websockec簡介 實現websocket通信程序 實驗環境&#xff1a; 服務端&#xff08;阿里云ESC,VPC網絡&#xff09;&#xff1a; 客戶端1&#xff08;本機&#xff09;&#xff1a; 通信模型&#xff1a; 實現功能邏輯&#xff1a; 源代碼&#xff1a; 服務…

OpenCV CUDA模塊設備層-----反向二值化閾值處理函數thresh_binary_inv_func()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 OpenCV CUDA 模塊&#xff08;cudev&#xff09; 中的一個仿函數&#xff08;functor&#xff09;生成器&#xff0c;用于創建一個反向二值化閾值…

【實現一個時間MCP完整技術解析】

&#x1f552; MCP Time Server 完整技術解析&#xff1a;從核心實現到文件架構的深度剖析 目前已上傳npm庫&#xff0c;chan-mcp-time-server&#xff0c;有興趣的可以下載試試 創建時間: 2025年7月2日 &#x1f3af; 項目概述與架構設計 核心問題定義 AI助手在處理時間相關…

類成員方法命名風格解析:動賓、純動詞與純名詞的選擇之道

在軟件開發的浩瀚代碼海洋中&#xff0c;類成員方法的命名猶如指引開發者的燈塔&#xff0c;其重要性不言而喻。合理的命名不僅能讓代碼 “自我言說”&#xff0c;降低理解成本&#xff0c;還能提升開發效率&#xff0c;促進團隊協作。常見的類成員方法命名風格可歸納為動賓結構…

自己電腦搭建本地服務器并實現公網訪問,內網也能提供互聯網連接使用

如何在本地自己計算機上自建服務器并開啟公網地址提供互聯網服務的詳細教學&#xff0c;一步步操作流程&#xff0c;從本地部署到配置公網IP&#xff0c;最后并附無公網IP內網穿透公網訪問的nat123方案。 要在自用的電腦上搭建本地服務器并實現公網地址的訪問&#xff0c;需要…

如何使用AI改進論文寫作 ---- 引言篇(2)

寫在前面 本篇作為1.0版本的補充優化&#xff0c;記錄本人的研究過程。 在分析了多本論文寫作的相關的書籍之后&#xff0c;我明白了一點&#xff0c;關于論文寫作&#xff0c;永遠是一個熟能生巧的過程&#xff0c;對于人來說&#xff0c;必須多寫才能夠變得熟練&#xff0c;對…

【Java21】在spring boot中使用ScopedValue

文章目錄 0.環境說明1.基礎知識1.1 ScopedValue的特點 2.應用場景2.1 spring web項目中&#xff0c;使用ScopedValue傳遞上下文&#xff08;全局不可變量&#xff09;2.2 spring grpc項目中&#xff0c;使用ScopedValue傳遞上下文&#xff08;全局不可變量&#xff09; 3.Scope…

第10篇 圖像語義分割和目標檢測介紹

語義分割(Semantic Segmentation)是圖像處理和機器視覺一個重要分支&#xff0c;其目標是精確理解圖像場景與內容。語義分割是在像素級別上的分類&#xff0c;屬于同一類的像素都要被歸為一類&#xff0c;因此語義分割是從像素級別來理解圖像的。如下如所示的照片&#xff0c;屬…