作者:蔺玉珂 字数:2357 点击:

摘 要:介绍了OSPF协议中区域划分的主要用途,重点对骨干区域的应用进行了描述。

关键词:OSPF;骨干区域

开放式最短路径优先OFPF(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议,它从设计上就保证了无路由环路。OSPF支持区域划分,支持触发更新,能够快速检测并通告自治系统内的拓扑变化。

1 OSPF的计算过程

每个OSPF路由器通过泛洪链路状态通告LSA(Link State Advertisement)即向外发布本地链路状态信息(例如可用的端口,可到达的邻居以及相邻的网段信息等等)。泛洪是指OSPF路由器之间发送及同步连接状态数据库的过程。

每个路由器通过收集其它路由器发布的链路状态通告以及自身生成的本地链路状态通告,形成一个链路状态数据库(LSDB)。LSDB描述了路由域内详细的网络拓扑结构。在同一个区域内,,所有路由器上的链路状态数据库LSDB是相同的。

通过LSDB,每台路由器以SPF算法计算出一棵以自己为根,以网络中其它节点为叶的最短路径树。SPF算法生成的是一棵无环的最短路径树。

每台路由器计算的最短路径树相当于到网络中其它节点的路由表。这样OSPF路由器就能知道如何到达其他路由器。

2 OSPF划分区域的作用

随着网络规模日益扩大,当一个大型网络中的路由器都运行OSPF路由协议时,路由器数量的增多会导致LSDB非常庞大,占用大量的存储空间,并使得运行SPF算法的复杂度增加,导致CPU负担很重。在网络规模增大之后,拓扑结构发生变化的概率也增大,网络会经常处于“动荡”之中,造成网络中会有大量的OSPF协议报文在传递,降低了网络的带宽利用率。更为严重的是,每一次变化都会导致网络中所有的路由器重新进行路由计算。

OSPF协议通过将自治系统划分成不同的区域(Area)来解决上述问题。区域是从逻辑上将路由器划分为不同的组,每个组用区域号(Area ID)来标识。

在OSPF路由协议的定义中,可以将一个路由域或者一个自治系统AS划分为几个区域。在OSPF中,由按照一定的OSPF路由法则组合在一起的一组网络或路由器的集合称为区域(AREA)。

在OSPF路由协议中,每一个区域中的路由器都按照该区域中定义的链路状态算法来计算网络拓扑结构,这意味着每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。这意味着OSPF路由域中的网络链路状态数据广播被区域的边界挡住了,这样做有利于减少网络中链路状态数据包在全网范围内的广播,也是OSPF将其路由域或一个AS划分成很多个区域的重要原因。

随着区域概念的引入,意味着不再是在同一个AS内的所有路由器都有一个相同的链路状态数据库,而是路由器具有与其相连的每一个区域的链路状态信息,即该区域的结构数据库,当一个路由器与多个区域相连时,我们称之为区域边界路由器。一个区域边界路由器有自身相连的所有区域的网络结构数据。在同一个区域中的两个路由器有着对该区域相同的结构数据库。

3 骨干区域

在OSPF路由协议中存在一个骨干区域(Backbone),该区域包括属于这个区域的网络及相应的路由器,骨干区域必须是连续的,同时也要求其余区域必须与骨干区域直接相连。骨干区域一般为区域0,其主要工作是在其余区域间传递路由信息。所有的区域,包括骨干区域之间的网络结构情况是互不可见的,当一个区域的路由信息对外广播时,其路由信息是先传递至区域0(骨干区域),再由区域0将该路由信息向其余区域作广播。

在实际网络中,可能会存在backbone不连续的或者某一个区域与骨干区域物理不相连的情况,在这两种情况下,系统管理员可以通过设置虚拟链路的方法来解决。

虚拟链路是设置在两个路由器之间,这两个路由器都有一个端口与同一个非骨干区域相连。虚拟链路被认为是属于骨干区域的,在OSPF路由协议看来,虚拟链路两端的两个路由器被一个点对点的链路连在一起。在OSPF路由协议中,通过虚拟链路的路由信息是作为域内路由来看待的。下面我们分两种情况来说明虚拟链路在OSPF路由协议中的作用。

(1)当一个区域与骨干区域没有物理链路相连时

一个骨干区域必须位于所有区域的中心,其余所有区域必须与骨干区域直接相连。但是,也存在一个区域无法与骨干区域建立物理链路的可能性,在这种情况下,我们可以采用虚拟链路。虚拟链路使该区域与骨干区域间建立一个逻辑联接点,该虚拟链路必须建立在两个区域边界路由器之间,并且其中一个区域边界路由器必须属于骨干区域。

(2)当骨干区域不连续时

OSPF路由协议要求骨干区域必须是连续的,但是,骨干区域也会出现不连续的情况,例如,当我们想把两个OSPF路由域混合到一起,并且想要使用一个骨干区域时,或者当某些路由器出现故障引起骨干区域不连续的情况,在这些情况下,我们可以采用虚拟链路将两个不连续的区域0连接到一起。这时,虚拟链路的两端必须是两个区域0的边界路由器,并且这两个路由器必须都有处于同一个区域的端口。

4 总结

通过对OSPF中区域及骨干区域的作用进行分析,可以看出其在OSPF中所起到的重要作用,在具体配置过程中要对区域规划好。

参考文献

[1]张春青,OSPF 动态路由协议中的路由计算[J],北方交通大学学报,2012,12(6):100-103.

[2]黄建强,.基于OSPF的网络拓扑搜索[J].计算机工程与科学,1999,21(6):17-21.

[3]张宏科,IP 路由原理与技术[M],北京:清华大学出版社,2000,72-94.