0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OSPF的五种报文和七种状态机

网络技术干货圈 来源:网络技术干货圈 作者:网络技术干货圈 2022-11-02 09:44 次阅读

一、OSPF的五种报文

类型 报文名称 报文描述
1 hello 发现、建立、周期保活邻居、邻接关系
2 DD(Database Description,数据库描述) LSDB中LSA的头部信息(并非完整的LSA信息),也就是本地的数据库的目录(摘要)
3 LSR(Link State Request,链路状态请求) 基于对端发送的DD报文中的未知信息(未知的LSA)向OSPF邻居进行查询
4 LSU (Link State Update,链路状态更新) 用于答复对端的LSR,携带各种的LSA。
5 LSAck (Link State Acknowledgment,链路状态确认) 对从LSU中获取到的LSA进行确认

OSPF的报文头部(24byte):

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

Hello报文:

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

DD报文:

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

LSR报文:

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

LSU报文:

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

LSAck报文:

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

二、OSPF的七种状态机:

状态机名称 状态机描述
Down(失效) 该状态还没有进行hello包的收发,一旦进行hello的收发,则进入下一状态
Init(初始化) 接收到的hello包中并不存在本地的route-id,但是会将发送该hello包的邻居置为init状态,此时双方并没有建立双向通信,随着双方互相收发hello包,于是才会进入下一状态
2-way(双向通信) 接收到的hello包中存在本地的route-id,则双方就会进入2-way双向通信状态。该状态也是OSPF最稳定的状态之一,它标志着邻居关系的建立,同时也是邻接关系建立的基础
Exstart(预启动) 使用类似hello的DD报文进行主从关系(Master/Slave)选举,route-id数值大为主,优先进入下一状态。此时的DD报文是空的。
Exchange(准交换) 使用真正的DD报文进行数据库目录的共享
Loading (加载) 使用LSR、LSU、LSAck去获取未知的LSA信息(LSDB同步)
Full(全毗邻) 邻接关系建立的标志,此时不再进行LSDB的同步

三、OSPF的工作过程

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

(1)在启动宣告配置之后,OSPF路由器会使用组播224.0.0.5进行OSPF hello包的收发;若接收到的hello包中存在本地的route-id,则建立邻居关系,生成邻居表

之后基于表中所有的邻居进行条件的匹配,匹配失败则将维持邻居关系,仅hello包周期保活即可;

(2)匹配成功者之间可以建立邻接关系;邻居间使用DD数据包进行数据库目录的比对;之后使用LSR查询目录中未知的LSA信息,对端使用LSU来携带传递LSA,最终需要LSAck进行接收确认;

当本地收集到区域内所有设备的LSA信息后,生成LSDB—链路状态数据库表

(3)本地基于LSDB启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内;

审核编辑:彭静

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3503

    浏览量

    111345
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63373
  • OSPF
    +关注

    关注

    0

    文章

    77

    浏览量

    14826
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27182

原文标题:OSPF的五种报文和七种状态机,这篇文章列举的让我有种收藏的冲动!

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    状态机编程

    ,有限状态机(FSM)是实时系统设计中的一数学模型,是一重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计(包括硬件、软件)的所有阶段。很多实时系统,特别是
    发表于 07-10 18:00

    二极管的七种用法

    二极管的七种用法
    发表于 09-24 16:46

    Labview状态机

    本帖最后由 afnuaa 于 2017-5-24 11:22 编辑 状态机是一普遍而有效的架构,我们可以利用状态机设计模式来实现状态图或流程图的算法。State Machine
    发表于 05-23 17:11

    -48V转换成七种低压电源电路图

    -48V转换成七种低压电源电路图
    发表于 02-27 12:54

    ARM七种处理器工作模式

    一、ARM七种处理器工作模式:用户模式 usr:正常程序执行模式快速中断模式FIQ:用于高速数据传输和通道处理外部中断模式IRQ:用于通常的中断处理管理模式svc:供操作系统使用的一保护模式
    发表于 07-16 06:52

    设计一状态机来控制系统的各个状态

    在做电机控制,电源变换的时候,我们经常会设计一状态机来控制系统的各个状态,而NXP推出的电机控制平台也推荐了一比较通用的,今天来看看首先我们可以想象电机就四
    发表于 08-27 06:20

    ARM体系的七种工作模式分别是哪些

    ARM体系的七种工作模式如下:状态码工作模式特权模式异常模式说明 10000用户模式(User)用户程序运行模式 11111系统模式(System)该模式下可任意访问系统资源运行特权级的操作系统任务 10001快中断模式(FIQ)通常由系统异...
    发表于 12-15 07:52

    什么是状态机状态机的三实现方法

    文章目录1、什么是状态机?2、状态机编程的优点(1)提高CPU使用效率(2) 逻辑完备性(3)程序结构清晰3、状态机的三实现方法switch—case 法表格驱动法函数指针法小节摘要
    发表于 12-22 06:51

    经典ARM处理器七种异常

    一、经典ARM处理器七种异常:复位RESET(优先级最高)未定义指令UND软件中断SWI指令预取终止PABT数据访问终止DABT外部中断请求IRQ快速中断
    发表于 01-11 07:41

    如何利用STM32去实现一按键有限状态机

    STM32实现按键有限状态机(超详细,易移植)一、状态机简而言之,状态机是使不同状态之间的改变以及状态时产生的相应动作的一
    发表于 02-16 06:58

    以一更优雅的方式去实现一个Verilog版的状态机

    的话相对来说还算容易,而当我们状态机较大时状态机的维护和阅读就有点儿费力了。那么我的状态及能否这么来描述呢?是否有一读伪代码的感觉呢?做真正的状态
    发表于 07-13 14:56

    七种基础模拟电路,收藏备用

    放大器接口电路、数据转换器、比较器、稳压器和基准电路等;专用模拟电路市场是指在消费类电子产品、计算机、通信、汽车和工业其他部门应用的电路。七种基础模拟电路1、桥式整流电路2. 电源滤波器3. 信号滤波器4.微分和积分电路5. 共射极放大电路6. 分压偏置式共射极放大电路7. LC振荡电路
    发表于 12-23 18:07

    OSPF协议详解

    OSPF协议详解:OSPF协议概述,OSPF的邻居状态机OSPF与路由自环,OSPF调试与监控
    发表于 09-09 22:20 50次下载
    <b class='flag-5'>OSPF</b>协议详解

    ospf报文类型有哪些_ospf的5种报文类型

    OSPF协议使用一种称之为Hello的报文来建立和维护相邻邻居路由器之间的链接关系。这个报文很简单的,容量很小,仅用来向邻居路由器证明自己的存在,就像人与人之间的打招呼一样。我们在第8章中已经知道
    发表于 08-20 11:17 3.1w次阅读

    浅谈OSPF的5种报文

    OSPF头部:以下五个报文都会携带OSPF头部
    的头像 发表于 12-21 10:11 350次阅读
    浅谈<b class='flag-5'>OSPF</b>的5种<b class='flag-5'>报文</b>