OSPF筆記

一、OSPF基礎

1、技術背景(RIP中存在的問題)

RIP中存在最大跳數為15的限制,不能適應大規模組網

周期性發送全部路由信息,占用大量的帶寬資源

路由收斂速度慢

以跳數作為度量值

存在路由環路可能性

每隔30秒更新

2、OSPF協議特點

沒有跳數限制,適合大規模組網

使用組播更新變化的路由和網絡信息?

路由收斂快,可以觸發更新

以COST作為度量值

采用SPF算法有效避免環路

每隔30分鐘周期性更新----LSA

在互聯網上大量使用,是運用最廣泛的路由協議

注意:OSPF傳遞的是拓撲信息和路由信息,RIP傳遞的是路由表

3、OSPF三張表

鄰居表:記錄鄰居狀態和關系

拓撲表:鏈路狀態數據庫(LSDB)

路由表:記錄由SPF算法計算的路由,存放在OSPF路由表中

4、OSPF數據包

(1)hello

作用:用來周期保活的,發現,建立鄰居關系。

(2)DBD(數據庫描述報文):

作用:僅包含LSA摘要

(3)LSR

作用:請求自己沒有的或則比自己更新的鏈路狀態詳細信息

(4)LSU:鏈路狀態更新信息

作用:把對方所需的幾條LSA的詳細信息,打包成一條LSU發給對方

一個LSU報文可以包含多個---LSA--(具體關于LSA請看后文)

(5)LSAck:

對LSU的確認

5、OSPF工作過程

鄰居:雙方通過hello報文,相互認識

鄰接:鄰居關系建立好后,進行一系列報文交互,當兩臺路由器LSDB同步完成,開始獨立計算路? ? ? ? ? ? ?由時,這兩臺路由器形成了鄰接關系

(1)確認可達性,建立鄰居

(2)鄰接路由器之間交換鏈路狀態信息,實現區域內鏈路狀態數據庫同步

  1. 向鄰接路由器發送DBD報文,通告本地LSDB中所有LSA的摘要信息
  2. 收到DBD報文后,與本地LSDB對比,向對方發送LSR報文,請求發送本地所需要的LSA的完整信息
  3. 收到LSR后,把對方所需的LSA的完整信息打包為一條LSU報文,發送至對方
  4. 收到LSU后,向對方回復LSAck報文,進行確認

(3)完整信息同步,完全鄰接關系建立

完全鄰接關系建立,LSDB表與路由表形成

6、OSPF的狀態機

鄰居關系開始建立

(1)down關閉狀態(穩定狀態),這種情況處于手動指定鄰居的情況下,發送hello包之后進入下一個狀態

(2)INIT初始化狀態,收到對方的hello報文,但沒有收到對方的hello確認報文

(3)Attempt一般不會出現,只出現在NBMA網絡中,發出hello,但收不到對方的hello包

(4)2-way(穩定狀態):雙方互相發現,鄰居狀態穩定,并確認了DR/BDR的角色;

當選舉完畢后,就算出現一臺優先級更高的路由器,也不會替換成新的DR\BDR;

需要原DR\BDR失效,或重置OSPF進程才會成為新的DR\BDR;

2-way的前提:

????? Router-id無沖突,修改router-id需要重置ospf進程使生效;

????? 掩碼長度一致(MA網絡中);

???? ?區域ID一致;
????? 驗證密碼一致;
????? hello-time一致;
????? dead-time一致;
????? 特殊區域類型一致;

鄰接關系開始建立

(5)Exstart交換開始狀態;發送第一個DD報文,但不發送LSA摘要,僅用于確定LSDB協商的主從,ROUTER-ID大的成為master

(6)Exchange:交換狀態;發送后續DD報文,用于通告LSDB摘要

(7)Loading讀取狀態,進行LSA的請求、加入和確認

(8)Full鄰接狀態(穩定狀態),兩端同步LSDB;

?? --注意: ?FULL的前提:兩端MTU一致,否則可能卡在EXSTART\Exchange狀態

????? 能夠計算路由的前提:兩端網絡類型一致,否則鄰居狀態full,但無法學習路由

二、OSPF的區域劃分

1、分區好處

減少LSA泛洪范圍;

提高網絡擴展性,有利于組建大規模的網絡;

2、區域類型

骨干區域:

非骨干區域:

特殊區域:優化路由表、優化LSDB表

? 1、STUB區域:末梢區域

(1)定義:

末梢區域,適用于區域中路由器性能較低,目的是為了減少區域中路由器的路由表規模以及路由信息傳遞的數量。不希望接收大量的AS以外路由

(2)特征:

不接受4類5類LSA;

不允許出現ASBR;

區域0不能被配置為STUB區域;

雖然拒絕學習域外路由信息,但依然有訪問域外路由的需求;故會由ABR設備自動下發一條指向骨干區域的3類缺省;

2、totally stub區域----完全末梢區域

(1)定義:完全末梢區域,拒絕學習域外和其他區域的路由信息

(2)特征:

不接受3類4類5類LSA;

不允許出現ASBR;

區域0不能被配置為totally STUB區域;

雖然拒絕學習域外路由信息,但依然有訪問域外路由的需求;故會由ABR設備自動下發一條指向骨干區域的3類缺省;

3、NSSA區域(Not-So-stubby Area)----非純末梢區域

(1)定義:非純末梢區域,是STUB區域的變形,拒絕學習域外(主要是5類)路由信息,但需要引入后面的域外路由信息

(2)特征:不接受4類5類LSA;

????????? 本區域引入的外部路由以7類LSA存在;

????????? 本區域的ABR會 把引入的7類LSA轉換為5類 LSA通告給其他區域;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LSA

LSAOSPF的一個核心內容,如果沒有LSAOSPF是無法描述網絡的拓撲結構及網段信息的,也無法傳遞路由信息,更加無法正常工作,OSPFV2中,需要我們掌握的主要有6種。

1、type1-LSA:----重要且復雜

(1)定義:router LSA

  1. 描述區域內部與路由器直連的鏈路信息(鏈路類型、開銷值等)
  2. 僅在區域內部傳輸
  3. 每臺路由器都會產生Type1 LSA

2、type2-LSA:

(1)定義:network LSA

描述區域內的MA網絡(廣播網絡、NBMA網絡)鏈路的路由器及掩碼信息

僅在區域內部傳輸

只有DR才會產生type2_LSA

[R1]dis ospf lsdb network? 查看Type2 LSA的具體信息

(2)內容:

LS ID:該網段的DR的IP地址

Adv Rtr:該網段DR的router-id

network mask:該網段DR的IP地址的子網掩碼信息

3、type3-LSA:

(1)定義:Summary LSA(聚合LSA)

在整個OSPF區域內,描述其他區域的鏈路信息

以子網形式傳播,類似直接傳遞路由

只有ABR會產生type3_LSA

[R1]dis ospf lsdb summary? 查看Type3 LSA的具體信息

(2)內容:

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

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

net mask:該網段的子網掩碼

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

4、type4-LSA:

(1)定義:Asbr-summary LSA

描述ASBR的信息

只有ABR才會產生TYPE4 LSA

(2)內容:

LS ID:ASBR的router-id

Adv Rtv:通告描述該ASBR的ABR的router-id

注:在ASBR本區域的內部路由器,不會產生到達該ASBR的4類LSA

5、type5-LSA:

(1)定義:AS_extenal LSA,傳遞域外 路由信息

描述AS外部引入的路由信息,會傳播到所有區域(特殊區域除外)

只有ASBR才會產生type5_LSA

(2)內容:

LS ID:外部路由的目的網絡地址

Adv Rtv:引入該網絡路由的ASBR的router-id

net mask:引入的該目標網段的子網掩碼

[R1]dis ospf lsdb ase? 查看Type5 LSA的具體信息

6、type7-LSA:

(1)定義:NSSA LSA

描述在NSSA區域引入的AS外部路由信息

只會出現在NSSA和totolly NASS區域,不能進入area 0

7類LSA生成路由信息的標記位,O_NSSA,優先級150

(2)內容:

LS ID:外部某個網段的網絡地址

Adv Rtv:引入該網絡路由的ASBR的ABR的router-id

-------------區域內傳拓撲,區域間傳路由

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

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

相關文章

kotlin基礎【3】

Kotlin Playground: Edit, Run, Share Kotlin Code Online 資料&#xff1a;kotlin實戰 第一章 data class Person(val name: String,val age:Int?null)//允許接受以age為空&#xff0c;當為空將它賦值為null,如果不這么寫直接寫age:Int?是否可以fun main(args:Array<St…

Java-數構二叉樹

1.樹 1.1概念 樹是一種非線性的數據結構&#xff0c;它是由n個有限節點組成一個具有層次關系。這種結構有以下特點&#xff1a; 一個特殊的結點&#xff0c;稱為根節點&#xff0c;根節點沒有前驅節點除根節點以外&#xff0c;其余節點分成M個互不相交的集合。每個集合又是一…

編程中水合的理解

在編程中&#xff0c;水合&#xff08;Hydration&#xff09; 是一個常見概念&#xff0c;尤其在 前端開發 和 服務端渲染&#xff08;SSR&#xff09; 場景中頻繁出現。它的核心含義是&#xff1a;將靜態內容“激活”為交互式動態內容。1. 水合的本質簡單理解&#xff1a;水合…

使用ffmpeg轉碼h265后mac默認播放器不支持問題

由于mac自帶錄屏是mov并且文件特別大&#xff0c;我使用ffmpeg轉碼視頻為h265使用如下命令ffmpeg_command [ffmpeg_path,"-i", input_path,"-c:v", "libx265","-preset", "veryslow","-map_metadata", "0&q…

支持MySQL、PostgreSQL和Redis集群部署,1Panel開源面板v2.0.5版本發布

2025年7月24日&#xff0c;現代化、開源的Linux服務器運維管理面板1Panel正式發布v2.0.5版本。在這一版本中&#xff0c;1Panel新增數據庫集群部署、郵件告警和主從節點靈活切換三項功能&#xff0c;聚焦為企業級運維場景提供更優使用體驗。 1Panel v2.0.5版本是1Panel開源面板…

GaussDB 數據庫架構師修煉(九) 邏輯備份實操

1 邏輯備份定義 邏輯備份是指與業務有關的對象進行備份&#xff0c;這個對象包括表、表的數據、視圖、索引、過程、函數等等。GaussDB支持邏輯備份的工具為gs_dump、gs_restore&#xff0c;以下舉例說明。 2 創建舉例數據 以下創建testdb庫&#xff0c;創建test1模式&#xf…

c# Winform發布成獨立文件

改造前&#xff1a; 通過發布頁面&#xff0c;修改部署模式為獨立&#xff0c;輸出文件目錄沒有完全包含所有dll改造后&#xff1a;通過修改項目文件方式修改csproj前&#xff1a;<PropertyGroup><OutputType>WinExe</OutputType><TargetFramework>net…

Android基礎(一) 運行HelloWorld

Android基礎&#xff08;一&#xff09; 運行HelloWorld一、創建你的第一個Android項目二、創建HelloWorld項目三、安裝并啟動模擬器四、安裝三方模擬器五、使用真機一、創建你的第一個Android項目 學習任何一門編程語言&#xff0c;編寫的第一個程序都是Hello World&#xff0…

MongoDB 和 Elasticsearch(ES)區別

MongoDB 和 Elasticsearch&#xff08;ES&#xff09;都是流行的 NoSQL 數據庫&#xff0c;但設計目標和適用場景有顯著區別。以下是它們的核心差異和典型使用場景對比&#xff1a;1. 核心定位特性MongoDBElasticsearch數據庫類型文檔數據庫&#xff08;通用型 OLTP&#xff09…

【C++算法】89.多源BFS_01 矩陣

文章目錄題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a;題目鏈接&#xff1a; 542. 01 矩陣 題目描述&#xff1a; 解法 先看懂題目 解法一&#xff1a;一個位置一個位置求&#xff08;最差的情況下會非常恐怖&#xff09; 解法二&#xff1a;多源BFS正…

數據結構之 【排序】(歸并排序)

目錄 1.遞歸實現歸并排序的思想及圖解 2.遞歸實現歸并排序的代碼邏輯 2.1嵌套子函數 2.2遞歸過程 2.3遞歸結束條件 2.4歸并及拷貝過程 3.非遞歸實現歸并排序的思想及圖解 4.非遞歸實現歸并排序的代碼邏輯 4.1邊歸并邊拷貝 4.2某一gap下歸并完成才進行拷貝 5.歸并排…

企業如何選擇適合的高防服務器?

高防服務器租用哪家好&#xff1f;這個問題困擾著許多站長&#xff0c;建立的網站經常受到各種網絡攻擊&#xff0c;雖然高防服務器有著較高的防御性能&#xff0c;十分適合經常被攻擊的行業網站&#xff0c;但是如何租到滿意的高防服務器呢&#xff01;徐州高防服務器是部署在…

告別重復勞動:Ansible 自動化運維超詳細學習路線圖

在運維的世界里&#xff0c;我們總是在與重復性任務作斗爭&#xff1a;部署同一套環境 N 次、在幾十臺服務器上修改同一個配置文件、一遍又一遍地執行相同的發布流程……這些工作不僅枯燥&#xff0c;還極易出錯。 如果你也為此感到煩惱&#xff0c;那么 Ansible 就是為你量身打…

UDS 0x29 身份驗證服務 Authentication service

背景 0x29服務的目的是為客戶端提供一種證明其身份的方法&#xff0c;在ECU端&#xff0c;有些服務或者數據因信息安全、排放或功能安全原因而受到嚴格限制。 只有身份驗證通過之后&#xff0c;才能夠允許其訪問數據和/或診斷服務。 例如&#xff0c;用于將數據下載/上傳到ECU以…

【python高階】-1- python工程和線程并發

一、項目工程守則1.pdm新建一個項目命令行終端&#xff1a;pip install pdmpdm init版本號&#xff1a;x.y.zx:兼容版本y:新增功能z:補丁版本pdm add pytest requests (添加依賴)pdm是協助管理我們的項目 2. black就是規范我們的代碼風格的&#xff1a;pdm add blackblackblack…

YOLOv8 剪枝模型加載踩坑記:解決 YAML 覆蓋剪枝結構的問題

1. 問題背景模型剪枝是實現模型輕量化、加速推理的關鍵步驟。然而&#xff0c;在 Ultralytics YOLOv8 的生態中&#xff0c;在成功剪枝后&#xff0c;進行微調&#xff08;Fine-tuning&#xff09;時會遇到一個令人困惑的現象&#xff1a;明明加載的是剪枝后的模型&#xff08;…

js的學習1

1.數組 數組方法 push()數組尾部添加unshift()數組頭部添加pop()數組尾部刪除shift()數組頭部刪除splice(起始位置&#xff0c;刪除幾個元素&#xff0c;要替換的元素)刪除指定的元素&#xff0c;改變了原數組&#xff0c;返回值是被刪除的元素indexOf()第一次查到的索引&#…

LeetCode 2563.統計公平數對的數目

給你一個下標從 0 開始、長度為 n 的整數數組 nums &#xff0c;和兩個整數 lower 和 upper &#xff0c;返回 公平數對的數目 。 如果 (i, j) 數對滿足以下情況&#xff0c;則認為它是一個 公平數對 &#xff1a; 0 < i < j < n&#xff0c;且 lower < nums[i] n…

ZABBIX配置自動發現與自動注冊,網易郵箱告警和釘釘告警

一、自動發現zabbix server 主動的去發現所有的客戶端&#xff0c;然后將客戶端的信息登記在服務端上。缺點是如果定義的網段中的主機數量多&#xff0c;zabbix server 登記耗時較久&#xff0c;且壓力會較大。1、部署準備準備三臺虛擬機192.168.80.151&#xff1b;192.168.80.…

QT(五)常用類

1. QString字符串類(掌握) QString是Qt的字符串類&#xff0c;與C的string相比&#xff0c;不再使用ASCII編碼&#xff0c;QString使用的是Unicode編碼。 QString中每個字符都是一個16位的QChar&#xff0c;而不是8位的char。 QString完全支持中文&#xff0c;但是由于不同的技…