自动汇总
- 在RIP/EIGRP这些IGP的DV(距离矢量型)路由协议中,开启自动汇总,将导致邻居间传递的所有路由条目携带主类的子网掩码。
- 在bgp协议中,自动汇总功能对正常的BGP宣告路由无意义,仅针对重发布进入BGP协议的路由起效;重发布相当于批量,
- 开启自动汇总时,不携带原有掩码,使用主类;不携带cost值,故不建议开启
[r2-bgp] summary automatic 开启命令、
BGP命令中,自动汇总功能默认被关闭
手工汇总—BGP称为聚合
【1】不是BGP的正常聚合配置
- 先在本地路由表中静态添加一条指向汇总地址的空接口防环路由,然后再在BGP协议中宣告这条空接口路由,减少了宣告明细部分的操作量
【2】标准的BGP协议聚合配置
- 先逐条宣告本地所有明细路由,再进行聚合配置
[r1-bgp]aggregate 20.1.0.0 22 配置完成后,本地自动生成空接口防环路由
此时明细和聚合条目同时发出
[r1-bgp]aggregate 20.1.0.0 22 detail-suppressed 仅发送聚合条目,不转发明细条目;
- 基于需要,需要在传递聚合条目的同时,再转发部分的明细路由
1、抑制列表:在传递路由过程中,杜迪部分不希望传递的条目进行抑制
[r1]ip ip-prefix a permit 20.1.1.0 24
[r1]route-policy a permit node 10
[r1-route-policy]if-match ip-prefix a
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]aggregate 20.1.0.0 22 suppress-policy a 使用抑制规则调用route-policy时,被匹配允许的流量最终被抑制传递
在聚合成20.1.0.0/22时,抑制a
2、分发列表
[r1]bgp 1
[r1-bgp]aggregate 20.1.0.0 22先正常聚合
[r1]ip ip-prefix b deny 20.1.1.0 24限制出去
[r1]ip ip-prefix b permit 0.0.0.0 0 le 32
[r1]bgp 1
[r1-bgp]filter-policy ip-prefix b export
3、router-map–在BGP协议中直接调用route-map
[r1]bgp 1
[r1-bgp]aggregate 20.1.0.0 22
[r1]ip ip-prefix c permit 20.1.1.0 24
[r1]route-policy c deny node 10//这条命令时拒绝
[r1-route-policy]if-match ip-prefix c///拒绝时匹配c
[r1-route-policy]q
[r1]route-policy c permit node 20///允许所有
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy c export
4、直接用前缀列表实现分发最简单,最易上手
[r1]bgp 1
[r1-bgp]aggregate 20.1.0.0 22
[r1]ip ip-prefix d deny 20.1.1.0 24
[r1]ip ip-prefix d permit 0.0.0.0 0 le 32
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 ip-prefix d export
打破IBGP水平分割
-
IBGP水平分割–从一个IBGP邻居处学习到的路由条目不能传递给本地的其他IBGP邻居。
-
因为BGP可以非直连建邻,故正常一台运行了BGP协议的路由器,均存在EBGP邻居,需要从其他AS学习路由条目,再共享到内部AS时,由于水平分割的现在,需要和本地AS内所有的BGP设备建立IBGP邻居关系;IBGP邻居关系的数量成指数上升;
-
为了避免IBGP邻居关系的数量成指数上升
【1】路由反射器-
三种角色:RR(反射器)、客户端、非客户端
-
要求:分支与中心必须是IBGP邻居关系
-
规则:
RR从一台EBGP邻居处学习到的路由可以传输给本地的客户端、非客户端、其他EBGP邻居RR从一台客户端邻居处学习到的路由,可以传输给本地的其他客户端、非客户端、其他EBGP邻居
RR从一台非客户端邻居处学习到的路由条目,可以传输给本地的客户端,其他EBGP邻居;不得传输给本地的其他非客户端;
-
注意:若路由条目不优,不具有传递性;反射器也无法反射路由
-
[r3-bgp]peer 2.2.2.2 reflect-client
该指令的作用,是让2.2.2.2成为本地的客户端,同时本地成为路由反射器;
【2】联邦
- 将一个真实的大AS,逻辑的分为多个小AS;小AS的编号建议为私有编号;
- 小AS间构建联邦内的EBGP邻居关系,可以向真实EBGP关系一样传递路由条目,但不修改属性;
对于该大AS外的其他AS,是不知道内部的小AS情况 - 配置
1)所有配置全部基于小as号进行
[r3-bgp]router-id 3.3.3.3
[r3-bgp]pe 2.2.2.2 as-number 64512
[r3-bgp]pe 2.2.2.2 connect-interface LoopBack 0
[r3-bgp]pe 4.4.4.4 as-number 64513
[r3-bgp]pe 4.4.4.4 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 ebgp-max-hop 2AS内的小AS间建邻是EBGP关系,用环回建的邻,所以需要TTL值
2)联邦内所有运行BGP协议的设备均声明自己所在的大AS号
[r2]bgp 64512
[r2]router-id 2.2.2.2
[r2-bgp]confederation id 2
3)小AS间互指peer;在联邦内的ebgp邻居关系间的两台设备,互相定义对端的小AS号;
[r4-bgp]confederation peer-as 64512 必须在建邻之前配置
- 切记:华为设备,必须先定义联邦的id,和互相小AS号后再配置邻居关系建立的命令
如上图:黄色是R1流量在BGP上宣告后,流量的传递方向。