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

相关推荐
鸿蒙开发爱好者3 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台3 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
张小姐的猫5 小时前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
QXWZ_IA6 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠7 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
陈希1237 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
草莓熊Lotso9 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
wuyk55510 小时前
Spider-第03讲-HTTP速通与读懂响应
网络·爬虫·网络协议·http
默|笙20 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
梦到啥说啥1 天前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip