一、背景介绍
bgp协议根据工作的位置又可分为ibgp与ebgp,不同的as之间通过as_path来进行防环,但是在AS内部,as_path值为空,这样就有环路的隐患,为了消除该隐还,bgp要求as之间采用水平分割的方式进行防环,这样就要求启用bgp的路由器两两之间建立对等体关系。如下图,R2与R4之间如果不建立对等体关系,R1与R5之间无法相互学习到对方路由,尽管R2与R4都将路由发送给了R3,R3根据水平分割法则不会向R2与R4告知对方的路由
需要建立对等体的数量为:n*(n-1)/2,在大规模环境下,靠手动建立对等体工作变得极为繁重,而路由反射器与联邦就是为解决上述问题而产生的。
二、路由反射器
1. 反射器几种角色
路由反射器的出现本质上打破bgp水平分割机制,所以为了避免路由发生环路,它定义了服务端、客户端与非客户端3种角色,承担服务端的路由器rr(router-reflector)将客户端加入管辖,而客户端本身并不感知,无需做任何操作
2. 路由反射规则
首先需要说明的是:路由反射器的工作区域是在as内部,即只是针对ibgp对等体生效
上述要注意区别反射与发送是两种不同的行为,即使没有rr,学习自ebgp对等体的路由一样会发送给as内的ibgp对等体
3. 实验拓扑
物理接口地址为xx.0.0.x(x为路由器编号),lo0接口为x.x.x.x((x为路由器编号)作为ibgp通信地址
- 设置as 100与as 500的bgp进程
- 建立as 234底层的ospf连接
- 在as 234内启动bgp进程
- 操作完成后能看到R3通过bgp学习到了1.1.1.1/24与5.5.5.5/24的路由
- 但是由于bgp水平分割的机制,他不会将5.5.5.5/24路由传给R2,同理也不会将1.1.1.1/24传给R4,这样R1与R5之间相互学习不到对方的路由
- 将R2与R4加入R3的客户端
- 再次查看路由表,R1和R5已经通过bgp相互学习到路由
三、联邦
1.联邦内AS的划分
既然AS内部通过水平分割法则防环,那如果将一个AS在进行切割,分成一个个不同的子AS,这样就可以“绕过”水平分割法则的约束,联邦就是基于这点实现的
2.联邦对等体关系
由于联邦是一个AS内部的再次划分,所以其他AS并不感知,对于R1和R5来讲,他们是跟AS234建立ebgp对等体关系,并不感知成员AS的存在。
成员AS内建立的是联邦ibgp对等体关系,成员AS之间建立的是联邦ebgp对等体关系,由于底层已经通过ospf打通,所以联邦ebgp建立时不再需要让下一跳指向自己3.实验配置
- R2上配置
- R3上配置
- R4上配置
配置完后查看R3路由表,能看到他已从R4上学已到了5.5.5.0/24网段路由,且AS路径为(64513)500