0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是OSPF?OSPF的工作流程概述

冬至子 ? 來源:摸魚網(wǎng)工的私塾 ? 作者:Magic清凨 ? 2023-05-24 10:45 ? 次閱讀

什么是OSPF

OSPF(OPen Shortest Path First)開放最短路徑優(yōu)先,由IETF開發(fā)的基于鏈路狀態(tài)的自治系統(tǒng)內(nèi)部路由協(xié)議(IGP)采用Dijkstra的最短路徑優(yōu)先算法來計(jì)算和選擇路由。

該協(xié)議關(guān)注網(wǎng)絡(luò)中鏈路或者接口的狀態(tài)、帶寬、利用率、延時(shí)等。使用SPF算法計(jì)算和選擇路由,OSPF 將協(xié)議包直接封裝在 IP 包中,協(xié)議號(hào) 89。并且OSPF以組播形式發(fā)送協(xié)議報(bào)文,減少鏈路帶寬資源浪費(fèi)。

OSPF的工作流程概述

圖片

工作流程主要有四個(gè)階段:

尋找鄰居、建立鄰接關(guān)系、鏈路狀態(tài)信息傳遞、計(jì)算路由

尋找鄰居

在網(wǎng)絡(luò)中尋找可能與自己交換鏈路狀態(tài)信息的周邊路由器,可以交換鏈路狀態(tài)信息的路由器互為鄰居(Neighbor)

建立鄰接關(guān)系

鄰接關(guān)系(Adjacency)可以抽象的想象成一條虛擬的鏈路,用于鄰居路由器之間傳遞鏈路狀態(tài)信息,且只有建立了鄰接關(guān)系才能傳遞

鏈路狀態(tài)信息傳遞

OSPF路由器將建立描述網(wǎng)絡(luò)鏈路狀態(tài)的LSA(Link State Advertisement - 鏈路狀態(tài)公告),建立鄰接關(guān)系的OSPF路由器之間將交互LSA,最終形成包含整個(gè)網(wǎng)絡(luò)完整鏈路狀態(tài)信息的LSDB(Link State DataBase)鏈路狀態(tài)數(shù)據(jù)庫

計(jì)算路由

獲取完整的LSDB過后,OSPF區(qū)域內(nèi)的每個(gè)路由器將會(huì)對(duì)著區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)有相同的認(rèn)識(shí),如何根據(jù)LSDB的信息,運(yùn)用SPF算法計(jì)算出路由,且避環(huán)路的產(chǎn)生。

如何建立鄰居關(guān)系

圖片

OSPF進(jìn)程啟動(dòng)后,以224.0.0.5進(jìn)行組播發(fā)送Hello包,用以尋找鄰居, Hello包里面包含了:

始發(fā)路由器的Router-id
始發(fā)路由器接口的區(qū)域ID(Area ID)
始發(fā)路由器接口的子網(wǎng)掩碼
選定的DR路由器
路由器的優(yōu)先級(jí)
等信息

其中建立鄰居關(guān)系的前提是:雙方接口UP``雙方接口IP地址在同一網(wǎng)段``雙方接口在同一區(qū)域一臺(tái)路由器可以有很多鄰居,也可以同時(shí)成為幾臺(tái)或者其他的路由器鄰居,所有的信息都會(huì)存在鄰居表內(nèi)。 通過互收Hello包,將狀態(tài)轉(zhuǎn)換為Init狀態(tài),之后兩邊Hello包內(nèi)協(xié)商某些參數(shù)后,才能確定為鄰居,狀態(tài)修改為2-Way當(dāng)雙方鏈路狀態(tài)信息交互成功后,鄰居狀態(tài)修改為Full,就表明鄰居之間鏈路狀態(tài)信息已經(jīng)同步

Init:
初始化[收到了對(duì)方的Hello報(bào)文,但Hello報(bào)文中的鄰居字段沒有本機(jī)的Router-ID]
2-Way:
鄰居關(guān)系[雙方互相發(fā)現(xiàn),收到了對(duì)方的Hello報(bào)文,并且報(bào)文中包含了乙方路由的Router-ID,并且確認(rèn)了DR/BDR的角色關(guān)系]

BR與BDR選舉

圖片

在未選舉BR與BDR的狀態(tài)下,鏈路中的鄰接關(guān)系將變得非常巨大,消耗巨大的網(wǎng)絡(luò)資源,可以由上圖公式可算得網(wǎng)絡(luò)內(nèi)鄰接關(guān)系的數(shù)量,為了解決這個(gè)問題,在OSPF引入了DR與BDR的概念。

圖片

本意是在網(wǎng)絡(luò)中選舉一臺(tái)DR(Designated Router)指定路由器負(fù)責(zé)描述用LSA描述該網(wǎng)絡(luò)類型以及網(wǎng)絡(luò)內(nèi)其他路由器,同時(shí),他們也負(fù)責(zé)鏈路狀態(tài)信息交互過程。 同樣在選舉DR的同時(shí)也在選舉BDR(Backup Designated Riyter)指定備份路由器簡單的說就是DR的備份,DR掛了就由他頂上,提升了可靠性

選舉規(guī)則

首先優(yōu)先級(jí)數(shù)字大的優(yōu)先選擇,默認(rèn)優(yōu)先級(jí)都是1

再接著是Router-id大的優(yōu)先

Router-id

用來表述路由器的身份,產(chǎn)生的方法,有兩種手動(dòng)配置一個(gè)可存在/不可存在的IPv4的地址格式作為Router-ID,自動(dòng)選舉在所有環(huán)回口中選舉IP地址最大的作為Route-ID,在所有物理接口中選舉IP地址最大的作為Router-ID,建議是用手動(dòng)方式配置一個(gè)環(huán)回口的IP地址作為Router-ID

鏈路狀態(tài)信息傳遞

圖片

通過在路由器之間發(fā)送LSA(Link State Advertisement)鏈路狀態(tài)公告來交換鏈路狀態(tài)信息,通過獲取對(duì)方LSA,來同步乙方OSPF區(qū)域內(nèi)的鏈路狀態(tài)信息。

圖片

為避免網(wǎng)絡(luò)資源浪費(fèi),OSPF 路由器采取路由增量更新的機(jī)制發(fā)布 LSA,即只發(fā)布鄰居缺失的鏈路狀態(tài)給鄰居

路由計(jì)算

圖片

路由計(jì)算

  • 首先評(píng)估一臺(tái)路由器到另一臺(tái)路由器所需的開銷(Cost)
  • 同步區(qū)域內(nèi)的所有路由器的LSDB
  • 使用SPF算法計(jì)算出路由

數(shù)據(jù)庫同步的工作流程

  • 向鄰接路由器發(fā)送DD報(bào)文,通告本地LSDB中所有LSA的摘要信息
  • 收到DD后,與本地LSDB對(duì)比,向?qū)Ψ桨l(fā)送LSR報(bào)文,請(qǐng)求發(fā)送本機(jī)所需的LSA的完整信息
  • 收到LSR后,把對(duì)方所需的LSA的完整信息打包為一條LSU報(bào)文,發(fā)送至對(duì)方
  • 收到LSU后,向?qū)Ψ交貜?fù)LSAck報(bào)文,進(jìn)行確認(rèn)

OSPF三張表

路由表

記錄了由SPF算法計(jì)算過后的路由

鄰居表

記錄鄰居關(guān)系和狀態(tài)

拓?fù)浔?/strong>

鏈路狀態(tài)數(shù)據(jù)庫

OSPF報(bào)文類型

  • Hello報(bào)文

    用于發(fā)現(xiàn)和建立鄰居關(guān)系,維護(hù)鄰居狀態(tài)

  • DD報(bào)文

    用于描述本地LSDB中所有的LSA摘要

  • LSR報(bào)文

    用于鏈路狀態(tài)請(qǐng)求,自身所要更新的鏈路狀態(tài)詳細(xì)信息

  • LSU報(bào)文

    用于鏈路狀態(tài)更新

  • LSACK報(bào)文

    用于鏈路狀態(tài)確認(rèn)報(bào)文

OSPF多區(qū)域概念

圖片

分區(qū)域管理是為了環(huán)節(jié)單區(qū)域管理中,節(jié)點(diǎn)壓力過大的問題,將一個(gè)大區(qū)域劃分為多個(gè)小區(qū)域(Area)來管理,劃分之后的系統(tǒng)內(nèi)通信將劃為三種:區(qū)域內(nèi)通信、區(qū)域間通信、區(qū)域外部通信

區(qū)域內(nèi)通信

—在同一個(gè)區(qū)域內(nèi)的路由器之間的通信 路由角色可以叫IR,區(qū)域內(nèi)部路由器 用于內(nèi)部通信,所有接口都在同一個(gè)區(qū)域內(nèi)

區(qū)域間通信

不同區(qū)域的路由器之間的通信 路由器角色可以叫ABR,區(qū)域間路由器 用于區(qū)域之間通信

區(qū)域內(nèi)部通信

OSPF 域內(nèi)路由器與另一個(gè)自治系統(tǒng)內(nèi)的路由器之間的通信 路由器角色可以叫ASBR,自治系統(tǒng)邊界路由器 用于連接外部自治系統(tǒng)的路由器

OSPF區(qū)域類型

  • 骨干區(qū)域

    每個(gè)OSPF網(wǎng)絡(luò)中只能有一個(gè)骨干區(qū)域,一般都是Area 0,骨干區(qū)域主要用于連接其他非骨干區(qū)域,且每個(gè)非骨干區(qū)域必須要與骨干區(qū)域相連接

  • 非骨干區(qū)域

  • 所有的非骨干區(qū)域必須和骨干區(qū)域相連接

OSPF的開銷計(jì)算

參考帶寬:

  • 計(jì)算開銷的基準(zhǔn)帶寬值
  • 默認(rèn)參考帶寬為100M
  • 建議把網(wǎng)絡(luò)中最高的鏈路帶寬設(shè)置為參考帶寬。
  • 參考帶寬僅本地有效

計(jì)算方法:

  • 鏈路帶寬大于等于參考帶寬 Cost = 1
  • 鏈路帶寬小于參考帶寬Cost = 參考帶寬/鏈路帶寬MB

OSPF的優(yōu)點(diǎn)

  1. OSPF 區(qū)域內(nèi)的路由器對(duì)整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)有相同的認(rèn)識(shí),在此基礎(chǔ)上計(jì)算的路由不可能產(chǎn)生環(huán)路
  2. 當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)變更時(shí),所有路由器能迅速獲得變更后的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)收斂速度快
  3. 由于引入了Router ID的概念,OSPF區(qū)域內(nèi)的每臺(tái)路由器的行為都能很好地被跟蹤
  4. 使用 SPF 算法計(jì)算路由,路由選擇與網(wǎng)絡(luò)能力直接掛鉤,選路更合理
  5. OSPF 采用多種手段保證信息傳遞的可靠性、準(zhǔn)確性,確保每臺(tái)路由器網(wǎng)絡(luò)信息同步,同時(shí),避免了不必要的網(wǎng)絡(luò)資源浪費(fèi)

OSPF基礎(chǔ)配置

[系統(tǒng)]ospf [ID] router-id [Router-ID]  #設(shè)置Router-id 
router-id [Router-ID] #在系統(tǒng)視圖下設(shè)置Router-ID 會(huì)被應(yīng)用到所有的協(xié)議[全局],其中在協(xié)議內(nèi)配置的Router-ID[進(jìn)程]area [ID] #進(jìn)入?yún)^(qū)域ID,區(qū)域的編號(hào)格式也是IPv4地址格式
[區(qū)域]network [network] [反網(wǎng)掩碼]#宣告網(wǎng)絡(luò),反網(wǎng)掩碼也叫掩碼通配符
[進(jìn)程]silent-interface [interface] #靜默接口
ospf network-type [broadcast | nbma | p2mp unicast | p2p | peer-address-check ] #手動(dòng)修改網(wǎng)絡(luò)類型
[進(jìn)程]ospf-router-advertise [always | permit-calculate-other | cost [Cost] | route-policy [name] | type [Type] | summary cost [cost]] #配置OSPF引入缺省路由,always,如果本機(jī)沒有配置默認(rèn)路由,使用此參數(shù)可以參數(shù)一個(gè)描述默認(rèn)路由的一個(gè)LSA發(fā)布出去,Cost為改默認(rèn)路由的度量值,typeLSA的類型。
[接口]ospf timer hello [seconds] #修改Hello Time 計(jì)時(shí)器時(shí)間
[接口]ospf time dead [seconds] #修改鄰居失效時(shí)間
[接口]ospf dr-priority [priority] #修改啟用OSPF的接口的路由器優(yōu)先級(jí)
[接口]ospf cost [cost] #修改開銷值
bandwitdth-reference [value] #修改OSPF的參考帶寬
display ospf interface #顯示ospf接口信息
display ospf peer #顯示鄰居關(guān)系FULL為鄰接關(guān)系,2-Way為鄰居關(guān)系
display ospf lsdb #查看LSDB數(shù)據(jù)庫
display ospf routing #查看OSPF路由
display ospf lsdb #插件本地LSDB匯總情況
display ospf verbose #查看OSPF進(jìn)程詳細(xì)信息
display ospf statistics #顯示OSPF統(tǒng)計(jì)信息
display ospf interface #查看OSPF接口信息
display ospf routing #查看OSPF路由信息
dispaly ospf statistics error #顯示ospf錯(cuò)誤信息[排錯(cuò)常用]
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    20

    文章

    2604

    瀏覽量

    98943
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3685

    瀏覽量

    113321
  • OSPF
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    14859
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OSPF協(xié)議概述

    OSPF協(xié)議詳解
    發(fā)表于 08-06 07:29

    OSPF協(xié)議

    課程說明  . 2課程介紹  . . 3課程目標(biāo)  . . 3相關(guān)資料  . . 3第一節(jié) OSPF協(xié)議入門 . 11.1 概述  . . . 11.2 術(shù)語和基本概念 21.3 OSP
    發(fā)表于 06-24 17:50 ?3次下載

    OSPF協(xié)議詳解

    OSPF協(xié)議詳解:OSPF協(xié)議概述OSPF的鄰居狀態(tài)機(jī),OSPF與路由自環(huán),OSPF調(diào)試與監(jiān)控
    發(fā)表于 09-09 22:20 ?50次下載
    <b class='flag-5'>OSPF</b>協(xié)議詳解

    OSPF協(xié)議,OSPF協(xié)議是什么意思

    OSPF協(xié)議,OSPF協(xié)議是什么意思 OSPF協(xié)議  OSPF(Open Shortest Path First)是一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protoco
    發(fā)表于 03-29 17:27 ?4609次閱讀

    OSPF路由協(xié)議,OSPF路由協(xié)議是什么意思

    OSPF路由協(xié)議,OSPF路由協(xié)議是什么意思  ——隨著Internet技術(shù)在全球范圍的飛速發(fā)展,OSPF已成為目前Internet廣域網(wǎng)和Intra
    發(fā)表于 03-30 09:50 ?1895次閱讀

    EIGRP和OSPF協(xié)議課件下載

    EIGRP基礎(chǔ)理論 Basic Theory of EIGRP (Enhanced Interior Gateway Routing Protocol) 2. OSPF基礎(chǔ)理論 Basic Theory of OSPF (Open Shortest Path First
    發(fā)表于 04-14 15:01 ?0次下載
    EIGRP和<b class='flag-5'>OSPF</b>協(xié)議課件下載

    ospf的網(wǎng)絡(luò)類型_OSPF的優(yōu)點(diǎn)

    OSPF(OpenShortestPathFirst開放式最短路徑優(yōu)先)是一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議(InteriorGatewayProtocol,簡稱IGP),用于在單一自治系統(tǒng)(autonomoussystem,AS)內(nèi)決策路由。
    發(fā)表于 04-04 16:33 ?7115次閱讀

    ospf工作原理_ospf工作過程

    當(dāng)路由器開啟OSPF后,路由器之間就會(huì)相互發(fā)送HELLO報(bào)文,HELLO報(bào)文中包含一些路由器和鏈路的相關(guān)信息,發(fā)送HELLO報(bào)文的目的是為了形成鄰居表。
    發(fā)表于 04-04 16:36 ?3.5w次閱讀

    OSPF鄰居狀態(tài)機(jī)的詳細(xì)講解

    OSPF,全稱Open Shortest Path First,即開放最短路徑優(yōu)先,是由IETF的OSPF工作組在1989年10月開發(fā)的,發(fā)表的RFC為1131, OSPFv1從此誕生,該協(xié)議是基于著名的DijKstra算法。
    的頭像 發(fā)表于 12-26 02:12 ?1062次閱讀

    跟大家聊聊BGP與OSPF

    BGP和OSPF是兩種最常見的路由協(xié)議,BGP在大型網(wǎng)絡(luò)中具有動(dòng)態(tài)路由優(yōu)勢(shì),而OSPF具有更高效的路徑選擇和收斂速度。
    的頭像 發(fā)表于 01-30 11:56 ?3590次閱讀

    OSPF路由協(xié)議:?趣解OSPF區(qū)域

    OSPF是開放式最短路徑協(xié)議,通過SPF協(xié)議進(jìn)行計(jì)算從而防止路由進(jìn)行規(guī)范計(jì)算。整個(gè)OSPF區(qū)域可以理解為一個(gè)國家,其中每個(gè)區(qū)域可以看成是每個(gè)國家里面省。
    的頭像 發(fā)表于 05-24 15:28 ?1590次閱讀

    OSPF是如何計(jì)算路由的?OSPF如何適應(yīng)大型網(wǎng)絡(luò)的?

    OSPF是如何計(jì)算路由的? 接下來,就要隆重介紹下動(dòng)態(tài)路由協(xié)議中的當(dāng)紅炸子雞一-OSPF (Open Shortest Path First,開放最短路徑優(yōu)先)啦!
    發(fā)表于 08-18 11:23 ?782次閱讀
    <b class='flag-5'>OSPF</b>是如何計(jì)算路由的?<b class='flag-5'>OSPF</b>如何適應(yīng)大型網(wǎng)絡(luò)的?

    OSPF配置命令梳理匯總

    abr-summary(OSPF區(qū)域) //用來在區(qū)域邊界路由器(ABR)上配置路由聚合。 area(OSPF) //用來創(chuàng)建OSPF區(qū)域,并進(jìn)入OSPF區(qū)域視圖。 asbr-su
    的頭像 發(fā)表于 11-15 15:49 ?833次閱讀

    淺談OSPF的5種報(bào)文

    OSPF頭部:以下五個(gè)報(bào)文都會(huì)攜帶OSPF頭部
    的頭像 發(fā)表于 12-21 10:11 ?707次閱讀
    淺談<b class='flag-5'>OSPF</b>的5種報(bào)文

    華為設(shè)備中的OSPF命令詳解

    開放最短路徑優(yōu)先協(xié)議(Open Shortest Path First,OSPF)是廣泛應(yīng)用于大型IP網(wǎng)絡(luò)中的一種內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)。華為設(shè)備提供了豐富的OSPF命令,以幫助網(wǎng)絡(luò)管理員配置和管理
    的頭像 發(fā)表于 08-12 18:13 ?983次閱讀