问题描述
在 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网络的可扩展性较差:当新增设备后,全部都要配置互联;