您好, 访客   登录/注册

BGP路由协议实际应用中的问题及解决方案

来源:用户上传      作者: 李玮 孙丹青 袁荣宇

  [摘要]BGP作为目前Internet骨干网上常用的核心路由协议,亦是应用最为广泛的路由协议之一,是整个Internet稳定运行的基础。但在部署过程中,BGP日益凸显出路由不稳、扩展性受制以及慢收敛等方面的问题,而且伴随着互联网不断扩大发展导致网络结构复杂化,上述问题也愈发严重。本文对上述问题出现的原因进行分析,欲从直接方式以及间接方式对该问题加以解决,希望对今后的BGP的应用发展有所借鉴作用。
  [关键词]BGP 路由协议 问题 解决方案
  前言:
  BGP即边界网关协议,作为当前多数路由器生产商普遍采用并实现产品支持的协议,主要作用在路由器不同自治系统之间或者同一自治系统内,其稳定性将会对整个网络运行可靠性造成直接的影响。随着网络已经覆盖了日常生活的方方面面,已经给现如今人们的生活方式带来巨变,因此现阶段对于网络的稳定性也有着更高的要求,对此研究BGP在应用过程中存在的问题,并采取有效措施予以解决就有着重要的实际价值。
  一、BGP实际应用过程中存在的问题
  1.1路由不稳定
  造成路由不稳定的原因为网络可达性或者是拓扑信息急剧变化,也被人们称为“路由振荡”。路由不稳定不但会增加网络丢包率还会增加收敛时间,严重时会导致终端性能受损,影响网络正常工作。导致路由不稳定的因素有很多,可归为两大类:第一,生产路由器时的软硬件抉择。部分路由器厂商收到路由更新问题时,因为BGP实现中没有对等体路由信息进行维护,所以他们不管有没有向其发送相应更新,只是简单的做出等体转发。第二,配置问题。由于某路由的交互信息对域外的其他路由器是不可见的,致使很多错误的配置不容易定位,因此,仅仅是ISP错误配置就会导致一部分网络崩溃。
  1.2慢收敛特性
  BGP的另一个问题就是慢收敛特性,虽然域内路由协议能够有数十毫秒级左右的收敛时间,但与PSTN的收敛时间相对比要慢得多了,而且,若是某处发生故障问题,要想达成对互联网拓扑共识还要花费很长时间。最早我们都认为是由于CPU处理时延和排队延迟造成的,但真正的原因极有可能是不同生厂商的协议实现抉择和协议定时器出现配置错误造成的。由于BGP使用了路径向量算法,这就能够减少不必要的更新传播以及避免路由坏路。但即使是这样,也不能破解路由反弹问题,还可能会使振荡的次数以指数增加。
  1.3可扩展性受制
  路由资源占用比以及链路资源占用比两者是评价路由可扩展性的重要指标,BGP使用的是递增更新机制,所以其链路资源占用比非常小。BGP所占用的路由资源主要有如下两方面的内容,第一,CPU资源占用。在网络拓扑相对较为稳定时,BGP此时并不会占用过多的CPU,一旦出现网络拓扑变化,此时CPU资源将会进行消息处理以及策略计算。第二,路由器内存损耗。对于BGP在可扩展方面而言,其影响因素主要是互联网内的网络层数、路由策略复杂程度以及BGP会话数。
  二、BGP实际应用过程中存在问题的有效解决措施
  2.1直接方法
  直接方式主要是对BGP进行改造,从而使其功能得到增强。可以采用的方式是采用路由衰减,该方式保证对等体所获取的路由前缀具有一定的惩罚值,这个惩罚值依照路由更新所属种类的不同在其基础上增加或者是降低某一固定值,诸如接收到的通告更新与撤销更新,惩罚值所要增加的固定值便是不一样的。一旦惩罚值大于该路由器所设定的抑制阈值时,该前缀将不会继续使其进行数据报文方面的转发。此外,惩罚值还会在一定时间内根据指数函数进行递减,当惩罚值减小至路由器所设定的启动阈值时,该路由变回可用路由,参与路由优选。
  2.2迂回方法
  可以采用的方式有路由服务器、Detour网络以及弹性覆盖网络三种方式。其中路由服务器得到了普遍的应用,已经是目前网络基础设施中重要的组成部分,而Detour网络目前尚不成熟,存在这诸多的问题,因此要对其进行深入的研究,弹性网络覆盖作为与分布式网络相适应的方式,可以依据自身关心参数实现路由选择。
  三、结语
  路由器作为目前网络中普遍应用的设备,除数据转发性能外,稳定性也是人们重点关注的因素。本文通过BGP路由协议呈现出的问题加以浅层分析,提出对应的解决方案,希望实现问题的有效解决。也希望通过本文提出的应对办法,对路由器生产厂商、相关研究人员有所帮助,从而在此基础上研究出完整的解决方案。
转载注明来源:https://www.xzbu.com/1/view-7746020.htm