OSPF的数据包:OSPF跨四层封装,IP头部使用89作为协议号标识OSPF。

五种数据包:HELLO包,DBD包,LSR包,LSU包,LSACK包

OSPF头部

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_网络

1.版本 — OSPF版本 — 2
2.类型 — OSPF数据包的类型
HELLO — 1
DBD — 2
LSR — 3
LSU — 4
LSACK — 5
3.长度 — 指的是整个OSPF报文的长度,单位 — 字节
4.路由器ID — 发送这个数据包的路由器的RID
5.区域ID — 数据包发出的接口所在的区域的区域ID
6.校验和 — 确保数据完整性
7.认证类型,认证数据 — 完成OSPF认证工作的
8.认证类型 — null — 空认证 — 0
simple — 明文认证 — 1
MD5 — 比对摘要值认证 — 2

HELLO — 周期性发现,建立,保活邻居关系。DR/BDR选举。

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_链路_02


网络掩码 — 发出该数据包接口所配置的IP地址掩码信息。 — 华为体系中这个参数邻居双方所携带的值不一致将无法正常建立邻居关系。 — 这个限制条件仅针对MA网络,P2P网络不受限制。

hello时间,死亡时间 — 如果邻居双方这两时间参数不同,则将限制邻居关系的建立。

可选项 — 8位 — 每一位代表路由器遵从某个OSPF特性 — OSPF特殊区域的标记在其中,如果邻居双方特殊区域的标记不一致,则将限制邻居关系的建立。

路由器的优先级 — 发出hello包接口所配置的DR/BDR选举的优先级

DR/BDR — 网络中DR和BDR所对应接口的IP地址。在没有选出DR和BDR之前,将使用0.0.0.0进行填充。

Hello包中限制邻居关系建立的因素:

1,网络掩码
2,hello时间
3,dead time
4,OSPF特殊区域的标记
5,认证

DBD包 — 数据库描述报文

1,使用未携带数据的DBD包进行主从关系选举
2,使用携带数据的DBD包进行目录共享
DBD包还存在第三种形态,即仅完成确认的确认包形态。

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_p2p_03


MTU — 设备默认没有开启接口MTU值的检测,所以将携带0。

开启MTU检测:

[r1-Serial4/0/0]ospf mtu-enable

如果邻居双方都开启了MTU值的检测,但是,双方携带的MTU值不同,则邻居状态将停留在Exstart状态。

I — init — 如果这个标记位置1,则这个DBD包是进行主从关系选举的数据包。

M — MORE — 该位置1,则代表后面还有更多的DBD包。

MS — Master — 该位置1,则代表发送该数据包的路由器为主。 — 在主从关系选举
出来之前,双方都将认为自己是主,所以,都会将字节的MS置1;当主从关系选举结束后,将只有主会置1,从置0。

DBD序列号 — 在DBD报文交互中,会逐次加1,用于确保DBD包传输的有序性及可靠
性。

LSR — 链路状态请求报文 — 基于DBD包请求未知的LSA信息。

链路状态类型,链路状态ID,通告路由器 — LSA三元组 — 这三个参数可以唯一的标识出来一条LSA信息。

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_OSPF_04

LSU包 — 链路状态更新报文 — 真正携带LSA信息的数据包

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_服务器_05

LSACK — 链路状态确认报文 — 确认包

ospf中数据包用于发现ospf邻居并建立关系 ospf数据包类型_网络_06