RIPE Atlas

Hej alle sammen! Jeg vil dedikere min debutartikel på habr til et meget interessant emne – RIPE Atlas, et system til kvalitetsovervågning af internettet. Mine interesser berører delvist spørgsmålet om forskning inden for internettet eller cyberspace (et begreb, der hurtigt vinder popularitet, især i videnskabelige kredse). Der er masser af materialer om RIPE Atlas på internettet, inklusive på habr, men jeg fandt dem ikke tilstrækkeligt sammenhængende. Størstedelen af artiklen bruger information fra den officielle hjemmeside. RIPE Atlas og egne overvejelser.

RIPE Atlas

I stedet for et forord

Den regionale internetregistrator (RIR), hvis ansvarsområde strækker sig over Europa, Centralasien og Mellemøsten, er RIPE NCC (Réseaux IP Européens Network Coordination Centre – Netværkskoordinationscentret for europæiske IP-netværk). RIPE NCC er en non-profit organisation placeret i Holland. Den understøtter internettets drift. Den tildeler IP-adresser og autonom systemnumre til lokale internetudbydere og store organisationer.

Et af RIPE NCC's førende projekter, der er rettet mod forskning i internettets tilstand, er RIPE Atlas (startet i slutningen af 2010), som blev en videreudvikling af Test Traffic Measurement Service, der stoppede med at fungere i 2014.

RIPE Atlas er et globalt netværk af sensorer, der udfører aktive målinger af internettets tilstand. I øjeblikket indeholder RIPE Atlas-netværket tusinder af sensorer, og antallet stiger konstant. RIPE NCC aggregerer de indsamlede data og stiller dem betingelsesløst gratis til rådighed for brugerne i et brugervenligt format.

Netværket udvikler sig på baggrund af frivillig installation af sensorer af brugerne i deres infrastruktur, for hvilke der tildeles "kreditter", som kan bruges til at udføre interessante målinger ved hjælp af andre sensorer.

Generelt bruger RIPE Atlas:

  • til at overvåge tilgængeligheden af deres netværk fra forskellige punkter på internettet;
  • til at undersøge og fejlfinde netværket ved hjælp af hurtige og fleksible forbindelsestests;
  • i overvågningssystemet for deres eget netværk;
  • til at overvåge tilgængeligheden af DNS-infrastrukturen;
  • til at teste forbindelsen via IPv6.

RIPE Atlas

Som tidligere nævnt er RIPE Atlas et system af sensorer, der er placeret i internettet og administreres under ét overordnet kontrol. Udover de almindelige sensorer (Probes) findes der også mere avancerede – ankre (Anchors).

Ved midten af 2020 har RIPE Atlas-systemet over 11.000 aktive sensorer og mere end 650 aktive ankre, som samlet producerer mere end 25.000 målinger og modtager over 10.000 resultater pr. sekund.

På graferne nedenfor vises væksten i antallet af sensorer og ankre.

RIPE Atlas

RIPE Atlas

Og på de følgende billeder er der præsenteret et verdenskort med placeringen af sensorer og ankre.

RIPE Atlas

RIPE Atlas

På trods af den regionale status for RIPE NCC dækker RIPE Atlas-netværket stort set hele verden, og Rusland er blandt de top 5 lande med flest installerede sensorer (568), sammen med Tyskland (1562), USA (1440), Frankrig (925) og Storbritannien (610).

Kontrolservere

Ved undersøgelsen af sensorens funktion blev det opdaget, at den periodisk (hver 4. minut) tjekker forbindelsen til nogle objekter i netværket, herunder de centrale DNS-servere og noder med domænenavne som 'ctr-sin02.atlas.ripe.net', som jeg antager er kontrolserverne i RIPE Atlas-netværket.

Jeg fandt ikke nogen oplysninger om kontrolserverne på det officielle websted, men man kan antage, at deres opgave er at styre sensorerne samt at aggregere og behandle data. Hvis min mistanke er korrekt, så findes der mindst 6 kontrolservere, herunder 2 i USA, 2 i Holland, 1 i Tyskland og 1 i Singapore. På alle servere er port 443 åben.

Hvis nogen har mere information om kontrolserverne i RIPE Atlas-netværket, vil jeg sætte pris på klarhed i dette spørgsmål.

Sensor

RIPE Atlas

En RIPE Atlas-sensor er en lille enhed (TP-Link 3020), som drives af USB og tilsluttes til en router via Ethernet-porten med et netværkskabel. Afhængig af modellen kan sensoren have en Atheros AR9331 chipset, 400 MHz, 4 MB flash og 32 MB RAM eller en MediaNek MT7628NN chipset, 575 MHz, 8 MB flash og 64 MB RAM.

Anker

RIPE Atlas

Anker er en avanceret sensor med betydeligt bedre ydeevne og måleevne. Det er en enhed i standard 19-tommers format på hardwareplatformen APU2C2 eller APU2E2 med en 4-core processor på 1 GHz, 2 GB RAM, 3 Gigabit Ethernet porte og en 250 GB SSD-disk. Prisen for ankeren er cirka 400 $.

Installation og styring af sensoren

Som nævnt distribueres sensorer gratis med det formål at installere dem i sin egen infrastruktur. Når man anmoder om en sensor, angiver man land, by og nummeret på den autonome system, hvor den vil blive placeret. Som svar på min anmodning sendte RIPE NCC en sådan besked.

Desværre opfylder din ansøgning i øjeblikket ikke vores kriterier for at modtage en hardware-sensor. Selvom vores mål er at sprede RIPE Atlas sensorer bredt, ser det ud til, at der allerede er tilstrækkeligt mange enheder tilsluttet, enten inden for den angivne ASN eller i netværket, som du har ansøgt om, eller i det land, som du har ansøgt om.

Det gør ikke noget. I så fald kan man installere en software-sensor, f.eks. på en virtuel maskine, en hjemme-server eller en router – der er ingen begrænsninger på placeringen eller den autonome system. CentOS, Debian, Raspbian og Turris OS understøttes. For at implementere skal man downloade og installere det passende software, f.eks. fra repository på GitHub.

Installation af software-sensoren er temmelig enkel. For eksempel, for at installere i CentOS 8 skal man udføre følgende kommandoer:

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

og registrere sensoren, hvor man skal angive SSH-nøglen, som findes i /var/atlas-probe/etc/probe_key.pub, samt angive nummeret på den autonome system og sin by. I brevet mindede de om behovet for at angive sensorens placering korrekt.

Styringen af sensoren begrænses til muligheden for at dele måleressourcen med andre brugere, indstille meddelelser om nedetid, samt de standard netværksindstillinger (adresse, standard gateway osv.).

Målinger

Endelig er vi klar til at udføre målinger. Indstillingen af opgaver til målinger foretages fra brugerens panel. Her kan man også finde resultaterne.

Oprettelse af måleopgaver består af tre trin: valg af måletype, valg af sensor, valg af måleperiode.

Målinger kan være af følgende typer: ping, traceroute, DNS, SSL, HTTP, NTP. Detaljerede indstillinger for en specifik måletype, undtagen de specifikke, der bestemmes af den konkrete protokol eller værktøj, inkluderer: måladresse, netværksprotokol, antal pakker i målingen, og tid mellem målinger, pakkestørrelse og tid mellem pakker, samt graden af tilfældigt skift i starttidspunktet for pakkerne.

Valg af sensorer kan ske efter deres identifikator eller land for placering, region, autonomt system, tag osv.

Måleperioden angives ved start- og sluttidspunkt.

Måleresultaterne er tilgængelige på hjemmesiden i brugerens konto, og de kan også fås i JSON-format. Generelt repræsenterer måleresultater kvantitative indikatorer, der karakteriserer tilgængeligheden af en bestemt enhed eller tjeneste.

For brugeren præsenteres målemulighederne i et bredt, men ret begrænset spektrum. Dog er det tydeligt, at systemets muligheder muliggør generering af pakker i stort set enhver konfiguration, hvilket åbner op for langt mere omfattende muligheder for at måle internettets tilstand.

Nedenfor er et eksempel på uprøvede resultater fra enkeltmålinger med standardindstillinger. I målingerne af typen ping, traceroute og SSL blev IP-adressen habr.com valgt som mål, DNS - IP-adressen på Googles DNS-server, NTP - IP-adressen på NTP-serveren ntp1.stratum2.ru. I alle målinger blev der anvendt én sensor, der var placeret i 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}]

Konklusion

RIPE Atlas-netværket er et praktisk værktøj, der gør det muligt at overvåge tilgængeligheden af objekter og tjenester på internettet i næsten realtid.

De data, der indsamles via RIPE Atlas-netværket, kan være nyttige for telekommunikationsoperatører, forskere, det tekniske samfund og alle, der er interesseret i at forstå, hvordan internettet fungerer, samt grundlæggende netværksstrukturer og datatransmissioner på globalt plan.

P.S. RIPE Atlas er ikke det eneste af sin slags; der findes alternativer, for eksempel denne.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster