文档库 最新最全的文档下载
当前位置:文档库 › 【协议分析】【OSPF 邻居交换报文结构分析】

【协议分析】【OSPF 邻居交换报文结构分析】

实验二十二 OSPF邻居交换报文结构分析

【实验目的】

1、掌握OSPF的报文格式;

2、掌握OSPF的工作过程。

【实验学时】

2学时

【实验环境】

在本实验中需要4台路由、1台交换机、1台RG-PATS网络协议分析仪。四台路由器运行RIP路由协议,使用协议分析仪采集数据包,对采集到的数据进行分析。

将所有的路由器都接入到交换机上,并在交换机上配置端口映像功能,具体IP分配如下表:

表6-4 设备IP地址分配表

设备接口IP地址连接到交换机

FA0/8 RSR-A FA0/0

192.168.1.1/24

RSR-A LO0 192.168.10.1/24 --

192.168.3.1/24

FA0/6 RSR-A FA0/1

RSR-B FA0/0 192.168.1.2/24 FA0/9

192.168.2.1/24

FA0/10 RSR-B FA0/1

--

192.168.20.1/24

RSR-B LO0

RSR-C FA0/0 192.168.2.2/24 FA0/7

--

192.168.30.1/24

RSR-C LO0

RSR-D FA0/0 192.168.3.2/24 FA0/6

192.168.400.1/24

-- RSR-D LO0

RG-PATS网络协议分析

Eth 0 172.16.1.4 FA0/24

设备连接如下图所示:

274

图6-74 实验拓扑图

图6-75 区域划分图

【实验内容】

1、掌握OSPF的工作原理;

2、学习OSPF的五种报文类型;

3、了解OSPF的特点;

4、了解SPF算法。

275

【实验流程】

图6-76 实验流程图

【实验原理】

OSPF报文格式

OSPF报文是由多重封装构成的,封装在IP头部内的是5种OSPF报文类型中的一种,每一种报文类型都是由一个OSPF报文头部开始,这个OSPF报文头部对于所有的报文类

型都是相同的。

OSPF所有报文类型都共享一个相似的报文结构,从一个通用的24字节首部开始,这种通用的首部使某些标准信息能够按照一致的方式进行传递,它还使收到OSPF报文的设

备能够快速确定自己收到的是哪种类型的报文,以便了解是否还需要检查报文的剩余部分。

如下图所示。

图6-77 OSPF报文由一系列封装组成

276

OSPF有5种分组类型,这5种分组类型直接封装到IP分组的有效负载中,如图,OSFP

分组不使用传输控制协议(TCP)和用户数据报协议(UDP)。OSPF要求使用可靠的分组

传输机制,但由于没有使用TCP,OSPF将使用确认分组来实现自己的确认机制。

下表描述了5种OSPF分组类型。

表6-5 OSPF分组

名称描述

1 Hello 发现邻居并在它们之间建立邻接关系

2 数据库描述(DBD)检查路由器的数据库之间是否同步

3 链路状态请求(LSR)向另一台路由器请求特定的链路状态记录

4 LSU 发送请求的链路状态记录

5 LSAck 对其他类型的分组进行确认

在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段。在IP

报头中,协议标识符89表示OSPF分组,所有OSPF分组开头的报文格式都相同,该报头

中包含以下字段:如下图示。

图6-78 OSPF分组报头的格式

z Version number:版本号,定义所采用的OSPF路由协议的版本,用于OSPF第2版。OSPF版本3适用于IPv6。

z Type:定义OSPF数据包类型。OSPF数据包共有五种。1、Hello;2、Database Description;3、LinkState Request;4、LinkState Update;5、LinkState

Acknowledgment。

z Packet length:定义整个数据包的长度,单位为字节。

z Router ID:用于描述数据包的源地址,以IP地址来表示路由器ID,OSPF路由器具有唯一的标识符,称为路由器ID。路由器的32位长的一个唯一标识符,选举规

则是,如果loopback接口不存在的话,就选物理接口中IP地址等级最高的那个;

否则就选取loopback接口。这个路由器标识对于建立邻居关系和协调LSU交换非

277

常重要。在选举DR/BDR的过程中,如果OSPF优先级相同,则RID将用于决定

谁赢得选举。如果该接口故障,则路由器就不可达。为了避免发生这种情况,最好

定义一个回环接口作为强制的OSPF路由器ID

z Area ID:用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。

z Checksum:校验位,用于标记数据包在传递时有无误码。

z Authentication type:指正在使用的认证模式,0为没有认证、1为简单口令认证、2为加密检验和(MD5)。

z Authentication :是指报文认证的必要信息,认证可以是autype字段中指定的任何一种认证模式,如是autype=0,将不检查这个认证字段,因此可以包含任何内

容;如果autype=1,这个字段包含一个最长为64位的口令;如果autype=2,

这个字段将包含一个key ID、认证数据长度和一个不减小的加密序列号。

z Data:包含的信息随OSPF分组类型而异:

对于Hello分组,包含一个由已知邻居组成的列表。

对于DBD分组,包含LSDB摘要,其中包括所有已知路由器的ID、最后使用用序列号和一些其他字段。

对于LSR分组,包含需要的LSU类型和能够提供所需LSU的路由器ID。

对于LSU分组,包含完整的LSA条目,一个OSPF更新分组中可以包含多个LSA条目。

对LSAck分组,该字段为空。

Hello报文

Hello协议用来建立和保持OSPF邻居关系,采用多播地址224.0.0.5。网络中的OSPF 路由器必须彼此获知对方后才能共享信息,因为OSPF根据路由器之间的链路的状态来进

行路由选择,这一过程是使用Hello协议来完成,Hello协议通过确保邻居之间的双向通信

来建立和维护邻接关系。路由器在从邻居那里收到的Hello分组中看到自己后,便进入了双

向通信状态。

如下图所示,Hello报文格式为:

图6-79 Hello报文格式

278

z Network Mask:是指发送报文的接口的网络掩码。如果这个掩码和接收该报文的接口的网络掩码不匹配,那么该报文将被丢弃。这个技术性的措施可以确保路由器

之间只有在它们共享网络的址精确匹配时才能互相成为邻居。

z Hello/Dead intervals:Hello间隔和失效间隔,定义了发送hello包频率(默认在一个多路访问网络中间隔为10秒);dead间隔是4倍于hello包间隔。Hello间隔

是指接口上Hello报文传送之间的时间间隔,也是一个周期性的时间段,并以秒来

计。Hello失效间隔是指始发路由器在宣告邻居路由器无效之前,将要等待的从邻

居路由器发出的Hello报文的时长,以秒数计,邻居路由器之间的这些计时器必须

设置成一样,否则将不会建立邻接关系。如下图所示。

图6-80 成为邻居时,hello报文参数

z Option:这个字段允许路由器和其他路由器进行一些可选性能的通信。

z Router priority:路由器优先级,选举DR和BDR的时候使用,8位长的一串数字。

优先级值缺省为1。如果该字段设置为0,那么始发路由器将没有资格选取成为

DR和BDR路由器。

z DR:指定路由器,是指网络上指定路由器的接口的IP地址,注意,这里指的不是指定路由器的路由器ID,在选取DR的过程中,这可能只是始发路由器所认为的

DR,而不是最终选举出来的DR。如果没有DR,那么这个字段将会设置为0.0.0.0

z BDR:备份指定路由器,是指网络上备份指定路由器的接口的IP地址,同样,在选举BDR的过程中,这可能只是始发路由器的认为的BDR,而不是最终选举出来

的BDR。如果没有BDR,那么这个字段就会被设置为0.0.0.0

z Neighbors:邻居列表,是一个循环重复的字段,它列出了始发路由器在过去的一个Router Dead Interval时间内收到有效Hello报文的网络上的所有邻居。邻居字

段中包含已建立双向通信关系的邻接路由器。路由器在邻居发送的hello分组的邻

居字段中看到自己后,便表明双向通信关系已建立。

如下图是使用RG-PATS网络协议分析仪采集到的Hello报文:

279

图6-81 采集Hello报文

数据库描述报文

当OSPF中的两个路由器初始化连接时要交换数据库描述(DBD)报文。这个报文类型用于描述,而非实际地传送OSPF路由器的链路状态数据库内容。由于数据库的内容可能相当长,所以可能需要多个数据库描述报文来描述整个数据库。实际上,保留了一个域用于标识数据库描述报文序列。接收方对报文的重新排序使其能够真实地复制数据库描述报

文。在OSPF ExStart 状态下才开始交换DBD包,下图显示了数据库描述报文的格式:

图6-82 数据库描述数据包格式

DBD交换过程按询问/应答方式进行,在这个过程中,一个路由器作为主路由器。另一个路由器作为从路由器,主路由器向从路由器发送它的路由表内容。显然,主从之间的关系会因每个DD交换的不同而不同。网络中的所有路由器会在不同时刻作用,在这个过程中既

280

可能是主又可能是从。

z Interface MTU:是指在报文不分段的情况下,始发路由器接口可以发送的最大IP 报文大小,以8bit字节计。该字段用来检查两端OSPF路由器接口的MTU是否匹

配。注意在Virtual-link中的interface MTU字段为0,能匹配MTU可以在不进行

IP分片时,最大可传输的OSPF数据库描述包。

z选项字段:这个字段允许路由器和其他路由器进行一些可选性能的通信

z报文下一个8bit字节的前5位没有被使用,而总是设置为00000b。

z I位,或称为初始位:当发送的是一系列数据库描述报文中是最初一个报文时,该位设置为1。

z M位,或称后继位:当发送报文还不是一系列数据库描述报文中的最后一个报文时,将该位置设置为1。

z MS位,或称为主/从位:在数据同步的过程中,该位置设置为1,用来指明始发数据库描述报文的路由器是一个主路由器。从路由器将该位置设置为0

z在交换DBD包时,需要协商主从,比较ROUTER-ID,最低的为Master。MS位是用来描述谁是主谁是从的角色。其中M/S为被置为1,那该路由器为Master。

反之为Slave。I/M是二个位是用于传输DBD包时所使用的,I位初始位,当每一

个DBD包发送时它为被置为1。M位为More DBD Packet,在同个DD sequence

number中最后一个DBD包M位为0,指示传输完毕。

z DD sequence number 为来标识一组DBD包。当第一个发送DBD包(也就是说该DBD包中的I位被置为1,我们可以认为往往第一个DBD包一定是由Master

发的)时,该DD sequence number字段开始被使用,在往后的DBD包中的DD

sequence number都会递增1。

对于DBD主要的作用在于,对于每台OSPF路由器都拥有他们各自的LSA,但是双方

并不知道对方有那些链路信息(或许有些信息是重复的),因此需要了解对方究竟有那些链

路信息(LSA),所在DBD的作用在于收集对方有那些LSA,但这LSA并不是明细的,只

有一些简单的标识(An LSA Header)。通过比较自身拥有的LSA,来检查自己有那些链路

信息我没有的,这样可以减少LSA请求数量。

对于LSA Header,一般可以简单标识一个LSA。其中最主要的有LS type/Link State

ID/Advertising Router。

如下图是使用RG-PATS网络协议分析仪采集到的DBD报文:

281

图6-83 采集DBD报文

链路状态请求报文

OSPF报文的第三种类型为链路状态请求报文。这个报文用于请求相邻路由器链路状态数据库中的一部分数据。表面上讲,在收到一个DBD更新报文之后,OSPF路由器可以发现相邻信息不是比自己的更新就是比自己的更完全。如果是这样,路由器会发送一个或几个链路状态请求报文给它的邻居(具有更新信息的路由器)以得到更多的链路状态信息。

请求的信息必须是非常具体的。它必须使用下面的标准规范指明所要求的数据:

z链路状态(LS)类型号。

z LS标识。

z通告路由器。

这些规范一起指明了一个具体的OSPF数据库子集,而不是它的一个事例。一个事例是与信息相同的子集,这个子集带有暂时边界(也就是时间戳)。记住,OSPF是一个动态路由协议,它能对网络中链路状态的变化自动作出反应。因此,LS请求的接收者把对这些特定路由信息解释为最新数据。如下图所示链路状态请求报文的数据格式:

282

图6-84 链路状态请求报文数据包格式

z LSA Type:是一个链路状态类型号,长度为4个字节,表示正在请求的LSA的类型,用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA

等。

z Link State ID:是LSA头部中和类型无关的字段。长度为4个字节,LSA标识,通常是链接的路由器或网络的IP地址。

z Advertising Router,长度为4个字节,路由器的ID,该路由器产生了这个正在请求更新的LSA。

之前我们讲到DBD包,DBD的作用在于是了解对方所拥有那些LSA,那LSR就是用

来请求,本地上没有的LSA而对方却有的LSA。同样可以看到LS type/Link State

ID/Advertising Router字段,这些字段可以用来唯一的标识LSA。

LSA实例,可认为是源OSPF路由器生成该LSA,在往后的传输中,是以该LSA实例

(对源LSA克隆)来继续传输给后面的OSPF路由器。或许一台路由器会收到不同的LSA

实例,那他们如何确认是同个源LSA并且如何优选呢?答案是通在LSA包中的LS

sequence number、LS checksum,and LS age这三个字段来描述。

如下图是使用RG-PATS网络协议分析仪采集到的LSR报文:

图6-85 采集LSR报文

283

链路状态更新报文

链路状态更新报文用于把LSA发送给它的相邻节点。这些更新报文是用于对LSA请求的应答。有5种不同的LSA报文类型。这些报文类型用从1到5的类型号标识。

注意,由于OSPF通常把链路状态广播看作LSA,因此会存在潜在的混淆。然而,实际上用于更新路由表的机制为链路状态更新报文—简称为LSU。还有另一个报文结构,链

路状态应答报文,简写为LSAck;由于一些不可知的原因,这种报文称为链路状态应答,

而LSA通常是指更新报文。下图显示LSU报文格式:

图6-86 LSU数据包格式

z #LSA是LSA数量,长度为4个字节,表示该报文中所含的LSA数量

z LSAs是可变长度的,一个或多个LSA。每个更新报文都可以携带多个LSA,它的大小可以达到传送这个报文的链路所允许的最大报文尺寸。

链路状态确认报文

第5种OSPF报文是链路状态应答报文。OSPF的特点是可靠地传播LSA报文(L S A 表示链路状态通告(advertisement),不是链路状态应答),可靠性意味着通告的接收方必须应答。否则,源节点将没有办法知道LSA是否已到达目的地。因此,需要一些应答LSA 接收的机制。这个机制是链路状态应答报文。如下图显示了确认报文的格式:

图6-87 链路状态确认报文格式

284

链路状态应答报文惟一地标识其要应答的LSA报文。标识以包含在LSA头中的信息为

基础,包括LS顺序号和通告路由器。LSA与应答报文之间无需1对1的对应关系。多个

LSA可以用一个报文来应答。一个链路状态确认报文的组成除了OSPF报文头部和一个LSA

头部的列表之外,就没有其它多余的内容。

如下图是使用RG-PATS网络协议分析仪采集到的LSAck报文:

图6-88 采集LSAck报文

OSPF的LSA格式:

LAS是OSPF LSDB的基本元素,下表总结了LSA类型:

表6-6 OSPF LSA类型

LSA类型描述

1类路由器LSA

2类网络LSA

3类和4类汇总LSA

5类 AS外部LSA

6类组播OSPF LSA

7类为次未节区域定义的

8类 BGP的外部属性LSA

9、10或11类不透明LSA

285

常见的LSA类型为:

z Rauter LSA (路由器LSA ,类型1 ):路由器LSA描述了路由器链路到区域的状态和耗费。所有这样的链路必须在一个LSA报文中进行描述。同时,路由器必

须为它属于的每个区域产生一个路由器LSA。所以,区域边界路由器将产生多个

路由器LSA,而区域内的路由器只需产生一个这样的更新。

z Network LSA (网络LSA,类型2 ):网络LSA与路由器LSA相似,它描述的是连接进网络的所有路由器的链路状态和开销信息。二者的区别是网络LSA是网络

中所有链路状态和开消信息的总和。只有网络的指定路由器记录这个信息,并由它

来产生网络LSA。

z Summary LSA-IP Network (网络汇总LSA,类型3):只有OSPF网络中的区域边界路由器能产生这种LSA类型。使用这种LSA类型把一个区域的汇总路由信息

和OSPF网络中相邻区域路由器信息进行交换。它经常汇总缺省的路由而不是传

播汇总的OSPF信息至其他网络。

z Summary LSA-Autonomous System Boundary Router(自治系统边界路由器汇总LSA ,类型4):类型4与类型3 LSA的关系密切。二者的区别是类型3描述区内

路由,而类型4描述的是OSPF网络之外的路由。

z自治系统外部LSA(类型5):第5个LSA是自治系统外部LSA。正如其名,这种LSA用于描述OSPF网络之外的目的地。这些目的地可以是特定主机或是外部网

络地址。作为和外部自治系统相联系的ASBR OSPF节点负责把外部路由信息在

它属于的整个区中传播。

这些LSA类型用于描述OSPF路由域的不同方面,它们直接寻址到OSPF区域中的每一个路由器并同时传输。这样的洪泛确保OSPF区域中的所有路由器关于网络的5个不同方面(LSA类型)有一样的信息。路由器完整的LSA数据存储在链路状态数据库中。当

Dijkstra算法应用于这些数据库的内容时会得到OSPF路由表。表和数据库的区别是数据库含有原始数据的完整集合,而路由表包含通过特定路由器接口到已知目的地的最短路径列

表。

如下图显示了 LSA头格式:

图6-89 LSA头格式

所有的LSA使用一个通用的头格式。这个头20字节长并附加于标准的24字节OSPF 头后面。LSA头惟一地标识了每种LSA。所以,它包括关于LSA类型、链路状态ID及通

告路由器ID的信息。下面是LSA头域:

z LS age:长度为2字节,是指自从发出LSA后所经历的时间,以秒计数。当泛洪286

LSA时,在从每一个路由器接口转发出来时,LSA的老化时间都会增加一个

InfTransDelay秒数。当然,当LSA驻留在链路状态数据库内时,这个老化时间也

会增大。LSA头中的前两个字节包含LSA的年龄。这个年龄是自从LSA产生时已

消逝的时间秒数。

z Option:该字段指出在部分OSPF域中LSA能够支持的可选性能。

z LS Type:1字节LS类型指出5种LSA类型中的一种。每种LSA类型的格式是不同的。因此,指出何种类型的数据附加在头后面必不可少。

z Link state ID:链路状态ID域4字节长,用于指明LSA描述的特定网络环境区域。

这个域与前面提及的LS类型域关系紧密。实际上,这个域的内容直接依赖于LS

类型。比如,在路由器LSA中,链路状态ID包含产生了这个报文的OSPF路由

器ID——通告路由器ID。

z Advertising Router:产生该LSA的路由器的ID 。

z LS顺序号:OSPF路由器会递增每个LSA报文的序列号。所以,接收到两个相同LSA事例的路由器有两种选择来决定哪一个是最新的报文, LS顺序号域4字节

长。检查这个域可以确定LSA在网络中已传输了多久。从理论上讲,一个新的LSA

年龄比一个老的LSA年龄大是有可能的,特别是在大型复杂的OSPF网络中。所

以,接收路由器比较LS顺序号。大号的LSA是最新生成的,这种机制不会因动

态路由的变迁而受到损坏,而应认为其是一种更可靠的确定LSA时间的方法。

z LS校验和:3字节的LS校验和用于检查LSA在传输到目的地的过程中是否受到破坏。校验和采用简单的数学算法。它的输出结果依赖于其输入,并且有高度的一

致性。给定相同的输入,校验和算法总是给出相同的输出。LS校验和域使用部分

LSA报文内容(包括头,不包括LS年龄和校验和域)来生成校验和值。源节点运

行Fletcher算法并把结果存于LS校验和域中。目的节点执行相同的算法并把结果

与存储在校验和域中的结果比较,如果两个值不相同,就可以认为报文在传输过程

中被破坏。之后,产生一个传输请求。

z LS长度:LS长度域用于通知接收方LSA的长度(以字节为单位),这个域1个字节长。

LSA报文体的剩余部分包含一个LSA的列表。每个LSA描述OSPF网络5个不同方

面中的一个。所以,路由器LS A报文会广播区内已知存在的路由器信息。

如下图是使用RG-PATS网络协议分析仪采集到的LSU报文:

287

图6-90 采集LSU报文

1类LSA

1类LSA:Router LSA,每台路由器都生成针对其所属区域的路由器的链路通告,路由器链路通告描述了路由器连接到区域的链路状态,只在区域内扩散,每种LSA的报头都是20字节,其中一个字段是链路状态ID。如下图所示。

图6-91 Router LSA报文格式

z V,或虚链路端点位:设置1时,说明始发路由器是一条或多条具有完全邻接关系的虚链路的一个端点,则该区域是传送区域。

z E,或外部位:当始发路由器是一个ASBR路由器时,设置该位为1。

288

z B,或边界位:当始发路由器是一个ABR路由器时,设置该位为1。

z链路数量:标明一个LSA所描述的路由器链路数量。对于LSA进行泛洪的区域,路由器LSA必须描述始发路由器的所有链路或接口。

z Type:字段中是对该链路信息的类型描述

?链路类型1:点到点连接到另一台路器(Point-to-point connection to another router):对于该类型一般出现在OSPF P-T-P,其中 Link ID 为对端的

ROUTER-ID;Link Data为本端的出接口地址。它描述要到达对方

(ROUTER-ID),从我本端的那个出接口出去。

?链路类型2:连接到一个传送网络(Connection to a transit network):对于该类型一般出现在OSPF NBMA BROADCAST,其中Link ID为DR的接口

地址;Link Data为本端到达DR的出接口地址。它描述的是如何到达我本链

路上的DR。

?链路类型3:连接到一个末稍网络(Connection to a stub network):对于该类型一般出现在OSPF P-T-P LOOPBACK P-T-M,其中Link ID 为该接口IP

地址的网络前缀;Link Data为接口IP地址的掩码。它描述一个未梢网络。

?链路类型4:虚链路(Virtual link):对于该类型出现在配置虚链路时出现的,其中Link ID为虚链路对方路由器的router-id;Link Data

z Link ID:用来标识链路连接的对象,当连接的对象是一台路由器时,链路ID和在邻居路由器的LSA头部的链路状态ID是相同的。在计算路由选择表的期间,这个

值可以用来发现链路状态数据库中邻居的LSA。

z链路数据:也是依赖于链路类型字段的值的字段。

?链路类型1:链路数据字段的值为和网络相连的始发路由器接口的IP地址

?链路类型2:链路数据字段的值为和网络相连的始发路由器接口的IP地址

?链路类型3:链路数据字段的值为网络的IP地址或子网掩码

?链路类型4:链路数据字段的值为始发路由器的接口的MIB-II ifindex值z TOS:为列出这条链路指定服务类型度量的编号。虽然RFC2328已经不再支持TOS,但为了同前兼容早期部署的OSPF,仍旧保留这个字段。

z度量:指一条链路(接口)的代价。

类型1的LSA只在一个area里传播,不会穿越ABR。描述了和路由器直接相连的链

路集体状态信息。RID鉴别类型1的LSA,LSA描述了链路的网络号和掩码(即link ID)。

另外类型1的LSA还描述了路由器是否是ABR或ASBR 。如下图所示

图6-92 Router LSA

289

类型1的LSA不同的链路类型的link ID如下:

z point-to-point的link ID是邻居的RID

z transit network的link ID是DR的接口地址

z stub network的link ID是IP网络号

z virtual link的link ID是邻居的RID

每个路由器都产生Router LSA,这种LSA描述了路由器所有的链路和接口、状态和开销。如下图所示。使用RG-PATS协议分析仪采集到类型1的LSA:

图6-93 采集类型1LSA报文

2类LSA

2类LSA:Network LSA为多路访问网络生成的网络链路通告,描述了特定多路访问网络上的一组路由器,网络链路通告在网络所在的区域内扩散。如下图所示2类LSA报文格

式:

Network-LSAs只有OSPF Brocast and NBMA网络类型才有。它与OSPF Brocast and NBMA LSA相结合,它描述一个Transit Network中有多少个网络节点Attached to the network,包括DR自身。Network-LSAs 是由DR所产生的。

z Link state ID:网络LSA的链路状态ID是指网络中DR路由器接口上的IP地址。

z Network Mask:指定这个网络上使用的地址或子网的掩码。

z Attached Router:列出了网络上所有与DR形成完全邻接关系的路由器的路由器ID,以及DR路由器本身的路由器ID,表示Transit Network的节点,Router-id

标识。

290

图6-94 Network-LSAs报文格式

2类LSA的链路ID为DR的IP接口地址。类型2的LSA只在一个区域里传播,不会

穿越ABR。描述了组成Transit Network的直连的路由器,Transit Network直连至少2台

OSPF路由器。DR负责宣告类型2的LSA,然后在transit network的一个area里进行洪

泛。如下图所示。

图6-95 Network LSA

使用RG-PATS协议分析仪采集到类型2的LSA:

图6-96采集到的network LSA

291

3类LSA

3类的LSA:Network Summary LSA是由ABR生成的,报文格式如下图所示:

图6-97 Network Summary-LSAs

z Link state ID:对于类型3的LSA来说,它是所通告的网络或子网的IP地址。

z Network Mask:在类型3的LSA中,是指所通告的网络的子网掩码或地址。如是一条类型3的LSA通告是一条缺省路由,那链路状态ID和网络掩码字段都将是

0.0.0.0。

z Metric:是指到达目的地的路由代价。

3类LSA是由ABR所产生,它描述如果到达该区域的目的网段,将区域内的1类LSA 和2类LSA结合起来算出路由,再将其转成3类LSA。如果一个区域有两个ABR,他们都会执行转换,如果到这两个ABR的COST都相同的话,都负载均衡的状态。

注意无论是3类LSA还是4类LSA的,如果是穿越某个区域的ABR到达该域内,LSA3/LSA4的Advertising Router 都会被改写成该区域的ABR。也就是说某一域内收到LSA3/LSA4的LSA都是由该区域的ABR所产生的。

它将一个区域内的网络通告(路由信息)给OSPF AS中的其他区域。如下图所示:

图6-98 Network Summary LSA

292

LSA都将扩散汇总到整个 AS。LINK ID 为目标网络网络地址。.默认OSPF不会对连

续子网进行汇总。可在ABR上进行人工设定启用汇总。

如果ABR知道有多条路径可以到达目标地址,但是它仍然只发送单个的Network Summary LSA,并且是开销最低的那条,同样,如果ABR从其他的ABR那里收到多条Network Summary LSA的话,它会只选择开销最低的,并把这条Network Summary LSA

宣告给其他区域。如下图所示。

图6-99 Network Summary LSA 传播

当其它的路由器收到来自ABR的Network Summary LSA以后,它不会运行SPF算法,

它只简单的加上到达那个ABR的开销和Network Summary LSA中包含的开销,通过ABR

到达目标地址的路由和开销一起被加进路由表里,这种依赖中间路由器来确定到达目标地址

的完全路由实际上是距离矢量路由协议的行为。

使用RG-PATS协议分析仪采集到类型3的LSA:

图6-100 采集类型3LSA报文

293

相关文档