在多运营商接入场景下,BGP路由优选策略的核心是通过Local Preference、AS-Path、MED等属性精细控制选路,同时结合业务流量模型避免路由黑洞和次优路径,确保网络高可用与低延迟。实际部署时,很多团队会困惑于属性优先级以及不同运营商的对等体差异,本文从设计到落地拆解关键步骤。
多运营商BGP路由优选策略怎么设计
设计阶段需要先摸清业务流量特征,再匹配属性参数。
明确业务需求与流量模型
- 延迟敏感型业务(如视频会议、在线游戏)要求流量走质量最优的链路,适合用Local Preference控制出站,用MED或AS-Path prepend控制入站。
- 带宽高消耗型业务(如CDN、大文件传输)更关注成本,可以设置较低优先级给高价链路,并在低价链路故障时自动切换。
- 冗余需求:至少接入两家运营商,避免单点故障,多数情况下,每运营商需独立一台路由器或启用BGP多路径。
BGP属性优先级理解
选路顺序从高到低:
- Weight(本地有效,仅支持Cisco)
- Local Preference(占比最高,整个AS生效)
- 本地优先选择(AS-Path长度)
- MED(在多出口场景下控制入站)
- 邻居类型(eBGP优于iBGP)
- 路由来源(IGP vs BGP,通常IGP优先)
在多运营商环境下,Local Preference和AS-Path修改最常用,因为无需依赖对端配合。
配置步骤与命令示例
以下为通用操作路径,适配主流设备:
- 创建route-map,匹配来自特定运营商邻居的前缀,设置Local Preference值。
route-map SET-LP permit 10
匹配
peer-group,然后set local-preference 150。 - 对入站方向,使用
route-map在邻居配置中调用peer x.x.x.x route-map SET-LP import。 - 出站控制:通过AS-Path prepend实现在本端通告路由时增加AS号,使远端路径变长,命令:
route-map PREPEND permit 10,set as-path prepend 10 10,在neighbor x.x.x.x route-map PREPEND export生效。
行业共识认为,prepend次数不宜过多,否则可能导致路由表膨胀,且对等体可能拒绝超长AS-Path。
BGP多运营商选路策略对比:Local Preference与MED
这两个属性常常被混淆,实际应用场景不同。
Local Preference控制出站流量
- 作用范围:本AS内所有路由器,对邻居不可见。
- 典型场景:A运营商链路带宽高但价格低,B运营商链路延迟低但价格高,设置A的LP为200,B的LP为100,则内网出站流量优先走A,除非A全线路故障。
- 注意事项:如果两运营商链路质量差异大,不可单纯依赖LP,需结合SLA检测动态调整。
MED控制入站流量
- 作用范围:相邻AS,通过BGP通告传递。
- 典型场景:自建数据中心向两家运营商通告相同网段,设置MED值让其中一家优先接收流量,例如向A运营商通告时MED=50,向B运营商通告时MED=100,则A优先入站。
- 局限性:对端AS可能忽视MED,除非都配置了
always-compare-med,AS-Path长度优先级高于MED,因此prepend往往比MED更直接。
AS-Path prepend在入站均衡中的应用
- 操作:在向特定邻居通告路由时,人为添加AS号,使该路径在对方被视为更远。
- 示例:向电信通告时prepend 3次,向联通通告时prepend 1次,联通路径更短,避免流量全部涌向电信。
- 落地技巧:结合
route-map和set as-path prepend,且每次prepend应使用相同AS号(本AS号),避免造成路由环路。

多运营商BGP网络部署方案与落地难点
从设计到上线,总会遇到几个典型问题,这里给出可验证的解决方案。
路由黑洞问题与解决方案
- 成因:路由器同时从多个运营商学习同一前缀,只选择最优者,但流量可能来自非最优路径,导致回程被丢弃。
- 解决办法:全互联ORF(路由刷新)或使用BGP Community标记,多数情况下,启用
maximum-paths并配置allowas-in可缓解,但更稳妥的是基于策略的PBR,将进入流量重定向到正确下一跳。 - 实操:在边界路由器上创建
ip policy route-map,匹配源IP或接口,设定下一跳为对应运营商网关。
BGP收敛时间与优化
- 传统BGP故障感知依赖Keepalive,默认60秒检测,太慢,必须叠加BFD。
- 配置:
bfd slow-timer 1000,neighbor x.x.x.x bfd-live-detect,BFD可确保3次丢包(约900ms)触发BGP邻居复位。 - 另一个优化点:调整
bgp update-delay和scan-time,但需注意防止震荡。
成本控制:BGP带宽价格与选路策略
- 不同运营商单价差异明显,通常情况下,A运营商IDC价格高于B运营商,但B运营商跨网延迟可能更高。
- 精细化策略:将非关键业务(如离线下载、备份)的流量导入低价链路,用
匹配特定前缀或目标端口,配合
route-map
set local-preference实现分流。 - 注意:不能单纯压价,否则可能导致单侧链路拥塞,需配合SNMP监控动态调整。
Q&A:多运营商BGP路由优选常见问题
多运营商BGP选路时,如何避免流量绕路?
绕路通常是因为AS-Path长度被误判,解决方法是确认所有运营商都使用直连对等体,避免中间AS,对入站方向使用MED或prepend控制,出站方向使用Local Preference,若出现跨运营商回程,可启用bgp bestpath as-path ignore(谨慎使用),业内专家指出,多数绕路问题源于BGP表未做过滤,应使用前缀列表和route-map精确控制。
BGP路由优选策略设计时,需要考虑哪些因素?
主要因素包括:业务延迟容忍度、各运营商链路稳定性、带宽单价、路由表容量,还需考虑BGP进程的CPU负载,如果前缀数过多,应使用soft-reconfiguration替代全表下载,策略设计后,建议先在两台设备上灰度测试,观察流量路径变化。
多运营商BGP部署费用大致是多少?
费用取决于运营商和带宽规格,BGP上联端口通常比普通静态IP贵,但多数运营商提供阶梯报价,年签合同有折扣,具体价格需咨询当地运营商,没有统一标准,建议在规划时预留扩容空间,避免后期升级成本过高。
多运营商BGP路由优选策略的设计与落地,关键在于属性参数的匹配和对业务场景的深刻理解,持续优化才能实现成本与性能的最佳平衡。