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

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的头部进行确认

相关推荐
小江的记录本33 分钟前
【网络安全】《网络安全与数据安全核心知识体系》(包括数据脱敏、数据加密、隐私合规、等保2.0)
java·网络·后端·python·算法·安全·web安全
@insist12334 分钟前
网络工程师-动态路由协议(二):BGP 协议与路由引入技术详解
运维·网络·网络工程师·软考·软件水平考试
今天又在写代码37 分钟前
计算机网络v2
网络·计算机网络
编程牛马姐9 小时前
独立站SEO流量增长:提高Google排名的优化方法
前端·javascript·网络
2401_8734794010 小时前
如何从零搭建私有化IP查询平台?数据采集、清洗、建库到API发布全流程
服务器·网络·tcp/ip
FS_Marking11 小时前
CWDM vs DWDM:区别是什么?
网络
Vis-Lin12 小时前
BLE 协议栈:ATT 协议详解
网络·物联网·网络协议·iot·ble
lcxc12 小时前
Mac M4超流畅运行Win版同花顺教程
网络
W.A委员会12 小时前
常见网络攻击
网络·http·网络安全
zmj32032412 小时前
CAN数据帧详解
网络·can·canfd·数据帧