Рунета роста пост
Так вышло, что у меня и у Рунета 7 апреля — День рождения. Ему в этом году 27, мне… чуть больше. На дне рождения часто можно услышать от «о, как вырос!!!» и «уже отца перерос» до «а ты совсем не изменился» или «каши надо больше есть».
Рунет и Интернет измерять можно по-разному. Геймеры и трейдеры измеряют в миллисекундах, стримеры — в битах/с, маркетологи — в уникальных посетителях.
Сегодня я предлагаю вашему вниманию свою оценку — в интернет-провайдерах и их связях.
Кстати, на Хабре есть подробный рассказ про устройство Интернета.
Сеть Интернет может быть представлена в виде графа, вершинами которого являются автономные системы (АС), а ребрами — связи между АС, о которых мы узнаем по протоколу BGP.
Примерно так атрибут AS_PATH превращается в графПоскольку имеем дело с аристократами графами, то и подход к их хранению и анализу нужен специальный. Я остановился на СУБД Neo4j тыц тыц.
В качестве исходных данных выбрана система сбора маршрутной информации Routing Information Service со следующими ограничениями:
рассматриваются маршрутные данные только коллектора на MSK-IX и только по префиксам IPv4;
период рассмотрения: 2006 — 2020 годы (коллектор начал работу в 2005 году);
каждый год представлен данными только за 1 день: 7 апреля
Таблицы маршрутизации представлены в формате MRT и нативного загрузчика в БД Neo4j нет, поэтому исходные данные преобразуются в формат csv:
as_from, as_to
28917,1299
1299,701
701,703
703,8057
Каждая строка описывает связь двух АС. Исходные данные обладают высокой избыточностью, поскольку одна и та же связь АС присутствует в маршрутах до различных IP-префиксов. Для устранения избыточности в csv-файл каждая связь АС добавляется только один раз.
Применение интернет-провайдерами искусственного удлинения маршрутов приводит к тому, что в атрибуте AS_PATH одна и та же АС присутствует несколько раз подряд. Для устранения избыточности в csv-файл не добавлялись связи АС с самой собой (петли).
Для создания графа Рунета были отобраны связи между российскими АС (по данным из этого источника).
После загрузки в БД имеем 15 графов для глобальной сети и столько же для Рунета. В качестве метрик выбраны:
количество АС
количество связей АС
максимальная степень связности АС
распределение степени связности АС
Количество АС
Тут без сюрпризов — линейный рост количества провайдеров во всемирной сети более чем в 3 раза. Полученные данные совпадают с результатами Джефа Хьюстона (Geoff Huston). В Рунете темп роста количества АС значительно замедлился в 2012–2013 годах — интернет-провайдеры стали появляться реже.
Количество связей АС и максимальная степень связности АС
Вместе с количеством вершин растет и количество связей, это ожидаемо.
В глобальной сети максимальная степень связности АС за 15 лет выросла почти в 3 раза, однако рост нельзя назвать линейным: в 2008, 2016 и 2019 годах зафиксированы ее уменьшения.
В Рунете максимальная степень связности выросла более чем в 5 раз, и это без учета связей с зарубежными АС! На графике хорошо виден спад максимальной степени связности в 2012 году, после которого выйти на прежнее максимальное значение получилось только к 2016 году.
Распределение степени связности АС
Предложенная учеными Альбертом-Ласло Барабаши и Ре́кой Альберт модель безмасштабного (scale-free) графа адекватно описывает граф связей АС. В этой модели степени вершин распределены в соответствии с показательным законом и учитывается принцип предпочтительного присоединения: чем больше степень вершины в графе, тем больше вероятность появления инцидентных ей ребер. Учитывая контекст повествования, можно сказать — чем крупнее интернет-провайдер, тем быстрее растет его связность.
Анализ графиков позволяет утверждать, что распределение степеней связности внутри Рунета соответствует таковому в глобальной сети.
Посмотрев на картинки, можно с уверенностью сказать — закономерности роста Рунета соответствуют закономерностям роста глобальной сети.
В планах — с применением граф-ориентированных алгоритмов из библиотеки Graph Data Science попытаться в графе АС найти следы пиринговых войн, а также построить модель для предсказания связей между интернет-провайдерами.
Всем графов!