城域网缺省路由下发 - 图文

更新时间:2024-03-15 09:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

下面讲讲如何在IP城域网中规划缺省路由。

比如电信 的城域网,一边上行163,一边上行CN2,163是Internet的出口,而CN2上面基本上都是电信的一些自己的业务。

我们不可能白痴到把所有internet的路由都引入到城域网里面,因为里面可能有一些低端的路由器,不能够承受这么大的路由表,另外过多的路由也为查找带来不便,所以我们只用确省路由,目前在城域网里面用的是OSPF,而OSPF由于不支持TLV所以扩展性很差,目前电信正在把OSPF向ISIS协议迁移,毕竟ISIS还是有自己的一些优点的。

在典型的IP城域网中,一般仅在城域网核心出口路由器上部署BGP接收骨干网国内汇总路由甚至Internet全球路由,城域网内部其它设备都通过部署指向核心出口路由器的缺省路由(0.0.0.0/0)引导上行流量,所以城域网内部缺省路由的规划部署是城域网路由规划的重点。本文重点讨论城域网使用动态路由协议OSPF、ISIS时缺省路由的规划。

城域网核心出口路由器上配置EBGP与骨干网之间交互路由信息,城域网内部从核心层到接入层部署统一的IGP(OSPF/ISIS)承载扩散城域网内部路由。

典型的城域网路由部署策略:

1. 城域网用户及接入、汇接层设备全部使用缺省路由引导出城域网的上行流量。

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

由此可见,城域网缺省路由规划的好坏,不仅影响城域网上行流量的均衡,而且直接影响所有出城业务的可靠运行。

1、Internet骨干网(如中国电信163骨干网)通过EBGP 向城域网动态下发BGP缺省路由和本运营商国内汇总路由(也可以下发整个Internet路由,目前约17万条)。

2、城域网核心出口路由器接收骨干网下发的EBGP缺省路由(缺省路由参数相同),同时使用IGP强制下发缺省路由扩散到城域网所有运行IGP的三层设备(路由器、L3交换机)。

IGP强制下发缺省路由方法的特点(以OSPF为例):使用强制方式下发缺省路由时路由器不作任何检查无条件生成type5缺省路由向整个OSPF路由域扩散;同时路由器不再学习本OSPF进程其它路由器下发的type5缺省路由。

如上图所示,城域网中所有汇接层、接入层设备到上层设备的2条上行链路等带宽,OSPF链路cost值使用参考带宽统一自动计算。2台核心出口路由器上通过接收骨干网EBGP缺省路由引导上行流量到骨干网;由于2台核心出口路由器CR1、CR2同时以强制方式下发OSPF缺省路由,在所有的BR、AR、BAS设备上都会存在2条OSPF type5等值缺省路由引导上行流量负载分担到2台CR,整网实现了很理想的上行流量负载均衡。

但是在城域网核心出口路由器(CR1/CR2)上行链路故障的情况下,由于IGP强制下发缺省路由方式的特点,导致在典型双出口(或多出口)的IP城域网中使用这种部署策略存在非常严重的隐患。详见下一课。

IGP强制 下发缺省路由方案存在的问题:

下面以OSPF为例说明存在的隐患和问题发生的条件。

问题1、当一台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)故障时,城域网一半的出网上行流量需要穿透CR间的互连链路绕行到另一台CR后上行到骨干网,造成次优路径并导致CR间互连链路流量激增甚至被占满(当城域网上行流量很大且CR间互连链路带宽小于CR的上行链路带宽时很有可能带宽被占满),进而CR间流量转发时延增大、部分上行流量因带宽不足被丢弃而造成业务质量严重下降的严重后果。如下图所示:

从上图我们可以看出,导致该问题的原因是:CR2上行连接故障后,仍然下发OSPF缺省路由引导上行流量,而此时CR2上的缺省路由和Internet骨干网下发的其它BGP路由已由正常时指向骨干网的EBGP路由变更为通过IBGP从CR1学到的IBGP路由,下一跳都指向CR1。

问题解决方法:可以通过增加CR间互连链路带宽大于等于CR上行带宽的方法解决流量丢失和转发时延变大问题,但无法解决次优路径问题。最根本的解决方法是此时CR2停止下发OSPF缺省路由;但该方法在CR2使用强制方式下发缺省路由时无法实现。

问题2、当一台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)故障,同时CR间互连链路也出现故障时,上行链路故障的CR到所连接的各个汇接层BR设备间形成缺省路由环路,导致城域网一半的出网上行流量转发跳数增大(因缺省路由环路)并有小部分流量因过度循环(TTL=0)而直接丢失的严重后果。如下图所示:

关于上图中CR2上等值缺省路由数量的说明:

由于2个CR间一般通过Loopback地址建立IBGP对等关系,所以当CR2支持基于IGP迭代的BGP路由负载分担时(如VRP5.x)就会形成4条等值缺省路由,下一跳分别指向CR2下连的4台BR的接口地址。当CR2不支持IBGP迭代负载分担时(如VRP3.3及以下版本)时,CR2上只有1条缺省路由,指向一台BR(如图中的BR4)。

流量丢失比例的计算:

CR使用VRP5版本时,按上图4台BR计算,CR、BR采用逐包的负载分担方式,如果假设到达所有BR的出网上行流量(匹配缺省路由)的TTL值为5,则流量因过度循环TTL超时导致直接丢失的比例为1/4(255-5),BR数量越多、流量到达BR时的TTL值约小,流量丢失的比例也越小。当CR、BR采用逐流的负载分担方式时,因无法确定一个BR转发到CR2的流量一定会转发回来,所以无法准确计算流量丢失的比例,但肯定也存在这个问题。

CR使用VRP3.3及以下版本时,假设CR2上缺省路由下一跳为BR4,因为CR2上只有一条缺省路由指向BR4,则整个城域网的一半流量将由CR2转回到BR4,如果BR4采用逐流的负载分担方式,则有近1/4的出网上行流量因路由循环导致 TTL超时而直接丢失。采用逐包的负载分担方式,如果假设到达所有BR的出网上行流量的TTL值为5,则流量因过度循环TTL超时导致直接丢失的比例大概

为1/2×2(255-5),流量到达BR时的TTL值约小,流量丢失的比例也越小。

从以上分析看,当CR、BR使用VRP5或使用VRP3但同时采用逐包负载分担方式时,流量丢失的比例很小;但当使用CR、BR使用VRP3且同时采用逐流负载(VRP3的缺省分担方式)分担方式时,流量丢失的比例很大,问题非常严重。

从上图我们可以看出,导致该问题的原因是:CR2上行连接故障后,仍然下发OSPF缺省路由引导上行流量,而此时CR2上的缺省路由已由正常时指向骨干网的EBGP路由变更为通过IBGP从CR1学到的IBGP缺省路由,同时因CR间链路故障,下一跳指回了BR所致。

问题解决方法:此时CR2停止下发OSPF缺省路由;但该方法在CR2使用强制方式下发缺省路由时无法实现。

问题3、当2台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)同时故障时,城域网所有的出网上行流量全部被转发到CR后因CR上已没有到骨干网的缺省路由和Internet骨干网下发的BGP路由明细路由而被全部丢弃,而不是在接入层设备上直接丢弃,浪费了城域网的带宽并给问题定位和维护带来困难。如下图所示:

下面仍以OSPF为例说明解决方案。

IGP非强制下发缺省路由方法的特点(以OSPF为例):使用IGP非强制方式下发缺省路由时,路由器首先检查本地路由表,仅当本地路由表中存在一条以上活动(active)的缺省路由且该缺省路由不是通过本OSPF进程学到的缺省路由时,路由器才会生成type5缺省路由向整个OSPF路由域扩散;同时,路由器也学习本OSPF进程其它路由器下发的type5缺 省路由;如果学到本进程的OSPF缺省路由协议优先级优于当前路由表中的活动缺省路由,则路由器优选本进程OSPF路由并停止下发type5 OSPF缺省路由。

从上面问题分析来看,我们完全可以采用IGP非强制缺省路由下发方式配合合理的路由协议优先级的调整使得CR上行出口故障时永远优选

本进程OSPF缺省路由来解决强制方式存在的这些问题。

1、在2台CR上调整各类缺省路由的协议优先级,使得协议优先级满足以下条件:EBGP缺省路由>IGP缺省路由>IBGP缺省路由(>代表优先)。

2、2台CR上配置IGP以非强制方式下发缺省路由(缺省路由参数相同)。 具体配置和缺省路由情况如下图所示:

正常时2台CR上均存在2条缺省路由(一主一备):

主用缺省路由:EBGP缺省路由,指向直连的Internet骨干网路由器。 备用缺省路由:本进程OSPF缺省路由,指向另一台CR的互连接口。 对问题1的消除:当一台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)故障时,如下图中CR2上行出口故障。此时CR2上EBGP路由(包括EBGP缺省路由)失效,指向CR1的本进程OSPF缺省路由成为新的活动缺省路由,CR1此时因已不满足非强制下发IGP缺省路由的条件而立刻停止下发OSPF缺省路由,新的活动缺省路由和所有到Internet骨干网的BGP路由同时指向CR1。此时汇接层所有BR仅存在一条指向CR1的OSPF缺省路由,所有出网上行流量被自动全部引导到CR1上,不再通过CR2绕行。如下图所示:

对问题2的消除、当一台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)故障,同时CR间互连链路也出现故障时,如下图中CR2上行出口故障同时CR间互连链路也故障。此时CR2上EBGP路由(包括EBGP缺省路由)失效,指向CR1的本进程OSPF缺省路由成为新的活动缺省路由,CR1此时因已不满足非强制下发IGP缺省路由的条件而立刻停止下发OSPF缺省路由,新的活动缺省路由和所有到Internet骨干网的BGP路由同时通过IGP收敛后指向BR(存在4条等值OSPF缺省路由,IBGP路由是否也通过迭代形成4条等值路由与CR的VRP版本相关)。此时汇接层所有BR仅存在一条指向CR1的OSPF缺省路由,所有出网上行流量被自动全部引导到CR1上,不再形成路由环路。如下图所示:

对问题3的消除、当2台核心出口路由CR的上行链路(或到Internet骨干网的EBGP连接)全部故障时。此时2台CR上的EBGP路由(包括EBGP缺省路由)全部失效,2台CR上都不存在活动的缺省路由,此时因已不满足非强制下发IGP缺省路由的条件而同时停止下发OSPF缺省路由。此时所有接入层、汇接层BAS、AR、BR通过IGP收敛都不存在可用的缺省路由,所有出网上行流量在接入层AR、BAS被自动本地直接丢弃,不会占用城域网骨干网带宽。如下图所示:

从上图我们可以看出,导致该问题的原因是:2台CR上行链路(或到Internet骨干网的EBGP连接)同时故障后,仍然下发OSPF缺省路由引导上行流量,而此时2台CR上的都已经没有缺省路由,形成了缺省路由黑洞。

问题解决方法:此时 2台CR停止下发OSPF缺省路由;但该方法在CR使用强制方式下发缺省路由时无法实现。

问题原因总结:从以上分析可以看出,导致这些问题的根本原因是CR在其上行出口故障的情况下仍下发IGP缺省路由误导上行流量所致。

针对上面的问题,大家可以想想怎么解决,也可以在虚拟机上实际做一做,看看能不能做出来,看起来很简单,实际不是那么容易的!

从上图我们可以看出,导致该问题的原因是:2台CR上行链路(或到Internet骨干网的EBGP连接)同时故障后,仍然下发OSPF缺省路由引导上行流量,而此时2台CR上的都已经没有缺省路由,形成了缺省路由黑洞。

问题解决方法:此时 2台CR停止下发OSPF缺省路由;但该方法在CR使用强制方式下发缺省路由时无法实现。

问题原因总结:从以上分析可以看出,导致这些问题的根本原因是CR在其上行出口故障的情况下仍下发IGP缺省路由误导上行流量所致。

针对上面的问题,大家可以想想怎么解决,也可以在虚拟机上实际做一做,看看能不能做出来,看起来很简单,实际不是那么容易的!

本文来源:https://www.bwwdw.com/article/ze18.html

Top