Рубрики
Uncategorized

Сетевой протокол 18 – CDN: Небольшой магазин дома

Автор оригинала: David Wong.

[Пятерка лучших] Серия статей портала:

  1. Сетевой протокол 13 – Протокол HTTPS: Бесконечная дорога шифрования
  2. Сетевой протокол 14 – Протокол потокового мультимедиа: Любить тебя нелегко
  3. Сетевой протокол 15 – P2P: Малый Семенной университет
  4. Сетевой протокол 16 – Протокол DNS: Адресная книга в сетевом мире
  5. Сетевой протокол 17 – HTTPDNS: Частная служба DNS

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

Прежде чем мы поймем CDN, мы можем сначала понять распределение логистики в современном обществе.

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

Согласно статистике, сайты электронной коммерции, вероятно, знают, что в Пекине, Шанхае, Гуанчжоу, Шэньчжэне, Ханчжоу и других местах каждый день можно продавать много книг, бумажных полотенец, сумок, электроприборов и других товаров с длительным сроком хранения. Они распределяют эти товары по складам повсюду. Клиенты заказывают доставку товаров с близлежащих складов, что значительно сокращает время транспортировки и улучшает пользовательский интерфейс.

Точно так же Интернет извлек из этого уроки. “Близкое распространение” Эта идея.

CDN Рядом с дистрибутивом

По всему миру так много центров обработки данных. Независимо от того, куда вы выходите в Интернет, в основном рядом с вами находятся центры обработки данных. В каждом центре обработки данных можно развернуть несколько машин, чтобы сформировать кластер кэша для кэширования некоторых горячих данных, чтобы пользователи могли получить доступ к данным поблизости.

Эти узлы, которые распределены в различных центрах обработки данных в разных местах, обычно называются _______________ Пограничный узел

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

Размер региональных узлов больше, кэшированных данных больше, и вероятность попадания больше. Поверх регионального узла находится центральный узел, который имеет больший масштаб и больше кэшированных данных.

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

Если вы посмотрите на картинку выше, вот и все. Архитектура системы распространения CDN . Кэш системы CDN является послойным. Он не может получить доступ к исходным данным без доступа к ним. Это также идея логистической системы сайта электронной коммерции. Гуанчжоу не может его найти. Ищите Южно-Китайское бюро, Южно-Китайское бюро не может его найти, а затем ищите Южно-Китайское бюро.

С помощью этой системы распределения Как клиент может найти соответствующие пограничные узлы для доступа?

Я помню, что мы знали раньше. Глобальная балансировка нагрузки на основе DNS У вас есть? Это балансировка нагрузки в основном используется для выбора близлежащего сервера того же оператора для доступа.

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

Схема распределения нагрузки CDN, как показано выше. 1) Без CDN (Пунктирная линия на рисунке). Пользователь вводит доменное имя www.web.com в браузер. Когда клиент обращается к локальному DNS-серверу, если на локальном DNS-сервере есть кэш, он возвращает адрес веб-сайта. Если нет, рекурсивно запросите авторитетный DNS-сервер веб-сайта, который отвечает за web.com, и он вернет IP-адрес веб-сайта. Локальный DNS-сервер кэширует IP-адрес, возвращает IP-адрес, а затем клиент получает прямой доступ к IP-адресу, а затем обращается к веб-сайту.

2) Ситуация с CDN (Сплошная часть рисунка). На данный момент на авторитетном DNS-сервере web.com, псевдоним CNAME будет установлен так, чтобы указывать на другое доменное имя, www.web.cdn.com, и вернитесь на локальный DNS-сервер.

Когда локальный DNS-сервер получит новое доменное имя, ему необходимо продолжить разрешение нового доменного имени. В настоящее время это не является авторитетным DNS-сервером web.com, но авторитетный DNS-сервер web.cdn.com. Это авторитетный DNS-сервер самой CDN. На этом сервере CNAME будет установлен для указания на другое доменное имя, то есть глобальный балансировщик нагрузки сети CDN.

Затем локальный DNS-сервер запрашивает глобальный балансировщик нагрузки CDN для разрешения доменного имени. Глобальный балансировщик нагрузки предоставит пользователям услуги по выбору подходящего сервера кэша на основе следующих критериев:

  • В соответствии с IP-адресом пользователя решите, какой сервер находится ближе всего к пользователю.
  • Операторы, в которых находятся пользователи;
  • В соответствии с существительными контента, содержащимися в URL-адресе, запрошенном пользователем, можно судить, на каком сервере находится контент, требуемый пользователем.
  • Запросите текущую загрузку каждого сервера, чтобы определить, какой сервер все еще имеет возможность обслуживания.

Исходя из этих условий, после всестороннего анализа глобальный балансировщик нагрузки вернет IP-адрес сервера кэша.

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

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

Содержимое кэша CDN

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

Статическое кэширование ресурсов

Я помню картинку выше. Архитектура кэша уровня доступа У вас есть? При входе в центр обработки данных мы хотим заблокировать доступ к большинству статических ресурсов на границе через кэш самого внешнего уровня доступа. CDN дополнительно кэширует эти статические ресурсы за пределами центра обработки данных, ближе к пользователю. Вообще говоря, это делается для того, чтобы сократить “расстояние доступа”пользователя. Чем ближе к клиенту, тем выше производительность доступа клиентов и тем меньше задержка.

Потоковая передача мультимедиа CDN

В статическом контенте потоковые медиа также широко используют CDN.

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

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

Этот способ не подходит для потоковой передачи мультимедиа. Потоковое мультимедиа содержит большой объем данных, если есть обратный поток, давление будет больше, поэтому его часто принимают. Активный push Модель активно передает горячие данные на пограничные узлы.

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

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

_ Для решения проблемы противоугонной цепочки наиболее распространенным и простым методом является Поле ссылки с использованием заголовка HTTP . Когда браузер отправляет запрос, он обычно берет ссылку с собой. Сообщите серверу, с какой страницы связана ссылка, и сервер может получить некоторую информацию для обработки на основе этого. Если ссылочная информация не с этого сайта, доступ блокируется или другие ссылки пропускаются.

Механизм ссылки относительно легко взломать, поэтому необходимы другие механизмы.

Общим механизмом является ________________ Цепочка защиты от кражи с меткой времени . Администраторы, использующие CDN, могут заключить контракт на зашифрованную строку с поставщиками CDN в интерфейсе конфигурации.

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

На стороне сервера выведите время истечения срока действия и сравните его с текущим временем узла CDN, чтобы подтвердить, истек ли срок действия запроса. Затем сервер CDN подписывает запрос на основе ресурса и пути, метки времени и согласованной зашифрованной строки. Только в том случае, если подпись соответствует отправке клиента, ресурс будет возвращен клиенту.

Динамическое кэширование ресурсов

Для динамических ресурсов используется динамический CDN. Динамический CDN имеет два основных режима: 1) Модель свежего супермаркета, то есть модель граничных вычислений

Поскольку данные генерируются динамически, логический расчет и хранение данных также соответствуют узлам на границе. Данные хранятся синхронно с исходными данными через регулярные промежутки времени, а затем вычисляются на граничных узлах для получения результатов.

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

2) “Модель транспортировки холодовой цепи”, т. е. Модель оптимизации пути . Данные генерируются не вычислением границы, а исходной станцией. Однако нисходящая передача данных может оптимизировать путь через сеть CDN.

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

Кроме того, при передаче этих ресурсов из-за управления трафиком TCP и контроля перегрузки параметры TCP могут быть скорректированы в ускоренной сети CDN, что делает передачу данных TC более агрессивной.

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

Резюме

  • Как и распределенная система складирования коммерческой системы, CDN разделена на центральный узел, региональный узел и пограничный узел, так что данные могут быть кэшированы ближе всего к пользователю.
  • CDN хорошо кэширует статические данные. Кроме того, потоковые мультимедийные данные могут быть кэшированы. В это время мы должны обратить внимание на проблему противоугонной цепи. Он также поддерживает динамическое кэширование данных, одно из которых-граничные вычисления, другое-оптимизация ссылок.

Справочные ресурсы:

  1. Что такое CDN?;
  2. [Википедия – Сеть доставки контента

](https://en.wikipedia.org/wiki…;

  1. Лю Чао-Интересная беседа о Курсах Серии Сетевых протоколов;