The Cloudflare Blog

BGP ORIGIN attribute manipulation and its impact on the Internet

8.5内容质量

TL;DR · AI 摘要

BGP ORIGIN属性被广泛篡改,导致70%的路由路径与原始AS设置不符,影响互联网流量转发。

核心要点

  • 70%的BGP路径ORIGIN值与原始AS设置不符,显示广泛篡改现象。
  • IGP占89.8%,但EGP和INCOMPLETE占10.2%,可能影响路由决策。
  • RFC4271规定ORIGIN不应被修改,但实际中存在大量篡改行为。

结构提纲

按章节快速跳转。

  1. 介绍BGP协议及ORIGIN属性在路由选择中的核心作用。

  2. 解析ORIGIN的三个值(IGP/EGP/INCOMPLETE)及其历史背景。

  3. 通过RIPE RISRouteViews数据揭示70%路径ORIGIN值被篡改的统计结果。

  4. 说明ORIGIN值在路径选择算法中的优先级及篡改带来的决策偏差。

  5. RFC4271规定与实际冲突

    对比RFC4271的规范要求与实际网络中ORIGIN属性被修改的普遍现象。

  6. 强调ORIGIN篡改对互联网稳定性的威胁及需加强路由安全的必要性。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • BGP ORIGIN属性篡改
    • 操作历史
      • IGP/EGP/INCOMPLETE定义
      • 历史数据分布
    • 篡改现象
      • 70%路径ORIGIN异常
      • 数据来源:RIPE RIS/RouteViews
    • 影响分析
      • 路由选择偏差
      • RFC4271规范冲突

金句 / Highlights

值得收藏与分享的关键句。

#BGP#网络路由#网络安全#互联网协议
打开原文

BGP ORIGIN属性操纵及其对互联网的影响 | Cloudflare博客

post

路由

路由安全

更优质的互联网

BGP

网络服务

2026年7月24日

BGP ORIGIN属性操纵及其对互联网的影响

Iliana Xygkou 和 Bryton Herdes

11分钟阅读时间

复制链接

边界网关协议(BGP)是互联网的实际路由协议。它内置了允许自治系统(AS)表达如何在互联网上发送和接收流量的机制。其中一种机制是路径属性,它携带与相关路由关联的路由信息和元数据。路径选择算法按确定性顺序处理这些路径属性中的一部分,以计算特定前缀的最佳路径。

凭借我们在互联网上的独特位置,我们对BGP中众所周知的强制性属性之一ORIGIN属性进行了调查。ORIGIN必须出现在每个BGP前缀公告中,且在由原始AS设置后不应被任何路由器修改。通过我们自己的实验发现,在多个观测点中,约70%的路径显示ORIGIN值与原始自治系统设置的值不同。这种ORIGIN属性操纵对互联网流量转发方式产生了重大影响,我们将在本文中探讨。

BGP ORIGIN属性及其操作历史

ORIGIN属性指示路由是如何注入到BGP中的——不要与表示哪个AS宣布了路由的起源AS混淆。它有三个可能的值:

(0) IGP:表示该路由属于原始AS内部

(1) EGP:历史值,表示该路由通过旧版外部网关协议(EGP)学习获得,该协议已过时且不适用于现代互联网

(2) INCOMPLETE:表示该路由通过未知或外部来源学习获得

根据RIPE RIS和RouteViews公共BGP收集器的总可观察路由统计,89.8%的路由ORIGIN设置为IGP,3.5%设置为EGP,6.7%为INCOMPLETE。如上所述,EGP应完全淘汰,INCOMPLETE仅占总路由的一小部分。这些数据表明,虽然IGP是ORIGIN属性中最普遍的取值,但超过10%的路由使用EGP或INCOMPLETE值,这可能在路由决策中产生影响。

作为BGP路径选择过程的一部分,当两条路由具有相等的本地优先级和AS_PATH长度时,路由器会评估ORIGIN属性,选择并安装具有较低ORIGIN值的路径。

除了路径选择决策外,还需注意RFC4271对ORIGIN的说明:

ORIGIN属性由生成相关路由信息的发言人创建。其他发言人不应修改其值。

尽管指南建议不要修改ORIGIN属性,但由于其在路由选择过程中的早期评估,该属性为AS提供了改变路由偏好和通过或绕过其网络引导流量的吸引力选项。

例如,在下图中,AS64501宣布一个前缀,其ORIGIN设置为INCOMPLETE,并将此宣告传播给其两个客户AS64502和AS64503。通常,两者都应在AS_PATH中添加自己的AS编号,然后将宣告转发给共同客户AS64504,同时保留INCOMPLETE值。然而,为了提高其路由被选中的可能性,AS64503将ORIGIN修改为IGP。结果,AS64504接收到两条具有相同AS_PATH长度的路由,但来自AS64503的路由携带更受青睐的IGP值。因此,AS64504将选择通过AS64503的路由向AS64501发送流量,从而将更多流量和收入导向该提供商。

将ORIGIN属性修改为不准确但更受偏好的IGP值这一简单操作,使转接提供商能够吸引流量并获取利润。

网络运营商社区已默许转接提供商通过修改ORIGIN属性为IGP来吸引更多流量到其链路这一现实。然而,在RIPE 91会议上,James Bensley首次指出主要网络广泛采用这种操作技术。随后在LACNIC 45会议上,Celsa Sánchez的报告研究了这种行为对LACNIC(拉丁美洲和加勒比地区)的影响。尽管公开披露应能遏制这种做法,但它凸显了路由选择作为一场以收入驱动的军备竞赛的现实。网络运营商更可能迅速采用修改ORIGIN属性的方式以平衡竞争,而非等待竞争对手恢复RFC合规性。

互联网上对ORIGIN属性处理的日益不一致促使创建了一个现已过期的互联网草案(Internet-Draft),建议弃用该属性。为揭示这一现象的范围并追踪其参与者及其意图,我们进行了自己的实验,并在下一节中分享结果。

ORIGIN属性操作分析

在我们的实验中,我们通过BGP任播(BGP Anycast)从所有对等位置宣布了三个IPv4和三个IPv6前缀,每个前缀使用不同的ORIGIN值(IGP/EGP/INCOMPLETE)。在确认全球传播后,我们随后撤回了这些前缀以触发路径搜索过程,从而揭示更多通往测试前缀的路径,为我们提供了更多发现修改后ORIGIN值的机会。如图所示,我们使用BGPKIT工具包解析了来自RIPE RIS和RouteViews所有公共BGP收集器的多线程路由工具包(MRT)转储中的Update消息,以及从我们边界路由器收集的本地BMP数据。请注意,我们选择分析Update消息而非路由信息库(RIB)转储(这些是对等AS路由表的快照),以在宣告和撤回阶段尽可能多地获取路由信息。

BGP分析的根本困难在于,对于单个路由宣告,无法看到互联网上所有AS的可见性。这一差距因现代互联网的扁平化趋势而加剧,超大规模云服务商和CDN通过直接本地对等连接绕过传统转接路由。因此,公共监控设备会遗漏给定前缀的BGP拓扑结构的重要部分,这意味着对AS属性的任何推断都始终存在固有不确定性。

在两跳AS_PATH中发现ORIGIN修改者

首先,我们关注仅包含两个AS的AS_PATH:“ ASX AS13335”,其中我们将ASX称为直连对等节点。由于我们配置了路由器以特定ORIGIN传播我们的宣告,因此我们确信如果观察到不同的ORIGIN,ASX一定将其修改为新值。下表显示了352个IPv4直连对等节点的操纵行为,其中“Advertised ORIGIN”列显示我们三个前缀各自的宣告值,右侧列则列出直连对等AS观察到的ORIGIN值:

Advertised ORIGIN

(IPv4)

直连对等节点观察到的ORIGIN

IGP

EGP

INCOMPLETE

IGP + EGP

IGP + INCOMPLETE

345

3

4

0

32

313

314

我们想指出两个有趣的观察结果。首先,三个AS将ORIGIN改为EGP,四个AS将其改为INCOMPLETE,无论原始值如何,这意味着它们可能试图降低这些路由的优先级。我们联系了其中一个AS的网络工程师,确认他们正在将从对等节点或提供商处收到的路由的ORIGIN重写为EGP(以使其相比客户路由优先级更低)。其次,对于非IGP前缀,三个AS传播的路由同时包含原始值和IGP(上述最右侧两列)。根据路由的其他属性(如团体属性和AGGREGATOR),我们推断这些AS在多个对等位置接收我们的路由,并将ORIGIN更新为IGP,可能是为了通过首选节点转发流量。将后者的AS与始终重写为IGP的AS结合,我们发现近10%的直连对等节点将ORIGIN属性修改为IGP。

在测试IPv6时,我们预期结果类似,但想指出同一AS在两个地址族之间操纵ORIGIN值时的差异。在下表中,我们展示了315个IPv6直连对等节点的操纵行为:

(IPv6)

308

29

280

2

281

最值得注意的是,两个直连对等节点仅将ORIGIN修改为IGP用于IPv4前缀,而非IPv6,这表明两个地址族的配置不同。

将分析范围缩小到Tier-1 AS,16个中6个似乎将ORIGIN值修改为IGP,与之前研究的结果一致。请注意,通过人工调查我们发现,一个Tier-1网络将从对等节点学习到的路由的ORIGIN值修改为IGP,而客户路由则保留原始值。这种行为模式在多个Tier-1网络中体现,反映了吸引最大流量并抵消其他ORIGIN修饰符优势的驱动力。

识别更长AS_PATH中的修改者

基于这些初步结果,我们将方法扩展到处理更长路径并推断更多AS的行为。简要说明,我们的算法工作原理如下:

  • 我们将AS13335加入信任集合(T)。T包含所有保留ORIGIN属性的AS。
  • 对于每个AS_PATH:过滤掉T中的所有AS。如果只剩下一个AS,我们可以将ORIGIN归因于该AS。我们记录映射AS → ORIGIN(s)。
  • 对于每个AS → ORIGIN(s)对:如果ORIGIN(s)等于原始值,我们将AS加入T。否则,我们将AS加入M(odifiers)。
  • 如果在步骤3中更新了T,重复从步骤2开始的流程。

应用于源自EGP和INCOMPLETE的IPv4和IPv6前缀路由时,该方法将我们的AS归属从802个可见AS中的606个(75.6%)提升,其中64个(10.6%)正在将ORIGIN更改为IGP。受Tier-1运营商采用该技术的启发,我们使用CAIDA的AS Rank研究了归属AS的重要性。AS Rank根据AS的客户锥体(即自身及其通过提供商-客户链接可到达的所有AS)对AS进行排名。

在下图中,我们展示了归属AS的AS Rank累积分布(CDF)。一个有趣的观察是,IGP重写AS高度集中在AS层级的顶端,20.3%的重写AS位于AS Rank前50名中。

大型AS重写ORIGIN的影响

总计,前50名AS中有26%和前100名AS中有20%正在操纵ORIGIN属性,这表明尽管整体占比低,但重置ORIGIN的AS在互联网中高度核心且具有影响力。进一步的研究发现,实验中观察到的唯一IPv4 AS_PATH中有70%、IPv6 AS_PATH中有67%的ORIGIN被重置为IGP,这进一步强化了这一影响。我们还通过整合BGP更新计算每个对等AS的收敛活跃路由表状态,研究了重写ORIGIN对最佳路径选择的影响。我们使用ORIGIN设置为IGP的前缀广告作为对照组,与我们的EGP和INCOMPLETE公告观察到的AS_PATH进行比较。在IPv4中,我们发现539个总AS_PATH中有110个(20%)经过Tier-1网络,将ORIGIN重置为IGP为ORIGIN重写者增加了12条额外路径(增加了18%),这些路径原本会通过保留ORIGIN的网络。在IPv6中,效果更强,重写者获得了33条额外路径(40%)。其中包含11条路径,对于我们的对照组来说,这些路径并未经过任何Tier-1网络。这表明当ORIGIN被操纵时,流量被重新导向大型Tier-1 ISP,远离其他ISP。

正如您所见,ORIGIN属性的操纵显著影响了互联网路由。在我们的实验中,我们可以轻松观察到对BGP路径选择的影响,并证明重写ORIGIN是分流流量和产生收入的一种方式。没有有效的技术原因需要重写ORIGIN属性,我们看到依赖ORIGIN作为决定路由选择的驱动因素并不合理。

废弃ORIGIN属性

鉴于我们发现ORIGIN操纵的普遍性,我们必须质疑该属性在现代互联网中是否还有任何意义。我们认为答案是否定的。

ORIGIN的处理不一致,导致了那些机会主义地更改ORIGIN的网络与遵守RFC的网络之间的不公平。虽然立即废弃BGP中一个强制属性在技术上不可行,但IETF已经提出了相关工作,使ORIGIN属性在BGP路径选择中变得不那么重要。我们认为,要求BGP(供应商)实现将所有接收和发布的路由的ORIGIN设置为IGP是一个合理的起点。目前,IGP已经是绝大多数路由的ORIGIN。

我们希望在社区和IETF中重新掀起关于ORIGIN属性及其未来(或缺乏未来)的讨论。这可能包括重启已过期的草案“清除BGP ORIGIN属性”(draft-marenamat-idr-scrub-bgp-origin-00),也可能涉及全新的方法。如果ORIGIN属性不再对互联网路由产生影响,互联网路由将会更加完善和公平。

目录列

讨论列

相关标签及社交媒体链接

相关标签

在社交媒体上关注

  • Iliana Xygkou
  • Bryton Herdes

电子邮件订阅