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引入了同步规则:
当一台路由器从自