OSPF协议概述(三)

1.       OSPF报文头

主要字段的解释如下:

VersionOSPF 的版本号。对于OSPFv2 来说,其值为2

TypeOSPF 报文的类型。数值从1 5,分别对应Hello 报文、DD 报文、LSR 报文、LSU报文和LSAck 报文。

Packet lengthOSPF 报文的总长度,包括报文头在内,单位为字节。

AuType:验证类型。可分为不验证、简单验证和MD5 验证,其值分别为012

Authentication:其数值根据验证类型而定。当验证类型为0 时未作定义,为1 时此字段为密码信息,类型为2 时此字段包括Key IDMD5 验证数据长度和序列号的信息。

2.       Hello报文

主要字段解释如下:

Network Mask:发送Hello 报文的接口所在网络的掩码。

HelloInterval:发送Hello 报文的时间间隔。如果相邻两台路由器的Hello 间隔时间不同,则不能建立邻居关系。

Rtr PriDR 优先级。如果设置为0,则路由器不能成为DR/BDR

RouterDeadInterval:失效时间。如果在此时间内未收到邻居发来的Hello 报文,则认为邻居失效。如果相邻两台路由器的失效时间不同,则不能建立邻居关系。

3.       DD报文

两台路由器进行数据库同步时,用DD 报文来描述自己的LSDB,内容包括LSDB 中每一条LSA HeaderLSA Header 可以唯一标识一条LSA)。LSA Header 只占一条LSA 的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header 就可以判断出是否已有这条LSA

主要字段的解释如下:

Interface MTU:在不分片的情况下,此接口最大可发出的IP 报文长度。

IInitial):当发送连续多个DD 报文时,如果这是第一个DD 报文,则置为1,否则置为0

MMore):当发送连续多个DD 报文时,如果这是最后一个DD 报文,则置为0。否则置为1,表示后面还有其他的DD 报文。

MSMaster/Slave):当两台OSPF 路由器交换DD 报文时,首先需要确定双方的主从关系,Router ID 大的一方会成为Master。当值为1 时表示发送方为Master

DD Sequence NumberDD 报文序列号,由Master 方规定起始序列号,每发送一个DD 报文序列号加1Slave 方使用Master 的序列号作为确认。主从双方利用序列号来保证DD 报文传输的可靠性和完整性。

4.       LSR报文

两台路由器互相交换过 DD 报文之后,知道对端的路由器有哪些LSA 是本地的LSDB 所缺少的,这时需要发送LSR 报文向对方请求所需的LSA。内容包括所需要的LSA 的摘要。

主要字段解释如下:

LS typeLSA 的类型号。例如Type1 表示Router LSA

Link State ID:即LSA 头格式中的字段,根据LSA 的类型而定。

Advertising Router:产生此LSA 的路由器的Router ID

5.       LSU报文

用来向对端路由器发送所需要的 LSA,内容是多条LSA(全部内容)的集合。

6.       LSAck报文

用来对接收到的 LSU 报文进行确认。内容是需要确认的LSA Header(一个LSAck 报文可对多个LSA 进行确认)。

原文地址:https://www.cnblogs.com/pandy/p/1990194.html