as-set 的作用
聚合(aggregate)默认会让汇总条目的 AS_PATH 只保留执行聚合的本 AS,来源信息被抹掉。加 as-set 后,汇总条目会携带明细前缀的来源 AS 集合,形式是一对大括号里的多个 AS 号,例如 {65001,65002}。它保留了「这段地址来自哪些 AS」的信息,利于环路防护与来源判断,代价是路径信息变长、对端处理开销增加。
基本信息
| 不带 as-set | AS_PATH 只含本 AS,路径最短但不保留来源 |
|---|---|
| 带 as-set | AS_PATH 中出现 {AS1,AS2,...} 形式的集合段 |
| 常配参数 | summary-only(只发聚合)、suppress-map(按条件抑制明细) |
| 平台写法 | Cisco: aggregate-address ... as-set;华为 VRP: aggregate ... as-set |
| 影响面 | 对端看到的路径与聚合前不同,可能改变其选路结果 |
典型使用场景
- 多来源前缀汇总:同一大段地址分别由本 AS 与其他 AS 学来,需要保留来源痕迹
- 对外只发聚合:配合 summary-only 隐藏内部明细,同时不丢失来源信息
- 环路防护:对端看到来自自己 AS 的号出现在集合中时能识别环路
- 审计与取证:事后按聚合条目倒查明细来自哪些 AS
- 聚合方案评审:评估 as-set 带来的路径变化与对端过滤风险
配置与查看
配置与查看
# Cisco:汇总并携带来源 AS 集合,只发聚合
router bgp 65001
aggregate-address 10.1.0.0 255.255.0.0 as-set summary-only
# 查看聚合条目与路径
show ip bgp 10.1.0.0/16
show ip bgp regexp ^\{ # 观察带集合段的路径
# 华为 VRP:detail-suppressed 等价于 summary-only
aggregate 10.1.0.0 255.255.0.0 as-set detail-suppressed聚合方式对比
| 方式 | AS_PATH 表现 | 适用与代价 |
|---|---|---|
| 不带 as-set | 只有本 AS | 路径最短,但丢失来源信息,事后难倒查 |
| 带 as-set | 含 {AS1,AS2} 集合段 | 保留来源,路径变长,对端过滤风险升高 |
| summary-only | 抑制全部明细 | 隐藏内部结构,但失去按明细做流量工程的能力 |
| suppress-map | 按条件抑制指定明细 | 粒度更细,配置复杂度与维护成本上升 |
对端做 AS_PATH 长度比较时读到的路径与聚合前不同,选路结果可能随之变化;集合元素规模较大时,部分对端还会直接过滤。方案上线前最好与对端一起实测确认。