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

一、OSPF的五种报文

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

二、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算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内;

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字化信息化智能化解决方案

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值