OSPF报文

3.2 OSPF报头及各种报文格式

   3.2.1 OSPF协议报头格式

OSPF用IP报文直接封装协议报文,协议号为89。OSPF分为5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。

OSPF这五种报文具有相同的报文头格式,长度为24字节。

图1 OSPF报文头格式 

字段

长度

含义

Version

1字节

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

Type

1字节

类型,OSPF报文的类型,有下面几种类型:

  • 1:Hello报文;
  • 2:DD报文;
  • 3:LSR报文;
  • 4:LSU报文;
  • 5:LSAck报文。

Packet length

2字节

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

Router ID

4字节

发送该报文的路由器标识。

Area ID

4字节

发送该报文的所属区域。

Checksum

2字节

校验和,包含除了认证字段的整个报文的校验和。

AuType

2字节

验证类型,值有如下几种表示, 0:不验证;1:简单认证;2:MD5认证。

Authentication

8字节

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

MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。

   3.2.2 OSPF hello报文及格式

         建立和维护相邻邻居路由器之间的邻接关系。

         内容:定时器设置、DR、BDR及路由器已知的邻居路由器。

         P2P和广播类型网络中,hello包以组播(224.0.0.5)形式HelloInterval周期(默认10S)一次;P2MP和NBMA网络中,以PollInterval为周期(默认60S),单播方式向状态为Down的邻居发送一个Hello报文(其他类型的网络时不会把Hello报文发送给状态为Down的路由器)。如果在设定的DeadInterval时间(通常至少是4*Hello时间)内没有收到对端发送的Hello报文,本地路由器会认为对端路由器无效。

图1 OSPF Hello报文格式 

字段

长度

含义

Network Mask

32比特

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

HelloInterval

16比特

发送Hello报文的时间间隔。

Options

8比特

可选项:

  • E:允许Flood AS-External-LSAs
  • MC:转发IP组播报文
  • 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标识。

图2 OSPF Hello 

   3.2.3 OSPF DD报文及格式

         描述本地路由器的链路状态数据库(LSDB),即本地LSDB中包含哪些LSA。在两个路由器初始化连接时要交换DD报文,以便数据库同步。

         报文内容包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA)。LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header就可以判断出是否已有这条LSA。在两台路由器交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始序列号,每发送一个DD报文序列号加1,Slave方使用Master的序列号作为确认。

图1 DD报文格式 

字段

长度

含义

Interface MTU

16比特

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

Options

8比特

可选项:

  • E:允许Flood AS-External-LSAs;
  • MC:转发IP组播报文;
  • 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的头部信息。

报文示例

图2 OSPF DD报文 

   3.2.4 OSPF LSA报文及格式

         LSR报文用于请求相邻路由器链路状态数据库中的一部分数据。交换完DD报文后,指导对端路由器有哪些LSA是本地LSDB没有的,移机哪些LSA是已经失效的,需要一个LSR报文,向对方请求所需的LSA。

         LSR报文内容包括所需的LSA摘要:其中LS type、Link State ID和Advertising Router可以唯一标识出一个LSA,当两个LSA一样时,需要根据LSA中的LS sequence number、LS checksum和LS age来判断出所需要LSA的新旧。

 

字段

长度

含义

LS type

32比特

LSA的类型号。

Link State ID

32比特

根据LSA中的LS Type和LSA description在路由域中描述一个LSA。

Advertising Router

32比特

产生此LSA的路由器的Router ID。

报文示例

图1 OSPF LSR 

   3.2.5 OSPF LSU报文及格式

         LSU报文是LSR请求报文的应答报文,用来向对端路由器发送所需的真正LSA内容或者泛洪自己更新的LSA,可以是多条LSA完整内容的集合。LSU报文内容部分包括此次一共发送的LSA熟料和每条LSA的完整内容。

         内容是多条LSA(全部内容)的集合。LSU报文(Link State Update Packet)在支持组播和广播的链路上是以组播形式将LSA泛洪出去。为了实现Flooding的可靠性传输,需要LSAck报文对其进行确认。对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。

 

字段

长度

含义

Number of LSAs

32比特

LSA的数量。

常用的LSA共有5种,分别为:Router-LSA、Network-LSA、Network-summary-LSA、ASBR-summary-LSA和AS-External-LSA。

所有的LSA都有相同的报文头:

 

字段

长度

含义

LS age

16比特

LSA产生后所经过的时间,以秒为单位。无论LSA是在链路上传送,还是保存在LSDB中,其值都会在不停的增长。

Options

8比特

可选项:

  • E:允许泛洪AS-External-LSA;
  • MC:转发IP组播报文;
  • N/P:处理Type-7 LSA;
  • DC:处理按需链路。

LS type

8比特

LSA的类型:

  • Type1:Router-LSA
  • Type2:Network-LSA
  • Type3:Network-summary-LSA
  • Type4:ASBR-summary-LSA
  • Type5:AS-External-LSA
  • Type7:NSSA-LSA

Link State ID

32比特

与LSA中的LS Type和LSA description一起在路由域中描述一个LSA。

Advertising Router

32比特

产生此LSA的路由器的Router ID。

LS sequence number

32比特

LSA的序列号。其他路由器根据这个值可以判断哪个LSA是最新的。

LS checksum

16比特

除了LS age外其它各域的校验和。

length

16比特

LSA的总长度,包括LSA Header,以字节为单位。

Router-LSA

Router-LSA(Type1):每个路由器都会产生,描述了路由器的链路状态和花费,在所属的区域内传播。

图1 Router-LSA格式 

字段

长度

含义

Link State ID

32比特

生成LSA的Router ID。

V (Virtual Link)

1比特

如果产生此LSA的路由器是虚连接的端点,则置为1。

E (External)

1比特

如果产生此LSA的路由器是ASBR,则置为1。

B (Border)

1比特

如果产生此LSA的路由器是ABR,则置为1。

# links

16比特

LSA中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口。

Link ID

32比特

路由器所接入的目标,其值取决于连接的类型:

  • 1:Router ID;
  • 2:DR的接口IP地址;
  • 3:网段/子网号;
  • 4:虚连接中对端的Router ID。

Link Data

32比特

连接数据,其值取决于连接的类型:

  • unnumbered P2P:接口的索引值;
  • stub网络:子网掩码;
  • 其它连接:路由器接口的IP地址。

Type

8比特

路由器连接的基本描述:

  • 1:点到点连接到另一台路由器;
  • 2:连接到传输网络;
  • 3:连接到stub网络;
  • 4:虚拟链路。

# TOS

8比特

连接不同的TOS数量。

metric

16比特

链路的开销值。

TOS

8比特

服务类型。

TOS metric

16比特

和指定TOS值相关联的度量。

Network-LSA

Network-LSA(Type2):由广播网或NBMA网络中的DR产生,Network-LSA中记录了这一网络上所有路由器的Router ID,描述本网段的链路状态,在所属的区域内传播。

图2 Network-LSA格式 

字段

长度

含义

Link State ID

32比特

DR的接口IP地址。

Network Mask

32比特

该广播网或NBMA网络地址的掩码。

Attached Router

32比特

连接在同一个网络上的所有路由器的Router ID,也包括DR的Router ID。

Summary-LSA格式

Network-summary-LSA(Type3):描述区域内所有网段的路由,并通告给其他相关区域。

ASBR-summary-LSA(Type4):描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

Type3和Type4的LSA有相同的格式,它们都是由ABR产生。

图3 Summary-LSA格式 

字段

长度

含义

Link State ID

32比特

通告的网络地址。如果是ASBR Summary LSA,此字段表示ASBR的Router ID。

Network Mask

32比特

该广播网或NBMA网络地址的掩码。如果是ASBR Summary LSA,此字段无意义,设置为0.0.0.0。

metric

24比特

到目的地址的路由开销。

TOS

8比特

服务类型。

TOS metric

24比特

和指定TOS值相关联的度量。

通告缺省路由时,Link State ID和Network Mask都设置为0.0.0.0。

AS-External-LSA

AS-External-LSA(Type5):由ASBR产生,描述到AS外部的路由,这是五种LSA中,唯一一种通告到所有区域(除了Stub区域和NSSA区域)的LSA。

图4 AS-External-LSA格式 

字段

长度

含义

Link State ID

32比特

通告的网络地址。

Network Mask

32比特

通告的目的地址的掩码。

E

1比特

外部度量值类型:

  • 0:第一类外部路由;
  • 1:第二类外部路由。

metric

24比特

到目的地址的路由开销。

Forwarding Address

32比特

到所通告的目的地址的报文将被转发到这个地址。

External Route Tag

32比特

添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理。

TOS

8比特

服务类型。

TOS metric

24比特

TOS附加距离信息。

Type5的LSA可以用来通告缺省路由,此时Link State ID和Network Mask都设置为0.0.0.0。

报文示例

图5 Network-LSA 

图6 Router-LSA 

图7 Summary-LSA 

   3.2.5 OSPF LSAck报文及格式

         LSAck报文是路由器在收到对端发来的LSU报文后发送出的确认报文,内容是需要确认的LSA头部(一个LSAck报文可对多个LSA进行确认)。LSAck(Link State Acknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。

 

图1 OSPF LSAck报文格式 

字段

长度

含义

LSAs Headers

可变

通过LSA的头部信息确认收到该LSA。

 

LSA报头格式

 

报文示例

图2 OSPF LSAck 

猜你喜欢

转载自www.cnblogs.com/laixufie2046/p/10339673.html
今日推荐