在多区域的OSPF网络中,ABR(AreaBorderRouter,区域边界路由器)会把一个区域内的所有细化网络的路由转发到另一个区域.一个有多个校区的大型校园网络,如果没有采用区域间路由汇总等措施,这样每个分部的路由器会拥有所有网络的路由,这样它也将维护所有的路由.这样每个分部也必须选用很高端的设备,一定会增加很大的成本,实际上每个分部也没必要有整个OSPF网络的所有路由.为了解决上述问题,进一步精简路由表,减轻路由器负担,下面将分析OSPF路由区域路由条目精简化优化设计的几种具体方法.
1、路由汇总的OSPF优化
1.1路由汇总的概念
为了创建一个可扩展的OSPF网络,应该实现路由汇总,这样就可以减少路由器的内存需求.如果不使用汇总的话,就必须谨慎地使用并且要考虑到数量众多的路由表项之间的相互影响.为了创建一个能够支持路由汇总的环境,必须实现有效的层次地址配置.所实现的地址结构对OSPF网络的性能和可扩展性有着深远的影响.最终的目标就是要在路由选择表中放入尽可能少的路由,减少更新的数量.
1.2路由汇总的优点
图1所示为路由汇总与不汇总的比较,可以看到没有汇总,在路由表中有三个表项,而有了汇总,路由表中就只有一个表项.图1IP汇总与不汇总的比较汇总,通常来说,为网络及其操作提供了很多好处.其中一些好处很明显,而另外一些好处对网络的性能影响较小.要实现正确的汇总有以下两个主要原因.(1)缩小路由选择表—使用汇总使路由选择表中的路由表数目较少,附加的好处就是减少了内存的使用量.特别是,路由器查找汇总的单个路由来寻找匹配的速度要比它查找更小的/24路由快很多.(2)改善路由器操作—使用汇总就意味着路由选择表中的路由更少,这样路由器运行SPF算法的时间也就更少了.另外,路由的汇总可以让用户的链路状态数据库更小,这同样也会显著地提高速度[2].
1.3汇总的方法与原则
(1)对于区域间的汇总使用命令areaNrangex.x.x.xx.x.x.x,例如汇总可以是area2range172.16.0.0255.255.0.0.对于区域间汇总还有一个比较重要的问题就是汇总会产生的3类OSPF的LSA的开销cost值的确定问题.如图2所示,R1是Area2与Area0的ABR.ABR会发挥边界路由器的作用,将Area2在OSPF路由域内所有的路由做汇总后发往Ar-ea0,作为3类LSA的cost值.(2)区域外的路由汇总配置外部路由汇总有着和区域汇总一样的结果,区别在于试图完成的汇总类型.区域外路由汇总只有在ASBR上正在执行路由到OSPF重发布的路由过程的时候才有效.上面命令中的not-advertise关键字允许不通告与使用关键字匹配的路由.
1.4路由汇总的OSPF优化原则
(1)详尽定义部署网络的地址结构,这样,用户就可以更有效率的分配与计划,以便保持IP寻址方案的简单和结构化.(2)对OSPF各个区域要实现互相连通,就要根据需求设计合理的IP地址分配表.(3)确定每种类型的路由器,区域,骨干等的正确位置.这样可以帮助用户决定应该汇总哪个路由器.通过在2n(2,4,8等)的块上位置放置子网来最优化汇总.第一个子网从2n的比特边界上开始.
2、特殊区域的OSPF优化
OSPF定义了几种特殊区域,其中包括stub区域,完全stub区域,NSSA区域,完全NSSA区域[2].下面主要说明使用这些特殊区域的优势以及在什么环境下使用,最后详细说明怎么进行布署,实现OSPF优化.图3特殊区域说明图
2.1特殊区域的设计
对于如图3所示的网络,分部网络中的路由器(例如R3)除了有本区域内子网的路由以外,在正常情况下还会有其它区域的路由与OSPF外部路由.此时考虑Area2内的路由器将没有必要知道整个网络的细化路由,甚至没有必要知道除本区域路由以外路由.此时可以设计这种区域为stub区域或完全stub区域,当把分部网络设计成stub区域时区域2将不允许有OSPF的外部路由进入,然后可以结合使用区域间的路由汇总,使得区域内的路由相对较少.当使用完全stub区域时,区域内不允许OSPF外部路由进入,也不允许OSPF区域外部路由进入,从而本区域内只有区域内的路由,这样分部网络将节省很多的CPU资源和内存.内部也就可以使用相对低档与便宜的路由器.特殊区域的适用环境与布署.如果分部的网络去往校园网络的总部与其它分部都要通过与区域0相连的ABR,则可以把分部设计成stub区域,命令为:area2stub.然后同时在ABR2上做好区域间路由汇总,此时作为ABR的R2将向区域2自动下发一条缺省路由.此时R2下发的路由是以3类LSA下发的.另一种方案就是把区域2设计成完全stub区域.此时ABRR2同样会下发一条缺省路由.同时区域2中将不会允许有3类LSA进入.另一种情况就是想把分部区域设计成stub区域,然而,又必须从这个区域引入外部路由进OSPF路由域.此时可以布署一种特殊区域为NSSA区域.NSSA区域也就是不那么完全的末梢区域.在NSSA区域中,重发布OSPF的路由是通过7类LSA体现的.边界路由器在NSSA区域中不会发送默认路由,也不允许5类LSA.而对于完全NSSA区域,不允许5类LSA也不允许3类LSA.
2.2特殊区域设计的OSPF优化原则
(1)端区需要一个单一的ABR,但是如果存在多于一个的ABR时,那么就得接受非优化路径.在端区内部不存在ASBR.
(2)不允许虚链路发送到该区域.任何类型端区内的所有路由器必须配置成能够识别他们的地址.如果路由器没有对它们的位置达成完全的一致,它们就不会成为邻居而且选择也不会生效.骨干区域不能配置成端区.
3、实验测试
该文的实验环境使用是GNS3模拟器,记录了其中的关键配置命令.在没有做优化测试之前在路由器用命令showiprouteos显示路由表并记录.然后对优化后各路由器路由表记录.以下是优化前后各路由表规模记录:
(1)以SW为例,这是优化前的OSPF路由表.SW#showiprouteospf10.0.0.0/8isvariablysubnetted,49subnets,3masksOIA10.0.8.0/24[110/3528]via10.1.24.14,01:03:01,Vlan901OIA10.1.8.0/24[110/3128]via10.1.24.5,01:03:00,FastEthernet1/1OIA10.4.8.0/24[110/3128]via10.1.24.5,01:03:00,FastEthernet1/1OIA10.5.8.0/24[110/3528]via10.1.24.14,01:03:00,Vlan901OIA10.0.0.0/24[110/3464]via10.1.24.14,01:00:35,Vlan901
(2)以下是优化设计后的OSPF路由表:SW#showiprouteospf10.0.0.0/8isvariablysubnetted,26sub-nets,3masksOIA10.0.8.2/32[110/68]via10.1.24.5,00:16:02,FastEthernet1/1OIA10.1.0.8/30[110/465]via10.1.24.14,00:33:07,Vlan901OIA10.0.8.1/32[110/67]via10.1.24.5,00:16:02,FastEthernet1/1OIA10.4.8.0/24[110/1066]via10.1.24.5,00:16:02,FastEthernet1/1OIA10.5.8.0/24[110/1067]via10.1.24.5,00:16:03,FastEthernet1/1对于优化设计前使用ping测试一个分部与其它分部业务网段的连通性时,能很明显的感觉到优化后ping测试的响应的时间更短.
4、结语
在路由表中的OSPF路由条目规模方面,从实验记录的结果可以很明显看到优化设计后路由表条目更少,这样路由器需要维护路由条目更少,对于OSPF这种本身使用很复杂的算法与多个数据库的路由协议,可以减少OSPF路由协议很大的负担。
作者:尹向东 蒋亿 项卓 单位:湖南科技学院