多线环境下BGP路由优选策略的方向,核心在于通过控制LOCAL_PREF、AS_PATH、MED三类属性的取值,明确告诉路由器”主走哪条链路、备走哪条链路、异常时如何切换”,方向设定对了,多线带宽的价值才能充分发挥;方向混乱,接入再多运营商线路也只是资源的浪费。
多线环境下bgp路由优选原则有哪些
BGP路由优选的判定规则,本质上是路由器对同一条路由的多个学习版本进行”打分比较”,得分最高的版本进入路由表,其余版本继续留存作为备份,多线环境下,理解这套评分规则是设定策略方向的前提。
选路决策的两个方向
- 出向流量决策:决定路由器把流量交给哪个邻居,主要由LOCAL_PREF、AS_PATH、MED属性协同作用。
- 入向流量决策:决定外部运营商把流量送到哪条入口链路,主要通过AS_PATH prepend和MED进行控制。
两个方向看似独立,实际上共享同一条策略链路,多数场景下,优先调整出向策略,因为出向策略对用户体验的影响最直接。
标准选路顺序的核心维度
BGP路由器在比较路由时会按固定顺序逐条淘汰,业内共识认为,实用层面的排序是:
- 协议自带权重值(思科设备)
- LOCAL_PREF(本地优先级)最高者优先
- 路由器本地始发路由优先
- AS_PATH路径最短者优先
- ORIGIN类型优先级(IGP高于EGP)
- MED值最小者优先
- EBGP路由优先于IBGP路由
- IGP下一跳度量值最小者优先
在多线BGP的实际配置中,运维人员真正频繁操作的维度集中在第二、第四和第六项,其余规则大多在默认状态下工作,不太需要人为干预。
多线场景下的属性权重对比
| 属性 | 作用方向 | 生效范围 | 调整成本 |
|---|---|---|---|
| LOCAL_PREF | 出向流量 | 本地AS全域 | 低,一条命令 |
| AS_PATH | 出向流量 | 全局传播 | 中,需追加AS号 |
| MED | 入向流量 | 相邻AS | 低,但对端配合 |
| Community | 双向 | 自定义范围 | 中,需统一规划 |
多线机房的流量调度,核心就是拿这三个属性做组合拳,LOCAL_PREF负责定结构,AS_PATH负责调远近,MED负责微调流量。
多线机房bgp线路怎么选
真正面对两条以上运营商线路时,策略方向的设定就变成了主备关系的确认,典型的多线机房拓扑通常包含电信、联通、移动三家接入,从每家学习独立的路由表。
本地优先级是策略总开关
给每个邻居配置不同的LOCAL_PREF值,是决定流量走向最快的方式,数值越大,该邻居宣告的路由优先级越高。
实操示例:在华为设备上,假设电信为主链路、联通为备用链路,希望电信流量默认走电信出口:
route-policy PREF_CT import node 10
if-match as-path-filter 100
apply local-preference 200
将匹配电信前缀的as-path-filter绑定到电信对等体方向,联通方向保持默认值100,这样电信前缀的流量会在本地优先选择电信链路,而联通前缀继续走联通出口。核心思路是让各运营商前缀”各回各家”,避免跨网绕行。
AS_PATH长度决定路径远近
当主备链路的LOCAL_PREF相同时,AS_PATH长度就成为决定性因素,多线场景下最常用的技术是AS_PATH prepend,通过在路由更新中追加AS号,让路由看起来”更绕远”。
- 想让电信流量绕开联通链路,就在联通方向对外宣告的路由后面追加1-2个AS号。
- 每次追加,路由器就认为路径多了一跳,优先级相应降低。
实际操作时注意:追加的AS号必须使用自己已注册的AS号,否则上游运营商收到后可能引发防环机制直接丢弃路由。
MED属性用于入站流量微调
MED的生效范围只跨越一个AS,适合在运营商侧等级路径的场景下调整,当两条链路在运营商BGP视角下AS_PATH等长时,MED能影响对方选择哪个入口,多线运营中,MED通常和AS_PATH prepend搭配使用,单纯的MED调节范围有限。
bgp路由策略配置步骤
策略配置必须按顺序推进,跳过任何一步都可能导致预期外的选路结果,配置前先画一张表,明确每个邻居的期望方向和属性取值。
标准配置路径
- 明确需求:主链路承载比例、备份链路切换条件、故障恢复策略
- 创建匹配工具:ip-prefix定义前缀范围,as-path-filter定义AS路径特征
- 编写route-policy:按节点顺序执行
if-match和apply动作 - 在BGP邻居视图下调用策略:
bgp 65001 peer 202.96.128.1 as-number 4134 peer 202.96.128.1 route-policy PREF_CT import - 使用
display bgp routing-table或display bgp peer验证路由的优选结果
入方向与出方向的区别
- 入方向策略(import):影响从邻居学习到的路由的LOCAL_PREF等属性,决定本设备如何选择出口。
- 出方向策略(export):影响本设备向邻居宣告的路由属性,决定外部运营商如何选择入口。
多线机房的策略调整重点在入方向,因为出口选择权在本侧路由器手里,出方向策略只有在需要调整入站流量时才涉及。
多线BGP策略调整:故障切换与成本控制
策略方向不是一次配置就固定不变,链路抖动、运营商割接、带宽跑满等场景下,策略需要动态配合网络状态完成切换。
故障切换的条件保障
主链路断开时,BGP会检测到对等体会话中断,自动淘汰由该邻居学到的路由,此时备份链路必须已提前拥有”备份属性”设定,即LOCAL_PREF值低于主链路但高于其他无关链路,如果未提前配置,路由器会重新计算整个路由表,可能选择出一条并不合理的切换路径。
故障恢复后,默认情况下路由会自然回切,如果不想频繁震荡,可以在策略中加入抑制机制,让回切延迟数分钟以上,等链路稳定后再放量。
多线BGP带宽价格贵吗
价格因素直接影响策略方案的选择,多线BGP带宽的定价逻辑和单线完全不同,多线BGP的核心成本来自三方面:运营商互联互通资源、BGP带宽峰值门槛、机房冗余架构。
一批机房的公开报价显示,三线BGP独享带宽的价格通常是单线带宽的2倍以上,具体倍数受地域和机房等级影响,一线城市机柜资源紧张,带宽成本水涨船高。北京多线BGP机房的价格长期处于全国高位,不少企业选择将业务主机部署在环京机房,本地保留BGP牵引节点,以此平衡成本与服务质量。
如果预算有限,双线BGP加策略路由是常见替代方案,用动态路由协议配合策略路由表实现多运营商出口分流,成本仅为三线BGP的部分比例,缺点是需要手动维护各运营商的前缀列表,更新工作量较大。
关于bgp路由优选策略方向的常见疑问
多线环境下,LOCAL_PREF和AS_PATH哪个调整优先级更高?
优先调整LOCAL_PREF,它只在本地AS有效,改动后不影响上游路由传播,回滚风险最小,AS_PATH的调整会通过路由更新传播到所有邻居,影响面更大,应放在LOCAL_PREF确定主备框架之后再做微调。
为什么改了策略,流量没有立即切换?
BGP策略生效需要经过路由刷新和收敛过程,执行refresh bgp all可以触发软复位,加速路由重新计算,如果前缀数量较大,收敛时间可能持续数十秒到数分钟,期间会出现短暂丢包,业务侧对中断敏感时,建议在维护窗口内操作并准备回滚预案。
MED属性不起作用是什么原因?
MED只在两条路由的其他属性全部相同时才参与比较,常见原因是AS_PATH长度不一致或LOCAL_PREF设置有差异,另一个常见误区是MED默认值为0,而有些厂商默认认为未设置MED的路由在比较时值为0,导致实际效果与预期偏差,确认前先检查对端运营商是否传递了MED值,配置时可以主动设置apply med覆盖默认值,减少不确定性。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/792452.html


