成熟阿特拉斯

祝大家有美好的一天! 我想将我关于 habr 的第一篇文章献给一个非常有趣的主题 - RIPE Atlas 互联网质量控制系统。 我感兴趣的部分领域涉及互联网或网络空间的研究(这个术语正在迅速流行,尤其是在科学界)。 互联网上有很多关于 RIPE Atlas 的材料,包括 habr 上的材料,但对我来说似乎不够全面。 文章大部分内容均来自官网信息 成熟阿特拉斯 和我自己的想法。

成熟阿特拉斯

而不是前言

负责覆盖欧洲、中亚和中东的区域互联网注册机构 (RIR) 是 RIPE NCC(Réseaux IP Européens 网络协调中心)。 RIPE NCC 是一家总部位于荷兰的非营利组织。 支持互联网。 向本地互联网提供商和大型组织提供 IP 地址和自治系统编号。

RIPE NCC 旨在研究互联网状况的旗舰项目之一是 RIPE Atlas(于 2010 年底启动),它是测试流量测量服务的演变,该服务于 2014 年停止运营。

RIPE Atlas 是一个全球传感器网络,可主动测量互联网的状态。 目前 RIPE Atlas 网络中有数千个传感器,并且数量正在不断增长。 RIPE NCC 汇总收集到的数据,并以方便的形式免费提供给用户。

该网络的开发遵循用户在其基础设施中自愿安装传感器的原则,并为其发放“积分”,这些“积分”可用于使用其他传感器进行感兴趣的测量。

通常使用 RIPE Atlas:

  • 从互联网上的各个点监控您的网络的可用性;
  • 通过快速、灵活的连接测试来调查您的网络并排除故障;
  • 在您自己网络的监控系统中;
  • 监控 DNS 基础设施的可用性;
  • IPv6 连接检查。

成熟阿特拉斯

正如我已经说过的,RIPE Atlas 是一个位于互联网上并受单一管理控制的传感器系统。 除了传统的传感器(Probes)之外,还有更先进的——锚点(Anchors)。

截至 2020 年中期,RIPE Atlas 系统拥有超过 11 个主动传感器和超过 650 个主动锚点,总共产生超过 25 个测量值,每秒接收超过 10 个结果。

下图显示了传感器和锚点数量的增长。

成熟阿特拉斯

成熟阿特拉斯

下图显示了一张世界地图,分别指示了传感器和锚点的位置。

成熟阿特拉斯

成熟阿特拉斯

尽管 RIPE NCC 具有区域地位,但 RIPE Atlas 网络几乎覆盖整个世界,其中俄罗斯在安装传感器数量方面位居前 5 位(568 个),另外还有德国(1562 个)、美国(1440 个)、法国(925)和英国(610)。

控制服务器

在研究传感器的操作时,发现它会定期(每 4 分钟)检查与网络上某些对象的通信,其中包括根 DNS 服务器和域名如“ctr-sin02.atlas.ripe.net”的节点,我相信,它们是 RIPE Atlas 网络的控制服务器。

我在官方网站上没有找到有关控制服务器的信息,但可以假设它们的任务包括管理传感器,以及聚合和处理数据。 如果我的猜测是正确的,那么至少有6台控制服务器,其中2台位于美国,2台位于荷兰,1台位于德国,1台位于新加坡,所有服务器均开放443端口。

如果有人有关于 RIPE Atlas 网络控制服务器的更多信息,请澄清这个问题。

传感器

成熟阿特拉斯

RIPE Atlas 传感器是一种小型设备 (TP-Link 3020),由 USB 供电,并使用网线连接到路由器的以太网端口。 根据型号的不同,传感器可能配备 Atheros AR9331 芯片组、400 MHz、4 MB 闪存和 32 MB RAM,或 MediaNek MT7628NN 芯片组、575 MHz、8 MB 闪存和 64 MB RAM。

成熟阿特拉斯

电枢是一种改进的传感器,具有更高的性能和测量能力。 它是一款标准19英寸版本,基于APU2C2或APU2E2硬件平台,配备4核1GHz处理器、2GB RAM、3个千兆以太网端口和250GB SSD驱动器。 锚的成本约为400美元.

传感器的安装和管理

正如我已经说过的,传感器是免费分发的,以便将它们安装在您的基础设施中。 请求传感器时,请注明传感器所在的国家、城市和自治系统的编号。 为了响应我的请求,RIPE NCC 发送了以下消息。

不幸的是,您的应用程序目前不符合我们接收硬件传感器的标准。 虽然我们的目标是尽可能广泛地分发 RIPE Atlas 传感器,但似乎在您指定的 ASN、您申请的网络或您申请的国家/地区内已经连接了足够的设备。

没问题。 在这种情况下,您可以在虚拟机、家庭服务器或路由器上安装软件传感器 - 位置和自治系统没有限制。 支持 CentOS、Debian、Raspbian 和 Turris 操作系统。 要部署,您需要下载并安装适当的软件,例如从 GitHub 上的存储库.

安装软件传感器非常简单。 例如,要在 CentOS 8 上安装,您需要运行以下命令:

curl -O 'https://ftp.ripe.net/ripe/atlas/software-probe/centos8/noarch/ripe-atlas-repo-1-2.el8.noarch.rpm'

yum install ripe-atlas-repo-1-2.el8.noarch.rpm

并注册传感器,在这种情况下,您必须提供 SSH 密钥,该密钥位于 /var/atlas-probe/etc/probe_key.pub,并注明自治系统编号和您所在的城市。 这封信提醒我们需要正确指示传感器的位置。

传感器管理仅限于与其他用户共享测量资源、配置停机通知以及标准网络设置(地址、默认网关等)的能力。

测量

最后我们开始测量。 设置测量任务是通过您的个人帐户完成的。 您还可以在那里看到结果。

形成测量任务包括三个步骤:选择测量类型、选择传感器、选择测量周期。

测量可以是以下类型:ping、traceroute、DNS、SSL、HTTP、NTP。 特定测量类型的详细设置(不包括特定于特定协议或实用程序的设置)包括:目标地址、网络层协议、测量中的数据包数量和测量之间的时间、数据包大小和数据包之间的时间、数据包的随机偏移程度。发送数据包的开始时间。

可以通过传感器的标识符或所在国家、地区、自治系统、标签等来选择传感器。

测量周期由开始时间和结束时间设置。

测量结果可以在您的个人帐户中的网站上获取,也可以以json格式获取。 一般来说,测量结果是表征某个节点或服务可用性的定量指标。

对于用户来说,测量的可能性是在很宽但非常有限的范围内呈现的。 然而,很明显,系统的功能涉及几乎任何配置的数据包的生成,这为测量互联网状态开辟了更广泛的机会。

以下是使用默认设置的单次测量的原始结果示例。 在ping、traceroute和SSL等测量中,选择habr.com的IP地址作为目标,DNS是Google DNS服务器的IP地址,NTP是NTP服务器ntp1.stratum2.ru的IP地址。 所有测量均使用位于符拉迪沃斯托克的一个传感器。

平安

[{"fw":4790,"lts":18,"dst_name":"178.248.237.68","af":4,"dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","ttl":55,"size":48,"result":[{"rtt":122.062873},{"rtt":121.775641},{"rtt":121.807897}],"dup":0,"rcvd":3,"sent":3,"min":121.775641,"max":122.062873,"avg":121.882137,"msm_id":26273241,"prb_id":4428,"timestamp":1594622562,"msm_name":"Ping","from":"5.100.99.178","type":"ping","group_id":26273241,"step":null,"stored_timestamp":1594622562}]

跟踪路由

[{"fw":4790,"lts":19,"endtime":1594622643,"dst_name":"178.248.237.68","dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","af":4,"size":48,"paris_id":1,"result":[{"hop":1,"result":[{"from":"192.168.0.1","ttl":64,"size":76,"rtt":7.49},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.216},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.169}]},{"hop":2,"result":[{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.719},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.507},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.48}]},---DATA OMITED---,{"hop":10,"result":[{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.891},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.873},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.923}]}],"msm_id":26273246,"prb_id":4428,"timestamp":1594622637,"msm_name":"Traceroute","from":"5.100.99.178","type":"traceroute","group_id":26273246,"stored_timestamp":1594622649}]

DNS

[{"fw":4790,"lts":146,"dst_addr":"8.8.8.8","af":4,"src_addr":"192.168.0.10","proto":"UDP","result":{"rt":174.552,"size":42,"abuf":"5BGAgAABAAEAAAAABGhhYnIDY29tAAABAAHADAABAAEAAAcmAASy+O1E","ID":58385,"ANCOUNT":1,"QDCOUNT":1,"NSCOUNT":0,"ARCOUNT":0},"msm_id":26289620,"prb_id":4428,"timestamp":1594747880,"msm_name":"Tdig","from":"5.100.99.178","type":"dns","group_id":26289620,"stored_timestamp":1594747883}]

SSL

[{"fw":4790,"lts":63,"dst_name":"178.248.237.68","dst_port":"443","method":"TLS","ver":"1.2","dst_addr":"178.248.237.68","af":4,"src_addr":"192.168.0.10","ttc":106.920213,"rt":219.948332,"cert":["-----BEGIN CERTIFICATE-----nMIIGJzCCBQ+gAwIBAg ---DATA OMITED--- yd/teRCBaho1+Vn-----END CERTIFICATE-----"],"msm_id":26289611,"prb_id":4428,"timestamp":1594747349,"msm_name":"SSLCert","from":"5.100.99.178","type":"sslcert","group_id":26289611,"stored_timestamp":1594747352}]

NTP

[{"fw":4790,"lts":72,"dst_name":"88.147.254.230","dst_addr":"88.147.254.230","src_addr":"192.168.0.10","proto":"UDP","af":4,"li":"no","version":4,"mode":"server","stratum":2,"poll":8,"precision":0.0000076294,"root-delay":0.000518799,"root-dispersion":0.0203094,"ref-id":"5893fee5","ref-ts":3803732581.5476198196,"result":[{"origin-ts":3803733082.3982748985,"receive-ts":3803733082.6698465347,"transmit-ts":3803733082.6698560715,"final-ts":3803733082.5099263191,"rtt":0.111643,"offset":-0.21575},{"origin-ts":3803733082.5133042336,"receive-ts":3803733082.7847337723,"transmit-ts":3803733082.7847442627,"final-ts":3803733082.6246700287,"rtt":0.111355,"offset":-0.215752},{"origin-ts":3803733082.6279149055,"receive-ts":3803733082.899283886,"transmit-ts":3803733082.8992962837,"final-ts":3803733082.7392635345,"rtt":0.111337,"offset":-0.2157}],"msm_id":26289266,"prb_id":4428,"timestamp":1594744282,"msm_name":"Ntp","from":"5.100.99.178","type":"ntp","group_id":26289266,"stored_timestamp":1594744289}]

结论

RIPE Atlas 网络是一个方便的工具,可让您近乎实时地监控 Internet 上对象和服务的可用性。

RIPE Atlas网络产生的数据对于电信运营商、研究人员、技术社区以及任何对互联网健康感兴趣并希望了解更多关于支持全球范围内互联网的底层网络结构和数据流的人来说都是有用的。

PS RIPE Atlas 并不孤单,还有类似的产品,例如 .

来源: habr.com

添加评论