OSPF --- LSA

文章目錄

    • 一、OSPF LSA(鏈路狀態通告)詳解
      • 1. LSA通用頭部
      • 2. OSPFv2 主要LSA類型
        • a. Type 1 - Router LSA
        • b. Type 2 - Network LSA
        • c. Type 3 - Summary LSA
        • d. Type 4 - ASBR Summary LSA
        • e. Type 5 - AS External LSA
        • f. Type 7 - NSSA External LSA
      • 3. LSA泛洪機制
      • 4. LSA類型與區域設計
      • 5. 關鍵操作示例
        • 查看LSDB(Cisco設備)
    • 二、OSPF在MGRE環境下的問題
      • 問題1:
        • 解決方法:
      • 問題2:
        • 解決方法:

一、OSPF LSA(鏈路狀態通告)詳解

LSA(Link State Advertisement)是OSPF協議的核心數據結構,用于描述網絡拓撲和路由信息。每個LSA代表路由器視角下的局部網絡狀態,通過泛洪機制實現全網LSDB(鏈路狀態數據庫)同步。


1. LSA通用頭部

所有LSA類型共享20字節的通用頭部:

LSA類型、鏈路狀態ID、通告路由器ID ---- “LSA三元組” — 通過這三個參數可以唯一的標識出一條LSA。

在這里插入圖片描述

字段描述
LS AgeLSA存活時間(秒),最大值3600(老化時間)。
OptionsOSPF能力標識(如是否支持外部路由)。
LS TypeLSA類型(1-11,OSPFv2常用1-7)。
Link State ID鏈路狀態標識符,標識LSA的拓撲實體(如Router ID、網絡地址等)。
Advertising Router生成該LSA的路由器Router ID。
LS Sequence Number序列號(0x80000001~0x7FFFFFFF),用于檢測新舊LSA或是否存在重復。
每一臺路由器發送同一條LSA時都會攜帶一個序列號,并且這些序列號一次加1,是LSA新舊判斷的關鍵參數
序列號空間:直線型空間、循環型空間、棒棒糖型空間
LS Checksum校驗和(排除LS Age字段),校驗和也會參與LSA的新舊比較。當兩條LSA三元組相同,并且序列號也相同時,則可以使用校驗和比較,和大的認定為新。
LengthLSA總長度(含頭部)。

2. OSPFv2 主要LSA類型

a. Type 1 - Router LSA
  • 生成者每個OSPF路由器且只發送一條

  • 作用:描述區域內部路由器的直連鏈路狀態(鏈路類型、開銷值)和鄰居關系。

  • 傳播范圍:僅在所屬區域內部泛洪。

  • 攜帶信息:本地接口直連拓撲

  • 具體信息:

    • [R1]dis ospf lsdb router 查看Type1 LSA的具體信息

在這里插入圖片描述

  • LS ID: 發出該LSA的路由器的router-id

  • Link count:鏈路數量,通過link來描述接口的鏈接情況

    • 在這里插入圖片描述

    • Metric:開銷值

  • link-type:鏈路類型,描述該接口的二層類型

    • transnet:

      ? 類型:廣播網絡或者NBMA

      ? link-id:本網段的DR的IP地址qh

      ? Data:本路由器在該網段的IP地址

    • P2P:

      ? 類型:ppp

      ? link-id:該網段對端路由器的router-id

      ? Data:本路由器在該網段的與對端路由器相連的接口的IP地址

    • stubnet(末梢網絡):

      ? 類型:p2p\環回口

      ? link-id:該網段的網絡地址

      ? Data:該網段的子網掩碼

    • Virtual(虛鏈路):

      ? 類型:虛鏈路

      ? link-id:虛鏈路鄰居的router id

      ? data:去往該虛連接鄰居的本地接口的IP地址

  • Adv Rtr:始發路由器,產生該LSA的路由器的router-id

  • 鏈路ID:不同的鏈路類型,對鏈路ID值的定義是不同的。

  • 鏈路數據(Link Data):不同的鏈路類型對鏈路數據的定義是不同的。

  • 關鍵內容

    • 路由器所有接口的IP地址和掩碼。
    • 接口連接的鄰居Router ID(點對點網絡)或DR的IP地址(廣播網絡)。
    • 鏈路開銷(Cost)。
b. Type 2 - Network LSA
  • 生成者:MA網絡中的DR設備(指定路由器)。
  • 作用:描述廣播/NBMA網絡中的全部接入路由器及掩碼信息。(僅依靠1類LSA無法完整描述MA網絡中的信息)
  • 傳播范圍:僅在所屬區域內部泛洪。
  • 關鍵內容
    • DR的IP地址和網絡掩碼。
    • 接入該網絡的所有路由器Router ID。
    • LS ID:該網段的DR的IP地址
    • Adv Rtr:該網段DR的router-id
    • network mask:該網段DR的IP地址的子網掩碼信息

所有路由信息都需要就與拓撲信息進行驗算,及所有其他種類的LSA均需要通過1類和2類LSA進行驗算

c. Type 3 - Summary LSA
  • 生成者:ABR(區域邊界路由器)。

  • 作用:向其他區域通告本區域的匯總路由(攜帶區域之間傳遞的路由信息,通過下一個區域時需要修改為新的ABR設備)。

  • 傳播范圍:跨區域傳播(但僅到達普通區域)。

  • 關鍵內容

    • 目標網絡地址和掩碼。

    • ABR到目標網絡的路徑開銷。

    • LS ID:其他區域某個網段的網絡地址

    • SubAdv Rtv:通告該LSA的ABR的router-id

    • net mask:該網段的子網掩碼

      注:3類LSA的傳遞范圍在ABR相鄰的單區域中進行,跨區域傳遞時,需要進行通告者的轉換,通告者變了,則將不是同一條LSA

d. Type 4 - ASBR Summary LSA
  • 生成者:ASBR所在區域的ABR設備,通過下一個區域時需要修改為新的ABR設備。
  • 作用:通告ASBR(自治系統邊界路由器)的位置。
  • 傳播范圍:除Stub/NSSA區域外的全網泛洪。
  • 關鍵內容
    • lsID:ASBR的Router ID
    • ABR到ASBR的開銷。
    • 注:在ASBR本區域的內部路由器,不會產生到達該ASBR的4類LSA
e. Type 5 - AS External LSA
  • 生成者:ASBR。
  • 作用:通告引入的外部路由(如重分布進OSPF的靜態/BGP路由)。
  • 傳播范圍:全網泛洪(除Stub/NSSA區域)。
  • 關鍵內容
    • 外部網絡地址和掩碼。
    • 外部路由類型(E1/E2)。
    • LS ID:域外路由目標網絡號
    • Metric:因為不同你個協議的開銷值評判標準不同,所以在進行重發布之后,將舍棄原先網絡環境中的開銷值,然后賦予一個初始的度量值 — 種子度量值 —華為設備默認為1
      • import-route rip 1 cost 2 — 在重發布過程中修改種子度量值。
    • E type — 標記位(標記度量值的類型)
      • 0 :類型1 — 所有設備到達域外目標網段的開銷值為本地到達通告路由器的開銷值加種子度量值
      • 1 :類型2 — 默認使用度量值類型為2,所有設備到達域外目標網段的開銷值為種子度量值
      • import-route rip type 1 — 修改度量值類型
    • 轉發地址(Forwarding Address,可選):主要是應對選路不加的情況,如果出現不佳的情況,則將最佳選路的下一跳放在轉發地址中,之后將不再按照算法尋找通告者,而是根據轉發地址到達目標。5類LSA在不存在選路不加時,轉發地址用0.0.0.0來填充。
f. Type 7 - NSSA External LSA
  • 生成者:NSSA區域內的ASBR。
  • 作用:在NSSA區域內替代5類LSA通告外部路由(類似Type 5的受限版本)。
  • 傳播范圍:僅在NSSA區域內部傳播,由ABR轉換為Type 5后泛洪到其他區域。
  • 關鍵內容
    • 外部網絡地址和掩碼。
    • LS ID:域外路由目標網絡號
    • 轉發地址(必須指定,通常為ASBR的接口IP)。
    • 特殊區域的標志
      • E:E位置1,代表該區域支持5類LSA,如果是特殊區域則置0
      • N:N位置1,則代表該區域支持7類LSA,

3. LSA泛洪機制

  1. 初始泛洪:路由器生成LSA后,通過LSU包發送給所有鄰居(組播地址224.0.0.5/6)。
  2. 確認機制:接收方必須回復LSAck確認,否則發送方重傳。
  3. 老化與刷新
    • LSA默認每30分鐘(LSRefreshTime)重新生成(序列號+1)。
    • 若LS Age達到3600秒且未被刷新,則從LSDB中刪除。

4. LSA類型與區域設計

區域類型允許的LSA類型
骨干區域(Area 0)1, 2, 3, 4, 5
普通區域1, 2, 3, 4, 5
Stub區域1, 2, 3, 4(禁止Type 5,由ABR生成默認路由)
NSSA區域1, 2, 3, 4, 7(ABR將Type 7轉換為Type 5)
Totally Stub1, 2, 3(ABR生成默認路由,禁止Type 3/4/5)

5. 關鍵操作示例

查看LSDB(Cisco設備)
show ip ospf database              # 
show ip ospf database router 1.1.1.1  # 查看特定Router LSA詳情
show ip ospf database external     # 查看Type 5 LSA

二、OSPF在MGRE環境下的問題

在配置完MGRE隧道和OSPF都會發現,各個設備的OSPF路由表學習不全,設備也無法建立正常的鄰接關系

問題1:

Tunnel接口類型為P2P類型,不選舉DR/BDR,使得設備無法正常建立鄰接關系

解決方法:

更改網絡中tunnel接口類型為廣播或者P2MP

[R1-Tunnel0/0/0]ospf network-type broadcast

問題2:

DR/BDR選舉混亂,無法建立鄰接關系

更改網絡類型后,廣播網絡中中心站點和分支站點處于同一個廣播域,此時需要進行DR和BDR的選舉,但是在分支站點的世界里只和中心站點認識,分支站點和分支站點不認識,這就會發生多個分支站點和一個中心站點互相競選DR和BDR,這樣會造成選舉結果混亂。

解決方法:

將分支站點的DR選舉優先級變0,這樣就能保證中心站點是整個廣播網絡中唯一的DR

[R2-Tunnel0/0/0]ospf dr-priority 0

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

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

相關文章

Spring Boot 框架介紹及 Spring Boot 與 Spring 實現對比

在日常 Java Web 開發中,Spring 框架幾乎是繞不開的技術體系。傳統的 Spring 項目因其靈活強大而被廣泛應用,但隨著項目規模擴大與業務復雜度提升,XML 配置繁瑣、部署復雜等問題逐漸顯現。為此,Spring Boot 應運而生。 Spring Boo…

基于CNN卷積神經網絡和GEI步態能量提取的視頻人物步態識別算法matlab仿真

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 4.1 GEI步態能量提取 4.2 CNN卷積神經網絡原理 5.算法完整程序工程 1.算法運行效果圖預覽 (完整程序運行后無水印) 2.算法運行軟件版本 matlab2024b/matlab2022a 3.部分核心程序 &…

創建型模式:建造者模式

什么是建造者模式 建造者模式(Builder Pattern)是一種創建型設計模式,它將一個復雜對象的構建過程與其表示分離,使得同樣的構建過程可以創建不同的表示。簡單來說,建造者模式允許您一步一步創建復雜對象,而…

Linux `init 5` 相關命令的完整使用指南

Linux init 5 相關命令的完整使用指南—目錄 一、init 系統簡介二、init 5 的含義與作用三、不同 Init 系統下的 init 5 行為1. SysVinit(如 CentOS 6、Debian 7)2. systemd(如 CentOS 7、Ubuntu 16.04)3. Upstart(如 …

RabbitMQ常見面試題回答重點

文章目錄 什么是消息隊列?為什么需要消息隊列消息隊列的模型消息隊列常見名詞如何保證消息不丟失?(可靠性)如何保證消息不重復/業務冪等性如何保證消息有序性如何處理消息堆積消息隊列設計為推送還是拉取 / 推拉模式優點無法路由的…

欣佰特攜數十款機器人相關前沿產品,亮相第二屆人形機器人和具身智能行業盛會

2025年4月15日至16日,備受關注的第二屆中國人形機器人與具身智能產業大會已在北京成功舉行。作為國內前沿科技及產品服務領域的重要參與者,欣佰特科技攜眾多前沿產品精彩亮相,全方位展示了其在人形機器人與具身智能領域的創新產品。 在本次大…

Docker安裝 (centos)

1.安裝依賴包: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.刪除已有的 Docker 倉庫文件(如果有): sudo rm -f /etc/yum.repos.d/docker-ce.repo 3.添加阿里云的 Docker 倉庫: sudo yum…

Vue接口平臺學習十——接口用例頁面2

效果圖及簡單說明 左邊選擇用例,右側就顯示該用例的詳細信息。 使用el-collapse折疊組件,將請求到的用例詳情數據展示到頁面中。 所有數據內容,綁定到caseData中 // 頁面綁定的用例編輯數據 const caseData reactive({title: "",…

服務器數據遷移指南

服務器數據遷移是將數據從一臺服務器轉移到另一臺服務器的過程,可能是為了硬件升級、云遷移、數據中心搬遷或服務整合。 以下是數據遷移的關鍵步驟和注意事項: 遷移前準備 制定遷移計劃 確定遷移范圍(全量/增量) 評估數據量和網絡帶寬 制定時間表和回…

25.解決中醫知識問答刪除歷史對話功能后端處理請求時拋出異常

ChatTest.vue:176 DELETE http://localhost:8080/api/chat/conversations/20 500 (Internal Server Error) deleteConversation ChatTest.vue:176 onClick ChatTest.vue:22 ChatTest.vue:185 刪除失敗 AxiosError {message: Request failed with status code 500, name: Axio…

記錄seatunnel排查重復數據的案例分析

文章目錄 背景分析檢查現象檢查B集群是否有異常,導致重復消費的分析同步任務 修復問題發現flink job 一直報異常修復問題 背景 使用seatunnel 同步數據從A 集群kafka 同步到B集群kafka,現象是發現兩邊數據不一致,每天10w級別會多幾十條數據 分析 檢查…

VSCode遠程圖形化GDB

VSCode遠程圖形化GDB 摘要一、安裝VSCode1、使用.exe安裝包安裝VSCode2、VSCode 插件安裝3、VSCode建立遠程連接 二、core dump找bug1、開啟core文件2、永久生效的方法3、編寫測試程序4、運行結果5、查看core段錯誤位置6、在程序中開啟core dump并二者core文件大小 三、gdbserv…

Android 中實現 GIF 圖片動畫

在 Android 中,ImageView 從 Android 9.0(API 級別 28) 開始原生支持 GIF 動畫,通過 AnimatedImageDrawable 類實現。在之前的版本中,ImageView 并不支持直接播放 GIF 動畫,只能顯示 GIF 的第一幀。 一、 …

【c語言】指針進階

目錄 1.字符指針 2.指針數組 3.數組指針 3.1 數組指針的定義 3.2 數組指針的使用 4.數組參數,指針參數 4.1 一維數組傳參 4.2 二維數組傳參 4.3 一級指針傳參 4.4 二級指針傳參 5.函數指針 6.函數指針數組 6.1函數指針數組的定義 6.2 函數指針數組…

極狐GitLab 項目 API 的速率限制如何設置?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 項目 API 的速率限制 (BASIC SELF) 引入于 15.10 版本,功能標志為rate_limit_for_unauthenticated_projects_api_…

【xlog日志文件】怎么刪除里面包含某些字符串的行(使用excel)

將log日志,復制到單獨一行 B列(可能一行很長,所以將整合后的放在A列) 使用公式可以篩選出 包含某些字符串的行 為true,將這些行直接刪除 IF(COUNT(FIND("MediaMuxterThreadRussia",B2,1))>0,"包含",&quo…

STM32提高篇: CAN通訊

STM32提高篇: CAN通訊 一.CAN通訊介紹1.物理層2.協議層二.STM32CAN外設1.CAN控制器的3種工作模式2.CAN控制器的3種測試模式3.功能框圖三.CAN的寄存器介紹1.環回靜默模式測試2.雙擊互發測試四.CAN的HAL代碼解讀一.CAN通訊介紹 CAN(Controller Area Network 控制器局域網,簡稱…

Java寫數據結構:棧

1.概念: 一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端稱為棧頂,另一端稱為棧底。棧中的數據元素遵守后進先出LIFO(Last In First Out)的原則。 壓棧:棧的插…

單頁面應用的特點,什么是路由,VueRouter的下載,安裝和使用,路由的封裝抽離,聲明式導航的介紹和使用

文章目錄 一.什么是單頁面應用?二.什么是路由?生活中的路由和Vue中的路由 三.VueRouter(重點)0.引出1.介紹2.下載與使用(5個基本步驟2個核心步驟)2.1 五個基本步驟2.2 兩個核心步驟 四.路由的封裝抽離五.聲明式導航1.導航鏈接特點一:能跳轉特點二:能高亮 2.兩個高亮類名2.1.區…

【C++】模板2.0

最近學習了一些模板的知識,速寫本博客作為學習筆記,若有興趣,歡迎垂閱讀! 1.非類型模板參數 模板參數分類類型形參與非類型形參。 類型形參即:出現在模板參數列表中,跟在class或者typename之類的參數類型名…