首页/网络/BGP 与广域网速查/改写 ORIGIN:set origin 的适用与风险
BGP 选路与策略62 条

改写 ORIGIN:set origin 的适用与风险

通过 route-map set origin 改写 ORIGIN 取值;常见于清理重分发产生的 INCOMPLETE,但改写只影响属性比较,不代表路由来源发生变化。

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

改写 ORIGIN 的适用与风险

ORIGIN 是路径属性之一,取值 IGP、EGP 与 INCOMPLETE,数值越低在选路比较中越靠前:重分发进来的路由通常带 INCOMPLETE,若对端在同一比较步骤上更看重 IGP 来源,就可能出现选路差异。用 set origin 可以把取值改成 IGP 或 EGP,但要清楚这只改变属性比较结果,路由的真实来源并没有变化。

基本信息

取值i(IGP,数值 0)、e(EGP,数值 1)、?(INCOMPLETE,数值 2)
比较规则选路时数值小的优先
改写命令route-map 中 set origin igp | egp | incomplete
作用范围仅改变属性取值,不改变路由实际来源
核对命令show ip bgp <前缀>、show ip bgp neighbors <ip> advertised-routes

典型使用场景

  • 清理重分发产生的 INCOMPLETE:与对端约定后统一属性语义
  • 与对端对齐选路:双方认知不一致时,通过属性统一减少分歧
  • 策略验证:确认改写后对端选路是否真的按预期变化
  • 风险评审:改写前说明可追溯性下降的代价
  • 回归对比:记录改写前后的对端路由表差异

配置与核对

配置与核对
route-map RM-ORIG permit 10
 match ip address prefix-list PL-BIZ
 set origin igp
!
router bgp 65001
 neighbor 10.0.0.2 route-map RM-ORIG out
!
# 核对:本端属性已改写
show ip bgp 10.1.1.0/24 | include Origin
# 核对:对端看到的内容(需在对端执行)
show ip bgp neighbors 10.0.0.2 advertised-routes

取值与含义

取值含义来源
i(IGP)通过 IGP 引入或本地始发,比较中优先network 语句或 IGP 重分发
e(EGP)通过早期 EGP 协议引入现今极少见
?(INCOMPLETE)来源不完整,通常为重分发产生静态或其它协议重分发
改写后属性变化但真实来源未变set origin 仅修改属性值
批量改写会让来源信息变得不可追溯:变更记录里要写清改写范围与原因,否则日后排障时无法判断某条路由究竟是本地始发还是重分发引入。
改写前后在对端各采一次路由表快照:如果对端选路没有变化,说明这一比较步骤并非决定因素,继续调整它只是白忙。属性改写要服务于明确效果,而不是为了让输出看起来整齐。
优先把改写放在出向:出向只影响对端看到的内容,本网内部的选路判断保持不变,影响范围更可控,出问题时也更容易回退。

易错点

  • 批量改写导致来源不可追溯:变更记录缺失时,后续排障失去重要线索
  • 把 ORIGIN 与 RPKI 起源校验混淆:后者校验的是起源 AS 号,与 i/e/? 标记无关
  • 改写后不核对对端:属性改了但选路没变的情况很常见,需以对端输出为准
  • 把所有 INCOMPLETE 一律改写:掩盖了重分发的真实来源,风险高于收益

数据来源与参考

  • Cisco: set origin
  • RFC 4271: ORIGIN 取值
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌