城域网下发缺省路由导致路由环路的故障分析

时间:2022-09-10 07:32:18

城域网下发缺省路由导致路由环路的故障分析

【摘要】 目前三大运营商的城域网路由部署策略都普遍采用BGP+IS-IS的模式,即城域网的核心出口路由器和骨干层路由器之间运行BGP协议来交互路由信息,而在城域网内部,则通过IS-IS协议来承载扩散从核心层到接入层的内部路由。本文主要解析了在BGP+IS-IS组网环境下出现路由环路的一个案例及其解决方案。

【关键词】 IS-IS BGP 路由环路 缺省路由

IS-IS(Intermediate System-to-Intermediate System intra-domain routing information exchange protocol,中间系统到中间系统的路由选择协议)和OSPF都是基于链路状态算法的一种路由协议,采用SPF(Shortest Path First,最短路径优先)算法来生成相关路由表项,两者都属于内部网关协议(IGP),广泛应用于自治域(AS)系统内部。IS-IS相比OSPF,没有OSPF那么多的LSA(Link State Packet,链路状态分组),区域类型也很简单,在现网应用中,启用IS-IS协议,大多数时候只划分一到两个区域。因此,在算法的具体实现上,IS-IS收敛速度更快,更适合大规模路由器组网的环境当中。

BGP (Border Gateway Protocol,边界网关协议)主要处理各自治域之间的路由传递。作为一种外部网关协议(EGP),与内部网关协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。

目前,典型的城域网路由部署策略如下:

①城域网从汇聚层、接入层到宽带用户全部使用缺省路由来引导出城域网的上行流量。

②在城域网核心出口路由器上集中使用BGP进行城域网路由的汇总和,引导从骨干网进入城域网的下行流量。

路由环路(Routing Loops)指到达某个目标网络的数据分组在多个路由器之间循环传送,是网络中经常出现的一个故障,路由环路的问题通常比喻为网络中产生了一个黑洞。一旦IP报头中的生存期(TTL)减到0就会丢弃分组。而在城域网的BGP+IS-IS的组网中,路由环路也时有发生。

一、导致路由环路产生的网络环境

如图1所示,路由器 RouterA、RouterB、RouterC、RouterD属于同一自治域系统(AS100),彼此之间通过IS-IS协议达到IP 网络互连的目的,RouterE属于另一自治域(AS200)。

IS-IS在路由域内通常采用两级的分层结构。一个大的路由域可被分成一个或多个区域(Areas)。区域内的路由通过Level-1(简称L1) 路由器管理,区域间的路由通过Level-2(简称L2) 路由器管理。L1 路由器只能与相同区域里的路由器形成邻居关系,即L1路由器只与L1 或Level-1-2(简称L1-2)路由器形成邻居关系。而L2 路由器可与跨区域的路由器形成邻居关系,即 L2 路由器与L1、L1-2 路由器 和L2 路由器均可形成邻居关系。

在该网络环境中,RouterA、RouterB 、RouterC、RouterD的区域号为10,RouterC和RouterD为L1 路由器,RouterA和RouterB为L1-2 路由器。RouterA作为AS100的出口路由器,与AS200的路由器RouterE之间运行EBGP协议,同时, RouterA、RouterB分别对RouterC、RouterD下发了IS-IS缺省路由,因而导致路由环路的出现。

二、故障分析流程

第一步:在RouterA设备上执行命令display bgp routing-table,检查RouterA的BGP路由表信息内容,有一条到RouterE(192.168.0.2)的BGP缺省路由,如图2所示,说明RouterE下发至RouterA的BGP缺省路由成功。

图2 RouterA上BGP路由表内容

第二步:分别在RouterC和RouterD上执行命令display ip routing-table,检查两台路由器上的IP路由表,如图3、图4所示,RouterC的缺省路由指向了RouterA(10.10.2.1),RouterD的缺省路由指向了RouterB(10.10.3.1),说明RouterA、RouterB下发至RouterC、RouterD的IS-IS缺省路由成功。

图3 RouterC的路由表信息

图4 RouterD的路由表信息

第三步:分别在RouterA 和RouterB上执行命令display ip routing-table,检查RouterA 和RouterB的IP路由表信息,如图5、图6所示,发现RouterA的缺省路由指向了RouterB(10.10.10.2),RouterB的缺省路由指向了RouterA(10.10.10.1),形成了路由环路。

图5 RouterA的路由表信息

图6 RouterB的路由表信息

RouterE通过EBGP对RouterA下发了BGP缺省路由,图2中已经显示下发成功,但由于IS-IS协议的优先级比BGP协议的优先级高(IS-IS的优先级是10,BGP默认为255),因此,RouterA将缺省路由的下一跳指向了RouterB,这样就形成了路由环路。

三、解决方案

首先在RouterB去掉下发的缺省路由,命令为:undo default-route-advertise;然后在RouterA查询路由表信息,如图7所示,可以看到RouterA的缺省路由的下一跳地址已经从图5所示的10.10.10.2变为192.168.0.2,成功指向了RouterE,该路由环路故障排除。

图7 RouterA的路由表信息

四、故障分析总结

在大的组网环境中,往往不同层次之间会采用不同的路由协议,而不同的路由协议,其优先级是有区别的。因此在BGP+IS-IS的路由环境中,配置缺省路由时要注意避免出现因路由协议优先级不同而造成的路由环路。

作者简介:殷文珊 (1975-),女,湖南岳阳人,湖南邮电职业技术学院教师,工程师,研究方向:宽带通信技术

基金项目:湖南邮电职业技术学院科研项目“三网融合趋势下通信企业运维人员岗位及技能标准的研究” 课题编号:2012AZ02

参 考 文 献

[1]潘登;基于原因分析的BGP路由振荡抑制技术[D];电子科技大学;2010年

[2]李俊杰;ISIS路由协议中路由计算研究[J];现代电子技术;2011年19期

[3]王娜;ISIS在联通IP承载网中的设计与应用[D];西安电子科技大学;2010年

上一篇:遗传神经网络在腔体滤波器结构参数优化中的应... 下一篇:对于计算机通信网络互连技术的探讨