BGP的宣告问题:
若通过BGP协议传递的路由条目与本地通过其他协议学习到的条目目标一致,将出现:
(1)该路由同时作为与其他BGP邻居建立邻居关系时的底层路由,那么这条BGP路由将不优,不能传递也不能加表
(2)该路由不作为建立其他BGP邻居的路由,将在本地不加表,但可以传递,属于优的路由;
重发布
BGP协议宣告的路由,基本是本地通过IGP学习到的本as路由;数量较大,若逐条宣告,配置量很大,但可控性强; 也可以在同时运行BGP和igp的设备,将IGP协议重发布到BGP协议中,来实现批量的路由宣告效果;
宣告相当于逐条的重发布,重发布相当于批量的宣告;两者产生的路由条目,起源属性不同,其他属性默认完全一致;
总结:存在EBGP邻居关系(连接其他的AS)的所有BGP设备均建议重发布IGP到BGP;
手工汇总—聚合
利用了BGP的宣告的特点,本地路由表中任意路由,不关注来源均可以宣告到BGP中;
不用逐一宣告明细路由,先本地手工静态一条指向汇总网段的空接口防环路由,然后再将其宣告到BGP协议中来;从IGP表中宣告到BGP协议中的条目,仅携带目标网络号和度量值;
标准的BGP路由聚合
—先逐一手工宣告明细,或批量重发布路由;再进行聚合配置,默认在本地生成空接口防环路由
r1-bgp]aggregate 99.1.0.0 22 聚合和所有明细路由均发送
[r1-bgp]aggregate 99.1.0.0 22 detail-suppressed 抑制所有的明细路由,仅发送聚合条目
路由控制
抑制列表——默认传递所有明细和聚合条目,通过抑制列表,限制不需要传递的明细路由。
如果只抑制 99.1.2.1/24 这条路由,首先抓取路由
[r1]ip ip-prefix a permit 99.1.2.1 24
[r1]route-policy aa permit node 10
[r1-route-policy]if-match ip-prefix a
[r1]bgp 1
[r1-bgp]aggregate 99.1.0.0 22 suppress-policy aa 在传递聚合条目的同时,抑制99.1.2.1/24这一条明细,其他明细正常转发
直接使用前缀列表来实现方法的功能
[r1]ip ip-prefix e deny 99.1.2.1 24
[r1]ip ip-prefix e permit 0.0.0.0 0 le 32
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 ip-prefix e export
有条件的打破IBGP水平分割
路由反射器 – RR(反射器)、客户端、非客户端;
客户端、非客户端必须分别为RR的IBGP邻居关系;三种角色构建为一个簇(组);
一个簇内可以存在多台设备,但至少一个簇内存在一个RR和一个客户端;
规则: 非非不传
联邦
将一个大as逻辑分为多个小as;小AS使用私有AS号,小AS间为联邦内的ebpg邻居关系,可以像EBGP一样传递路由,但不能修改属性; 对于联邦外的AS,只能看到大AS号;
所有的启动,建邻、管理均基于小AS号进行
联邦内所有设备需要声明自己所在的大AS号
小AS间的ebgp邻居需要互指对端的小as号