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

相关推荐
我尽力学4 分钟前
BIO/NIO/AIO
网络
光电大美美-见合八方中国芯16 分钟前
【平面波导外腔激光器专题系列】1064nm单纵模平面波导外腔激光器‌
网络·数据库·人工智能·算法·平面·性能优化
泷羽Sec-pp27 分钟前
DC-9靶机通关笔记
linux·运维·网络·笔记·docker·容器
krack716x1 小时前
Wireshark基本使用
网络·测试工具·wireshark
知识点集锦2 小时前
代发考试战报:思科华为HCIP HCSE CCNP 考试通过
网络·学习·安全·华为·云计算
jz_ddk2 小时前
[学习]RTKLib详解:ephemeris.c与rinex.c
c语言·网络·学习
白露与泡影4 小时前
聊聊四种实时通信技术:短轮询、长轮询、WebSocket 和 SSE
网络·websocket·网络协议
可儿·四系桜5 小时前
WebSocket:实时通信的新时代
java·网络·websocket·网络协议
新时代牛马6 小时前
tcpdump 的用法
网络·测试工具·tcpdump
YBDDIE7 小时前
Linux中的防火墙
linux·服务器·网络