multipath-relax 做什么
默认情况下,多条路径要同时装载必须 AS_PATH 序列完全一致。multipath-relax 放宽了这条要求:只要 AS_PATH 长度相同、其余属性一致,来自不同邻居 AS 的路径也可以同时装载。双运营商接入时,两条路径长度通常相同但序列不同,正是这个开关的典型使用场景。
基本信息
| 命令 | bgp bestpath as-path multipath-relax |
|---|---|
| 放宽内容 | AS_PATH 需等长,不要求序列一致 |
| 未放宽的条件 | 序列必须完全一致才能同时装载 |
| 典型场景 | 双运营商出口、多出口同长路径 |
| 注意点 | 回程路径可能不对称,需两端核对 |
| 配合命令 | maximum-paths 指定可装载条数 |
典型使用场景
- 双运营商接入,两条路径长度相同但序列不同
- 多出口数据中心:希望在两条等价路径上分担流量
- 排障确认:判断为何两条看似等价的路径没有同时装载
- 容量规划:提升链路利用率而不改变选路结果
- 与 maximum-paths 联动调整,控制装载条数上限
配置与验证
配置与验证
router bgp 65001
bgp bestpath as-path multipath-relax # 放宽序列一致性要求
maximum-paths 4 # 最多装载 4 条
!
show ip route 10.1.1.0/24 # 主表应出现多个下一跳
show ip bgp 10.1.1.0/24 # 查看各路径的属性与长度放宽前后对比
| 条件 | 放宽前 | 放宽后 |
|---|---|---|
| AS_PATH 序列 | 必须完全一致 | 不要求一致 |
| AS_PATH 长度 | 必须一致 | 必须一致 |
| 其余属性 | 必须一致 | 必须一致 |
| 适用规模 | 同一上游多链路 | 多运营商等价出口 |
该开关放宽的是装载条件,不改变 best 路径的决胜规则:带 > 标记的最优路径仍然只有一条,装载是随后的转发行为。
只在一侧开启会造成两端装载行为不同:流量去程与回程路径可能不对称,变更前先与对端确认设计。
开启前先确认两条路径是否真的等价:长度相同但一跳数量或带宽差异很大时同时装载,可能出现流量集中在低质量链路上的现象。
该开关只放宽 AS_PATH 的比较条件,其余属性仍需完全一致:MED、LOCAL_PREF 或 ORIGIN 有差异时,路径会被判定优劣而不是同时装载。