IBGP水平分割
打破IBGP 水平分割机制 : 1.路由反射器 2.EBGP联邦

路由反射器

路由反射器定义RR服务器端、RR客户端、RR非客户端

反射规则: 非非不传

1.将EBGP邻居学习路由,传递给其他的EBGP邻居、IBGP客户端邻居、IBGP非客户端邻居

2.将IBGP客户端邻居学习路由,传递给EBGP邻居、其他的IBGP客户端、IBGP非客户端邻居

3.将IBGP非客户端邻居学习路由,传递给EBGP邻居、IBGP客户端邻居,不能传递给其他的IBGP非客户端

在路由反射器中打破了水平分割机制,增加了cluster-id

RR反射器会把自己的router-id(默认情况下)加入到簇ID,与AS-PATH一致,可以起到防环的目的。

Cluster id 防环:类似于router-id

但是单是引入这个簇ID,不一定完全解决环路的问题,比如和边界RR客户端建立邻居,会选择IBGP学习?还是EBGP呢?所以引入起源者属性

Original :起源者,第一个RR反射器会把自己客户端邻居的router-id作为起源者加入路由条目中,起到防环的作用。

部署:(RR反射器条件必须存在一个客户端)

拓扑结构:

R1R2 EBGP邻居 R2 R3 R4 R5建立IBGP关系

BGP水平分割怎么解决 ibgp水平分割_客户端


BGP水平分割怎么解决 ibgp水平分割_R3_02


BGP水平分割怎么解决 ibgp水平分割_R3_03


BGP水平分割怎么解决 ibgp水平分割_R3_04

BGP水平分割怎么解决 ibgp水平分割_路由器配置_05

查看R4是不会收到路由的,这就是IBGP水平分割导致,让R3 R4做路由反射器

BGP水平分割怎么解决 ibgp水平分割_路由器配置_06


宣告R4为自己的客户端,同时R3自己为反射器

BGP水平分割怎么解决 ibgp水平分割_BGP水平分割怎么解决_07

查看

BGP水平分割怎么解决 ibgp水平分割_客户端_08


BGP水平分割怎么解决 ibgp水平分割_路由器配置_09


BGP水平分割怎么解决 ibgp水平分割_R3_10

手动修改簇ID

BGP水平分割怎么解决 ibgp水平分割_路由器配置_11


修改簇ID不会影响建立邻居,但是会影响路由学习,上述命令修改R3的簇ID是4.4.4.4,那么R4就不会学习对方的路由了,包含自己的簇ID。

BGP水平分割怎么解决 ibgp水平分割_R3_12


关闭路由反射器client-to-client路由传递(让客户端与客户端之间不能反射)

BGP水平分割怎么解决 ibgp水平分割_R3_13

缺点:反射器收到两个或多个到达同一目标路径时会判断出最优的路由然后反射给客户端和非客户端路由器,这样一来这些设备就丧失了多条路径判断最优的权力。
EBGP联邦:
并没有像反射器那样直接打破水平分割,而是在一个大的AS中,建立小的AS
在EBGP联邦邻居建立和路由学习过程中存在IBGP和EBGP邻居的特性:
IBGP特性:EBGP链路学习的的路由下一跳不发生变化,学习到的路由AD值为200
EBGP特性:在EBGP 联邦邻居建立过程中,进行直连检测

问题:

一、R2既然创建了AS23,那么怎么知道和别人建立采用AS23,还是AS100.

如果自己remote-as是23,那就使用AS23,如果不是就采用100

BGP水平分割怎么解决 ibgp水平分割_路由器配置_14


二、对于R3 R4路由器建立邻居,指定的为AS23和AS45,这是建立不起来的,按照上面的关系,就会使用AS100,所以需要告诉双方我们是联邦关系

BGP水平分割怎么解决 ibgp水平分割_R3_15


三、即便互相指定了peers,还是建立不起来,这是EBGP特性,有直连检测

BGP水平分割怎么解决 ibgp水平分割_路由器配置_16


BGP水平分割怎么解决 ibgp水平分割_BGP水平分割怎么解决_17

各路由器配置

BGP水平分割怎么解决 ibgp水平分割_R3_18


BGP水平分割怎么解决 ibgp水平分割_客户端_19

BGP水平分割怎么解决 ibgp水平分割_路由器配置_20

BGP水平分割怎么解决 ibgp水平分割_客户端_21

BGP水平分割怎么解决 ibgp水平分割_BGP水平分割怎么解决_22

查看联邦IBGP邻居学习路由

BGP水平分割怎么解决 ibgp水平分割_R3_23


查看联邦EBGP邻居学习路由

BGP水平分割怎么解决 ibgp水平分割_BGP水平分割怎么解决_24