BGP路由黑洞问题及BGP同步规则

您所在的位置:网站首页 鱼刺图的主要作用是什么 BGP路由黑洞问题及BGP同步规则

BGP路由黑洞问题及BGP同步规则

2023-03-18 04:42| 来源: 网络整理| 查看: 265

BGP路由黑洞出现为原因

两台BGP设备之间无需直连,只要IP连通,并且能够建立TCP连接,就能够建立BGP对等体,这个特点使路由传递更加灵活,但是也可能带来一个问题,就是路由黑洞问题。 在这里插入图片描述如上图,已知AR1、AR2、AR3、AR7运行了BGP协议,AS34567内的其他路由器运行了OSPF协议,并且AR4、5、6由于运行了OSPF协议的缘故,知道到达该AS内的各个点位。 此时,AR1将一条1.0.0.8/8这个路由条目,传递给了EBGP对等体AR3,AR3再将这条路由条目通告给了AR7,此时AR3也将这条路由条目的Next-Hop设置为了自己,AR7收到这个路由条目后,通告给了AR2,最终AR2将这个路由条目加入到了路由表中。 当AR2想要访问1.0.0.8/8时,需要查询路由表,发现下一跳时AR7,AR7收到这个数据包后查询,到达该路由需要经过AR3这个IBGP邻居,但是与AR3建立的IBGP邻居是跨设备建立的,因此,需要通过OSPF协议进行传递该数据包,随后AR7意识到想要到达AR3需要将数据包传递给AR4,AR4收到这个数据包后,发现自己的路由表中并没有1.0.0.8/8这个路由条目,R4也没有运行BGP协议,因此,出现了路由黑洞。

解决方式

为了规避路由黑洞的出现,BGP引入了同步规则: 当一台路由器从自己的IBGP对等体学习到一条路由,那么该设备不能将该路由条目传递给EBGP对等体,除非他又从IGP协议学习到该路由。

例如,本案例中,AR7收到了AR3传递过来的1.0.0.8/8这条路由后,缺省情况下是不会使用这个路由的,因为AR3收到EBGP对等体发送过来的路由条目后,不会更改下一跳地址,AR7收到该路由后,发现下一跳地址不可达, 不会将该路由加表,当然,这条路由也由于启用了同步规则,不会再传递给AR2这个EBGP对等体,因此就规避了路由黑洞。如果,AR7通过IGP协议学习到了去往1.0.0.8/8这条路由时,或者拥有去往1.0.0.8/8的静态路由时,就说明这个数据包是可以转发到目的地的,就可以放心的通告给其他的EBGP对等体了。

在AS34567所有设备都启用BGP: AR4、5、6都启用BGP协议,并且建立IBGP全互联。

进行路由重分发: 将AR3的BGP路由引入到AS34567中的OSPF,让OSPF能够获知到1.0.0.8/8这个路由的路径,这样AR7即从IBGP对等体能够获知到该路由,又能够从IGP协议中获知,因此解决了路由黑洞问题。

采用MPLS: 大体来说就是,将IP头部之前,数据帧头之后,加入一个标签头部,IP头部躲藏在标签头部之后,然后在转发过程中,经过的设备只需要根据标签头部进行转发该数据包,并进行选路,也能解决路由黑洞问题。

BGP路由通告原则

1、当一台BGP路由器发现了多条可以到达同一地址的路由条目,该设备会通过一个路由选择进程在这些路由条目中选择一条最优的路由,加入到路由表中使用,并且在向BGP邻居通告路由条目时,也只会通告最优的路由。 2、当一台路由器从EBGP对等体学习到了BGP路由时,缺省情况下,会将该路由条目通告给所有的IBGP对等体以及EBGP对等体。 3、当一台路由器从IBGP对等体收到一个路由条目后,他不会将该路由条目通告给其他的IBGP对等体——IBGP水平分割原则。 4、当一台路由器从自己的IBGP学习到BGP路由时,如果同步被激活,只有从IGP协议也学习到该路由条目后,才会将该路由条目通告给EBGP对等体;如果同步被关闭,即使没有从IGP学习到相应的路由,也会通告给EBGP对等体。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3