Сеть доставки приложений
Сеть доставки приложений ( ADN ) — это набор технологий, которые при совместном развертывании обеспечивают доступность, безопасность, видимость и ускорение интернет-приложений, таких как веб-сайты. Компоненты ADN обеспечивают вспомогательные функции, которые позволяют доставлять контент веб-сайта посетителям и другим пользователям этого веб-сайта быстрым, безопасным и надежным способом.
Gartner определяет сеть доставки приложений как комбинацию контроллеров оптимизации глобальной сети (WOC) и контроллеров доставки приложений (ADC). [1] На конце ADN центра обработки данных находится ADC, усовершенствованное устройство управления трафиком, которое часто также называют веб-коммутатором, коммутатором контента или многоуровневым коммутатором, целью которого является распределение трафика между несколькими серверами или географическими коммутаторами. смещенные сайты на основе конкретных критериев приложения. В филиальной части ADN находится контроллер оптимизации WAN, который уменьшает количество битов, передаваемых по сети, с помощью кэширования и сжатия, а также формирует TCP-трафик с помощью расстановки приоритетов и других методов оптимизации. [2] Некоторые компоненты WOC устанавливаются на ПК или мобильных клиентах, и обычно часть WOC устанавливается в центре обработки данных. Сети доставки приложений также предлагаются некоторыми поставщиками CDN.
ADC, один из компонентов ADN, развился из коммутаторов уровней 4–7 в конце 1990-х годов, когда стало очевидно, что традиционные методы балансировки нагрузки недостаточно надежны для обработки все более сложной смеси трафика приложений, доставляемой по более широкому спектру сетей. варианты подключения.
Методы доставки приложений
[ редактировать ]Интернет спроектирован по сквозному принципу . [3] Этот принцип сохраняет базовую сеть относительно простой и максимально переносит интеллектуальные функции на конечные точки сети: хосты и клиенты. Сеть доставки приложений (ADN) улучшает доставку приложений через Интернет за счет использования ряда методов оптимизации. Многие из этих методов основаны на признанных передовых практиках, используемых для эффективной маршрутизации трафика на сетевом уровне, включая резервирование и балансировку нагрузки. [4]
Теоретически сеть доставки приложений (ADN) тесно связана с сетью доставки контента . Разница между двумя сетями доставки заключается в способности ADN понимать и оптимизировать приложения, что обычно называют беглостью приложений. Сеть Application Fluent Network (AFN) основана на концепции Application Fluent Network. [5] для обозначения методов оптимизации глобальной сети, применяемых на уровнях с четвертого по седьмой модели OSI для сетей. Свободное использование приложений подразумевает, что сеть свободно или интеллектуально понимает и способна оптимизировать доставку каждого приложения. [6] Приложение Fluent Network — это дополнение к возможностям SDN. Акроним «AFN» используется Alcatel-Lucent Enterprise для обозначения сети с поддержкой приложений.
Для доставки приложений используется один или несколько коммутаторов уровней 4–7 , также известных как веб-коммутатор, коммутатор контента или многоуровневый коммутатор, для интеллектуального распределения трафика в пул серверов, также известный как кластер или ферма. Контроллеру доставки приложений (ADC) назначается один виртуальный IP-адрес (VIP), который представляет пул серверов. Трафик, поступающий на ADC, затем направляется на один из серверов в пуле (кластере, ферме) на основе ряда факторов, включая значения данных приложения, транспортный протокол приложения, доступность серверов, текущие показатели производительности и параметры, специфичные для клиента. . ADN обеспечивает преимущества распределения нагрузки, увеличения мощности серверов, улучшенной масштабируемости, безопасности и повышенной надежности за счет проверок работоспособности конкретных приложений.
ADN все чаще включает в себя резервированную пару ADC, в которую интегрирован ряд различных наборов функций, предназначенных для обеспечения функций безопасности, доступности, надежности и ускорения. В некоторых случаях эти устройства по-прежнему представляют собой отдельные объекты, развернутые вместе как сеть устройств, через которые доставляется трафик приложения, каждое из которых обеспечивает определенную функциональность, улучшающую доставку приложения.
Методы оптимизации ADN
[ редактировать ]TCP-мультиплексирование
[ редактировать ]Мультиплексирование TCP в общих чертах основано на общепринятых методах объединения пулов соединений , используемых платформами серверов приложений для оптимизации выполнения запросов к базе данных из приложений. ADC устанавливает несколько подключений к серверам в своем пуле и сохраняет их открытыми. Когда ADC получает запрос от клиента, он оценивается и затем направляется на сервер через существующее соединение. Это приводит к снижению накладных расходов, возникающих при установлении и разрыве TCP- соединения с сервером, улучшая скорость реагирования приложения.
Некоторые реализации ADN развивают этот метод еще на один шаг и мультиплексируют HTTP-запросы и запросы приложений. Преимущество этого заключается в параллельном выполнении запросов, что повышает производительность приложения.
TCP-оптимизация
[ редактировать ]Существует ряд запросов на комментарии (RFC), которые описывают механизмы улучшения производительности TCP. Многие ADN реализуют эти RFC, чтобы обеспечить улучшенную доставку приложений за счет более эффективного использования TCP.
Наиболее часто реализуемые RFC:
- Отложенные подтверждения [7]
- Алгоритм Нэгла [8]
- Выборочные благодарности [9] [10]
- Явное уведомление о перегрузке ECN [11] [12]
- Ограниченная и быстрая повторная передача [13] [14]
- Адаптивное начальное окно перегрузки [15]
Сжатие и кэширование данных
[ редактировать ]ADN также обеспечивают оптимизацию данных приложений посредством методов кэширования и сжатия. Сегодня в ADN используются два типа сжатия: стандартное HTTP-сжатие и собственные алгоритмы сжатия данных. Важно отметить, что затраты циклов ЦП на сжатие данных при прохождении по локальной сети могут привести к отрицательному воздействию на производительность, и поэтому рекомендуется использовать сжатие только при доставке приложений через глобальную сеть или особенно перегруженный высокоскоростной канал передачи данных.
HTTP-сжатие асимметрично и прозрачно для клиента. Поддержка сжатия HTTP встроена в веб-серверы и веб-браузеры. Все коммерческие продукты ADN в настоящее время поддерживают сжатие HTTP.
Второй метод сжатия достигается за счет алгоритмов сокращения данных. Поскольку эти алгоритмы являются запатентованными и изменяют трафик приложения, они симметричны и требуют, чтобы устройство повторно собирало трафик приложения, прежде чем клиент сможет его получить. Отдельный класс устройств, известный как контроллеры оптимизации WAN (WOC), обеспечивает эту функциональность, но в течение последних нескольких лет эта технология постепенно добавлялась в портфель ADN, поскольку этот класс устройств продолжает становиться все более ориентированным на приложения, предоставляя дополнительные функции для конкретных приложений. такие приложения, как CIFS и SMB .
Методы обеспечения надежности и доступности ADN
[ редактировать ]Расширенная проверка здоровья
[ редактировать ]Расширенная проверка работоспособности — это способность ADN определять не только состояние сервера, на котором размещено приложение, но и состояние приложения, которое оно доставляет. Усовершенствованные методы проверки работоспособности позволяют ADC разумно определять, является ли возвращаемый сервером контент правильным и должен ли он быть доставлен клиенту.
Эта функция включает другие функции обеспечения надежности в ADN, такие как повторная отправка запроса на другой сервер, если содержимое, возвращенное исходным сервером, окажется ошибочным.
Алгоритмы балансировки нагрузки
[ редактировать ]Алгоритмы балансировки нагрузки, используемые в сегодняшнем ADN, гораздо более совершенны, чем упрощенные алгоритмы циклического перебора и наименьшего числа соединений, использовавшиеся в начале 1990-х годов. Эти алгоритмы изначально были в общих чертах основаны на алгоритмах планирования операционных систем, но с тех пор были развиты с учетом условий, характерных для сетевых и прикладных сред. Сегодняшние алгоритмы «балансировки нагрузки» точнее описать как алгоритмы маршрутизации приложений, поскольку большинство ADN используют осведомленность о приложении, чтобы определить, доступно ли приложение для ответа на запрос. Это включает в себя способность ADN определять не только то, доступно ли приложение, но и может ли приложение ответить на запрос в рамках заданных параметров, что часто называют соглашением об уровне обслуживания .
Типичные стандартные алгоритмы балансировки нагрузки, доступные сегодня, включают в себя:
- Круговая система
- Наименьшее количество соединений
- Самое быстрое время отклика
- Взвешенный круговой турнир
- Взвешенные наименьшие соединения
- Пользовательские значения, назначаемые отдельным серверам в пуле на основе SNMP или другого механизма связи.
Отказоустойчивость
[ редактировать ]ADN обеспечивает отказоустойчивость на уровне сервера, внутри пулов или ферм. Это достигается путем назначения определенных серверов в качестве «резервных», которые автоматически активируются ADN в случае сбоя основного(их) сервера(ов) в пуле. [16]
ADN также обеспечивает доступность и надежность приложений благодаря своей способности плавно переключаться на вторичное устройство в случае аппаратного или программного сбоя. Это гарантирует, что трафик продолжит течь в случае сбоя на одном устройстве, тем самым обеспечивая отказоустойчивость приложений. Отказоустойчивость реализуется в ADN через сетевое или последовательное соединение.
Сетевое аварийное переключение
[ редактировать ]Виртуальный IP-адрес (VIP) используется двумя устройствами. Демон проверки работоспособности на вторичном устройстве проверяет, активно ли основное устройство. В случае потери контрольного сигнала вторичное устройство принимает общий VIP и начинает обслуживать запросы. Этот процесс не является немедленным, и хотя большинство ADN реплицируют сеансы с первичного на вторичный, невозможно гарантировать, что сеансы, инициированные в течение времени, необходимого вторичному серверу для принятия VIP и начала управления трафиком, будут поддерживаться.
Последовательное переключение при отказе
[ редактировать ]В конфигурации аварийного переключения на основе последовательного соединения два устройства ADN обмениваются данными через стандартное соединение RS-232 вместо сети, и весь обмен информацией о сеансе и статусе осуществляется через это соединение. Переключение при отказе происходит практически мгновенно, хотя оно страдает от тех же ограничений, связанных с сеансами, инициируемыми во время сбоя основного устройства, что и переключение по сети.
Безопасность ADN
[ редактировать ]Безопасность транспортного уровня
[ редактировать ]часто ошибочно относят к уровню приложений, Несмотря на то, что SSL сегодня он является наиболее распространенным методом защиты трафика приложений через ADN. SSL использует PKI для установления безопасного соединения между клиентом и ADN, что затрудняет злоумышленникам расшифровку передаваемых данных или перехват сеанса. [ нужна ссылка ]
Безопасность на уровне приложений
[ редактировать ]Маскировка ресурсов
[ редактировать ]Использование виртуального IP-адреса (VIP) и положения ADN в сети обеспечивает средства, с помощью которых определенные ресурсы могут быть скрыты от клиента. Поскольку ADN предназначен для понимания приложений и протоколов приложений, таких как HTTP , он может манипулировать определенными аспектами протокола, чтобы скрыть серверы в пуле и предотвратить раскрытие потенциально полезной информации, касающейся программной и аппаратной инфраструктуры.
Типичное использование этой функции — сокрытие операционной системы и серверного программного обеспечения, используемого для размещения приложения. Обычно это достигается путем переписывания поля Сервер в ответе HTTP. [17]
Второе типичное использование этой функции — использование способности ADN перезаписывать часть URI HTTP-запроса. Клиенту предоставляются URI и VIP, которые известны только ADN, и после получения запроса ADN может либо (а) переписать URI и отправить перенаправление 302. [18] или (б) прозрачно транслирует URI и отвечает клиенту, как если бы URI был правильным.
Брандмауэр приложений
[ редактировать ]В последние годы коммерческие ADN начали включать в себя функции брандмауэра приложений для дополнительной защиты приложений в процессе доставки. Это горячо обсуждаемая тема, причем многие специалисты по безопасности утверждают, что функции, включенные в брандмауэр приложений, не нужны и должны обрабатываться приложением, в то время как другие считают, что лучшим вариантом является обеспечение максимально возможного уровня безопасности, независимо от положения в сети доставки. упражняться. Многие коммерческие компании ADN приобрели и интегрировали эти функции и представляют их как часть стратегии глубокоэшелонированной защиты , на которую часто ссылаются специалисты по безопасности.
Безопасность сетевого уровня
[ редактировать ]ADN чаще всего развертывается в демилитаризованной зоне на границе сети. Это приводит к подверженности потенциальным атакам сетевого уровня, включая отказ в обслуживании (DoS) из-за ICMP и SYN-флудов. В результате ADN обязательно должна защищать не только себя, но и доставляемые ею приложения от таких атак. ADN обычно использует ряд средств защиты от типичных атак сетевого уровня, хотя и не обеспечивает полной безопасности, предлагаемой IPS . Некоторые из технологий сетевого уровня безопасности, которые могут использоваться устройствами ADN, включают:
Отложенное связывание
[ редактировать ]Отложенное связывание , также называемое сплайсингом TCP, представляет собой отсрочку соединения между клиентом и сервером с целью получения достаточной информации для принятия решения о маршрутизации. Некоторые коммутаторы приложений и маршрутизаторы откладывают привязку сеанса клиента к серверу до тех пор, пока не будут завершены необходимые подтверждения связи, чтобы предотвратить атаки типа «отказ в обслуживании».
IP-фильтрация
[ редактировать ]ADN часто имеют возможность фильтровать трафик на основе списков управления доступом (ACL), диапазонов фиктивных IP-адресов (фильтрация Богона) и сопоставления шаблонов глубокой проверки пакетов . В некоторых случаях могут использоваться пороговые значения или ограничение скорости IP-адресов или диапазонов IP-адресов.
Управление трафиком
[ редактировать ]В ADN все чаще добавляются расширенные функции управления трафиком. Возможности глубокой проверки пакетов некоторых из этих продуктов позволяют идентифицировать трафик по типу приложения и использовать его для анализа, блокировки, формирования и определения приоритетов трафика.
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Gartner сообщает, что мировой рынок ускорения приложений достигнет 3,7 миллиарда долларов в 2008 году, СТАМФОРД, Коннектикут, 21 августа 2006 г.
- ^ Что такое контроллер оптимизации глобальной сети? Сетевой мир, 8 января 2008 г.
- ^ Дж. Х. Зальцер ; Д. П. Рид ; Д. Д. Кларк (1 ноября 1984 г.). «Сквозные аргументы в проектировании систем» (PDF) . Транзакции ACM в компьютерных системах . 2 (4): 277–288. дои : 10.1145/357401.357402 . ISSN 0734-2071 . S2CID 215746877 . Викиданные Q56503280 . Проверено 5 апреля 2022 г.
- ^ Халаби, Басам: «Архитектура интернет-маршрутизации», New Riders Publishing, 1997.
- ^ «Саммит корпоративных сетевых коммуникаций» (PDF) . Гартнер . Проверено 17 ноября 2008 г.
- ^ Эрлангер, Леон. «Построение интеллектуальной сети» . ТехМир. Архивировано из оригинала 23 февраля 2014 года . Проверено 1 августа 2005 г.
- ^ RFC 896: Контроль перегрузки в межсетевых сетях IP/TCP
- ^ RFC 1122: Требования к интернет-хостам - коммуникационные уровни
- ^ RFC 2018: Параметры выборочного подтверждения TCP
- ^ RFC 2883: Расширение опции выборочного подтверждения (SACK) для TCP
- ^ RFC 3168: Добавление явного уведомления о перегрузке в TCP
- ^ RFC 2481: Предложение добавить явное уведомление о перегрузке (ECN) в IP.
- ^ RFC 3042: Улучшение восстановления после потерь TCP с использованием ограниченной передачи
- ^ RFC 2582: Модификация NewReno алгоритма быстрого восстановления TCP
- ^ RFC 3390: Увеличение начального окна TCP
- ↑ МакВитти, Лори: «Переключатели контента», Network Computing, июль 2001 г. Архивировано 27 сентября 2007 г., в Wayback Machine.
- ^ Протокол передачи гипертекста (HTTP/1.1): семантика и контент, контекст ответа
- ^ Протокол передачи гипертекста (HTTP/1.1): семантика и контент, перенаправление 3xx