汇总的精细控制
summary-only 是对所有邻居一刀切地抑制明细,但实际需求常常是「大多数邻居只看汇总,个别邻居需要明细」。这时用 suppress-map 指定哪些明细被抑制,再用 neighbor unsuppress-map 对特定邻居单独把其中一部分放行,就实现了按邻居的差异化发布——典型的场景是给骨干只发汇总、给需要精细选路的对端泄露少量明细。
基本信息
| 抑制 | aggregate-address <前缀> <掩码> suppress-map <route-map> |
|---|---|
| 放行 | neighbor <ip> unsuppress-map <route-map> |
| 与 summary-only 对比 | summary-only 抑制全部明细,suppress-map 按条件抑制 |
| 生效范围 | suppress-map 对全部邻居生效;unsuppress-map 只对指定邻居生效 |
| 核对命令 | show ip bgp <前缀>、show ip bgp neighbors <ip> advertised-routes |
典型使用场景
- 骨干只发汇总:减少核心区域的路由条目与抖动
- 对特定对端泄露明细:对方需要按明细做流量工程时单独放行
- 多宿主场景:让某条明细只对关键邻居可见,其余邻居走汇总
- 故障时的临时放行:需要精细排障时先向个别邻居放行明细
- 路由规模优化:在可控范围内压缩通告集合
配置与核对
配置与核对
ip prefix-list PL-LEAK permit 10.1.1.0/24
route-map RM-SUPP permit 10
match ip address prefix-list PL-LEAK
route-map RM-UNSUPP permit 10
match ip address prefix-list PL-LEAK
!
router bgp 65001
aggregate-address 10.1.0.0 255.255.0.0 suppress-map RM-SUPP
neighbor 10.0.0.2 unsuppress-map RM-UNSUPP
!
# 核对:该邻居应看到明细,其他邻居不应看到
show ip bgp neighbors 10.0.0.2 advertised-routes控制方式对照
| 方式 | 抑制范围 | 适用场景 |
|---|---|---|
| summary-only | 抑制全部明细,对所有邻居 | 只需对外提供一个粗粒度入口 |
| suppress-map | 按条件抑制指定明细,对所有邻居 | 内部结构需隐藏但部分明细有特殊用途 |
| unsuppress-map | 对指定邻居放行被抑制的明细 | 多数邻居看汇总、个别邻居看明细 |
| 前缀过滤 | 按邻居控制发布集合 | 与汇总无关的常规发布控制 |
unsuppress-map 只对配置它的邻居会话生效:多跳或备份路径上如果还有别的邻居会话,需要在该会话上单独配置,否则对端仍只能看到汇总。
改造既有汇总策略前,先记录每个邻居当前收到的前缀集合;只凭配置文本推断发布结果,很容易漏掉邻居之间的差异。