徐济成,刘 超,李 嶒
(1.安徽中澳科技职业学院 信息工程与艺术设计系,安徽 合肥 230041;2.安徽农业大学 信息与计算机学院,安徽 合肥 230036)
OSPF 是基于链路状态的动态路由协议,它具备一般IGP 协议的基本特点,同时支持区域划分,对大规模网络具有良好的适应性,而且网络收敛速度快,解决了路由自环问题的困扰,所以OSPF成为大中型园区网中使用最广泛、性能最佳的IGP 协议之一[1]。在按照园区网分层设计模型进行大规模网络架构设计时[2],从路由协议规划层面,常常需要利用OSPF 支持区域划分的特性,在内部形成一个多区域OSPF的网络场景。这种网络场景的通信需要遵循OSPF 区域划分的基本准则,即非骨干区域必须和骨干区域相邻。然而,在某些特殊场景下,由于不可抗力因素导致在进行OSPF 区域划分设计时,无法遵循既有准则,只能采用非标准的异形划分,最终导致网络通信故障。因此,研究多区域OSPF异形划分的通信实现方法具有积极的理论意义和实际应用价值。
OSPF 采用的是基于Hub-And-Spoke[3]架构的区域化设计,在其定义的所有区域中,依据网络节点的功能会设置一个骨干区域Area0,其他的区域均为非骨干区域并且与骨干区域Area0 直接相连,如图1 所示。非骨干区域通过与骨干区域Area0 交换链路状态通告报文LSA获取路由信息,建立链路状态数据库LSDB[4],最终实现网络收敛。
图1 OSPF区域的标准划分
定义1:在OSPF 多区域网络中[5],若骨干区域Area0 与非骨干区域不是直接相连,则称该形式的区域划分为异形划分。
显然,凡是符合定义1 描述的网络场景,均不符合Hub-And-Spoke 架构的区域化设计准则,会给网络通信造成故障。从实际网络场景的网络拓扑结构设计上分析,多区域OSPF 异形划分有远端异形和分割异形两种存在形式。
远端异形是指在多区域OSPF 的划分中,所有的非骨干区域都在骨干区域Area0 的同一侧,形成一个或多个位于Area0 远端的非骨干区域,无法与骨干区域Area0 直连的拓扑形式,如图2 所示。在这种情况下,由于非骨干区域Area2 远离骨干区域Area0,即使非骨干区域Area1 和Area0 直接相连,区域边界路由器也无法将链路状态通告报文LSA发送至Area2,最终导致Area2 被孤立,无法与其他区域正常通信。
图2 远端异形划分
分割异形是指在多区域OSPF 划分中,骨干区域Area0 被其他非骨干区域割裂,形成范围更小且无法直接相连的多个Area0 区域的拓扑形式,如图3 所示。在这种情况下,骨干区域Area0 被非骨干区域Area1 分割,左右两边的Area0 无法交换LSA实现路由信息的传递。
图3 分割异形划分
在多区域OSPF 网络中,非骨干区域通过与骨干区域Area0 交换链路状态通告报文LSA 获取路由信息。远端异形和分割异形的不合理划分阻碍了OSPF 区域之间的LSA 交换,使得路由信息无法传递,最终造成通信故障。OSPF 虚连接(Virtual Link)技术[6]可以在两台区域边界路由器ABR 之间穿透非骨干区域,建立一条逻辑通道,实现两台ABR 的点对点通信。以下逐一分析远端异形和分割异形利用OSPF 虚连接解决通信问题的工作机制,并给出具体的实现方法。
远端异形的虚连接如图4 所示,非骨干区域Area1 与Area0 直连,而Area2 处 于Area0 的远端。若要Area0的LSA可以通过区域边界路由器ABR1传递至Area2,就必须使得Area0 和远端的Area2 建立直连关系。根据这种逻辑思路,OSPF 虚连接采用扩展和拉伸的方法,将骨干区域Area0 的范围延伸和扩展至Area1 和Area2 的区域边界路由器ABR2的位置,实现了与Area2的虚拟直连。
图4 远端异形的虚连接
分割异形的虚连接如图5 所示,骨干区域Area0 被非骨干区域Area1 分割成独立不相连的两个区域。这两个Area0 区域若要交换LSA 实现通信,同样需要跨过Area1 建立直连关系。考虑到这两个Area0 区域的对等性,在采用OSPF 虚连接进行拉伸和扩展时,可以从两侧Area0 区域向中间的Area1区域同时均衡伸展。此时形成的新骨干区域Area0 就覆盖了拓扑中的所有区域,原本割裂的两个Area0也就实现了虚拟直连。
图5 分割异形的虚连接
不论是远端异形还是分割异形,都可以通过OSPF 虚连接将骨干区域Area0 的范围拉伸和扩展至相邻的非骨干区域,从而使原本不能与骨干区域Area0相连的区域,最终可以实现与骨干区域Area0直连。该方法本质上是将与骨干区域Area0 相邻的非骨干区域拉伸和扩展,形成Transit Area,并且将Transit Area 虚拟成骨干区域,使得异形划分的非骨干区域能够成功获得其他OSPF 区域的路由。这些路由将从Inter-Area Route 转变为Intra-Area Route,路由的表示形式也将从OIA 改变为O 的形式。
在进行OSPF 虚连接拉伸和扩展时,具体的方法是将Transit Area中与骨干区域直连的ABR 和连接另一个常规区域的ABR 相连,连接这两个ABR时,使用双方的Router-ID 来连接。该方法的关键步骤如下所示:
Step 1:router ospfprocess id//声明OSPF的进程号
Step 2:router-idip-address//设置 该ABR的Router-ID
Step 3:networknetwork-address wildcard-maskareaid//指定该ABR直连的网络及所属区域
Step 4:areaidvirtual-linkrouter-id//指定该ABR直连的网络及所属区域
实验利用Packet Tracer仿真平台[7-8],设计了标准区域T0、远端异形区域T1和分割异形区域T2等3个拓扑对照组,如图6所示。其中,T0为已完成配置且网络收敛的标准对照组,用来验证2.3 节中所述方法对T1和T2的有效性。
图6 仿真实验拓扑结构
为保证实验数据的公正性,在3 个对照组的拓扑结构中,路由器均选用cisco 2811型号,线缆采用Copper Cross-Over,R2 和R3 均为ABR,路由器的具体配置参数如表1所示。
表1 路由器的配置参数
采用2.3节中所述的方法分别对T1和T2拓扑中的路由器进行详细配置,网络充分收敛后,显示R1的路由表并测试R1 ↔R2 ↔R3 ↔R4 的网络连通性。
如图7 所示,R1↔R2↔R3↔R4 的网络是连通的,R1 路由表路由信息来源中出现了OIA,表明这些路由成功地从Inter-Area Route 转变为Intra-Area Route。
图7 R1路由表和网络连通性测试显示结果
为了更进一步验证表1方法对于T1和T2两种异形区域通信效率的影响,通过统计3 个对照组收发不同数量ping 包的平均时延,对比T1、T2 与T0的离散程度,如图8所示。
图8 T0-T1-T2平均时延对比
通过对比分析发现,使用OSPF 虚连接方法配置的T1 和T2 在通信效率上与标准区域T0 基本持平,能够较好地实现OSPF 异形区域的正常通信。
本文通过分析多区域OSPF异形划分的两种存在形式,引入OSPF虚连接技术,成功解决了异形区域的通信问题。仿真实验的结果表明,该方法有效可行且通信效率维持了与标准划分的相同水准。虽然OSPF 虚连接可以解决此类故障,但在多区域OSPF 规划时,除非是出现不可抗力因素,否则应严格按照标准划分,避免出现异形区域,造成额外的路由通信负担。此外,在OSPF 虚连接的实现机制上,需要注意虚连接是在两个拥有共同区域的ABR 之间建立的,且其中至少有一个ABR 连接骨干区域。同时,OSPF 虚连接也需要建立OSPF 邻居,只不过邻居建立后,链路上没有hello 包传递。