BGP的总结
一、 BGP的宣告问题
若在一台运行了BGP协议的路由器上,宣告本地路由器表中通过其他协议学习到的路由信息时,将携带本地到达这些目标网段的cost值;
若一台BGP设备通过IBGP关系学习到了一条BGP路由,路由中携带了度量值;之后本地将这条路由转发到本地的其他EBGP邻居时,将删除cost,因为这些cost不是本地的度量;故,若需要基于cost值进行选路干涉,建议本地也配置宣告这些路由条目,来携带本地的cost到其他EBGP邻居;
二、关闭自动汇总
——在BGP协议中,自动汇总功能默认被关闭;
切记: 在RIP/EIGRP这些IGP中的DV型路由协议中,开启自动汇总,将导致邻居间传递的所有路由条目携带主类的子网掩码,但在BGP协议中,自动汇总功能对正常的BGP宣告路由无意义,进针对重发布进入BGP协议的路由起效;
开启自动汇总时:不携带原有掩码,使用主类;不携带cost值;故不建议开启
[r2-bgp] summary automatic 开启命令
BGP协议中的宣告可以理解为逐条的重发布;重发布IGP到BGP可以理解为批量的宣告;但两者产生的路由,其起源属性不同,宣告路由由于重发布路由;因此建议若使用重发布,也可宣告一样,每台存在EBGP邻居的BGP路由器均考虑进行一次重发布;
三、 手工汇总—BGP称为聚合
【1】 不是BGP的正常聚合配置,利用了BGP的宣告的特征—本地路由表中的路由条目无论来源,无论去向(缺省除外); 先在本地路由表中静态添加一条指向汇总地址的空接口防环路由,然后再在BGP协议中宣告这条空接口路由,减少了宣告明细部分的操作量;
注:BGP工作在互联网环境下,控制选路的情况十分常见,AS间可以在传递聚合条目的同时,让部分路由器来传递明细路由,可以实现干涉选路的功能
【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时,被匹配允许的流量最终被抑制传递
2、 分发列表
[r1]bgp 1
[r1-bgp]aggregate 20.1.0.0 22<