联盟里的属性语义
联盟(Confederation)把一个大 AS 拆成多个子 AS,对外仍表现为一个 AS,目的是减少 iBGP 全互联的规模。联盟内的属性行为与普通 AS 不同:LOCAL_PREF 在整个联盟内传播,MED 默认不在子 AS 之间比较,联盟段的 AS_PATH 默认不计入路径长度。
基本信息
| LOCAL_PREF | 在联盟内传播,跨子 AS 有效 |
|---|---|
| MED | 默认子 AS 之间不比较,需要显式开启 |
| AS_PATH | 联盟段默认不计入长度 |
| 对外表现 | 联盟标识 AS 号对外可见,内部子 AS 被隐藏 |
| 维护要求 | 各子 AS 的策略需要一致维护 |
典型使用场景
- 大型 AS 收敛 iBGP 会话规模
- 组织调整或并购:按子 AS 划分管理边界
- 排障「LOCAL_PREF 没按预期生效」:确认传播范围
- 设计评审:把属性语义差异写进设计文档
- 迁移评估:与 RR 方案对比会话数与管理成本
配置片段
配置片段
router bgp 65010
bgp confederation identifier 65001 # 对外呈现的联盟 AS 号
bgp confederation peers 65011 # 声明联盟内的其他子 AS
bgp bestpath med confed # 让 MED 在子 AS 之间参与比较
!
show ip bgp 10.1.1.0/24
show ip bgp | include 65011属性作用域
| 属性 | 联盟内行为 | 注意 |
|---|---|---|
| LOCAL_PREF | 整个联盟传播 | 任一处配置不一致都会影响全局 |
| MED | 默认子 AS 间不比较 | 需要显式开启才参与比较 |
| AS_PATH | 联盟段不计入长度 | 对外路径长度与内部视角不同 |
按普通 AS 的经验估算 MED 行为容易误判:子 AS 之间默认不比较,需要显式开启才会参与选路。
LOCAL_PREF 在整个联盟传播:任一子 AS 的配置失误都会影响全局,策略一致性要求远高于单一 AS 的环境。
联盟与路由反射解决的是同一类问题:选择哪种取决于组织管理边界与运维习惯,两者也可以结合使用。
联盟与外部 AS 之间仍是普通 eBGP:属性在边界会被重新处理,设计文档要把内部与外部的行为差异写清楚。
排障时先确认设备处于哪个子 AS:同一个属性在不同子 AS 的角色不同,判断标准也随之变化。
联盟内会话数量与外部对等体无关:对外仍表现为单一 AS,外部邻居的配置不需要随子 AS 划分变化而调整。