DOJRZŁY Atlas

Dzień dobry wszystkim! Mój debiutancki artykuł na temat habr chciałbym poświęcić bardzo ciekawemu tematowi - internetowemu systemowi kontroli jakości RIPE Atlas. Część mojego pola zainteresowań dotyczy badania Internetu czy cyberprzestrzeni (termin szybko zyskujący na popularności, szczególnie w kręgach naukowych). Materiałów na temat Atlasu RIPE w Internecie jest mnóstwo, także na habr, jednak wydawały mi się one niewystarczająco wyczerpujące. W przeważającej części w artykule wykorzystano informacje z oficjalnej strony internetowej DOJRZŁY Atlas i moje własne przemyślenia.

DOJRZŁY Atlas

Zamiast wstępu

Regionalnym rejestratorem internetowym (RIR), którego obowiązki obejmują Europę, Azję Środkową i Bliski Wschód, jest RIPE NCC (Centrum Koordynacji Sieci Réseaux IP Européens). RIPE NCC jest organizacją non-profit z siedzibą w Holandii. Obsługuje Internet. Zapewnia adresy IP i numery systemów autonomicznych lokalnym dostawcom Internetu i dużym organizacjom.

Jednym ze sztandarowych projektów RIPE NCC mających na celu badanie stanu Internetu jest RIPE Atlas (rozpoczęty pod koniec 2010 roku), będący rozwinięciem usługi Testowego Pomiaru Ruchu, która zakończyła działalność w 2014 roku.

RIPE Atlas to globalna sieć czujników, która aktywnie mierzy stan Internetu. Obecnie w sieci RIPE Atlas znajduje się tysiące czujników, a ich liczba stale rośnie. RIPE NCC agreguje zebrane dane i udostępnia je bezpłatnie użytkownikom w wygodnej formie.

Rozwój sieci odbywa się na zasadzie dobrowolnego instalowania przez użytkowników w swojej infrastrukturze czujników, za co wydawane są „kredyty”, które można przeznaczyć na prowadzenie interesujących nas pomiarów przy użyciu innych czujników.

Zazwyczaj używany jest Atlas RIPE:

  • do monitorowania dostępności Twojej sieci z różnych punktów w Internecie;
  • do badania i rozwiązywania problemów z siecią za pomocą szybkich, elastycznych testów łączności;
  • w systemie monitorowania własnej sieci;
  • monitorowanie dostępności infrastruktury DNS;
  • Kontrola połączenia IPv6.

DOJRZŁY Atlas

Jak już mówiłem, RIPE Atlas to system czujników, które znajdują się w Internecie i znajdują się pod jedną kontrolą administracyjną. Oprócz konwencjonalnych czujników (Sondy) istnieją bardziej zaawansowane - kotwice (Anchors).

Od połowy 2020 roku system RIPE Atlas ma ponad 11 tysięcy aktywnych czujników i ponad 650 aktywnych kotwic, które łącznie wykonują ponad 25 tysięcy pomiarów i otrzymują ponad 10 tysięcy wyników na sekundę.

Poniższe wykresy pokazują wzrost liczby czujników i kotwic.

DOJRZŁY Atlas

DOJRZŁY Atlas

Poniższe rysunki przedstawiają mapę Świata wskazującą odpowiednio lokalizację czujników i kotwic.

DOJRZŁY Atlas

DOJRZŁY Atlas

Pomimo regionalnego statusu RIPE NCC, sieć RIPE Atlas obejmuje swoim zasięgiem niemal cały świat, z Rosją w pierwszej piątce pod względem liczby zainstalowanych czujników (5), wraz z Niemcami (568), USA (1562), Francją (1440) i Wielkiej Brytanii (925).

Serwery sterujące

Badając działanie czujnika, odkryto, że okresowo (co 4 minuty) sprawdza on komunikację z niektórymi obiektami w sieci, do których zaliczają się główne serwery DNS i węzły o nazwach domenowych typu „ctr-sin02.atlas.ripe.net” , jak sądzę, które są serwerami kontrolnymi sieci RIPE Atlas.

Na oficjalnej stronie nie znalazłem informacji o serwerach sterujących, ale można przypuszczać, że do ich zadań należy zarządzanie czujnikami, a także agregowanie i przetwarzanie danych. Jeśli moje przypuszczenia są prawidłowe, to jest co najmniej 6 serwerów kontrolnych, z czego 2 znajdują się w USA, 2 w Holandii, 1 w Niemczech, 1 w Singapurze.Port 443 jest otwarty na wszystkich serwerach.

Jeśli ktoś ma więcej informacji na temat serwerów sterujących sieci RIPE Atlas, proszę o wyjaśnienie tej kwestii.

Czujnik

DOJRZŁY Atlas

Czujnik RIPE Atlas to niewielkie urządzenie (TP-Link 3020), które zasilane jest przez port USB i podłączane do portu Ethernet routera za pomocą kabla sieciowego. W zależności od modelu sensor może posiadać chipset Atheros AR9331, 400 MHz, 4 MB flash i 32 MB RAM lub chipset MediaNek MT7628NN, 575 MHz, 8 MB flash i 64 MB RAM.

Kotwica

DOJRZŁY Atlas

Armatura to ulepszony czujnik o znacznie większej wydajności i możliwościach pomiarowych. Jest to urządzenie w standardowej wersji 19-calowej na platformie sprzętowej APU2C2 lub APU2E2 z 4-rdzeniowym procesorem 1 GHz, 2 GB pamięci RAM, 3 portami Gigabit Ethernet i dyskiem SSD 250 GB. Koszt kotwicy to około 400 dolarów.

Instalacja i zarządzanie czujnikiem

Jak już mówiłem, czujniki są dystrybuowane bezpłatnie w celu zainstalowania ich w Twojej infrastrukturze. Zamawiając czujnik, podaj kraj, miasto i numer systemu autonomicznego, w którym będzie on zlokalizowany. W odpowiedzi na moją prośbę RIPE NCC przesłało następującą wiadomość.

Niestety, Twoja aplikacja nie spełnia obecnie naszych kryteriów otrzymania czujnika sprzętowego. Chociaż naszym celem jest możliwie najszersza dystrybucja czujników RIPE Atlas, wydaje się, że jest już podłączona wystarczająca liczba urządzeń w ramach określonego ASN, sieci, do której aplikowałeś, lub kraju, w którym złożyłeś aplikację.

Bez problemu. W takim przypadku możesz zainstalować czujnik programowy np. na maszynie wirtualnej, serwerze domowym lub routerze - nie ma ograniczeń co do lokalizacji i systemu autonomicznego. Obsługiwane są CentOS, Debian, Raspbian i Turris OS. Aby wdrożyć, należy pobrać i zainstalować odpowiednie oprogramowanie np. ze strony repozytorium na GitHubie.

Instalacja czujnika programowego jest dość prosta. Na przykład, aby zainstalować na CentOS 8, musisz uruchomić następujące polecenia:

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

i zarejestruj czujnik, w tym przypadku musisz podać klucz SSH, który znajduje się w /var/atlas-probe/etc/probe_key.pub, a także podaj numer systemu autonomicznego i swoje miasto. W piśmie przypomniano nam o konieczności prawidłowego wskazania lokalizacji czujnika.

Zarządzanie czujnikami ogranicza się do możliwości udostępniania zasobu pomiarowego innym użytkownikom, konfigurowania powiadomień o przestojach, a także standardowych ustawień sieciowych (adres, brama domyślna itp.).

Pomiary

W końcu przystąpiliśmy do dokonywania pomiarów. Konfigurowanie zadań pomiarowych odbywa się z poziomu konta osobistego. Tam też możesz zobaczyć wyniki.

Tworzenie zadania pomiarowego składa się z trzech kroków: wyboru rodzaju pomiaru, wyboru czujnika, wyboru okresu pomiaru.

Pomiary mogą być następujących typów: ping, traciroute, DNS, SSL, HTTP, NTP. Szczegółowe ustawienia dla konkretnego typu pomiaru, z wyłączeniem ustawień specyficznych dla konkretnego protokołu lub narzędzia, obejmują: adres docelowy, protokół warstwy sieciowej, liczbę pakietów w pomiarze i czas pomiędzy pomiarami, rozmiar pakietu i czas między pakietami, stopień losowego przesunięcia czas rozpoczęcia wysyłania pakietów.

Czujniki można wybierać według ich identyfikatora lub kraju lokalizacji, regionu, systemu autonomicznego, znacznika itp.

Okres pomiaru jest ustalany na podstawie czasu rozpoczęcia i zakończenia.

Wyniki pomiarów dostępne są na stronie internetowej w Twoim koncie osobistym, które można również uzyskać w formacie json. Ogólnie rzecz biorąc, wyniki pomiarów są ilościowymi wskaźnikami charakteryzującymi dostępność określonego węzła lub usługi.

Dla użytkownika możliwości pomiarowe prezentowane są w szerokim, ale bardzo ograniczonym zakresie. Oczywistym jest jednak, że możliwości systemu obejmują generowanie pakietów o niemal dowolnej konfiguracji, co otwiera znacznie szersze możliwości pomiaru stanu Internetu.

Poniżej znajduje się przykład surowych wyników pojedynczego pomiaru przy ustawieniach domyślnych. W pomiarach takich jak ping, traceroute i SSL jako cel wybrano adres IP habr.com, DNS był adresem IP serwera Google DNS, NTP był adresem IP serwera NTP ntp1.stratum2.ru. Do wszystkich pomiarów wykorzystano jeden czujnik znajdujący się we Władywostoku.

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}]

wniosek

Sieć RIPE Atlas to wygodne narzędzie, które pozwala na monitorowanie dostępności obiektów i usług w Internecie w czasie zbliżonym do rzeczywistego.

Dane generowane przez sieć RIPE Atlas mogą być przydatne dla operatorów telekomunikacyjnych, badaczy, społeczności technicznej i wszystkich zainteresowanych stanem Internetu, którzy chcą dowiedzieć się więcej o podstawowych strukturach sieciowych i przepływach danych wspierających Internet w skali globalnej .

PS RIPE Atlas nie jest jedyny w swoim rodzaju, istnieją na przykład analogi to.

Źródło: www.habr.com

Dodaj komentarz