RIPE Atlas

Хубав ден на всички! Бих искал да посветя дебютната си статия в habr на една много интересна тема - системата за контрол на качеството на интернет RIPE Atlas. Част от сферата на моите интереси се отнася до изучаването на интернет или киберпространството (термин, който бързо набира популярност, особено в научните среди). Има много материали за RIPE Atlas в интернет, включително и на habr, но ми се сториха недостатъчно изчерпателни. В по-голямата си част статията използва информация от официалния уебсайт RIPE Atlas и моите собствени мисли.

RIPE Atlas

Вместо предговора

Регионалният интернет регистратор (RIR), чиито отговорности обхващат Европа, Централна Азия и Близкия изток, е RIPE NCC (Réseaux IP Européens Network Coordination Center). RIPE NCC е организация с нестопанска цел, базирана в Холандия. Поддържа интернет. Предоставя IP адреси и номера на автономна система на местни интернет доставчици и големи организации.

Един от водещите проекти на RIPE NCC, насочен към изследване на състоянието на интернет, е RIPE Atlas (стартирал в края на 2010 г.), който беше еволюция на услугата за измерване на тестовия трафик, която прекрати дейността си през 2014 г.

RIPE Atlas е глобална мрежа от сензори, която активно измерва състоянието на интернет. В момента има хиляди сензори в мрежата на RIPE Atlas и броят им непрекъснато нараства. RIPE NCC обобщава събраните данни и ги предоставя безплатно на потребителите в удобна форма.

Развитието на мрежата се извършва на принципа на доброволно инсталиране на сензори от потребителите в тяхната инфраструктура, за които се издават „кредити“, които могат да бъдат изразходвани за извършване на измервания от интерес с помощта на други сензори.

Обикновено се използва RIPE Atlas:

  • за наблюдение на наличността на вашата мрежа от различни точки в интернет;
  • за проучване и отстраняване на неизправности във вашата мрежа с бързи, гъвкави тестове за свързаност;
  • в системата за мониторинг на вашата собствена мрежа;
  • да наблюдава наличността на DNS инфраструктурата;
  • Проверка на IPv6 връзката.

RIPE Atlas

Както вече казах, RIPE Atlas е система от сензори, които са разположени в интернет и са под единен административен контрол. В допълнение към конвенционалните сензори (сонди), има и по-модерни - котви (котви).

Към средата на 2020 г. системата RIPE Atlas има повече от 11 хиляди активни сензора и повече от 650 активни котви, които заедно произвеждат повече от 25 хиляди измервания и получават повече от 10 хиляди резултата в секунда.

Графиките по-долу показват нарастването на броя на сензорите и котвите.

RIPE Atlas

RIPE Atlas

И следващите фигури показват карта на света, показваща съответно местоположението на сензорите и котвите.

RIPE Atlas

RIPE Atlas

Въпреки регионалния статут на 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

Сензорът RIPE Atlas е малко устройство (TP-Link 3020), което се захранва от USB и се свързва към Ethernet порта на рутера с помощта на мрежов кабел. В зависимост от модела сензорът може да има чипсет Atheros AR9331, 400 MHz, 4 MB флаш и 32 MB RAM или чипсет MediaNek MT7628NN, 575 MHz, 8 MB флаш и 64 MB RAM.

котва

RIPE Atlas

Арматурата е подобрен сензор с много по-голяма производителност и способност за измерване. Това е устройство в стандартна 19-инчова версия на хардуерна платформа APU2C2 или APU2E2 с 4-ядрен 1 GHz процесор, 2 GB RAM, 3 Gigabit Ethernet порта и 250 GB SSD диск. Цената на котвата е около 400 долара.

Монтаж и управление на сензора

Както вече казах, сензорите се разпространяват безплатно с цел инсталиране във вашата инфраструктура. При заявка на датчик посочете държавата, града и номера на автономната система, където ще бъде разположен. В отговор на моето искане RIPE NCC изпрати следното съобщение.

За съжаление вашето приложение не отговаря на критериите ни за получаване на хардуерен сензор в момента. Въпреки че нашата цел е да разпространяваме сензорите RIPE Atlas възможно най-широко, изглежда, че вече има достатъчно свързани устройства или в ASN, който сте посочили, мрежата, към която сте кандидатствали, или държавата, в която сте кандидатствали.

Няма проблем. В този случай можете да инсталирате софтуерен сензор, например, на виртуална машина, домашен сървър или рутер - няма ограничения за местоположение и автономна система. Поддържат се CentOS, Debian, Raspbian и Turris OS. За да внедрите, трябва да изтеглите и инсталирате подходящия софтуер, например от хранилище в 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 IP адресът на habr.com беше избран като цел, DNS беше IP адресът на DNS сървъра на Google, NTP беше IP адресът на NTP сървъра ntp1.stratum2.ru. Всички измервания са използвали един сензор, разположен във Владивосток.

Пробване

[{"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}]

Заключение

Мрежата RIPE Atlas е удобен инструмент, който ви позволява да наблюдавате наличността на обекти и услуги в Интернет почти в реално време.

Данните, произведени от мрежата RIPE Atlas, могат да бъдат полезни за телеком оператори, изследователи, техническа общност и всеки, който се интересува от здравето на интернет и иска да научи повече за основните мрежови структури и потоци от данни, които поддържат интернет в глобален мащаб .

PS RIPE Atlas не е сам по рода си, има аналози, например това.

Източник: www.habr.com

Добавяне на нов коментар