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

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

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

OSPF的五種報(bào)文和七種狀態(tài)機(jī)

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 作者:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2022-11-02 09:44 ? 次閱讀

一、OSPF的五種報(bào)文

類型 報(bào)文名稱 報(bào)文描述
1 hello 發(fā)現(xiàn)、建立、周期保活鄰居、鄰接關(guān)系
2 DD(Database Description,數(shù)據(jù)庫描述) LSDB中LSA的頭部信息(并非完整的LSA信息),也就是本地的數(shù)據(jù)庫的目錄(摘要)
3 LSR(Link State Request,鏈路狀態(tài)請求) 基于對端發(fā)送的DD報(bào)文中的未知信息(未知的LSA)向OSPF鄰居進(jìn)行查詢
4 LSU (Link State Update,鏈路狀態(tài)更新) 用于答復(fù)對端的LSR,攜帶各種的LSA。
5 LSAck (Link State Acknowledgment,鏈路狀態(tài)確認(rèn)) 對從LSU中獲取到的LSA進(jìn)行確認(rèn)

OSPF的報(bào)文頭部(24byte):

64bcabb8-5a40-11ed-a3b6-dac502259ad0.png

Hello報(bào)文:

64d5c3fa-5a40-11ed-a3b6-dac502259ad0.png

DD報(bào)文:

64f7ec00-5a40-11ed-a3b6-dac502259ad0.png

LSR報(bào)文:

65103026-5a40-11ed-a3b6-dac502259ad0.png

LSU報(bào)文:

653929e0-5a40-11ed-a3b6-dac502259ad0.png

LSAck報(bào)文:

65520be0-5a40-11ed-a3b6-dac502259ad0.png

二、OSPF的七種狀態(tài)機(jī):

狀態(tài)機(jī)名稱 狀態(tài)機(jī)描述
Down(失效) 該狀態(tài)還沒有進(jìn)行hello包的收發(fā),一旦進(jìn)行hello的收發(fā),則進(jìn)入下一狀態(tài)
Init(初始化) 接收到的hello包中并不存在本地的route-id,但是會將發(fā)送該hello包的鄰居置為init狀態(tài),此時(shí)雙方并沒有建立雙向通信,隨著雙方互相收發(fā)hello包,于是才會進(jìn)入下一狀態(tài)
2-way(雙向通信) 接收到的hello包中存在本地的route-id,則雙方就會進(jìn)入2-way雙向通信狀態(tài)。該狀態(tài)也是OSPF最穩(wěn)定的狀態(tài)之一,它標(biāo)志著鄰居關(guān)系的建立,同時(shí)也是鄰接關(guān)系建立的基礎(chǔ)
Exstart(預(yù)啟動) 使用類似hello的DD報(bào)文進(jìn)行主從關(guān)系(Master/Slave)選舉,route-id數(shù)值大為主,優(yōu)先進(jìn)入下一狀態(tài)。此時(shí)的DD報(bào)文是空的。
Exchange(準(zhǔn)交換) 使用真正的DD報(bào)文進(jìn)行數(shù)據(jù)庫目錄的共享
Loading (加載) 使用LSR、LSU、LSAck去獲取未知的LSA信息(LSDB同步)
Full(全毗鄰) 鄰接關(guān)系建立的標(biāo)志,此時(shí)不再進(jìn)行LSDB的同步

三、OSPF的工作過程

224.0.0.5:指的是所有OSPF路由器所使用的組播地址;
224.0.0.6:指的是所有OSPF DR路由器所使用的組播地址。

(1)在啟動宣告配置之后,OSPF路由器會使用組播224.0.0.5進(jìn)行OSPF hello包的收發(fā);若接收到的hello包中存在本地的route-id,則建立鄰居關(guān)系,生成鄰居表

之后基于表中所有的鄰居進(jìn)行條件的匹配,匹配失敗則將維持鄰居關(guān)系,僅hello包周期?;罴纯?;

(2)匹配成功者之間可以建立鄰接關(guān)系;鄰居間使用DD數(shù)據(jù)包進(jìn)行數(shù)據(jù)庫目錄的比對;之后使用LSR查詢目錄中未知的LSA信息,對端使用LSU來攜帶傳遞LSA,最終需要LSAck進(jìn)行接收確認(rèn);

當(dāng)本地收集到區(qū)域內(nèi)所有設(shè)備的LSA信息后,生成LSDB—鏈路狀態(tài)數(shù)據(jù)庫表;

(3)本地基于LSDB啟用SPF算法,計(jì)算到達(dá)所有未知網(wǎng)段的最短路徑,然后將其加載到路由表內(nèi);

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3640

    瀏覽量

    112793
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3711

    瀏覽量

    64021
  • OSPF
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    14856
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    489

    瀏覽量

    27391

原文標(biāo)題:OSPF的五種報(bào)文和七種狀態(tài)機(jī),這篇文章列舉的讓我有種收藏的沖動!

文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Verilog狀態(tài)機(jī)+設(shè)計(jì)實(shí)例

    在verilog中狀態(tài)機(jī)的一很常用的邏輯結(jié)構(gòu),學(xué)習(xí)和理解狀態(tài)機(jī)的運(yùn)行規(guī)律能夠幫助我們更好地書寫代碼,同時(shí)作為一思想方法,在別的代碼設(shè)計(jì)中也會有所幫助。 一、簡介 在使用過程中我們常
    的頭像 發(fā)表于 02-12 19:07 ?3159次閱讀
    Verilog<b class='flag-5'>狀態(tài)機(jī)</b>+設(shè)計(jì)實(shí)例

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一
    的頭像 發(fā)表于 06-25 14:21 ?743次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機(jī)</b>

    二極管的七種用法

    二極管的七種用法
    發(fā)表于 09-24 16:46

    ARM體系的七種工作模式分別是哪些

    ARM體系的七種工作模式如下:狀態(tài)碼工作模式特權(quán)模式異常模式說明 10000用戶模式(User)用戶程序運(yùn)行模式 11111系統(tǒng)模式(System)該模式下可任意訪問系統(tǒng)資源運(yùn)行特權(quán)級的操作系統(tǒng)任務(wù) 10001快中斷模式(FIQ)通常由系統(tǒng)異...
    發(fā)表于 12-15 07:52

    什么是狀態(tài)機(jī)狀態(tài)機(jī)的三實(shí)現(xiàn)方法

    文章目錄1、什么是狀態(tài)機(jī)?2、狀態(tài)機(jī)編程的優(yōu)點(diǎn)(1)提高CPU使用效率(2) 邏輯完備性(3)程序結(jié)構(gòu)清晰3、狀態(tài)機(jī)的三實(shí)現(xiàn)方法switch—case 法表格驅(qū)動法函數(shù)指針法小節(jié)摘要
    發(fā)表于 12-22 06:51

    狀態(tài)機(jī)舉例

    狀態(tài)機(jī)舉例 你可以指定狀態(tài)寄存器和狀態(tài)機(jī)狀態(tài)。以下是一個(gè)有四狀態(tài)的普通
    發(fā)表于 03-28 15:18 ?943次閱讀

    基于proteus的七種跑馬燈效果的實(shí)現(xiàn)

    本文介紹了在Proteus軟件中實(shí)現(xiàn)聯(lián)合仿真51單片機(jī)實(shí)現(xiàn)七種跑馬燈效果。七種跑馬燈效果,驚喜不斷!
    發(fā)表于 12-18 13:44 ?2.1w次閱讀
    基于proteus的<b class='flag-5'>七種</b>跑馬燈效果的實(shí)現(xiàn)

    ospf報(bào)文類型有哪些_ospf的5報(bào)文類型

    OSPF協(xié)議使用一稱之為Hello的報(bào)文來建立和維護(hù)相鄰鄰居路由器之間的鏈接關(guān)系。這個(gè)報(bào)文很簡單的,容量很小,僅用來向鄰居路由器證明自己的存在,就像人與人之間的打招呼一樣。我們在第8
    發(fā)表于 08-20 11:17 ?3.1w次閱讀

    什么是狀態(tài)機(jī) 狀態(tài)機(jī)的描述三方法

    狀態(tài)機(jī) 1、狀態(tài)機(jī)是許多數(shù)字系統(tǒng)的核心部件,是一類重要的時(shí)序邏輯電路。通常包括三個(gè)部分:一是下一個(gè)狀態(tài)的邏輯電路,二是存儲狀態(tài)機(jī)當(dāng)前狀態(tài)的時(shí)
    的頭像 發(fā)表于 11-16 17:39 ?2.6w次閱讀

    FPGA:狀態(tài)機(jī)簡述

    是FPGA設(shè)計(jì)中一非常重要、非常根基的設(shè)計(jì)思想,堪稱FPGA的靈魂,貫穿FPGA設(shè)計(jì)的始終。 02. 狀態(tài)機(jī)簡介 什么是狀態(tài)機(jī)狀態(tài)機(jī)通過不同的
    的頭像 發(fā)表于 11-05 17:58 ?7094次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b>簡述

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)5要素

    玩單片機(jī)還可以,各個(gè)外設(shè)也都會驅(qū)動,但是如果讓你完整的寫一套代碼時(shí),卻無邏輯與框架可言。這說明編程還處于比較低的水平,你需要學(xué)會一好的編程框架或者一編程思想!比如模塊化編程、狀態(tài)機(jī)
    的頭像 發(fā)表于 07-27 11:23 ?2w次閱讀
    什么是<b class='flag-5'>狀態(tài)機(jī)</b>?<b class='flag-5'>狀態(tài)機(jī)</b>5要素

    七種段碼字庫資料分享

    段碼字庫,七種段碼字庫資料包免費(fèi)下載。
    發(fā)表于 04-15 14:14 ?10次下載

    自動生成程序狀態(tài)機(jī)代碼狀態(tài)機(jī)建模方法

    首先運(yùn)行fsme命令來啟動狀態(tài)機(jī)編輯器,然后單擊工具欄上的“New”按鈕來創(chuàng)建一個(gè)新的狀態(tài)機(jī)。FSME中用于構(gòu)建狀態(tài)機(jī)的基本元素一共有
    的頭像 發(fā)表于 09-13 16:50 ?962次閱讀
    自動生成程序<b class='flag-5'>狀態(tài)機(jī)</b>代碼<b class='flag-5'>狀態(tài)機(jī)</b>建模方法

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)的種類與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一描述系統(tǒng)狀態(tài)變化
    的頭像 發(fā)表于 10-19 10:27 ?8040次閱讀

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

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