文章目录
OSPF数据包协议
- OSPF协议是一个跨四层封装协议
- IP协议中的协议号为89
OSPF头部内容
不管是那种类型的OSPF数据包都需要添加封装的内容
详情
版本 — OSPF版本 — 2
类型 — OSPF数据包的类型
Hell0 | 1 |
---|---|
DBD | 2 |
LSR | 3 |
LSU | 4 |
LSACK | 5 |
报文长度 — OSPF报文的总长度,单位字节
RID — 代表发出数据包的路由器的身份
Area ID — 数据包发出接口所有区域的区域ID
认证类型
null | 不认证 | 0 |
---|---|---|
simple | 明文认证 | 1 |
MD5 | 比对摘要值认证 | 2 |
OSPF再认证的时候需要比对认证数据,一个对不上则认证失败
五种数据包
序号 | 包名 |
---|---|
1 | Hello包 |
2 | DBD包 |
3 | LSR包 |
4 | LSU包 |
5 | LSACK包 |
Hello包
作用:周期发现,建立和保活邻居关系(DR/BDR的选举也是使用hello包)
详情
-
网络掩码 — 发出数据包的接口配的IP地址所对应的掩码信息
华为设备要求,邻居之间接口的网路掩码必须相同,否则导致邻居关系无法建立.(这个限制对点到点网路无效)
-
Hello时间和dead time — 邻居之间不相同则将无法正常建立邻居关系.
-
8为可选择 – 每一位置都将代表路由器满足某种OSPF的特性
里面包含OSPF特殊区域的标记位. — 邻居之间特殊区域的标志位必须相同 ,否则将无法正常建立邻居关系
-
路由器优先级 — 发出这个数据包的接口对应的DR/BDR选举的优先级
-
指定路由器/备份指定路由器 — 携带的是DR和BDR对应的IP地址,在DR和BDR没有选举出来时,将使用0.0.0.0来进行填充
-
邻居 — 本地已知的邻居RD
邻居关系建立的限制因素
1、网络掩码 — 只针对以太网
2、hello时间
3、死亡时间
4、特殊区域的标记
5、认证信息
DBD包 — 链路状态描述报文
作用
1.可以进行主从关系选举(1.为主的可以优先进入到数据转发;2,为主的可以主导隐形确认)
2.携带LSA信息摘要
接口的最大传输单元
MTU
默认情况下,华为设备没有开启MTU值的检测,所以,会携带0.如果在接口上开启MTU检测功能,则将携带真实的MTU
如果邻居双方的MTU值不同,则将停留在exstart状态.
[r1-GigabitEthernet0/0/1]ospf mtu-enable 在于邻居间直连的接口上开启MTU,检测;若一端开启,另一端也必须开启;
可选项
I – INIT – 如果I位置1,则代表这个DBD包是进行主从关系选举的数据包.则将不携带LSA的头部信息
M — More —该位置1,则代表后面还有DBD包需要发送,如果该位置0,则代表这个DBD包是最后一个DBD包.
Ms — Master — 该位置1,则代表发送方是主,改位置0,则代表发送方为从.
序列号
在DBD报文交互中,会逐次加1,用于确保报文的有序性及可靠性 — 保证DBD包完成隐形确认.
在交互完数据库摘要信息后,从会额外发送一个DBD包,这个DBD包使用主最后发送的序号,但并不携带摘要信息,其主要目的是进行确认
隐形确认 — 主从关系确认后,有主主导序列号,从只能使用主发送的序列号进行回复,起到确认的效果。
LSR包 — 链路状态请求报文
基于DBD包请求本地未知LSA信息
LSA三元组(可以唯一的标识出一条LSA信息)
链路状态类型
链路状态ID
通告路由器
LSU包 — 链路状态更新报文
真正携带LSA信息的数据包