南方數據技术观察
首页行业新闻技术文章 官网 咨询与报价
首页 / 技术文章

多上游选路:local-pref 之外的顺序

多上游选路:local-pref 之外的顺序与策略表设计

在多上游环境中,BGP 选路策略的设计直接影响网络的稳定性和流量效率。通常,我们习惯依赖 local-pref 来区分上游优先级,但在实际运营中,单靠 local-pref 不足以覆盖所有细节,尤其是在处理 AS-Path 和 MED 等属性时。本文将从选路优先级的全貌出发,探讨如何将复杂的策略梳理成一张清晰、易维护的“策略表”,以提升多上游环境的运维效率和决策准确性。

一、BGP 选路优先级的全局视角

BGP 的选路过程是一个多步骤的比较流程,常见的顺序如下:

  1. 检查是否为本地路由(本地直连)
  2. Highest local-pref
  3. Shortest AS-Path
  4. 最低的 Origin 类型(IGP < EGP < incomplete)
  5. 最低的 MED(多出口判定)
  6. eBGP 路由优先于 iBGP
  7. 最低的 IGP 路径成本到下一跳
  8. 最早学习路由(最低的 Router ID)

在多上游场景中,local-pref 是最直接的策略手段,用于定义“首选出口”。但当多个上游的 local-pref 相同时,AS-Path 长度和 MED 成为决胜因素。理解这几个属性的作用和边界,有助于构建更细粒度的选路策略。

二、合理设计 local-pref:分层与模块化

local-pref 是 BGP 选路中最重要的指标,数值越大优先级越高。设计时建议采用分层策略:

  • 第一层:区分不同上游服务商。比如 ISP-A 设为 200,ISP-B 设为 150,ISP-C 设为 100。
  • 第二层:内部根据业务或链路质量微调,比如对 ISP-A 的主链路设 210,备链路设 190。

这种分层设计有助于快速识别策略意图,避免同一上游内部不同链路因 local-pref 混乱而产生不必要的路由波动。同时,建议将这些数值定义写入配置模板或策略表中,方便统一管理和变更追踪。

三、AS-Path 预置与过滤:优先级细分的利器

AS-Path 长度是 BGP 选路的次要指标,越短优先级越高。通过预置 AS-Path 过滤和打标签,可以实现更细致的路径控制:

  • 对合作伙伴或优质上游的 AS-Path 进行匹配,人工调整 local-pref 或打上社区标签。
  • 对路径较长或经过特定 AS 的路由,降低 local-pref,防止流量绕路。
  • 结合 AS-Path 过滤规则,排除不合规的路由公告。

例如,假设 ISP-A 通过 AS100,ISP-B 通过 AS200 和 AS300 两跳,默认 local-pref 相同的情况下,路由器会选择经过 AS100 的路径。通过预置 AS-Path 策略,可以进一步强化这一选择逻辑。

四、MED 的边界与应用:多出口环境的“软”调节器

MED(Multi-Exit Discriminator)用于在相同邻居 AS 内部的多出口之间指示优先级。其作用范围仅限于同一邻居 AS,且只有在 local-pref 和 AS-Path 相同的情况下才会被考虑。因此:

  • 不同上游之间的选路不要依赖 MED,避免误判。
  • 在同一上游提供多出口链路时,合理设置 MED 值(数值越小优先级越高),实现出口流量的“软”负载均衡。
  • 注意 MED 可能被上游忽略或重写,需与上游协商确认。

例如,ISP-A 提供两个出口链路,分别设置 MED 为 50 和 100,可以引导流量优先走 MED 50 的出口,且不会影响其他上游的选路逻辑。

五、构建“多上游选路策略表”:明确规则与维护便利

将上述选路优先级和属性设计,整理成一张清晰的策略表,有利于团队理解和快速调整。示例策略表结构:

策略维度 规则说明 示例数值/操作
local-pref 按上游分层,主备链路区分 ISP-A 主链路 210,备链路 190;ISP-B 150
AS-Path 匹配优质路径,调整优先级 匹配 AS100 路径,提升 local-pref 10
MED 同邻居 AS 多出口,设置出口优先级 出口1 MED=50,出口2 MED=100
社区标签 标记特殊路由,便于监控和过滤 社区 65535:100 标记主链路

这样的表格不仅是配置的蓝图,也便于版本管理和变更审批。

总结与检查清单

  • 确认 local-pref 分层设计:区分不同上游和链路等级,保持数值间距合理,避免冲突。
  • 审视 AS-Path 预置规则:确保优质路径被正确识别并调整优先级,过滤异常路由。
  • 合理利用 MED:仅限同一邻居 AS 内多出口,避免跨 AS 依赖 MED。
  • 建立策略表:将选路策略以表格形式固化,便于团队理解和后续维护。
  • 定期校验路由决策:使用工具(如 BGP 路由分析器)验证选路符合策略预期。

本文由 南方数据技术博客编辑整理,涉及具体环境时请以官方文档与实际配置为准。

返回列表