OSPF(RFC2328):将AS划分成区域
文章作者 100test 发表时间 2007:07:12 11:26:36
来源 100Test.Com百考试题网
OSPF允许连续的网络和主机集合被组织在一起。这样一个组,与那些具有到所包括的网络中任一接口的路由器一起被称为一个区域。每一区域运行一个基本链接状态路由算法的独立拷贝。如前所述,这意味着每一区域有其自身的链接状态数据库及对应的图。
一个区域的拓扑对区域外是不可见的。相应的,对一指定区域内部路由器来说,区域外拓扑细节也是不可知的。与把整个自治系统当作一个单链接状态域比较而言,这一知识的分离使得协议可以显著减少路由选择数据流量。由于区域的引入,所有路由器具有相同链接状态数据库这一说法不再正确。路由器实际上对它每一个所连区域都有一个独立链接状态数据库(连接到多个区域的路由器被称为区域边界路由器)。属于同一区域的路由器,对该区域具有相同的链接状态数据库。
在自治系统内的路由选择在两个级别上发生,这取决于一个包的源和目的地址是否处于相同的区域中(使用域内路由选择)或者处于的区域中(使用域间路由)。在域内路由选择时,包仅依靠在域内获得的消息进行路由,不能使用从区域外获得的路由选择信息。这可以保护域内路由选择不受注入的坏路由信息的影响。在3.3 节中对域间路由进行讨论。
一、 自治系统的主干
OSPF主干是特殊的OSPF区域0(通常写为区域0.0.0.0,因为OSPF区域ID典型的以IP地址格式表示)。OSPF主干总是包含所有区域边界路由器。主干负责在非主干区域间分配路由信息。主干必须连续。然而,它不需要物理连续;主干的连接性可以通过虚链的配置得以建立和维护。
虚链可以在任何具有到相同非主干区域的接口的路由器上配置。虚链同样属于主干。协议把用虚链链接起来的两个路由器看作是由点到点主干网络连接起来。在主干的图上,这样两个路由器有一段弧连接,其代价是这两个路由器之间的区域内距离。沿虚链的路由选择协议流量仅使用域内路由选择。
二、域间路由选择
当在两个非主干区域之间进行路由选择时,使用主干。包走过的路径可以被划分为三个连续段:从源到区域边界路由器的域内路由,在源和目的区域之间的主干路径,然后是另一个到目标的域内路径。算法会找出具有最小代价的相应路径。以另一种方式来看,域间路由选择可以看作是一个对自治系统的强制星型配置——主干作为HUB,而非主干区域作为轮辐。
主干的拓扑指出在区域间使用的网络路径。主干拓扑可以通过添加虚链路得到增强。这一方法为系统管理员提供了控制域间流量的方法。
选择包离开源区域的正确区域边界路由器和选择通告外部路由的路由器使用相同方法。每一区域边界路由器为本区域汇总到所有处于区域之外的网络代价。在SPF树计算之后,可以通过检查区域边界路由器汇总计算到所有域间目标的路由。
三、 路由器分类
在引入区域之前,唯一具有特殊功能的OSPF路由器就是那些通告外部路由信息的路由器,如图2中的路由器RT5.一旦自治系统被划分成多区域,则路由器根据其功能可以进一步划分为概念互相交叉的四类:
域内路由器
其所有直连网络都属于同一个区域。这些路由器运行基本路由选择算法的一个单拷贝。
区域边界路由器
连到多个区域的路由器。区域边界路由器运行基本算法的多个拷贝,每个附加区域一个对应拷贝。这些路由器负责汇总它们所连路由器的区域拓扑信息并向主干发送。主干则把这些信息发布给其它区域。
主干路由器
具有一个到主干区域的接口。这也包括那些在不止一个区域具有接口的所有路由器(如,区域边界路由器)。然而,主干路由器不必总是区域边界路由器。协议同样支持所有接口都连到主干的路由器。
自治系统边界路由器
负责与属于其它自治系统的路由器交换路由选择信息。此路由器在整个自治系统内通告外部路由选择信息。自治系统中每一个路由器都知道到达任一自治系统边界路由器的路径。这一分类完全独立于以前的分类:自治系统边界路由器可以是内部或区域边界路由器,而且可以或不必加入主干。
四、 一个区域配置例
图6给出一个区域配置例。第一个区域有网络N1-N4以及所连路由器RT1-RT4构成。第二个区域由网络N6-N8以及所连路由器RT7、RT8、 RT10、RT11构成。第三个区域则由网络N9-N11、主机H1以及路由器RT9、RT11、RT12构成。第三个区域已经经过配置,使得在向区域外通告时可以把网络N9-N11以及主机H1组织到一个单路由里。
图6中,路由器RT1、RT2、RT5、RT6、RT8、RT9以及RT12是内部路由器。路由器RT3、RT4、RT7、RT10以及RT11是区域边界路由器。最后,如前所述,路由器RT5和RT7是自治系统边界路由器。
图7给出区域1的最终链接状态数据库。该图详细描述了该区域的域内路由选择,同时也给出了对于内部路由器RT1和RT2来讲的整个INTERNET视图。向区域1通告到区域之外目标的距离是区域边界路由器RT3和RT4的任务。这在图7中以点分桩路由标出。而且,RT3和RT4必须向区域1内通告自治系统边界路由器RT5和RT7的位置。最后,来自RT5和RT7的AS-external-LSAs在整个AS中扩散,此处则包括区域1.这些LSAs包括在区域1的数据库中,并且产生到N12-N15的路由。路由器RT3和RT4还必须汇总区域1的拓扑并向主干分布这些信息。它们的主干LSAs在表4中给出。这些汇总给出区域1包含哪些网络(即,网络N1-N4),以及从路由器RT3和RT4分别到这些网络的距离。
主干的链接状态数据库在图8中给出。被考察的路由器为主干路由器。路由器RT11属于两个区域,所以属于主干路由器。为使主干相连,在路由器RT10和 RT11之间配置了虚链。区域边界路由器RT3、RT4、RT7、RT10以及RT11汇总其所属非主干区域路由选择信息并通过主干分布;这在图8中以点线表示的桩给出。由于第三个区域被配置成要把网络N9-N11和主机H1汇总成一个单个路由,因此这就为网络N9-N11和主机产生一个单个的点线表示。路由器RT5和RT7是自治系统边界路由器,它们源自外部的信息也以桩的形式出现在图8中。
主干使得区域边界路由器之间可以交换汇总信息。每一区域边界路由器收听来自其它区域边界路由器的汇总。随后,通过查看收集到的LSA,并在每一通告路由上加上主干路由,它可以形成一个到所有自身区域之外网络的距离图。
仍以路由器RT3和RT4为例,处理过程如下:它们首先计算主干的SPF树,这给出到所有其它区域边界的距离。同时还要注意属于主干的到网络(Ia和Ib)以及自治系统边界路由器(RT5和RT7)的距离。
接下来,通告查看来自这些区域边界路由器的区域汇总,RT3和RT4可以确定到所有区域外网络的距离。这些距离随之由RT3和RT4在区域中通告。路由器 RT3和RT4要发送的通告如表6所列。注意表6假定主干已经配置了一个区域范围,以使Ia和Ib被组织到一个单个LSA中。由路由器RT3和RT4引入的信息使得内部路由器,如RT1,可以智能的选择区域边界路由器。路由器RT1将使用RT4用于网络N6的数据流,RT3用于到网络N10,而且发送到网络N8的数据时在两者之间进行负载平衡。
路由器RT1也可以用此方式确定到自治系统边界路由器RT5和RT7的最短路径。随之,通告查看RT7的AS-enternal-LSAs,路由器RT1在发送目标为另一个自治系统内目标(网络N12-N15)时在RT5和RT7之间作出选择。
注意路由器RT6和RT10之间的线路失效将导致主干断连,在RT7和RT10之间配置虚链将使主干连接性以及抵抗此类失效的能力得到增强。
src="/cisco/js/wxgg_cisco.js">