有条件 – 在管理员确定网络无环的前提下,人为的打破水平分割限制建设邻居关系的数量;由于IBGP内存在IBGP水平分割—避免IBGP环路—从一个IBGP邻居处学习到的路由条目不能传递给本地的其他IBGP邻居;

虽然BGP可以非直连建邻,故正常一台运行了BGP协议的路由器,均存在EBGP邻居,需要从其他AS学习路由条目,再共享到内部AS时,但由于水平分割的存在,需要和本地AS内所有的BGP设备建立IBGP邻居关系;所以IBGP邻居关系的数量成指数上升;,配置非常不方便。

以下给出常用两种解决方案

【1】:路由反射器

存在3种角色,RR(反射器) 客户端 非客户端

3者构建一个簇;可以理解为RR为中心站点,客户端或非客户端是分支站点要求所有分支与中心必须是IBGP邻居关系(即在一个AS内);

在一个簇中至少存在一台客户端;

下图中,R3为反射器中心站点

bgp水平分割机制 bgp的水平分割_客户端

1:IGP使AS2内部可通

r2]ospf 1 router-id 2.2.2.2
 [r2-ospf-1]area 0
 [r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0 
 [r2-ospf-1-area-0.0.0.0]network 23.1.1.1 0.0.0.0
 R3\4\5同理

EBGP R1 R2建邻

[r1]bgp 1
 [r1-bgp]router-id 1.1.1.1
 [r1-bgp]peer 12.1.1.2 as-number 2
 [r2]bgp 2
 [r2-bgp]router-id 2.2.2.2[
 r2-bgp]peer 12.1.1.1 as-number 1

IBGP R2\3\4\5内部建邻

[r3]bgp 2
 [r3-bgp]router-id 3.3.3.3
 [r3-bgp]peer 2.2.2.2 as-number 2
 [r3-bgp]peer 2.2.2.2 connect-interface lo 0
 [r3-bgp]peer 4.4.4.4 as-number 2
 [r3-bgp]peer 4.4.4.4 connect-interface lo 0
 [r3-bgp]peer 5.5.5.5 as-number 2
 [r3-bgp]peer 5.5.5.5 connect-interface lo 0
 R2\4\5同理

bgp水平分割机制 bgp的水平分割_bgp水平分割机制_02


在R1上宣告路由

例:[r1]bgp 1

[r1-bgp]network 1.1.1.0 24

在R2上可直接学到,且优

bgp水平分割机制 bgp的水平分割_R3_03


在R2|3上改变属性让其传递给R3时为优

[r2]bgp 2 
 [r2-bgp]peer 3.3.3.3 next-hop-local
 [r3]bgp 2
 [r3-bgp]peer 2.2.2.2 next-hop-local

做路由反射器

[r3]bgp 2
 [r3-bgp]peer 2.2.2.2 reflect-client----邻居2.2.2.2成为R3的客户,则同时说明R3为本地反射器即中心站点

6、再验证RR从一台非客户端邻居处学习到的路由条目,可以传输给本地的客户端,其他EBGP邻居;不得传输给本地的其他非客户端;在R4非客户上宣告

[r4]bgp 2
 [r4-bgp]network 4.4.4.0 24
 RR

bgp水平分割机制 bgp的水平分割_bgp水平分割机制_04


客户端R2:

bgp水平分割机制 bgp的水平分割_R3_05


但在非客户端R5上

bgp水平分割机制 bgp的水平分割_bgp水平分割机制_06