bgp的路由聚合

bgp路由聚合分为自动聚合和手动聚合。node


自动聚合:对BGP引入的IGP子网路由进行天然掩码也就是主类路由聚合,配置自动聚合后,生成聚合后的天然网络路由,而原先引入的子网路由被抑制,不会被优先和发布给BGP邻居。自动聚合只能针对经过import方式引入的bgp路由生效,假设咱们在AR4上建立三个环回口,而后在AR4上进行聚合,此时能够发如今AR4的bgp路由表中,则三条路由会被汇总成一条8位的主类路由,而后传递给AR2。要注意:自动聚合会抑制没聚合前的路由,只转发聚合后的路由并且只能在路由的源路由器进行自动聚合,也就是说,若是AR3取消关于这三条路由的自动聚合,那么在其余路由器上是没办法再针对这三条路由进行聚合的。网络

配置命令以下:[AR4-bgp]summary automatic app

手动聚合:针对的是本地路由,不过是network仍是import均可以进行聚合,无论是哪台路由器均可以对一个网段进行聚合,并且手动聚合优先级大于自动聚合。手动汇聚默认不抑制汇聚前的路由,可进行手动抑制,配置命令以下:
[AR4-bgp] aggregate 20.1.1.0 255.255.255.0             进行手动汇聚,不抑制汇聚前路由
aggregate 20.1.1.0 255.255.255.0 detail-suppressed     进行手动汇聚并抑制汇聚前路由
路由聚合也带来了路由属性丢失的问题,好比聚合后丢失了AS-path,那就可能致使环路,例如:AR4将聚合后的20.1.1.0网段路由发给AR2,AR2又手动将次路由进行汇聚,汇聚后的路由又发回给AR4,由于AR4汇聚后的路由在发给AR2的时候已经丢失了ASpath,因此AR2产生的新的汇聚后的路由不带AR4原先的AS值,致使AR4又会再次接收该新汇聚的路由。能够经过下面命令来让AR4发出来的路由不丢失AS
[AR4-bgp] aggregate 20.1.1.0 255.255.255.0 detail-suppressed as-set 
聚合路由也能够经过路由策略来修改它的属性:
route-policy 5226 permit node 10                       设置路由策略
apply origin igp                                                     作相应处理,修改起源属性
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 detail-suppressed attribute-policy 5226         手动汇聚路由时引入策略并进行路由明细抑制和起源属性修改
使用关键字origin-policy来选择仅符合route-policy的具体路由来生成聚合路由,配置命令以下:
ip ip-prefix 1 index 10 permit 20.1.1.2 32              建立ip-prefix
route-policy 52261 permit node 10                       设置路由策略
if-match ip-prefix                                                   利用ip-prefix进行筛选
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 detail-suppressed origin-policy 52261  汇聚路由时引入策略并进行路由明细抑制
手工汇聚使用detail-suppressed时是抑制全部汇聚前的路由。但suppress-policy能产生聚合路由并只抑制指定的路由通告。搭配路由策略进行使用
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 suppress-policy 52261               使用suppress-policy来指定抑制汇聚前的路由
blog