OSPF的数据报文格式【复习篇】

发布于:2025-04-10 ⋅ 阅读:(43) ⋅ 点赞:(0)

OSPF协议是跨层封装的协议(跨四层封装),直接将应用层的数据封装在网络层协议之后,IP协议包中协议号字段对应的数值为89

OSPF的头部信息:

所有的数据共有的信息字段

在这里插入图片描述

在这里插入图片描述

字段名 描述
版本 当前OSPF进程使用的版本(IPv4一般使用OSPFv2 ,所以版本呢号一般为2)
类型 OSPF数据包的类型
hello包:1
DBD包:2
LSR包 :3
LSU包:4
LSACK包:5
报文长度 该数据包的完整长度
路由器ID 发送该数据包者的RID
区域ID 数据包被发出的区域
校验和 验证数据完整性
验证类型 OSPF认证时,认证方式
null :不认证 —— 0
simple:明文认证 —— 1
MD5:比对md5摘要值认证 —— 2
认证数据 具体的认证数据(如果验证类型为null,则为空)

OSPF在进行认证时,需要比对两部分数据:认证类型,认证数据(只有两者都匹配才会通过认证)

HELLO包

周期性的发现,建立和保活邻居关系还会影响保活

在这里插入图片描述

在这里插入图片描述

字段名 描述
网络掩码 接口激活后开始发送hello包,这个接口配置的ip地址的掩码信息
华为设备要求:邻居之间hello包中携带的子网掩码必须相同,不同则无法建邻(只针对以太网接口检测,对p2p没有限制)
Hello间隔 即hello时间
8位可选项 每个比特都表示路由器所携带的某些OSPF特性
可选项中包含了OSPF特殊区域的标记,所以也会影响建邻
路由优先级 发出接口在选举 DR/BDR 时的优先级
路由失效时间 即死亡时间
指定路由器/备份指定路由器 在DR/BDR选举结束后,会将DR/BDR的ip信息携带在此字段(选举之前用0.0.0.0填充)
邻居 本地已知的邻居ID(建邻的重要条件)

hello包限制建邻的条件

  • 网络掩码(对以太网接口)
  • hello时间
  • 死亡时间
  • ospf的特殊区域标记
  • 认证

DBD包

进行主从关系选举(为携带数据的DBD包),携带LSDB(链路状态数据库)摘要信息

在主从选举中的作用:

  • 为主可以优先进行LSA信息的交换
  • 为主可以主导DBD包的隐性确认

在这里插入图片描述

在这里插入图片描述

字段 描述
接口最大传输单元(MTU) 默认为0 (华为设备默认不开启MTU值的检测功能)
如果邻居的该字段不一致,则导致停留在exstart
8位可选项 同hello包的一致,看上文即可
I (init) 为一 :该数据包是在主从关系选举的数据包
M(more) 为一:后续还有更多的数据包;为零:该DBD包是最后一个DBD包
MS(master) 为一:则发送DBD的设备为主
在主从关系还未选出时,邻居双方都会将自己的MS位为1,认为自己是主,选举完成后,只有主置为1
DD的序列号 在DBD报文交互过程中,会逐次加一,用于确保DBD包传输的有序性和可靠性
DBD包的确认机制是通过序列号实现隐性确认,而通过LSACK数据包确认的方法称为显性确认
隐性确认:为主的设备发送DBD包,其中包含了一个 ‘序列号’ , “从设备” 收到该数据包后将使用该序列号回复DBD包,起到确认的作用
LSA 头部信息 不是完整的LSA,是LSA信息的摘要

LSR

基于DBD包中的摘要信息,和本地的LSDB比对,再要求未知的LSA信息

在这里插入图片描述

在这里插入图片描述

LSA的三元组,可以唯一的标识一条LSA

LSU

链路状态跟新报文,携带LSA的数据包

在这里插入图片描述

在这里插入图片描述

携带每条LSA的具体信息

LSACK

确认收到LSU包

在这里插入图片描述

在这里插入图片描述

通过LSA的头部进行确认


网站公告

今日签到

点亮在社区的每一天
去签到