Olá a todos! Quero dedicar meu artigo de estreia no Habr a um tema bastante interessante – o sistema de controle de qualidade da rede Internet, RIPE Atlas. Parte do meu interesse abrange questões de pesquisa sobre a Internet ou ciberespaço (um termo que está ganhando popularidade rapidamente, especialmente em círculos acadêmicos). Há bastante material sobre RIPE Atlas na internet, incluindo no Habr, mas achei que faltava uma visão mais coesa. A maior parte das informações utilizadas no artigo foi retirada do site oficial. e minhas próprias reflexões.

Em vez de um prefácio
O registrador regional de internet (RIR) cuja área de responsabilidade se estende pela Europa, Ásia Central e Oriente Médio é o RIPE NCC (Réseaux IP Européens Network Coordination Centre – Centro de Coordenação da Rede IP Europeia). O RIPE NCC é uma organização sem fins lucrativos localizada na Holanda. Apoia o funcionamento da Internet, fornecendo endereços IP e números de sistemas autônomos a provedores de internet locais e grandes organizações.
Um dos principais projetos do RIPE NCC voltados para a pesquisa do estado da Internet é o RIPE Atlas (iniciado no final de 2010), que surgiu como uma evolução do Serviço de Medição de Tráfego de Teste (Test Traffic Measurement Service), que cessou suas atividades em 2014.
O RIPE Atlas é uma rede global de sensores que realiza medições ativas do estado da Internet. Atualmente, existem milhares de sensores na rede RIPE Atlas e esse número continua a crescer. O RIPE NCC agrega os dados coletados e os fornece de forma conveniente aos usuários, em uma espécie de acesso gratuito.
O desenvolvimento da rede baseia-se no princípio da instalação voluntária de sensores pelos usuários em sua infraestrutura, em troca do que são concedidos "créditos" que podem ser usados para realizar medições de interesse utilizando outros sensores.
O RIPE Atlas é geralmente utilizado para:
- monitorar a disponibilidade da sua rede a partir de diferentes pontos da Internet;
- pesquisar e solucionar problemas na rede por meio de verificação rápida e flexível da conectividade;
- na monitoração de sua própria rede;
- para monitorar a disponibilidade da infraestrutura DNS;
- verificar a conectividade via protocolo IPv6.
RIPE Atlas
Como já mencionado, o RIPE Atlas é um sistema de sensores localizados na Internet e geridos sob uma única administração. Além dos sensores comuns (Probes), existem dispositivos mais avançados – os âncoras (Anchors).
Em meados de 2020, o sistema RIPE Atlas contava com mais de 11 mil sensores ativos e mais de 650 âncoras ativas, que, em conjunto, realizam mais de 25 mil medições e obtêm mais de 10 mil resultados por segundo.
Nos gráficos abaixo, é mostrado o crescimento no número de sensores e âncoras.


As próximas figuras apresentam um mapa-múndi indicando a localização dos sensores e âncoras, respectivamente.


Apesar do status regional do RIPE NCC, a rede RIPE Atlas cobre praticamente todo o mundo, e a Rússia está entre os cinco primeiros em termos de quantidade de sensores instalados (568), ao lado da Alemanha (1562), EUA (1440), França (925) e Reino Unido (610).
Servidores de gerenciamento
Ao estudar o funcionamento do sensor, descobriu-se que ele verifica periodicamente (a cada 4 minutos) a conectividade com alguns objetos na rede, incluindo servidores DNS raiz e nós com nomes de domínio como "ctr-sin02.atlas.ripe.net", que suponho serem os servidores de gerenciamento da rede RIPE Atlas.
No site oficial, não encontrei informações sobre os servidores de gerenciamento, mas pode-se presumir que suas responsabilidades incluem a gestão dos sensores, bem como a agregação e processamento de dados. Se minha suposição estiver correta, existem pelo menos 6 servidores de gerenciamento, dos quais 2 estão localizados nos EUA, 2 na Holanda, 1 na Alemanha e 1 em Cingapura. Em todos os servidores, a porta 443 está aberta.
Se alguém tiver mais informações sobre os servidores de gerenciamento da rede RIPE Atlas, por favor, esclareça esta questão.
Sensor

O sensor RIPE Atlas é um pequeno dispositivo (TP-Link 3020) que é alimentado via USB e se conecta à porta Ethernet do roteador por meio de um cabo de rede. Dependendo do modelo, o sensor pode ter chipset Atheros AR9331, 400 MHz, 4 MB de flash e 32 MB de RAM ou chipset MediaNek MT7628NN, 575 MHz, 8 MB de flash e 64 MB de RAM.
Âncora

O âncora é um sensor avançado com desempenho muito superior e capacidade de medição. Trata-se de um dispositivo na configuração padrão de 19 polegadas na plataforma de hardware APU2C2 ou APU2E2 com processador quad-core de 1 GHz, 2 GB de RAM, 3 portas Gigabit Ethernet e um SSD de 250 GB. .
Instalação e gerenciamento do sensor
Como já mencionado, os sensores são distribuídos gratuitamente para serem instalados em sua infraestrutura. Ao solicitar o sensor, é necessário fornecer o país, cidade e número do sistema autônomo onde ele estará localizado. Em resposta ao meu pedido, o RIPE NCC enviou a seguinte mensagem.
Infelizmente, sua solicitação não atende aos nossos critérios para obtenção de um sensor de hardware no momento. Embora nosso objetivo seja disseminar os sensores RIPE Atlas o mais amplamente possível, parece que já existem dispositivos suficientes conectados, seja dentro do ASN que você indicou, seja na rede para a qual você fez o pedido, ou no país onde você se inscreveu.
Sem problemas. Nesse caso, você pode instalar um sensor de software, por exemplo, em uma máquina virtual, servidor doméstico ou roteador – não há restrições quanto à localização e ao sistema autônomo. São suportados CentOS, Debian, Raspbian e Turris OS. Para a implantação, é necessário baixar e instalar o software correspondente, por exemplo, do .
A instalação do sensor de software é bastante simples. Por exemplo, para instalar no CentOS 8, é necessário executar os comandos:
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 e registrar o sensor, sendo necessário fornecer a chave SSH, que pode ser encontrada em /var/atlas-probe/etc/probe_key.pub, assim como indicar o número do sistema autônomo e sua cidade. Na carta, foi lembrada a necessidade de especificar corretamente a localização do sensor.
O gerenciamento do sensor é limitado à possibilidade de compartilhar os recursos de medição com outros usuários, configurar notificações sobre interrupções, bem como ajustes padrão de rede (endereço, gateway padrão etc.).
Medições
Finalmente chegamos à realização das medições. A configuração das tarefas para a realização das medições é feita a partir do painel pessoal. Lá também é possível consultar os resultados.
A formação da tarefa de medição consiste em três etapas: escolha do tipo de medição, escolha do sensor, escolha do período de medição.
As medições podem ser dos seguintes tipos: ping, traceroute, DNS, SSL, HTTP, NTP. As configurações detalhadas de um tipo específico de medição, exceto aquelas específicas para um determinado protocolo ou utilitário, incluem: endereço de destino, protocolo de nível de rede, número de pacotes na medição e intervalo entre medições, tamanho do pacote e intervalo entre pacotes, grau de desvio aleatório do tempo de início do envio dos pacotes.
A escolha dos sensores pode ser feita pelo seu identificador ou pelo país de localização, região, sistema autônomo, etiqueta, etc.
O período para a realização das medições é determinado pelo horário de início e término.
Os resultados das medições estão disponíveis no site na área do cliente, e também podem ser obtidos em formato json. Em geral, os resultados das medições representam indicadores quantitativos que caracterizam a disponibilidade de algum nó ou serviço.
Para o usuário, as capacidades de medição são apresentadas em um espectro amplo, mas bastante limitado. Contudo, é evidente que as capacidades do sistema pressupõem a geração de pacotes de praticamente qualquer configuração, o que abre oportunidades muito mais amplas para medir o estado da Internet.
Abaixo está um exemplo dos resultados brutos de medições únicas com configurações padrão. Nas medições do tipo ping, traceroute e SSL, o endereço IP habr.com foi escolhido como destino, para DNS — o endereço IP do servidor DNS do Google, e para NTP — o endereço IP do servidor NTP ntp1.stratum2.ru. Em todas as medições, foi utilizado um único sensor localizado em Vladivostok.
Ping
[{"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}]Traceroute
[{"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}]Conclusão
A rede RIPE Atlas é uma ferramenta conveniente que permite monitorar a disponibilidade de objetos e serviços na internet em tempo quase real.
Os dados obtidos através da rede RIPE Atlas podem ser úteis para provedores de serviços, pesquisadores, a comunidade técnica e todos que se interessam pelo funcionamento saudável da Internet e desejam entender melhor as estruturas de rede fundamentais e os fluxos de dados que sustentam a operação da Internet em escala global.
P.S. O RIPE Atlas não é único, existem alternativas, como .
Fonte: habr.com
