162954

🌐 Почему данные в интернете не идут по самому короткому пути или как на самом деле работает CDN?

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

В книге Ильи Григорика «Высокопроизводительные браузерные сети» содержатся базовые знания о сетях и оптимизации передачи данных. В этой книге автор пишет о CDN следующее:

Услуги доставки и дистрибуции содержимого (CDN) предоставляют множество преимуществ, но главным из них является то, что распределение контента по всему миру и предоставление его клиенту из ближайшего местоположения позволяет нам значительно сократить время распространения всех пакетов данных. Возможно, мы не сможем ускорить передачу пакетов, но расположив наши сервера ближе к пользователям, мы сможем сократить расстояние между пользователем и сервером.
Илья Григорик

Из цитаты выше следует, что CDN ускоряет загрузку сайта. Разберемся, как это работает.

Подключение компьютеров

Базовая сеть – это два компьютера, взаимодействующих друг с другом:

Два компьютера без подключения
Два компьютера с проводным подключением

Когда компьютер A хочет отправить сообщение компьютеру B, данные передаются через порт, к которому подключен кабель. При наличии только 2-х пользователей нет проблем определить загруженность канала. Проблем с адресацией нет по той же причине.

Однако, это решение сложно масштабировать. Пять компьютеров возможно подключить между собой, но взаимодействие между ними усложняется.

Сеть из пяти компьютеров

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

В коммуникационных сетях топология – это расположение элементов. Различают физическую и логическую топологию. Физическая топология – расположение элементов сети, а логическая топология – то, как данные передаются в пределах сети. В случае, описанном выше устройства соединены друг с другом и такая сеть называется полносвязной физически и логически. Для экономии количества кабелей выберем другую топологию. Например, каждый компьютер будет соединен с соседями только слева и справа. Такая сеть называется «кольцом»:

Пять компьютеров в кольцевой сети

В кольцевой сети, если один узел кольца сломан, сигнал не будет передан дальше. Если же взять и подключить компьютеры к центральному проводу, то такая топология будет называться «шиной».

Пять компьютеров, подключенных через шину

Этот тип сети сложнее поддерживать, из-за необходимости проверять и ремонтировать каждый метр магистрали. Решением описанной выше проблемы выступает вспомогательное устройство, которое будет получать данные с компьютера и распространять по сети. Устройство называется хабом (концентратором), а топология называется звездой:

Пять компьютеров, подключенных звездой

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

Интернет-иерархия

Рассмотрим домашнюю сеть:

Пример домашней сети

Запрос от компьютера попадет на роутер:

Домашняя сеть и сервер Google

Затем роутер соединяется с сетью, которой владеет интернет-провайдер (ISP). Аналогично и с сервером Google:

Домашняя сеть и сервер Google подключенные к ISP

Каждый из этих провайдеров поддерживает собственную сеть для локальных сетей.

Если домашняя сеть подключена к тому же провайдеру, что и сервер Google, данные будут передаваться внутри сети провайдера быстро, безопасно и надежно:

Домашняя сеть и сервер Google подключенные через один ISP

Но невозможно подключить всех пользователей к одному ISP. Существуют сотни, тысячи провайдеров. Каждый интернет-провайдер взаимодействует друг с другом, чтобы интернет работал правильно. Близкий к жизни пример выглядит так:

Домашняя сеть и сервер Google подключенные через два ISP

Однако, если провайдеры подключаться друг к другу напрямую, возникнет ситуация, что и в начале статьи – много проводов. Вот почему подключение идет через хабы, называемые точками обмена интернет трафиком – IXP.

Домашняя сеть и сервер Google с подключением к ISP и IXP

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

Сложности в передачи трафика возникают по нескольким причинам:

  1. Во-первых, много интернет-провайдеров.
  2. Во-вторых, много IXP.
  3. В-третьих, много подводных кабелей!
Карта подводных кабелей. На момент написания статьи в океане проложено 485 кабелей

Не все ISP подключены напрямую к точке обмена интернет-трафиком. Иногда подключение идет через родительские интернет-провайдеры.

Одни кабели передают сигнал быстрее, другие медленнее. Одни по цене дороже других. Интернет-провайдеры платят друг другу и XPS за использование сетей друг друга. Некоторые провайдеры берут больше, некоторые меньше.

Вот почему сигнал компьютера не идет по самому короткому пути. Сигнал идет по самому дешевому пути.

Среда передачи

Среда передачи – это физическая субстанция, используемая для передачи сигнала. Когда устройства подключены друг к другу через Wi-Fi, среда передачи – воздух. В домашних локальных сетях используют медные провода, а в подводные кабелях – оптоволокно.

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

Рассмотрим пример. Два города: Сарагоса (Испания) и Нэшвилл (США). Расстояние между городами – 7200 км. Если соединить города оптоволокном, сигнал дойдет за 36 миллисекунд со скоростью ~200 000 км/с.

Сеть на карте мира с подводными кабелями

Предположим, что между Сарагосой и Нэшвиллом расположен спутник. Исторически спутники связи размещаются на геостационарной орбите, высота которой составляет 35 786 километров. Сигнал пойдет из Сарагосы на спутник, а потом в Нэшвилл. Расстояние, пройденное сигналом будет равно 2 × 35 786 км, что составляет 71 572 км. Скорость сигнала, идущего на спутник и обратно, составляет 300 000 км/с. Суммарное время передачи сигнала – 238 мс.

В итоге, время сигнала по оптоволокну составляет 36 мс, по воздуху – 238 мс.

Возможно, в обозримом будущем произойдут перемены, например из-за массового развертывания спутников (например, Starlink) на низкой околоземной орбите, так как на меньшей высоте – меньшее время задержки сигнала.

Из этой статьи мы узнали

  • какие различают топологии сетей;
  • как выглядит изнутри интернет;
  • какие различают среды передачи и почему одни приоритетнее других;
***

Материалы по теме

Источники

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

Библиотека программиста
21 января 2018

Компьютерные сети от А до Я: классификация, стандарты и уровни

Компьютерные сети непросты в изучении, ведь технологий и протоколов много, ...
Библиотека программиста
07 января 2018

Разбираем по косточкам компьютерные сети: HTTP, TCP, REST

Большинство разговоров о компьютерных сетях сводится к набору аббревиатур: ...