ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Топология интернета

Вопрос-задание из книги Таненбаума про компьютерные сети к главе 1 «Введение», цитата:

35. Интернет состоит из огромного числа сетей. Их взаимное расположение определяет топологию Интернета. Очень много информации на тему топологии Интернета можно найти на различных веб-сайтах. С помощью поисковых программ найдите соответствующую информацию и напишите краткий отчет по итогам исследования.


Под «поисковыми программами» (в англоязычном оригинале «search engine»), думаю, подразумеваются поисковые системы вроде «Яндекса» и «Google» (я пользовался ими).

Поиск затрудняется тем, что современные поисковые системы, во-первых, выдают результаты без учета регистра букв в слове (в научной среде слово «internet» (с маленькой буквы) часто означает объединение нескольких сетей, построенных по разным технологиям, в одну дословно «междусеть»; таких интернетов в мире огромное количество; глобальный же «Internet» (с большой буквы) в мире только один и это объединение всех сетей в одну общую дословно «Междусеть»; об этом в книге Таненбаума сказано в подразделе 1.2.5. «Объединения сетей»; в русском же языке с 2012 года глобальная «Междусеть» может обозначаться хоть словом «интернет», хоть словом «Интернет», об этом сказано в статье википедии со ссылкой на решение Орфографической комиссии РАН) и, во-вторых, выдают результаты с синонимами (вместо результатов по «топологии интернета» получаем результаты по «сетевой топологии», а это несколько другое). Эти особенности работы поисковых систем либо замалчиваются их создателями, либо выдаются за преимущества (в некоторых случаях они действительно являются преимуществами, но не всегда).

Что мы ищем? В принципе, нас не интересует «топология» как раздел математики, изучающий в общем явление непрерывности, а в частности — свойства пространств, которые остаются неизменными при непрерывных деформациях.

Понятие «сетевая топология» гораздо ближе к тому, что нам требуется. «Сетевая топология» — это взаимное расположение (по-английски «arrangement») элементов сети для передачи данных (коммуникационной сети, телекоммуникационной сети, по-английски «communication network»). Под элементами сети подразумеваются каналы передачи данных, узлы сети и так далее. Однако, в статьях про сетевую топологию обычно рассказывается про различные типы сетевой топологии, использующиеся в ЛВС (локальных сетях): «шина», «звезда», «кольцо» и тому подобное.

https://ru.wikipedia.org/wiki/Сетевая_топология
https://en.wikipedia.org/wiki/Network_topology

Нас же интересует сетевая топология конкретной огромной глобальной сети, объединяющей множество сетей помельче. Это и называется «топологией интернета». На сегодня никто не представляет в точности, какова топология Интернета и в какую сторону она развивается. На эту тему проводится множество исследований, есть множество разных теорий, гипотез, догадок и моделей.

Так как топология интернета постоянно меняется, собираемая информация о топологии интернета всегда имеет конкретную дату, на которую она была собрана. Эта информация представляет собой большие базы данных, файлы с информацией об узлах сети и связях между ними. Сбор такой информации могут осуществлять одни люди (организации), а использовать эту информацию для исследований и других целей могут другие люди (организации).

К примеру, некоторые исследователи заняты составлением так называемых «карт интернета». Карта интернета — это визуализация вышеупомянутых баз данных с информацией о топологии интернета. (Тут следует упомянуть, что под «картой интернета» может подразумеваться карта веб-сайтов, где веб-сайты считаются узлами, а гиперссылки — связями, но в данном посте меня эти понятия и карты не интересуют. Примеры: «Topology of the World Wide Web», «The Internet map» и тому подобное. Так же в данном посте меня не интересуют так называемые «карты уровней интернета», где под уровнями подразумеваются «Видимая сеть» (по-английски «Surface web»), «Глубокая сеть» (по-английски «Deep web»), «Даркнет» (по-английски «Darknet»).)

Статья в википедии по теме картографирования сетей:
https://en.wikipedia.org/wiki/Network_mapping

Наиболее красивые карты интернета, мне кажется, выдает проект «Opte Project»:

http://www.opte.org/the-internet/
https://en.wikipedia.org/wiki/Opte_Project


Карты интернета 2003, 2010 и 2015 годов от проекта «Opte Project»

Оригинальные изображения, уменьшенные размеры которых я здесь вставил, можно посмотреть на сайте проекта. Изображения с сайта, как я понимаю, тоже являются уменьшенными вариантами настоящих оригиналов. Карта 2003 года (с изменениями на 2005 год) используется во многих статьях на сайте википедии. Разными цветами на каждой из карт обозначены разные вещи: на карте 2003 года — разные группы IP-адресов по их принадлежности к разным географическим регионам; на карте 2010 года используется шкала цветов каления металла, где узлы с большим числом соединений отображаются цветом большей температуры; на карте 2015 года — принадлежность интернет-узлов к разным региональным интернет-регистраторам. В будущем авторы планируют сделать эти карты объемными и интерактивными, а также анимировать их, чтобы показать развитие топологии интернета в динамике с течением времени (об этом сказано в разделе «FAQ» сайта проекта).

(Думаю, тут стоит еще упомянуть создание, работу и опубликование результатов работы ботнета «Carna». Кто не знает, «ботнет» — это сеть хостов, зараженных компьютерным вирусом-ботом, выполняющим команды злоумышленника-создателя ботнета. Обычно ботнеты применяют для разных нехороших целей, но в данном случае некий аноним создал ботнет из примерно 420 тысяч устройств, а затем использовал его в научных целях — для так называемой «переписи Интернета 2012 года». В рамках этого поста данная перепись неинтересна, так как она не касается напрямую топологии интернета, а ее результатом явились несколько анимированных карт интернета в виде картинок формата GIF. Статьи в википедии: русская, английская.)

Топология интернета. В целом к этому абзацу более-менее, думаю, понятно, что такое «топология интернета». Как ее изучают? Во-первых, топологию интернета можно изучать на нескольких разных уровнях детализации. Например, на уровне устройств, подключенных к сети (каждое устройство-хост считаем узлом). Уровень повыше, с меньшей детализацией — это уровень роутеров (маршрутизаторов), определяющих пути пакетов данных в сетях (к каждому роутеру может быть подключено множество устройств-хостов, но на этом уровне детализации они игнорируются).

Автономные системы. Уровень автономных систем — это уровень детализации топологии интернета выше уровня роутеров. Дело в том, что интернет состоит из множества сетей, которые принадлежат частным лицам и организациям. Многие из этих физических и юридических лиц не хотят раскрывать устройство принадлежащим им сетей (из-за коммерческой тайны, тайны частной жизни или по другим причинам). Поэтому в большинстве случаев исследователи считают узлом интернета такую вот частную сеть, такой узел интернета называют автономной системой (сокращенно «АС» или по-английски «AS»). Автономная система — система IP-сетей и маршрутизаторов, управляемых одним или несколькими операторами одновременно.

https://ru.wikipedia.org/wiki/Автономная_система_(Интернет)
https://en.wikipedia.org/wiki/Autonomous_system_(Internet)

Я рекомендую очень интересную англоязычную научную статью от 2009 года, которая так и называется «Internet Topology» (авторы: Yihua He, Georgos Siganos, Michalis Faloutsos). ДОИ (цифровой идентификатор объекта) статьи:
https://doi.org/10.1007/978-0-387-30440-3_293

Указанная ссылка приводит на сайт электронной библиотеки немецкого издательства «Springer». Для доступа ко всему документу там обязательна регистрация (и я так и не смог понять, требуется ли там какая-либо оплата, потому что регистрироваться не стал). Скачать эту статью без проблем можно с сайта одного из авторов, профессора Michalis Faloutsos:
http://www.cs.ucr.edu/~michalis/PAPERS/ITopo.pdf

Там сказано, что в большинстве исследований по топологии интернета авторы исследований фокусируются на уровне автономных систем для детализации топологии интернета. Кратко рассказано и проиллюстрировано, что такое «автономные системы» и как они сочетаются с детализацией на уровне роутеров и устройств-хостов, подключенных к роутерам.

Рассказано, что большой прорыв в исследованиях топологии интернета случился в 1999 году, когда Michalis Faloutsos и его два брата открыли, что кажущаяся случайной топология интернета таки следует нескольким степенным законам (по-английски «power law»).

https://ru.wikipedia.org/wiki/Степенной_закон
https://en.wikipedia.org/wiki/Power_law

Следствием этого открытия стало множество работ других исследователей, которые кинулись сначала проверять эту гипотезу, а затем, когда она подтвердилась, использовать степенные законы для проверки существовавших на тот момент моделей развития топологии интернета и создания новых моделей, учитывавших степенные законы.

Для понимания статьи потребуется знакомство с автономными системами (были описаны выше), протоколом BGP (расшифровывается как «Border Gateway Protocol», это основной протокол динамической маршрутизации в интернете), знакомство с англоязычными терминами из теории графов («node» или «vertex» (узел), «edge» (ребро), «degree» (валентность узла), «degree rank» (номер или «ранг» валентности узла при ранжировании узлов в порядке уменьшения валентности) и тому подобных).

https://ru.wikipedia.org/wiki/Border_Gateway_Protocol
https://ru.wikipedia.org/wiki/Теория_графов

Сначала авторы статьи разбирают, какие существуют источники информации о топологии интернета и как получить данные из этих источников. Данные из разных источников могут частично дублировать друг друга, а частично дополнять друг друга. Поэтому необходимо их сравнение. Рассматриваются следующие источники информации: 1) таблицы маршрутизации, составленные по протоколу BGP и хранящиеся на роутерах; 2) результаты работы программы «traceroute» (в операционных системах «Windows» — «tracert», я уже писал об этой программе); 3) базы данных IRR (расшифровывается как «Internet Routing Registry»).

Далее подробно разобраны три степенных закона. Тут потребуется понимание того, что такое «plot» (точечная диаграмма), что такое «log-log plot» (в отличие от прямоугольной системы координат с привычным линейным масштабом величин на обеих осях координат в системе координат с логарифмическим масштабом (то самое «log») на обеих осях координат (поэтому «log-log») соседние единичные отрезки не равны друг другу). Функция, изображающая степенной закон, на диаграмме с обеими осями координат в логарифмической шкале превращается из кривой в прямую. При этом «угловой коэффициент» или «наклон» (по-английски «slope») такой прямой становится степенным показателем (по-английски «exponent») конкретного степенного закона. В подписях под диаграммами фраза вида «Y versus X» означает, что изображена зависимость величины Y от величины X.

Также потребуется понимание, что такое «eigenvalue» (по-русски «собственное значение» или «собственное число») и что такое функция распределения (по-английски «cumulative distribution function», сокращенно «CDF») в теории вероятностей.

https://ru.wikipedia.org/wiki/Собственный_вектор
https://en.wikipedia.org/wiki/Cumulative_distribution_function

Статья завершается рассмотрением различных моделей развития топологии интернета. В том числе генерируемых случайным образом в соответствии с степенными законами и концептуальных. Прилагается здоровенная библиография из 80 источников.
Tags: Английский язык, Математика, Наука, Образование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments