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关系
查看R4是不会收到路由的,这就是IBGP水平分割导致,让R3 R4做路由反射器
宣告R4为自己的客户端,同时R3自己为反射器
查看
手动修改簇ID
修改簇ID不会影响建立邻居,但是会影响路由学习,上述命令修改R3的簇ID是4.4.4.4,那么R4就不会学习对方的路由了,包含自己的簇ID。
关闭路由反射器client-to-client路由传递(让客户端与客户端之间不能反射)
缺点:反射器收到两个或多个到达同一目标路径时会判断出最优的路由然后反射给客户端和非客户端路由器,这样一来这些设备就丧失了多条路径判断最优的权力。
EBGP联邦:
并没有像反射器那样直接打破水平分割,而是在一个大的AS中,建立小的AS
在EBGP联邦邻居建立和路由学习过程中存在IBGP和EBGP邻居的特性:
IBGP特性:EBGP链路学习的的路由下一跳不发生变化,学习到的路由AD值为200
EBGP特性:在EBGP 联邦邻居建立过程中,进行直连检测
问题:
一、R2既然创建了AS23,那么怎么知道和别人建立采用AS23,还是AS100.
如果自己remote-as是23,那就使用AS23,如果不是就采用100
二、对于R3 R4路由器建立邻居,指定的为AS23和AS45,这是建立不起来的,按照上面的关系,就会使用AS100,所以需要告诉双方我们是联邦关系
三、即便互相指定了peers,还是建立不起来,这是EBGP特性,有直连检测
各路由器配置
查看联邦IBGP邻居学习路由
查看联邦EBGP邻居学习路由