设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1030|回复: 1
收起左侧

[分享] OSPF的5种报文格式详解

[复制链接]
 成长值: 63265
发表于 2023-12-12 09:36:26 | 显示全部楼层 |阅读模式
OSPF用IP报文直接封装协议报文,协议号为89。OSPF分为5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。
  • Hello报文
  • DD报文
  • LSR报文
  • LSU报文
  • LSAck报文

报文头格式
OSPF这五种报文具有相同的报文头格式,长度为24字节。如图5-2所示。
图5-2 报文头格式

                               
登录/注册后可看大图

表5-9 OSPF报文头格式字段解释
字段名
长度
含义
Version
8比特
OSPF的版本号。对于OSPFv2,其值为2。
Type
8比特
OSPF报文的类型:
  • 1:Hello报文。
  • 2:DD报文。
  • 3:LSR报文。
  • 4:LSU报文。
  • 5:LSAck报文。

Packet length
16比特
OSPF报文的总长度,包括报文头在内,单位为字节。
Router ID
32比特
发送该报文的路由器标识。
Area ID
32比特
发送该报文的设备所属区域。
Checksum
16比特
包含除了认证字段的整个报文的校验和。
AuType
16比特
验证类型:
  • 0:不验证。
  • 1:简单认证。
  • 2:MD5认证。
    说明:
    MD5算法安全性低,存在安全风险。


Authentication
64比特
其数值根据验证类型而定:
  • 0:不对此字段作定义。
  • 1:此字段为密码信息。
  • 2:此字段包括Key ID、MD5验证数据长度和序列号的信息。



                               
登录/注册后可看大图
MD5验证数据添加在OSPF报文后面,不包含在Authentication字段中。



Hello报文
最常用的一种报文,其作用为建立和维护邻接关系,周期性的在使能了OSPF的接口上发送。报文内容包括一些定时器的数值、DR、BDR以及已知的邻居。Hello报文格式如图5-3所示。
图5-3 Hello报文格式

                               
登录/注册后可看大图

表5-10 Hello报文格式字段解释[td]
字段名
长度
含义
Network Mask
32比特
发送Hello报文的接口所在网络的掩码。
HelloInterval
16比特
发送Hello报文的时间间隔。
Options
8比特
可选项:
  • E:允许Flood AS-External-LSAs。
  • N/P:处理Type-7 LSAs。
  • DC:处理按需链路。

Rtr Pri
8比特
DR优先级。默认为1。
说明:
如果设置为0,则设备不能参与DR或BDR的选举。


RouterDeadInterval
32比特
失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
Designated Router
32比特
DR的接口地址。
Backup Designated Router
32比特
BDR的接口地址。
Neighbor
32比特
邻居,以Router ID标识。

Hello报文在不同网络中的发送地址类型、发送时间间隔类型和时间间隔缺省值不同,参见表5-11
表5-11 Hello报文的属性[td]
网络类型
发送地址类型
发送时间间隔类型
时间间隔缺省值
广播
组播地址
HelloInterval
缺省情况下,接口发送Hello报文的时间间隔的值为10秒。
NBMA
单播地址
  • DR、BDR、有能力成为DR的设备时,发送时间间隔为HelloInterval。
  • 邻居的状态为Down时,发送时间间隔为Pollinterval,其他情况为HelloInterval。

缺省情况下,接口发送Hello报文的时间间隔的值为30秒。
缺省情况下,接口发送Pollinterval间隔为120秒。
P2P
组播地址
HelloInterval
缺省情况下,接口发送Hello报文的时间间隔的值为10秒。
P2MP
组播地址
HelloInterval
缺省情况下,接口发送Hello报文的时间间隔的值为30秒。


                               
登录/注册后可看大图
在同一网段上的设备,其HelloInterval、PollInterval和RouterDeadInterval必须分别一致,否则不能形成邻居关系。在NBMA网络上还有一种PollInterval。



DD报文
两台设备在邻接关系初始化时,用DD报文描述本端设备的LSDB,进行数据库的同步。报文内容包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA)。LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少设备之间的协议报文流量,对端设备根据LSA Header就可以判断出是否已有这条LSA。在两台设备交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始序列号,每发送一个DD报文序列号加1,Slave方使用Master的序列号作为确认。
DD报文格式如图5-4所示。
图5-4 DD报文格式

                               
登录/注册后可看大图

表5-12 DD报文格式字段解释
字段名
长度
含义
Interface MTU
16比特
在不分片的情况下,此接口最大可发出的IP报文长度。
Options
8比特
可选项:
  • E:允许Flood AS-External-LSAs。
  • N/P:处理Type-7 LSAs。
  • DC:处理按需链路。

I
1比特
当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
M(More)
1比特
当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0,否则置为1,表示后面还有其他的DD报文。
M/S(Master/Slave)
1比特
当两台OSPF设备交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。
DD sequence number
32比特
DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
LSA Headers
-
该DD报文中所包含的LSA的头部信息。


LSR报文
两台设备互相交换过DD报文之后,需要发送LSR报文向对方请求更新LSA,内容包括所需要的LSA的摘要信息。LSR报文格式如图5-5所示。
图5-5 LSR报文格式

                               
登录/注册后可看大图

表5-13 LSR报文格式字段解释
字段名
长度
含义
LS type
32比特
LSA的类型号。
Link State ID
32比特
与LS Type一起描述路由域中唯一一个LSA。
Advertising Router
32比特
产生此LSA的设备的Router ID。


                               
登录/注册后可看大图
LS type、Link State ID和Advertising Router可以唯一标识出一个LSA。当两个LSA一样时,需要根据LSA中的LS sequence number、LS checksum和LS age来判断出所需要LSA的新旧。



LSU报文
LSU报文用来向对端设备发送其所需要的LSA或者泛洪本端更新的LSA,内容是多条LSA(全部内容)的集合。LSU报文在支持组播和广播的网络中是以组播形式将LSA泛洪出去。为了实现Flooding的可靠性传输,需要LSAck报文对其进行确认,对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。LSU报文格式如图5-6所示。
图5-6 LSU报文格式

                               
登录/注册后可看大图

表5-14 LSU报文格式字段解释[td]
字段名
长度
含义
Number of LSAs
32比特
LSA的数量。


LSAck报文
LSAck报文用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。LSAck报文根据不同的链路以单播或组播的形式发送,LSAck报文格式如图5-7所示。
图5-7 LSAck报文格式

                               
登录/注册后可看大图

表5-15 LSAck报文格式字段解释
字段名
长度
含义
LSAs Headers
由需要确认的LSA的Header长度决定。
通过LSA的头部信息确认收到该LSA。



发表于 2023-12-12 13:16:15 | 显示全部楼层
的顶顶顶顶顶的顶顶顶顶顶
沙发 2023-12-12 13:16:15 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 08:37 , Processed in 0.063871 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表