RIPE Atlas

Salut tuturor! Articolul meu de debut pe habr este dedicat unei teme foarte interesante – sistemului de control al calității rețelei Internet RIPE Atlas. Parțial, domeniul intereselor mele include chestiuni legate de cercetarea Internetului sau a ciber-spațiului (termenul câștigă rapid popularitate, în special în cercurile științifice). Există suficiente materiale despre RIPE Atlas pe internet, inclusiv pe habr, dar mi s-au părut insuficient de complete. În majoritate, articolul s-a bazat pe informațiile de pe site-ul oficial RIPE Atlas și propriile mele reflecții.

RIPE Atlas

În loc de prefață

Registrarul regional de internet (RIR), a cărui arie de responsabilitate se extinde asupra Europei, Asiei Centrale și Orientului Mijlociu, este RIPE NCC (Réseaux IP Européens Network Coordination Centre – Centrul de coordonare a rețelelor IP europene). RIPE NCC este o organizație non-profit, situată în Olanda. Aceasta susține funcționarea Internetului. Oferă adrese IP și numere de sisteme autonome furnizorilor locali de internet și organizațiilor mari.

Unul dintre cele mai importante proiecte ale RIPE NCC, destinat cercetării stării Internetului, este RIPE Atlas (început la sfârșitul anului 2010), care a evoluat din Serviciul de măsurare a traficului de test (Test Traffic Measurement Service), care a încetat să funcționeze în 2014.

RIPE Atlas este o rețea globală de senzori care efectuează măsurători active ale stării Internetului. În prezent, rețeaua RIPE Atlas are mii de senzori, iar numărul lor crește constant. RIPE NCC agregă datele colectate și le oferă utilizatorilor într-un mod convenabil, în mod condiționat gratuit.

Dezvoltarea rețelei se face pe principiul instalării voluntare a senzorilor de către utilizatori în infrastructura lor, pentru care se oferă „credite” care pot fi folosite pentru a efectua măsurători interesante folosind alți senzori.

De obicei, RIPE Atlas este folosit pentru:

  • a urmări disponibilitatea rețelei proprii din diferite puncte ale Internetului;
  • a investiga și a rezolva problemele din rețea prin verificări rapide și flexibile ale conexiunii;
  • în sistemul de monitorizare a rețelei proprii;
  • pentru monitorizarea disponibilității infrastructurii DNS;
  • verificarea conexiunii prin protocolul IPv6.

RIPE Atlas

Așa cum am menționat, RIPE Atlas reprezintă un sistem de senzori distribuiți în rețeaua Internet și care sunt gestionate de o autoritate administrativă comună. Pe lângă senzorii obișnuiți (Probe), există și senzori mai avansați – ancore (Anchors).

În mijlocul anului 2020, sistemul RIPE Atlas număra peste 11.000 de senzori activi și peste 650 de ancore active, care în total realizează peste 25.000 de măsurători și obțin mai mult de 10.000 de rezultate pe secundă.

Graficele de mai jos arată creșterea numărului de senzori și ancore.

RIPE Atlas

RIPE Atlas

În imaginile următoare este prezentată o hartă a lumii cu indicarea localizării senzorilor și ancorelor, respectiv.

RIPE Atlas

RIPE Atlas

În ciuda statutului regional al RIPE NCC, rețeaua RIPE Atlas acoperă practic întreaga lume, iar Rusia se află în top 5 în ceea ce privește numărul de senzori instalați (568), alături de Germania (1562), SUA (1440), Franța (925) și Regatul Unit (610).

Servere de control

În timpul studierii funcționării senzorului, s-a descoperit că acesta verifică periodic (la fiecare 4 minute) conectivitatea cu anumite obiecte din rețea, inclusiv servere DNS de tip root și noduri cu nume de domenii de forma „ctr-sin02.atlas.ripe.net”, care cred că sunt serverele de control ale rețelei RIPE Atlas.

Pe site-ul oficial nu am găsit informații despre serverele de control, dar se poate presupune că sarcinile lor includ gestionarea senzorilor, precum și agregarea și procesarea datelor. Dacă presupunerea mea este corectă, atunci există cel puțin 6 servere de control, dintre care 2 sunt situate în SUA, 2 în Olanda, 1 în Germania și 1 în Singapore. Pe toate serverele este deschis portul 443.

Dacă cineva deține informații suplimentare despre serverele de control ale rețelei RIPE Atlas, vă rog să clarificați această întrebare.

Senzor

RIPE Atlas

Senzorul RIPE Atlas este un dispozitiv mic (TP-Link 3020), care este alimentat prin USB și se conectează la portul Ethernet al routerului printr-un cablu de rețea. În funcție de model, senzorul poate avea un chipset Atheros AR9331, 400 MHz, 4 MB flash și 32 MB RAM sau un chipset MediaNek MT7628NN, 575 MHz, 8 MB flash și 64 MB RAM.

Ancora

RIPE Atlas

Ancorul este un senzor avansat cu mult mai multă performanță și capacitate de măsurare. Este un dispozitiv în format standard de 19 inci pe platforma hardware APU2C2 sau APU2E2, cu un procesor quad-core de 1 GHz, 2 GB RAM, 3 porturi Gigabit Ethernet și un SSD de 250 GB. Prețul ancorei este de aproximativ 400 $.

Instalarea și gestionarea senzorului

După cum am menționat, senzorii sunt distribuiți gratuit pentru a fi instalați în propria infrastrcutură. La cererea senzorului se specifică țara, orașul și numărul sistemului autonom unde acesta va fi amplasat. Ca răspuns la cererea mea, RIPE NCC a trimis următorul mesaj.

Din păcate, cererea dumneavoastră nu corespunde criteriilor noastre pentru obținerea unui senzor hardware în acest moment. Deși obiectivul nostru este de a distribui cât mai larg senzorii RIPE Atlas, se pare că deja există suficiente dispozitive conectate fie în cadrul ASN-ului pe care l-ați menționat, fie în rețeaua pentru care ați aplicat, fie în țara în care ați aplicat.

Nu este o problemă. În acest caz, este posibil să instalați un senzor software, de exemplu, pe o mașină virtuală, un server de acasă sau un router – nu există restricții privind locația și sistemul autonom. Sunt acceptate CentOS, Debian, Raspbian și Turris OS. Pentru implementare, trebuie să descărcați și să instalați software-ul corespunzător, de exemplu, din repositoriul de pe GitHub.

Instalarea senzorului software este destul de simplă. De exemplu, pentru instalarea pe CentOS 8 trebuie să rulați comenzile:

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 să înregistrați senzorul, fiind necesar să furnizați cheia SSH, care se află în /var/atlas-probe/etc/probe_key.pub, și să specificați numărul sistemului autonom și orașul dumneavoastră. În e-mail s-a subliniat necesitatea de a indica corect locația senzorului.

Gestionarea senzorului se limitează la posibilitatea de a împărți resursa de măsurare cu alți utilizatori, de a seta notificări pentru perioade de inactivitate, precum și la configurațiile de rețea standard (adresă, gateway implicit etc.).

Măsurători

În sfârșit am ajuns la efectuarea măsurătorilor. Configurarea sarcinilor de măsurare se face din contul personal. Acolo se pot consulta și rezultatele.

Formarea sarcinii de măsurare constă în trei pași: alegerea tipului de măsurare, alegerea senzorului, alegerea perioadei de măsurare.

Măsurările pot fi de următoarele tipuri: ping, traceroute, DNS, SSL, HTTP, NTP. Setările detaliate pentru un anumit tip de măsurare, excluzând cele specifice dictate de protocolul sau utilitarul utilizat, includ: adresa țintă, protocolul rețelei la nivel de transport, numărul de pachete în măsurare și timpul dintre măsurări, dimensiunea pachetului și timpul dintre pachete, gradul de deviație aleatorie a timpului de început al trimiterii pachetelor.

Alegerea senzorilor este posibilă în funcție de identificatorul acestora sau după țara de amplasare, regiune, sistem autonom, etichetă, etc.

Perioada de desfășurare a măsurărilor este stabilită prin timpul de început și sfârșit.

Rezultatele măsurărilor sunt disponibile pe site în cabinetul personal, care pot fi de asemenea obținute în format json. În general, rezultatele măsurărilor reprezintă indicatori cantitativi care caracterizează disponibilitatea unei anumite noduri sau servicii.

Pentru utilizator, posibilitățile de măsurare sunt prezentate printr-un spectru larg, dar în același timp destul de limitat. Cu toate acestea, este evident că sistemul permite generarea pachetelor într-o configurație aproape orice, ceea ce deschide posibilități mult mai extinse pentru a măsura starea rețelei Internet.

Mai jos este un exemplu de rezultate brute ale măsurărilor unice cu setările implicite. În măsurările de tip ping, traceroute și SSL, ca țintă a fost ales adresa IP habr.com, pentru DNS — adresa IP a serverului DNS Google, și pentru NTP — adresa IP a serverului NTP ntp1.stratum2.ru. În toate măsurările a fost folosit un singur senzor, amplasat în 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}]

Concluzie

Rețeaua RIPE Atlas este un instrument util care permite monitorizarea în timp aproape real a disponibilității obiectelor și serviciilor din rețeaua Internet.

Datele obținute prin rețeaua RIPE Atlas pot fi utile operatorilor de telecomunicații, cercetătorilor, comunității tehnice și tuturor celor care sunt interesați de funcționarea sănătoasă a Internetului și doresc să afle mai multe despre structurile de bază ale rețelelor și fluxurile de date care susțin funcționarea Internetului la nivel global.

P.S. RIPE Atlas nu este singurul de acest fel, există și alternative, de exemplu aceasta.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster