bgp防止网络产生环路的措施

bgp防止网络产生环路的措施,第1张

BGP的防环机制主要有2条:

第一是AS内部防环:通过IBGP水平分割来实现的,IBGP水平分割的基本思想是不把从IBGP邻居学到的路由传递给其他IBGP邻居

第二是AS间的防环:通过属性AS-PATH来实现,基本思想是:如果某台BGP路由器从其外部对等体收到某条路由的AS_PATH中包含有自己的AS号那么该路由器就知道出现了环路,因而丢弃该路由

至于楼上说的BGP同步,我觉的并不是用来防止环路,BGP同步主要是为了避免不必要的路由黑洞,

同步的定义:学习来自IBGP邻居的路由在进入IGP路由表或被宣告给EBGP对等体之前,必须首先通过IGP来知晓该路由;

       路由表的形成通常遵循4条原则,一是有效的下一跳IP地址,路由进程在收到更新后,首先会检查路由的下一跳IP地址是否有效;二是度量值(开销),如果下一跳有效,路由协议将按度量值最小的原则来选择给定目的地的最佳路径;三是管理距离(h3c和华为路由器叫优先级),如果从不同的路由来源获悉了多条前往同一个网络的路由,路由器会根据路由来源的管理距离来决定哪条路由加入路由表中;四是前缀(掩码),在路由表中可以有相同网络不同前缀的路由,如果有多条路由到同一个网络,哪么遵循最长掩码匹配原则,选择前缀最长的那条路由。

       下面我们就用一个案例来分析一下路由的选路过程,下图是一张层次化的网络结构,网络分为核心层,汇聚层,接入层。

       在以SDH为传输承载网的网络中,接入层采用E1链路上联汇聚层,接入带宽为2M,汇聚层采用STM-1链路上联核心层,接入带宽为155M,全网采用动态路由协议OSPF。OSPF路由器协议根据接口的配置带宽来计算开销, 公式是:100Mbit(参考带宽)÷接口带宽 ,小于1的取1,由于接口带宽即是实际带宽,所以没有必要对路由开销进行设计。从下图可以看出,二级分支机构1到总部的流量有两条路可以走,第一条路是经过一级分支机构1到总部,网络开销为50,第二条路是经过二级分支机构2和3,再经过一级分支机构2到总部,网络开销是146,依据上述原则第一条路是最佳路径。

        在以OTN为传输承载网络的网络中,骨干网采用BGP/MPLS VPN技术,利用BGP来传播私网路由,MPLS转发私网流量。在这里我们接入骨干网的网络就是一张私网或者VPN,有独立的VRF,在这种网络中我们可以采取两种方案,第一种是全网采用BGP路由协议,这种方式实施简单,但路由表数量庞大,对CE设备性能要求高,而且无法掌握数据包的转发径路,安全性低;第二种是利用BGP协议建立ip tuunel隧道,业务网络采用ospf及其他路由协议,把路由协议从功能上分离,这样组网灵活,流量转发可控,同时过滤掉无用的BGP路由,缩减BGP路由表,降低对设备性能的要求,好似在一个三层网络上又叠加了一个三层网络,底层的三层网络负责控制平面,上层的三层网络控制数据转发平面。其中Tunnel隧道是一种逻辑接口,不同设备厂商Tunnel接口的带宽默认值定义不一样,cisco是100kbit,h3c是64kbit,所以在这两种设备上的tunnel接口的ospf路由开销分别是1000和1562,如果不对路由开销进行设计将会导致路由回流,甚至路由环路。而路由开销设计有两种方法,一种是修改接口的bandwidth值,另一种是直接修改接口的cost值。下面就举两个典型的案例:

       案例一、路由回流,汇聚点流量从低带宽的二级分支机构回流到总部,在本案例中,tunnel采用默认值,开销是1000,哪么一级分支机构的流量将不会直接从tunnel 回总部,而是把二级分支机构的路由选为最优路由,因为从二级分支机构转发流量开销最低。除了考虑去程的路由,还要考虑回程路由,否则流量同样会从二级分支机构返回汇聚点。

      案例二、路由环路,路由表项在两台设备之间循环,最终导致数据包的ttl值耗尽而被丢弃。本案例对一级分支机构B机上行tunnel的cost值进行了设计, 而忽略了回程tunnel的cost值,导致了目的为二级分支机构3的路由在总部两台路由器上形成环路。形成环路除了路由开销外还有一个触发条件,就是二级分支机构3的路由区域没有和骨干区域直连,而是通过一级分支机构区域建立虚链路连接到骨干区域的,恰好一级分支机构路由器A和总部路由器A的虚链路邻接关系没有建立起来,只有一级分支机构路由器B和总部路由器B的虚链路的邻接关系正常,这就意味着到二级分支机构的路由只能从总部B机返回,而此时B机上的tunnel的路由开销是1000,从而使B路由器认为到达目的网络的最优路由在A机,A机则认为最优路由在B机,形成路由环路。

      在BGP/MPLS VPN网络中,至少存在两种或两种以上的路由协议,在这个场景中包含了BGP和OSPF两种路由协议。网络设备厂商对不同来源的路由设定了不同的管理距离,管理距离越小说明路由协议可信度越高,cisco设备路由协议的默认管理距离是,直连路由0,静态路由1,ebgp路由20,eigrp路由90,ospf路由110,rip路由120,ibgp路由200。而在h3c或者华为设备中的管理距离被命名为优先级,优先级越低,协议的可信度越高,其默认值是,直连路由0,ospf路由10,静态路由60,rip路由100,ibgp和ebgp路由都是255。如果bgp和ospf路由协议中都有到网络192.168.1.0/24的路由(这里bgp的路由是ebgp),哪么在cisco设备中选用ebgp的路由为最佳路由,在h3c设备中则选择ospf的路由为最佳路由。所以在路由协议的规划中要防止相同的网络在不同路由协议中通告,如果无法避免可以采用路由过滤,但不建议修改路由协议管理距离的默认值。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/258415.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存