OSPF的数据包协议
OSPF协议是一个跨四层封装协议,三层协议号为 — 89
OSPF头部内容
版本 — OSPF的版本 — 在ipv4网络环境下,一般使用OSPFV2,所以,对应的版本字段为2
类型 — OSPF数据包的类型
hello — 1
DBD — 2
LSR — 3
LSU — 4
LSACK — 5
RID — 发送数据包的路由器的RID
区域ID — 代表数据包从哪个区域发出
校验和 — 确保数据完整性
认证类型 — null — 不认证 ---- 0
— simple — 明文人证 — 1
— MD5认证 — 通过对比摘要值进行认证 — 2
---- OSPF在进行认证比对时需要同时比对认证类型和认证数据,都相同则通过认证hello包 — 周期发现、建立、保活邻居关系
网络掩码 — 发出hello包接口配置的ip地址的子网掩码
——在华为设备中,要求邻居设备接口的子网掩码必须相同,否则将无法建立邻居关系 — 只针对以太网
hello时间以及路由器失效时间 ---- 在建立邻居关系的时候,也必须保持倍数关系,如果不同则将无法正常建立邻居关系(19 40)
8位可选项 — 每一位都代表路由器的某个OSPF特性
8位中有在特殊区域的标记位,如果邻居间特殊标记为不同,则也无法正常建立邻居关系
路由器的优先级 — 进行DR/BDR选举时使用,代表发出这个数据包的接口优先级
指定路由器/备份指定路由器 ---- DR/BDR, 一旦DR和BDR选举完成,则将会把DR/BDR对应接口的IP地址携带上,在DR/BDR没选出来,或者不需要选择时,对应字段使用0.0.0.0代替。
邻居关系建立的限制因素:
1、网络掩码 --- 只针对以太网
2、hello时间
3、死亡时间
4、特殊区域的标记
5、认证信息
DBD包 ---- 数据库描述报文 ---- 主从关系选举以及携带数据库摘要信息进行目录共享
注意 — 在exstart状态下需要使用DBD包进行主从关系选举,其目的一方面是为主的可以优先开始LASA信息交换,另一个目的是为了隐形确认
接口的最大传输单元 — MTU — 华为设备默认不进行MTU值的检测,所以,一般携带值为0.可以通过命令开启MTU值得检测,但注意,MTU值要求邻居双方必须相同,不同可能导致邻居关系停留在EXSTART状态
I — init — 该位置1,则代表这个数据包是用来进行主从关系选举的,主从关系选举的数据包不携带LSA头部信息(LSDB摘要
信息)
M ---- More ---- 该位置1,则代表该DBD包后还有更多的DBD包。该位置0则代表该数据包为最后一个DBD包
MS — Master ---- 该位置1,则代表这个DBD包由主发送,置0则代表由从发送送
序列号 — 在DBD包交互过程中,会逐次加1,用来确保DBD报文传输的有序性,同时还可以进行隐形确认,保证DBD包传输
的可靠性
(在交互完数据库摘要信息后,从会额外发送一个DBD包,这个DBD包使用主最后发送的序号,但并不携带摘要信
息,其主要目的是进行确认)
隐形确认 — 主从关系确认后,有主主导序列号,从只能使用主发送的序列号进行回复,起到确认的效果。
LSR包 — 链路状态请求报文
链路状态类型,链路状态ID,通告路由器 ---- 可以唯一的标定出一条LSA信息,为我们将他们称之为LSA的“三元组”LSU包 ---- 用于发送LSA具体信息给邻居,或者用于洪泛LSA,或者用于隐式回应LSU报文。
LSACK — 链路状态确认报文