「BGP」- 路由通告相关问题(IBGP)

  CREATED BY JENKINSBOT

问题描述

在 AS 中,IBGP Peer 的路由通告机制将引入一些问题:

水平分割

IBGP 存在水平分割,即 IBGP Peer 传来的路由,不会再传递给其他 IBGP Peer;

已知环境:
1)AR1 ⇐ (EBGP Peer) ⇒ AR2 ⇐ (IBGP Peer) ⇒ AR3 ⇐ (IBGP Peer) ⇒ AR4 ⇒ (EBGP Peer) ⇒ AR5
2)AR1 通告 10.1.1.1/32 路由
3)但是 AR2 并通告 AR3,但应水平分割要求,AR3 不会将该 BGP Route 通告给 AR4
4)进而导致 AR4 无法访问 10.1.1.1/32

数据黑洞

已知环境:
1)AR1 ⇐ (EBGP Peer) ⇒ AR2 ⇐ (IBGP Peer) ⇒ AR4 ⇒ (EBGP Peer) ⇒ AR5
2)AR1 通告 10.1.1.1/32 路由
3)在 AR2 配置 peer x.x.x.x next-hop-local 特征,此时 AR4 收到路由条目变为有效(Next-Hop 10.1.2.2),

问题描述:
但是 AR4 ping 10.1.1.1 依旧失败。

原因分析:
因为 AR3 没有到达 10.1.2.2 的路由,因此会在 AR3 发生丢包。

解决方案

Full Mesh(全互联模型)
Route Reflector(路由反射器)

Full Mesh

其中的一种解决方案就是使用 Full Mesh —— 将 AR2 AR3 AR4 两两创建邻居关系,并且还要使用 next-hop-local 来修改路由下一跳地址。

建立 IBGP Peer 全互联模型(Full Mesh),即两两设备创建 IGP 关系

实现 IBGP Full Mesh 存在诸多短板:
1)路由器需维护大量的TCP及BGP连接,尤其在路由器数量较多时,这会加重设备的负担
2)AS 内 BGP网络的可扩展性较差:当新增设备后,全部都要配置互联;