科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道IP城域网缺省路由规划--第三课

IP城域网缺省路由规划--第三课

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

导致这些问题的根本原因是CR在其上行出口故障的情况下仍下发IGP缺省路由误导上行流量所致。

作者:巧巧读书 来源:巧巧读书 2008年5月27日

关键字: 城域网 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路由明细路由而被全部丢弃,而不是在接入层设备上直接丢弃,浪费了城域网的带宽并给问题定位和维护带来困难。如下图所示:

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

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

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

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章