首页/网络/BGP 与广域网速查/出口选路设计:目标与属性组合
BGP 选路与策略62 条

出口选路设计:目标与属性组合

出口设计先定目标(主备或分摊),再选属性组合:LOCAL_PREF 决定本端出口,MED/社区用于与对端协同,prepend 作兜底;每个出口写明适用条件与回退。

BGP 与广域网速查网络更新于 2026-10-13

出口设计先定目标再选属性

出口选路的目标通常有三类:主备(正常只用一条)、按链路分摊(多条同时使用)、按业务分流(不同业务走不同出口)。目标确定后,才轮到选择用哪个属性表达:LOCAL_PREF 控制本 AS 从哪个出口出网,MED 与社区用于与对端协商入口方向,AS_PATH 预置作为兜底手段。属性选错时的典型后果是「设计写的是主备,实际却是随机选路」。

基本信息

本端控制LOCAL_PREF 决定本 AS 内部的出口偏好,值大者优先
对端协同MED 建议对端入口选择,需对端认可并按同源 AS 比较
兜底手段AS_PATH 预置降低某条链路吸引力,无需对端配合
设计文档每个出口写明适用条件、预期流向与回退步骤
方向提醒出向优化不影响回程,两个方向需分别设计

典型使用场景

  • 双运营商主备:主用设置高 LOCAL_PREF,备用保持默认或降低
  • 按业务分流:不同前缀打不同社区,配合出口策略分别指向不同链路
  • 带宽分摊:两条链路设置接近的优先级,再用流量分析验证实际分布
  • 临时引流:割接或演练期间调整优先级,结束后按预案恢复
  • 回程优化:与对端协商 MED 或社区,改善本网入向流量分布

主备出口配置

主备出口配置
# 主出口:从该邻居学到的默认路由设置高本地优先级
route-map LP-PRIMARY permit 10
 set local-preference 200
!
router bgp 65001
 neighbor 10.0.0.2 route-map LP-PRIMARY in
!
# 备用出口保持默认,主用失效后自然接管
!
# 验证:查看默认路由的本地优先级与最优标记
show ip bgp 0.0.0.0
show ip bgp 0.0.0.0 | include LocPrf

目标与手段匹配

目标主用手段适用条件
本 AS 出口主备LOCAL_PREF两端都是本 AS 内部设备,属性可传递
影响对端入口MED 或社区约定对端认可并按同源 AS 比较 MED
不依赖对端AS_PATH 预置对端按最短路径选择并接受预置结果
按前缀分流prefix-list 匹配后设属性前缀集合清晰且稳定

验证与观察

验证与观察
# 1) 出口侧核对本地优先级
show ip bgp 0.0.0.0
# 2) 从不同业务源发起探测,确认路径与设计一致
traceroute 203.0.113.1 source 10.10.2.1
# 3) 核对发出内容,确认对端能看到预期属性
show ip bgp neighbors 10.0.0.2 advertised-routes
# 4) 观察实际流量分布,确认结果符合设计
配置上线后要有人能读懂意图:route-map 名称、社区编号与设计文档三者要能互相对照。缺少这层对应关系时,后续变更很难判断哪条配置还能删。

易错点

  • 只优化出向不看回程:单侧优化常被对端的独立决策抵消,实际流量分布与预期不符
  • 用 MED 却不确认对端是否按 MED 比较:对端可能只看 AS_PATH 长度,策略完全无效
  • 主备属性差值过小:路径抖动时频繁切换,业务出现间歇性异常
  • 配置与设计文档脱节:无人能说明某条策略的意图,变更风险随之累积
  • 变更后不看实际流量:配置正确但流量分布未变的情况经常发生,需要按事实验收

数据来源与参考

  • Cisco: BGP 出口选路指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌