因为最近开始研究 BGP 相关的内容,然后在看了一些颇具代表性的文章后,也知道了很多与 BGP 相关的数据的来源。所以想写一篇文章把拥有这些数据的组织情况记录一下,为以后的研究提供便利。
总体来说,拥有与 BGP 相关的数据的组织可按照拥有的数据的类型将它们分为 5 类,分别是:
RIPE RIS 链接
为了帮助网络操作者认识理解网络中的路由,RIPE 提供了 RIS(Routing Information Service)。RIS 利用在世界各地部署(通常部署在世界各地的 IXP)的远程路由收集器(Remote Route Collectors,RRCs),收集并存储网络中的路由数据。志愿与 Collector 进行连接的 AS (Vantage Point)利用 BGP 协议向 Collector 发送 BGP Update 信息,RIS 也会依据相关消息存储以及撤回对应的路由信息。
RIS 会免费提供每个收集器收集到的路由表信息,并以 MRT 格式进行存储。文件可以利用 C 中的 libbgpdump 或者 python 的 PyBGPdump 进行阅读。每一个 RRC 会存储两类数据:
Collector 列表为(总共有 23 个):
RIS 还提供了 RIPEstat 服务,一个提供互联网账号资源的“一站式商店”。当你输入一个 IP 地址,前缀或者 AS 号,RIPEstat 会利用下面的部件给你展示相关的信息。
除了 RIPEstat,研究者还可以利用 RIS Live 这个实时 BGP streaming API 在服务器端上通过 prefix 或者 ASN 对 BGP 消息进行过滤。(主要用于脚本文件)。
RouteViews 链接
RouteViews 全称是 University of Oregon Route Views Project,它也和 RIPE RIS 一样,在世界各地有多个 collector,VP 与 collector 建立 BGP 关系,并向 collector 发送更新路由,collector 收集相关的路由数据(RIB 表以及 Update 表)。
Isolario 链接
与 RIPE RIS 以及 RouteViews 类似,Isolario 也是一个收集 BGP Routing Table 的机构。
RIPE ATLAS 链接
RIPE ATLAS 是一个由分布在世界各地的探测仪所组成的网络,利用 ATLAS 可以实时地测量网络联通性以及可达性。当前 ATLAS 的探测仪有 10000+ 个,并且这个数字还在增长。
ATLAS 利用 probe 以及 anchor 这两种设备对网络进行测量并将结果发送到 RIPE NCC。probe 设备是一个小型的,USB 供电的硬件设备(如下图所示),并且 probe 占用的带宽非常小,不能够传递所在网络所进行的网络通信信息。
probe 能够完成以下种类的测量实验:
anchor 是 probe 的增强版,有着更大的测量能力以及更大的测量范围。
RIPE ATLAS 社区由四类用户组成:
traceroute.org 链接
Looking Glass:一个 AS 所提供的 looking glass 服务指的是通过 traceroute,ping,BGP 命令提供给用户等同于这个 AS 的 customer 的网络可见性。
traceroute.org 就是这样一个收集不同 AS 的 Looking Glass 的网站,你可以找到你想要探测的网络(AS),并使用该网络的 Looking Glass 服务。不过只能从单个 AS 或者 ISP 视角上观察网络的连通性。
CAIDA Archipelago 链接
Ark 是 CAIDA 部署的全球分布式测量平台,通过在全球部署不同的 probe 来对网络进行测量。不过与 ATLAS 不同的是,Ark 并不对外公开提供测量服务,针对整个互联网做大范围的测量,并将数据公开在 CAIDA Dataset 中,大部分免费获得的数据都限制在一年以前。
Euro IX 链接
PeeringDB 链接
Euro IX 以及 PeeringDB 中记录了不同 IXP所拥有的 ASN 号。(同时也记录了参与 Peering 关系的 AS 的 Peering Policy)
CAIDA IXP Datasets 链接
整合了来自:
论文链接
在 BGP 协议的 Update 报文中,针对每一条传播的路由有一个可选的传递(Optional Transitive)属性——community。对于该属性,IETF 并没有给出明确的用法,常见的用法是该属性的前 16 比特放置添加这个属性的 AS 的 ASN 或者邻居(从该邻居得到这条 Update 消息)的 ASN;对于后 16 比特,AS 可以按照自己的政策放置相应的值。许多的 AS 会将自己放置的值的含义记录在相应网站上或者 RIR 数据库中。 “Valley-free violation in Internet routing - Analysis based on BGP Community data”这篇论文对不同 AS 的 Community Value 值进行了汇总整理,汇集了来自 224 个 AS 的 1286 BGP Community Value,研究人员可利用这些 Community Value 对获得的 BGP Path 进行处理,构建对应的 Validation Data,用于拓扑推断相关的研究。
网络运营者会使用 RPSL(Routing Policy Specification Language)把自己的 Routing Policy 存储在 RIR 的数据库中,AS Rank 算法使用 ANY Rule 从中提取 P2C 关系。
IANA 链接
IANA(Internet Assigned Numbers Authority),是一个管理根域名服务器、IP 地址以及 AS 号以及互联网协议资源的组织。
具体到管理 ASN 资源上,IANA 会把 ASN 分配给不同的 RIR(Regional Internet Registries),然后每个 RIR 会根据相关的政策将 ASN 分配给不同的 ISP。一共有 5 个 RIR,他们的名称以及对应管理的区域为:
值得一提的是,在 5 个 RIR 以及 两个 NIR(National Internet Registries, KRNIC for South Korea and JPNIC for Japan)中的 WHOIS Database 中维护了不同的 ASN 对应的组织。WHOIS数据库包含许多主要面向网络运营商的信息。不幸的是,这些数据库是手动更新的,几乎没有要求及时维护和更改注册信息。尽管如此,它们还是组织级别的与 AS 相关的最有用和最丰富的信息来源。