如何找到一个 asn 的 AS-SET?

网络工程 路由 bgp 互联网
2021-07-29 09:14:37

我们如何找到asn的as-set?

例如,我有 asn:32934。我要原图?

2个回答

据我了解,您正在寻找一种方法来确定 BGP 对等方通告的 ASN 集,因此该对等方通告的总前缀集均源自对等 ASN 及其下游。

据我所知,没有单一的事实来源可以查询哪个 BGP 是对等广告哪个 AS 集。我想到了三个来源:

  1. 对等数据库许多网络确实在那里注册了这些信息,但没有那么多检查,因此任何人都可以声称为任何集做广告。多亏了 peeringDB API,查询这些信息很容易。

  2. 对等ASN 的路由注册信息(whois 数据)这可能包含一些信息,主要是作为备注的自由格式文本,关于对等方通告的 AS-SET。就像 peeringDB 一样,由于没有验证,因此不太可靠,并且由于输出未标准化而更难解析。

  3. 路由注册表中的RPSL 数据如果对等方以 RPSL 格式注册其路由策略,您可能能够根据他们向其他对等方通告的内容来确定对等会话的策略。RPSL 数据采用标准化格式,因此更易于解析,但同样没有验证,您也无法确定您可以从其他策略中推断出该策略。

底线:很难获得可靠的数据,而且很难自动构建前缀列表以过滤不正确的广告(我猜这就是您的最终目标?)。那么这里有什么可以帮助你呢?

  1. 在建立新的对等关系时,向对等方询问他们的 AS-set。特别是因为一个 ASN 可以在不同的位置通告不同的 AS-set,仅仅一个对等的 AS 到 AS-set 的映射是不够的。
  2. 当处理不可靠的数据时,考虑实施RPKI验证作为额外的检查,以确定接收到的路由是否有效。

如果您有 linux 主机,请确保安装了 bind-utils 工具(whois 应该可以工作)。

对于 AS“32934”,请执行以下操作: whois -h whois.radb.net AS32934 | grep mnt --> 获取此 AS 的所有维护者对象。

对于每个 MNT 对象,再次运行 whois 命令。whois -h whois.radb.net !o'$MNT' | grep as-set --> 这应该给出这个 AS 所属的所有 AS-SET 的列表。正在检查 AS32934.... 它似乎属于 Facebook AS-SET。

****编辑***