read.fallenpal归档
精翻 · 文章

用 BGP Location Communities 理解城市级路由

原作者 Thomas Krenc原文 2026-04-20Carla / Hermes 译
Towards Understanding City-Level Routing Using BGP Location Communities

BGP location communities 能揭示网络实际在哪里互联。即使大多数 communities 缺少文档,路由数据中的空间信号也让城市级位置推断成为可能。

作者:Thomas Krenc
原文发布时间:2026-04-20
查看原文

BGP location communities 给了我们一个少见的窗口:可以看到网络实际在哪里互联。但其中大多数 communities 都缺少公开文档,语义也很不透明。我们的工作表明,只要利用路由数据中可测量的空间信号,就有可能仅凭被动观测,在大规模范围内推断出这些 communities 所表达的城市级含义。

要理解 Internet 路由,只停留在 Autonomous System(AS)层面是不够的。城市级路由揭示的是底层物理位置:网络到底在哪里相遇、在哪里交换流量。Border Gateway Protocol(BGP)location communities 是目前唯一能提供这种细粒度信息的路由数据,因为它们会标记 AS 之间发生 peering 的位置。

问题在于,大多数 BGP communities 既没有标准化,也没有文档。研究者和运营者很难可靠地解释它们的含义。我们提出了一种推断方法。

这篇文章摘取了我们推断方法中的几个重点:它利用网络 prefix 的 origin 与给该 prefix 打上 location community 的路由器位置之间的空间相关性,并展示一部分推断结果。

更完整的分析可以看我们的论文:https://dl.acm.org/doi/10.1145/3768998

直接推断很复杂

BGP communities 本质上是不透明的数值,因此无法只看 community value 本身就推断出它指向的位置。举个例子,35280:31201299:37200 分别由两个不同的 AS 定义:AS35280 和 AS1299,但它们都表示同一个地点:新加坡。在我们的研究中,真正可用的线索来自那些被这些 communities 标记的 prefixes 的 origin。

不过,使用有 ground truth 的 location communities 做验证时,我们发现只有约 4% 的 routes 是在接近其 origin 的地方被打标的,也就是距离 ≤50 km。大多数 routes 的打标位置离 origin 很远,超过 50 km,最远可达 20,000 km。这让直接推断变得复杂。

为了解决这个问题,我们设计了一组过滤器,用来隔离那些在接近 origin 的位置被打标的 prefixes,再用它们进行位置推断;同时,我们还加入了额外机制来提高推断准确率。

Prefixes 可能会在 handoff 位置被打标

我们使用 RouteViews 和 RIPE RIS 中的 prefixes、AS-PATHs 与 community attributes 来推断 BGP communities 所表示的位置,并用 MaxMind geolocation database 将 prefixes 映射到地理坐标。

被同一个 community 标记的 prefixes 会被放到二维地理空间中聚类,也就是纬度和经度空间中。这样可以识别出与某个物理位置相对应的空间集中区域。这个方法背后的直觉是:prefixes 可能会在接近目的地的 handoff 位置被打标。比如目的地只能通过一个位置到达,或者在存在多个出口时,网络采用 cold-potato routing。

这是第一个只使用被动路由数据,就能以城市级粒度推断 BGP location communities 地理语义的方法。

一个可测量的空间信号

在验证数据集中,我们成功推断出了 1,595 个 communities 中的 1,482 个,recall 达到 93%。在这些成功推断的 communities 中,80% 的推断位置距离 ground truth 在 70 km 以内。

图 1 展示了我们推断方法的工作方式。我们随机选择了 AS2914 定义的十个城市级 communities。图中的圆代表 prefix clusters,圆的大小与 prefix 数量成比例,并且按每个 community,也就是颜色,做了归一化。

图 1:使用被动路由数据推断城市级 BGP communities 的位置。

我们有三个观察:

这些结果确认了一点:prefix origin 与给它们打上 location communities 的路由器之间,确实存在可测量的空间信号。这让我们在实践中能够被动推断缺少文档的 communities。

当某个 community 的 clusters 来自打标 AS 没有本地 point of presence 的区域时,这种方法表现可能较差,因为打标位置会与 prefix origin 脱钩。不过,识别这些 outliers 本身也有价值,并值得进一步分析。

验证与规模

我们使用一个 ground-truth 数据集来验证结果。这个数据集包含来自 Tier-1、content、eyeball 和 carrier networks 的已公开文档化 location communities。对于缺少文档的 communities,我们直接联系了网络运营者,并观察到了相近的推断准确率。

这项工作目前还没有达到直接运营化应用的程度,但它说明城市级 interconnection 信息可以被大规模推断出来,也为更广泛的应用打开了空间。

更深入地理解 interconnection 行为

这项工作由我们与 UC San Diego 的 Center for Applied Internet Data Analysis(CAIDA)以及 University of Liège 合作完成。研究中使用的数据集和代码已经在 GitHub 上公开,论文也已经发表在 Proceedings of the Association for Computing Machinery on Networking, Volume 3。

我们提出了一种推断 communities 所表示位置的方法,但可靠识别哪些 communities 真正编码了城市级信息,仍然是一个开放问题。作为理解 undocumented BGP communities 的更大工作的一部分,我们正在开发自动识别和分类这些 communities 的方法。

我们观察到的打标路由器与 prefix origins 之间的空间相关性,可以被用于研究地理路由模式、检测异常,并帮助我们在 AS 层级之外,更深入地理解 interconnection 行为。

本文最初发表于 APNIC Blog。

本页为精翻阅读版。原文版权归原作者所有,中文译文仅用于学习与研究传播。