OSPF报文类型

OSPF报文头格式

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

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

报文格式:

这里写图片描述

字段解释:

Version1字节版本,OSPF的版本号。对于OSPFv2来说,其值为2。
字段长度含义
Type1字节类型,OSPF报文的类型,有下面几种类型:1:Hello报文;2:DD报文;3:LSR报文;4:LSU报文;5:LSAck报文。
Packet length2字节OSPF报文的总长度,包括报文头在内,单位为字节。
Router ID4字节发送该报文的路由器标识。
Area ID4字节发送该报文的所属区域。
Checksum2字节校验和,包含除了认证字段的整个报文的校验和。
AuType2字节验证类型,值有如下几种表示, 0:不验证;1:简单认证;2:MD5认证。
Authentication8字节鉴定字段,其数值根据验证类型而定。当验证类型为0时未作定义;类型为1时此字段为密码信息;类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息。MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。

hello 报文抓包:

这里写图片描述

图:OSPF报文头

OSPF Hello报文格式

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

OSPF Hello报文格式:

这里写图片描述

字段解释:

字段长度含义
Network Mask32比特发送Hello报文的接口所在网络的掩码。
HelloInterval16比特发送Hello报文的时间间隔。
Options8比特可选项:E:允许Flood AS-External-LSAs MC:转发IP组播报文 N/P:处理Type-7 LSAs DC:处理按需链路
Rtr Pri8比特DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举。
RouterDeadInterval32比特失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
Designated Router32比特DR的接口地址。
Backup Designated Router32比特BDR的接口地址。
Neighbor32比特邻居,以Router ID标识。

OSPF Hello 抓包:

这里写图片描述

图:OSPF报文头

OSPF DD 报文格式

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

DD 报文格式:

这里写图片描述

字段解释:

字段长度含义
Interface MTU16比特在不分片的情况下,此接口最大可发出的IP报文长度。
Options8比特可选项:E:允许Flood AS-External-LSAs;MC:转发IP组播报文;N/P:处理Type-7 LSAs;DC:处理按需链路。
I1比特当发送连续多个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 number32比特DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
LSA Headers可变该DD报文中所包含的LSA的头部信息。

DD 抓包:

这里写图片描述

图: DD 报文抓包

OSPF LSR报文格式

两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的和哪些LSA是已经失效的,这时需要发送LSR报文(Link State Request Packet)向对方请求所需的LSA。内容包括所需要的LSA的摘要。LSR报文格式如下图所示,其中LS type、Link State ID和Advertising Router可以唯一标识出一个LSA,当两个LSA一样时,需要根据LSA中的LS sequence number、LS checksum和LS age来判断出所需要LSA的新旧。

LDR报文格式:

这里写图片描述

字段解释:

字段长度含义
LS type32比特LSA的类型号。
Link State ID32比特根据LSA中的LS Type和LSA description在路由域中描述一个LSA。
Advertising Router32比特产生此LSA的路由器的Router ID。

LSR抓包:

这里写图片描述

图:LSR 报文抓包

OSPF LSU报文格式

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

LSU报文格式:

这里写图片描述

字段解释:

字段长度含义
Number of LSAs32比特LSA的数量。

LSU抓包:

这里写图片描述

图:LSU 报文抓包

OPSF LSAck报文格式

用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。LSAck(Link State
Acknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。

LSAck报文格式:

这里写图片描述

字段解释:

字段长度含义
LSAs Headers可变通过LSA的头部信息确认收到该LSA。

LSAck抓包:

这里写图片描述

图:LSAck 报文抓包

常见的五种LSA

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

所有的LSA都有相同的报文头:
这里写图片描述

字段长度含义
LS age16比特LSA产生后所经过的时间,以秒为单位。无论LSA是在链路上传送,还是保存在LSDB中,其值都会在不停的增长。
Options8比特可选项:E:允许泛洪AS-External-LSA;MC:转发IP组播报文;N/P:处理Type-7 LSA;DC:处理按需链路。
LS type8比特LSA的类型:Type1:Router-LSA Type2:Network-LSA Type3:Network-summary-LSA Type4:ASBR-summary-LSA Type5:AS-External-LSA Type7:NSSA-LSA
Link State ID32比特与LSA中的LS Type和LSA description一起在路由域中描述一个LSA。
Advertising Router32比特产生此LSA的路由器的Router ID。
LS sequence number32比特LSA的序列号。其他路由器根据这个值可以判断哪个LSA是最新的。
LS checksum16比特除了LS age外其它各域的校验和。
length16比特LSA的总长度,包括LSA Header,以字节为单位。

Router-LSA(1类)

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

这里写图片描述

字段长度含义
Link State ID32比特生成LSA的Router ID。
V (Virtual Link)1比特如果产生此LSA的路由器是虚连接的端点,则置为1。
E (External)1比特如果产生此LSA的路由器是ASBR,则置为1。
B (Border)1比特如果产生此LSA的路由器是ABR,则置为1。
# links16比特LSA中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口。
Link ID32比特路由器所接入的目标,其值取决于连接的类型:1:Router ID;2:DR的接口IP地址;3:网段/子网号;4:虚连接中对端的Router ID。
Link Data32比特连接数据,其值取决于连接的类型:unnumbered P2P:接口的索引值;stub网络:子网掩码;其它连接:路由器接口的IP地址。
Type8比特路由器连接的基本描述:1:点到点连接到另一台路由器;2:连接到传输网络;3:连接到stub网络;4:虚拟链路。
# TOS8比特连接不同的TOS数量。
metric16比特链路的开销值。
TOS8比特服务类型。
TOS metric16比特和指定TOS值相关联的度量。
[AR3]dis ospf 1 lsdb router self-originate  

	 OSPF Process 1 with Router ID 10.0.13.3
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Router
  Ls id     : 10.0.13.3
  Adv rtr   : 10.0.13.3  
  Ls age    : 1128 
  Len       : 36 
  Options   :  E  
  seq#      : 80000003 
  chksum    : 0xd911
  Link count: 1
   * Link ID: 10.0.13.1    
     Data   : 10.0.13.3    
     Link Type: TransNet     
     Metric : 1
       

Network- LSA(2类)

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

这里写图片描述

字段长度含义
Link State ID32比特DR的接口IP地址。
Network Mask32比特该广播网或NBMA网络地址的掩码。
Attached Router32比特连接在同一个网络上的所有路由器的Router ID,也包括DR的Router ID。
[AR2]dis ospf 1 lsdb network self-originate 

	 OSPF Process 1 with Router ID 10.0.2.2
		         Area: 0.0.0.0
		 Link State Database 

		         Area: 0.0.0.1
		 Link State Database 


  Type      : Network
  Ls id     : 10.0.25.2
  Adv rtr   : 10.0.2.2  
  Ls age    : 925 
  Len       : 32 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0xbe43
  Net mask  : 255.255.255.0
  Priority  : Low
     Attached Router    10.0.2.2
     Attached Router    10.0.5.5 

Summary-LSA(3类)

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

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

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

这里写图片描述

字段长度含义
Link State ID32比特通告的网络地址。如果是ASBR Summary LSA,此字段表示ASBR的Router ID。
Network Mask32比特该广播网或NBMA网络地址的掩码。如果是ASBR Summary LSA,此字段无意义,设置为0.0.0.0。
metric24比特到目的地址的路由开销。
TOS8比特服务类型。
TOS metric24比特和指定TOS值相关联的度量。

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

[AR2]dis ospf 1 lsdb summary self-originate 

	 OSPF Process 1 with Router ID 10.0.2.2
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Sum-Net
  Ls id     : 10.0.15.0
  Adv rtr   : 10.0.2.2  
  Ls age    : 199 
  Len       : 28 
  Options   :  E  
  seq#      : 80000005 
  chksum    : 0xda55
  Net mask  : 255.255.255.0
  Tos 0  metric: 2
  Priority  : Low

ASBR-Summary-LSA(4类)

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

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

AS-External-LSA(5类)

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

这里写图片描述

字段长度含义
Link State ID32比特通告的网络地址。
Network Mask32比特通告的目的地址的掩码。
E1比特外部度量值类型:0:第一类外部路由;1:第二类外部路由。
metric24比特到目的地址的路由开销。
Forwarding Address32比特到所通告的目的地址的报文将被转发到这个地址。
External Route Tag32比特添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理。
TOS8比特服务类型。
TOS metric24比特TOS附加距离信息。

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

<AR3>dis ospf lsdb ase 

	 OSPF Process 1 with Router ID 10.0.13.3
		 Link State Database


  Type      : External
  Ls id     : 192.168.10.0
  Adv rtr   : 10.0.4.4  
  Ls age    : 766 
  Len       : 36 
  Options   :  E  
  seq#      : 80000005 
  chksum    : 0x48fe
  Net mask  : 255.255.255.0 
  TOS 0  Metric: 1 
  E type    : 2
  Forwarding Address : 0.0.0.0 
  Tag       : 1 
  Priority  : Low

这里写图片描述

图:5类LSA抓包示例

参考文档:华为HedEx文档


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值