RIPE Atlas

Всім доброго доби! Свою дебютну статтю на habr хочу присвятити цікавій темі – системі контролю якості мережі Інтернет RIPE Atlas. Частково поле моїх інтересів торкаються питань дослідження Інтернету чи кіберпростору (термін стрімко набирає популярності, особливо у наукових колах). Матеріалів по RIPE Atlas в інтернеті, в тому числі на habr, достатньо, але мені вони здалися недостатньо цілісними. Здебільшого у статті використовувалася інформація з офіційного сайту RIPE Atlas та власні міркування.

RIPE Atlas

замість передмови

Регіональним інтернет реєстратором (RIR), поле відповідальності якого поширюється на Європу, Центральну Азію та Близький Схід, є RIPE NCC (Réseaux IP Européens Network Coordination Centre – Мережний координаційний центр Європейських IP мереж). RIPE NCC – некомерційна організація, що у Нідерландах. Підтримує роботу Інтернету. Надає IP-адреси та номери автономних систем місцевим інтернет-провайдерам та великим організаціям.

Одним із провідних проектів RIPE NCC, спрямованих на дослідження стану Інтернету, є RIPE Atlas (початий наприкінці 2010 року), який став розвитком Служби тестового вимірювання трафіку (Test Traffic Measurement Service), яка припинила свою роботу у 2014 році.

RIPE Atlas – глобальна мережа датчиків, які виробляють активні виміри стану Інтернету. В даний час у мережі RIPE Atlas тисячі датчиків та їх кількість постійно зростає. RIPE NCC агрегує дані, що збираються, і умовно безкоштовно надає їх у зручному вигляді користувачам.

Розвиток мережі відбувається на принципі добровільної установки датчиків користувачами у своїй інфраструктурі, за що видаються «кредити», які можна витратити на проведення вимірювань, що цікавлять, з використанням інших датчиків.

Як правило RIPE Atlas використовують:

  • для відстеження доступності своєї мережі з різних точок в Інтернеті;
  • для дослідження та усунення несправностей у мережі за допомогою швидкої та гнучкої перевірки підключення;
  • у системі моніторингу власної мережі;
  • для моніторингу доступності інфраструктури DNS;
  • перевірки підключення за протоколом IPv6.

RIPE Atlas

Як уже говорив, RIPE Atlas є системою датчиків, які розташовані в мережі Інтернет і знаходяться під єдиним адміністративним управлінням. Крім стандартних датчиків (Probes) бувають більш просунуті - якоря (Anchors).

На середину 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 МГц, 4 МБ flash та 32 Мб ОЗУ або чіпсет MediaNek MT7628NN, 575 МГц, 8 МБ flash та 64 Мб ОЗУ.

Якір

RIPE Atlas

Якір - це вдосконалений датчик, що має набагато більшу продуктивність і вимірювальну здатність. Являє собою пристрій у стандартному 19-дюймовому виконанні на апаратній платформі APU2C2 або APU2E2 з 4-х ядерним процесором 1 ГГц, 2 Гб ОЗУ, 3 портами Gigabit Ethernet та 250 Гб 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 не самотній у своєму роді, існують аналоги, наприклад цей.

Джерело: habr.com

Додати коментар або відгук