OSPF路由协议深入解析

时间:2022-07-29 03:22:26

OSPF路由协议深入解析

摘要 OSPF协议全称是开放的最短路径优先协议(Open Shortest-Path First)。OSPF从多个方面体现了其优越性:在路由算法方面采用最短路径优先算法,根据链路的实际情况计算每条链路的开销,把到任意网络的最小开销的路径写入路由表;在数据库管理方面, OSPF采用多数据库的方式进行网络信息管理。数据库包括:邻居关系表 、拓扑结构表、路由表。OSPF通过发送hello数据包构建邻居关系,通过和邻居间的互相学习构建整个网络的拓扑结构数据库,以自己为根,根据数据库算出每个链路的开销,把最优路由写入路由表里面;OSPF协议采用层次化的方式管理网络。OSPF层次分为骨干区域和非骨干区域。骨干区域主要用于连接各个非骨干区域,并且转发数据。非骨干区域与骨干区域相连。各个区域内的结构发生变化时,路由更新仅仅在区域内更新,不会穿越到其它区域,从而减少了不必要的路由更新信息包。

关键词 OSPF;LSA;ABR;ASBR;LADB;BACKBONE

中图分类号TP39 文献标识码A 文章编号 1674-6708(2011)54-0168-02

在广域网组建过程中主要用到的路由协议有:rip、ripv2、eigrp、OSPF、is-is。在这些协议中OSPF以其自身独特的路由算法,以及链路更新技术成为了使用率最高的路由协议。

1 OSPF协议属于链路状态(link-state routing protocol)路由协议

链路状态路由协议主要特点如下:

1)对网络发生的变化能够快速收敛;

2)当网络发生变化或者设备变更的时候发送触发式更新(triggered update);

3)如果没有实时变更信息则周期性发送更新(链路状态刷新),间隔时间为 30min。

链路状态路由协议除了每30min的周期更新外只在网络拓扑发生变化以后产生路由更新。当链路状态发生变化以后,创建LSA(link state advertisement),通过使用组播地址传送给所有的邻居设备,然后每个设备复制一份 LSA,除了更新它自己的链路状态数据库(link state database,LSDB),接着再转发给自己的邻居(不包括来源方向)设备,这种 LSA 的洪泛(flooding)保证了所有的路由设备在更新自己的路由表之前更新它自己的 LSDB。

计算路由的方法。LSDB 通过使用SPF算法(shortest path first,SPF)来计算到达目标网络的最佳路径,建立一条 SPF 树(tree),然后最佳路径从 SPF 树里选出来,被放进路由表里。

2 OSPF的数据库结构

2.1 邻居关系表

通过Hello数据包构建邻居关系,通过确认邻居关系可以使这些路由器保持同步更新。如果一个OSPF 路由器和它的邻居路由器失去联系,在很短时间周期内,它会更新所有到达那条路由均为无效并且重新计算到达目标网络的路径。

2.2 拓扑结构数据表

每个路由器以自己为根构建一个树,同一区域内的路由器通过lsdb可以构建区域内完整的网络结构

2.3 路由表

到达目标网段的最优路径。

3 OSPF的区域化网络管理结构

3.1 骨干区域(backbone area)

这个区域主要负责数据包的转发,一般情况下这个区域内不会有终端用户。

3.2 非骨干区域(nonbackbone area)

主要连接用户和资源。

在OSPF路由协议中,所有的路由器有完整的 LSDB,运行OSPF 路由器数量越多,LSDB的体积就越大,虽然lsdb可以让路由器掌握整个网络的链路状况,但是随着网络的增长,可扩展性的问题就会越来越大,通过引入区域的概念可以回避随着网络扩展lsdb过于庞大的弊端。在某一个区域里的路由器只保持有该区域中所有路由器或链路的详细信息和其他区域的一般信息。当区域内的某个路由器或某条链路出故障以后,信息只会在本区域以内在邻居之间传递。区域以外的路由器不会收到该信息。OSPF 层次化的网络设计是有要求的,所有的非骨干区域要和骨干区域area 0 直接相连,非骨干区域area1 、area2、area3是不能互相连接的。如下图:

在上图中router c 和d以及e 具有连接骨干区域和非骨干区域的作用,被称为ABR(area border router),ABR通常具有以下特征:

1)可以隔绝LSA的泛洪;

2)区域内的信息汇总与ABR;

3)一般作为默认路由的源头;

4)为每个区域保持 LSDB。

4 OSPF协议的数据包结构

1)Version Number:OSPF协议的版本号;

2)Type:定义OSPF 包的类型;

3)Packet Length:包的长度,单位字节;

4)Router ID(RID):运行OSPF的路由器的标识;

5)Area ID:定义 OSPF 包是从哪个 area 产生出来的;

6)Checksum(校验和):错误校验;

7)Authentication Type:验证方法,可以是明文(cleartext)密码或者是Message Digest 5(MD5)加密格式;

8)Data:对于hello包来说,该字段是邻接关系表;对于DBD包来说,该字段包含的是LSDB的汇总信息,包括RID等等;对于LSR包来说,该字段包含的是需要的LSU类型和需要的LSU类型的 RID;对于 LSU 包来说,包含的是完全的 LSA 条目,多个 LSA 条目可以装在一个包里;LSAck字段为空。

5 OSPF协议的LSA更新过程

当路由器收到一个 LSA 更新信息以后,先会查看本路由器的 LSDB 查看是否有没有的条目,如果没有就加进自己的LSDB中去,并反馈LSA确认包(LSAck),接着再继续洪泛LSA,最后运行SPF 算法算出新的路由表 如果当它收到 LSA 的时候,自己的 LSDB 有该条目而且版本号一样,就忽略这个 LSA;如果有相应条目,但是收到的LSA的版本号更新,就加进自己的LSDB中,发回LSAck,洪泛LSA,最后用 SPF 计算最佳路径;如果版本号没有自己 LSDB 中那条新,就反馈 LSU信息给发送源。

OSPF协议LSA的类型以及功能:

1)1:router LSA

型的 LSA 只在一个同area 里传播,不能穿越边界路由器。描述了和路由器直接相连的链路相关状态信息.LSA 包含链路的网络号和掩码(即 link ID);另外类型 1 的LSA还包含了路由器是否是 ABR 或ASBR。

2)2:network LSA

2型的 LSA 只在一个同area 里传播,不能穿越边界路由器。描述骨干区域的网络连接.DR 负责宣告类型 2 的 LSA,然后在骨干区域里进行洪泛。2型的 LSA ID 是 DR宣告的那个接口的IP地址。

3)3/4:summary LSA

3型的LSA由ABR发出.在缺省状态下OSPF不会对连续子网进行汇总,可在ABR上进行手动设定启用汇总。3型的 LSA可以在整个自治系统内进行洪泛。4型的LSA只使用在area里存在ASBR的时候,4型的LSA鉴别ASBR和提供到达ASBR的路由,类型4的LSA包含了ASBR的路由标识。

4)5:AS external LSA

5型LSA可以在as间路由,并且可以在as内泛洪。

5)6:multicast OSPF LSA,使用在 OSPF 多播应用程序里

6)7:使用在 Not-So-Stubby area(NSSA)里

7)8:特殊的 LSA用来连接 OSPF 和 BGP

8)9/10/11:opaque LSA,用于今后 OSPF 的升级

通过以上各种特点使OSPF协议在众多路由协议中脱颖而出成为使用率最高的协议。

参考文献

[1]思科网络技术学院.思科网络技术学院教程 CCNA安全[M].人民邮电出版社.

[2][美]Kenneth D.Stewart III Aubrey Adams.思科网络技术学院教程CCNA Discovery-计算机网络设计和支持[M].人民邮电出版社.

[3][美]Bob Vachon Rick Graziani.思科网络技术学院教程CCNA Exploration-接入WAN[M].人民邮电出版社.

上一篇:ATB-25沥青稳定碎石在金永高速高速公路中的应... 下一篇:水电厂调速器频繁抽动问题的解决