ORIGIN 是什么
ORIGIN 是必遵属性,记录路由是怎么进入 BGP 的:用 network 命令宣告的标记为 IGP(i),通过重分发引入的标记为 INCOMPLETE(?),EGP(e)是历史遗留取值,现代网络基本见不到。它在决策顺序中排第 5 位,只有在前面几项属性完全相同时才起作用。
基本信息
| 属性类型 | well-known mandatory(必遵) |
|---|---|
| 取值 | i = IGP;e = EGP;? = INCOMPLETE |
| 产生方式 | network 命令产生 i;redistribute 产生 ? |
| 比较顺序 | i 优于 e,e 优于 ?(第 5 步) |
| 显示位置 | show ip bgp <前缀> 路径行末尾的字母 |
| 是否影响可达性 | 不影响,只影响属性比较中的优先级 |
典型使用场景
- 确认某条路由的来源:判断它是宣告的还是重分发引入的
- 排查选路差异:属性接近时,ORIGIN 可能成为分出胜负的那一步
- 割接核对:迁移后确认引入方式是否与设计一致
- 审计与巡检:抽查外部路由是否全部来自预期方式
- 与聚合配合:理解聚合条目的 ORIGIN 与原明细的关系
查看与设置
查看与设置
show ip bgp 10.1.1.0/24
# 路径行末尾字母即 ORIGIN:i / e / ?
show ip bgp neighbors 10.0.0.2 advertised-routes | include 10.1
#
# 通过 route-map 显式设置(较少使用,主要用于与对端约定)
route-map RM-ORIGIN permit 10
set origin igp
!
show ip bgp 10.1.1.0/24 | include origin取值与来源对照
| 取值 | 含义 | 常见来源 | 优先级 |
|---|---|---|---|
| i | IGP,本 AS 内部产生 | network 命令宣告 | 最高 |
| e | EGP,历史协议产生 | 早期 EGP 环境 | 居中 |
| ? | INCOMPLETE,来源不明 | redistribute 或聚合引入 | 最低 |
同一前缀多条路径走到第 5 步才比较 ORIGIN,实际网络中该步骤极少成为决定因素;看到 ? 也不必紧张,重分发场景普遍存在。
聚合路由的 ORIGIN 通常为 incomplete,因为它是本地生成的汇总条目,与它所覆盖的明细来源无关。
核对来源方式
核对来源方式
show ip bgp 10.1.1.0/24 # 路径行末尾字母为 ORIGIN
show ip bgp neighbors 10.0.0.2 advertised-routes | include 10.1
# 与设计对照:宣告的路由应为 i,重分发引入的为 ?
show running-config | include redistribute # 确认引入方式来源排障中的典型判断
| 现象 | 判断 | 动作 |
|---|---|---|
| 外部前缀显示 ? | 来源为重分发或聚合 | 与设计对照,确认是预期来源 |
| 同样前缀远近两条路径 ORIGIN 不同 | 可能在此步分出胜负 | 核对前面几步属性是否真的完全相同 |
| 聚合条目显示 ? 而非 i | 聚合由本地生成 | 属正常表现,无需修改 |
| 迁移后 ORIGIN 变化 | 引入方式改变 | 确认是否已切换为 network 宣告 |