JungleLabs Insights

如何查找IP前缀的起源ASN

文章

当IPv4或IPv6前缀在公共互联网上宣告时,最有用的信息之一是起源ASN。起源ASN标识当前通过BGP宣告该前缀的自治系统。

查找起始ASN有助于网络故障排除、IPv4传输、IPv6部署、BGP监控、RPKI验证、供应商迁移和IP前缀验证。它还可以显示某个前缀是否由您预期的ASN进行宣告。

例如,一家公司可能拥有或租用一个IPv4地址块,并计划从其自身的ASN发布该地址块。在将生产流量迁移之前,网络团队可能希望确认该前缀是否在BGP中可见,当前哪个ASN发布了该前缀,以及结果是否与注册信息和路由计划相符。

这个过程相对简单,但有几个概念经常被混淆。起始ASN不一定是注册表中列出的组织。它不一定与承载该路由的中转提供商相同。它也不同于完整BGP路径中出现的每个ASN。

本指南解释了什么是来源ASN,如何使用公共工具找到它,如何查询RIPEstat,以及如何调查多个或意外的来源ASN。

什么是起源ASN?

自治系统编号,或称ASN,用于标识一个独立网络,该网络使用BGP与其他网络交换路由信息。互联网服务提供商、云平台、托管公司、企业、大学、内容网络和其他运营商可能使用ASN。

起源ASN是在BGP公告中看起来是特定IP前缀来源的ASN。如果一个路由的 198.51.100.0/24 有起源 AS64500,互联网被告知说 AS64500 可以到达或为该前缀传递流量。

“origin”一词指的是AS路径中靠近所宣传前缀的一端。这并不意味着该ASN拥有该地址空间。一个组织可能持有IP资源,而另一个ASN则通过托管、传输、赞助或托管路由安排来宣布该地址空间。

一个路由在到达源地址之前可能经过多个自治系统。简化的BGP路径可能如下所示:

AS3356 AS64510 AS64500

在此示例中, AS3356 可能是上游中转提供商, AS64510 可能是另一个网络,和 AS64500 是该前缀的起源ASN。

为什么源ASN很重要?

源ASN有助于解释IP前缀当前如何连接到互联网。如果一家公司期望其前缀由自己的ASN宣布,但公共BGP数据显示不同的来源,则路由设计可能不完整或需要进一步调查。

Origin ASN information is especially useful during an IPv4 transfer. The receiving organisation may plan to announce the transferred block from a new ASN. Checking the current origin before the transfer and the new origin after the transfer helps confirm that the routing change happened as planned.

在ASN迁移期间也十分有用。企业可能从由供应商管理的ASN迁移到自己的ASN,或更改负责宣告某个前缀的组织。如果旧的起源在迁移后仍然可见,之前的路由可能仍处于活动状态。

起源ASN信息也与RPKI相关联。路由起源授权指明了哪个ASN被授权发起一个前缀。如果BGP起源与RPKI授权不匹配,该路由可能被归类为无效。

源ASN与注册组织

注册记录中显示的组织和作为BGP起源显示的ASN是相关的,但不完全相同。

注册数据库记录有关互联网号码资源的信息,例如inetnum、inet6num、组织引用、资源状态、国家和滥用联系人。BGP显示当前哪个网络正在宣告路由。注册所有者可以使用赞助的LIR、传输提供商、云平台或托管路由提供商来宣告资源。

例如,一家公司可能被列为IPv4前缀的所有者,而网络提供商则从提供商的ASN中宣告该前缀。如果合同、路由权限和注册记录支持的话,这可能是一种合法的安排。

相反的情况也是可能的。一个ASN可能宣布一个前缀,而该前缀与注册表中显示的组织没有明显的关联。这并不自动证明该路由是恶意的,但应进行调查,特别是如果来源是意外的或前缀正在考虑购买或转移时。

一个可靠的审查应比较注册机构、当前来源ASN、IRR路由对象、RPKI状态以及实际的商业或技术安排。

如何在RIPEstat中查找起始ASN

RIPEstat是一个公共网络信息服务平台,提供有关互联网资源、BGP路由、RPKI和其他操作信号的信息。其BGP状态数据可用于检查某个前缀是否当前已被宣告以及已观察到哪些来源。

打开RIPEstat并输入一个IPv4或IPv6前缀。结果可能显示公告状态、观察到的起源ASNs、路由信息和时间戳。

您也可以直接查询RIPEstat API:

https://stat.ripe.net/data/bgp-state/data.json?resource=193.0.0.0/21

对于IPv6前缀,请使用:

https://stat.ripe.net/data/bgp-state/data.json?resource=2001:67c:2e8::/48

API返回JSON数据。根据前缀和当前可用的信息,响应可能包含起源信息、公告状态、路由观察结果和时间戳。

结果是一个公共路由快照。它可能会随时间变化,不同的监控系统可能显示不同的信息,因为它们使用不同的路由收集器和更新计划。

如何使用RIPEstat API

可以使用curl发出基本请求:

curl "https://stat.ripe.net/data/bgp-state/data.json?resource=193.0.0.0/21"

在 Windows PowerShell 中,使用:

Invoke-RestMethod `
  -Uri "https://stat.ripe.net/data/bgp-state/data.json?resource=193.0.0.0/21"

当应用程序从用户处接受前缀时,在将其添加到API请求之前,该值应进行URL编码。这一点很重要,因为IPv4和IPv6前缀包含诸如 / 和 :.

一个简单的JavaScript请求看起来像这样:

const prefix = "193.0.0.0/21";

const url =
  "https://stat.ripe.net/data/bgp-state/data.json?resource=" +
  encodeURIComponent(prefix);

fetch(url)
  .then(response => response.json())
  .then(result => {
    console.log(result);
  });

API响应应被视为公共路由数据,而不是永久记录。如果您将其用于事件报告、转移审查或迁移检查表,请记录查询时间。

教程:逐步进行起源ASN查询

以下过程可被初学者用来检查公共前缀的起源ASN。

步骤 1:以 CIDR 格式输入前缀

以完整的IPv4或IPv6前缀开头,例如:

193.0.0.0/21

或:

2001:67c:2e8::/48

如果您想调查整个分配范围,请不要只输入一个单独的IP地址。单个地址可能会返回有关更大区块的信息,但可能无法明确识别您要查看的确切范围。

步骤2:检查前缀是否已宣布

检查BGP状态结果并查找已宣布或可见的状态。如果前缀未被宣布,则可能无法获得起源ASN。

前缀可能无法公布,因为它为新分配、保留、私用、已撤回或等待部署。可见性不足并不意味着该资源无效。

步骤3:记录源ASN

将工具返回的每个来源ASN记录下来。如果只显示一个ASN,请将其与预期的网络设计进行比较。如果出现多个ASN,请确定多个来源是否是故意的。

同时记录查找日期和数据来源。路由信息会变化,所以没有时间戳的结果在以后很难解释。

步骤4:将来源与注册表数据进行比较

检查相关的RIR或注册机构记录。确认组织、资助提供商和资源状态是否与前缀所有者或供应商一致。

注册表中列出的组织不一定要与来源ASN匹配,但这种关系应该可以解释。

步骤5:检查RPKI和IRR数据

检查RPKI状态和相关的IRR路由对象。有效的RPKI结果和匹配的路由对象提供了更强的证据,表明该来源是预期的。

如果源与RPKI或IRR数据冲突,请暂停部署并在宣布路由前进行调查。

如何阅读查找结果

最重要的字段是来源ASN。将其与前缀和查询时间一起记录下来。

宣布的状态会告诉您API当前是否看到一个活动的BGP公告。如果前缀未被宣布,该工具可能不会返回起源ASN。这并不一定意味着该前缀无法使用。

如果出现多个来源ASN,不要立即认为数据有误。许多网络有意使用多个来源以实现冗余、任播、多站点服务、流量工程或受控迁移。

结果应与预期的部署计划进行比较。如果计划中预期一个来源,但公共数据中显示多个,则应要求网络提供商或资源持有者解释差异。

如何使用其他BGP工具查找起始ASN

RIPEstat很有用,但它不是唯一的公开来源。BGP.tools可以显示宣布的前缀、起源信息、AS路径和路由关系。

飓风电力的BGP工具包还提供有关前缀和自治系统的相关信息。路由收集器和查看镜可以提供来自不同网络的其他观察结果。

不同的工具可能不会返回完全相同的结果。它们可能使用不同的收集器、位置、更新时间和过滤策略。一个系统可能看到另一个系统尚未观察到的路线。

对于重要决策,比较多个来源。这在IPv4转移、BGP迁移、供应商变更或中断调查期间尤其有用。

为什么前缀可以有多个起源ASNs?

多个来源AS编号可能是有意的。公司可能从不同的数据中心宣布相同的前缀以提高弹性。任播服务可能从许多地理位置宣布该前缀。在迁移期间,旧的和新的AS编号可能在有限的时间内可见。

多个来源也可能由配置错误引起。旧的提供商可能在迁移后继续宣告路由,或者工程师可能在错误的路由器上配置了前缀。

在某些情况下,意外的来源可能表示路由劫持或路由泄露。正确的做法是将观察到的来源与记录的路由计划进行比较,并检查相应的RPKI记录是否授权了这些宣告。

因此,多来源的结果是一个需要调查的信号,而不是一个自动得出的结论。

起源ASN和RPKI

RPKI有助于验证起始ASN是否被授权宣告IP前缀。资源持有者发布一个路由起源授权,该授权标识了预期的ASN和允许的前缀长度。

如果BGP来源与ROA匹配,则该路由可以被归类为有效。如果来源不匹配,或者该路由比允许的更具体,则该路由可能变为无效。如果没有适用的ROA存在,结果通常为未找到。

这就是为什么应该将源ASN查找与RPKI验证结合使用。知道这一点 AS64500 宣布一个前缀并不意味着该ASN被授权这样做。

您可以继续阅读:

  • RPKIとは何か?セキュアなBGPルーティングのための初心者向けガイド
  • RPKI中的ROA是什么?
  • RPKI 有效、无效和未找到的解释

源ASN和IRR路由对象

一个互联网路由注册表(Internet Routing Registry,简称IRR),存储了众多网络运营商在构建前缀过滤器时使用的路由策略信息。

一个IRR路由对象描述了哪个ASN被期望起始一个前缀。如果路由对象中说 AS64500 应生成前缀,但BGP显示 AS64510,应进行调查。

IRR对象可能已过时,BGP公告可能不正确,或者网络可能正处于受控迁移过程中。

IRR数据和RPKI数据是分开的。IRR路由对象不会取代ROA,有效的RPKI结果也不会自动生成IRR路由对象。许多网络同时使用这两种系统,因为它们提供不同类型的路由信息。

何时应检查来源ASN?

在接受新的IPv4或IPv6前缀之前,检查来源的ASN,尤其是当资源来自第三方时。结果可以帮助确认路由是否与供应商的解释相符。

迁移ASN之前和之后再次检查。迁移完成后,旧的源应消失,新的源应根据计划的时间表显示出来。

源检查在IPv4转移、供应商变更、数据中心迁移或BGP策略更新后同样有用。定期的监控检查可以在客户报告中断之前发现意外的变化。

对于持续的运营,自动化BGP监控比偶尔的手动查询更有用。警报可以识别新的来源、撤回的路由、意外的路径变化,或从有效到无效的RPKI状态的变化。

公共来源查找的限制

公共BGP数据是有价值的,但存在局限性。它代表了选定路由收集器和监控系统的观察结果,而不是互联网上的每台路由器。

一条路由可能从一个网络可见,而从另一个网络不可见。新的公告可能尚未到达每个收集器。一条路由也可能因前缀长度、供应商策略或区域路由规则而被过滤。

通过查询返回的起源ASN并不能证明对前缀的合法所有权。它不能确认该资源可以转让、租赁或用于特定服务。它也不能证明该前缀具有良好的运营声誉。

为了进行全面审查,请将来源数据与注册表记录、RPKI、IRR信息、BGP历史记录、滥用联系人、声誉检查和合同文档相结合。

常见问题

起源ASN是否是IP前缀的所有者?

不一定。起始ASN是当前在BGP中宣告该前缀的网络。注册所有者可能使用另一个组织或提供商来宣告该资源。

一个前缀可以有两个来源ASN吗?

是的。任何cast可以使用多个来源进行冗余、迁移或流量工程。它们也可能表示配置错误或未经授权的公告。

源ASN多久会更改一次?

没有固定的时间表。在ASN迁移、供应商变更、IPv4转移、数据中心迁移或路由重新设计期间,可能会发生变化。稳定的网络可能多年保持相同的起源。

不同的来源ASN是否总是意味着劫持?

不。这可能是有意为之或由正常的迁移引起。然而,应调查意外的来源,尤其是在与注册表、IRR或RPKI数据冲突时。

查找源ASN是否需要API密钥?

许多公共工具,包括RIPEstat,无需API密钥即可提供基本的路由数据。使用限制和服务可用性可能会发生变化,因此应用程序应处理错误并避免过多请求。

IPv6是否有来源ASN信息?

Yes. BGP origin information can be checked for IPv6 prefixes in the same general way as IPv4 prefixes. The prefix must be entered in valid IPv6 CIDR notation.

结论

起源ASN标识当前作为IP前缀的BGP公告源的自治系统。对于故障排除、迁移规划、IPv4传输、IPv6部署、RPKI验证和路由监控来说,这是重要信息。

您可以通过RIPEstat、BGP.tools、Hurricane Electric、路由收集器或其他公共路由服务找到原始ASN。基本的查询应记录前缀、宣告状态、原始ASN、观察时间和任何其他原始信息。

结果永远不应单独阅读。将来源ASN与注册组织、预期路由计划、IRR路由对象和RPKI授权进行比较。如果数据不一致,确定差异是由计划中的迁移、过时的记录、配置错误还是未经授权的公告引起的。

更广泛的技術審查,請使用 IP资源就绪检查器它可以帮助将注册表、来源、路由对象、RPKI和BGP可见性信号整合到公共IPv4或IPv6前缀中。