OSPF报文特点:
① 运行在IP协议之上,协议号为89
② 使用组播进行更新,DR/BDR侦听组播地址为224.0.0.6和224.0.0.5,所有路由器侦听组播地址为224.0.0.5
五种报文类型:
① hello报文
② DD报文
③ LSR报文
④ LSU报文
⑤ LSACK报文
不同网络类型报文目标地址:
网络类型/报文类型 Hello DD LSR LSU LSACK
Broadcast 组播地址 单播地址 单播地址 组播地址 组播地址
NBMA 单播地址 单播地址 单播地址 单播地址 单播地址
P2P 组播地址 组播地址 组播地址 组播地址 组播地址
P2MP 组播地址 单播地址 单播地址 单播地址 单播地址
OSPF报文头部:
一个OSPF的头部为24Byte
① Version:版本
② Message Type:OSPF报文类型
③ Packet Length:报文长度
④ Router-ID:发送者路由ID
⑤ Area-ID:区域ID
⑥ Checksum:校验和
⑦ Authentication Type:认证类型
⑧ Auth Data:认证数据
Options选项位:
所有的OSPF报文和所有的LSA都包含Options选项
① DN:Down位,用来在MPLS中预防环路
② O:表示支持Opaque LSA
③ DC:支持按需链路
④ EA:支持外部路由属性
⑤ N/P:
N:表示为NSSA区域
P:在NSSA区域中表示LSA是否能7转5类LSA,置位表示可以装换
⑥ MC:表示支持MOSPF
⑦ E:表示支持外部路由
⑧ MT:表示支持多拓扑OSPF
- Hello报文:
协议号为1,用于建立邻居关系、维持邻居关系,在广播链路中路由器根据hello报文中的优先级和Router ID选举DR和BDR,目标地址为224.0.0.5。(不同的网络类型,Hello发送时间不一致),当接口启用OSPF后,会一直发送Hello报文用于邻居的建立
注:除P2P网络,其余的网络类型中两端的链路子网掩码要一致。
① Network Mask:网络掩码
② Hello Interval:Hello时间间隔
③ Options:选项
④ Router Priority:本Router DR优先级
④ Router Dead Interval:Dead时间
⑤ Designated Router:DR的接口IP地址
⑥ Backup Designated Router:BDR的接口IP地址
⑦ Neighbor:已建立的邻居(Router-ID)
- DD报文:
协议号为2,Database Description,数据库检索报文,路由器将LSDB中LSA简化成一张只有网段的目录(只存放LSA的头部信息),发送给对端,用于对端根据此检索信息查看自己缺少的LSA。
(1)DD报文格式:
Header Message
DD Message:
① MTU:接口MTU值(华为设备默认不检测)
② Options:选项
③ Flags:置位符
R:
I:置位表示为Fist DD报文,用于主从关系的选举
M:置位表示后面还有DD报文
MS:置位表示本路由器为Master
④ Sequence:序列号
⑤ LSA Header:LSA头部信息
(2) Options选项位:
Options选项中的包含8位
① DN:Down位,用来在MPLS中预防环路
② O:表示支持Opaque LSA
③ DC:支持按需链路
④ EA:支持外部路由属性
⑤ N/P:
N:表示为NSSA区域
P:在NSSA区域中表示LSA是否能7转5类LSA,置位表示可以装换
⑥ MC:表示支持MOSPF
⑦ E:表示支持外部路由
⑧ MT:表示支持多拓扑OSPF
3. LSR报文:
协议号为3,Link State Request请求报文,只存放LSA的标识三要素,用于向对端请求自己缺少的LSA报文。
-
LSU报文:
协议号为4,Link State Update报文,当收到对端发送LSA Request报文请求后,本端使用LSA Update报文回复对端缺少的LSA,LSU报文中包含了对端所缺少的LSA。 -
LSACK报文:
协议号为5,Link State ACKnowledgment,只存放LSA的头部信息,当收到对端发送过来的LSU报文后,回复LSACK确认回复报文。