Сеть доставки приложений - Application delivery network

An сеть доставки приложений (ADN) - это набор технологий, которые при совместном развертывании обеспечивают доступность, безопасность, видимость и ускорение приложений. Gartner определяет сеть доставки приложений как комбинацию Оптимизация WAN контроллеры (WOC) и контроллеры доставки приложений (АЦП).[1] На стороне центра обработки данных ADN находится контроллер доставки приложений, устройство расширенного управления трафиком, которое часто также называют веб-коммутатором, коммутатором контента или многоуровневым коммутатором, целью которого является распределение трафика между несколькими серверами. или географически удаленные участки на основе критериев, определенных для конкретного приложения. В филиальной части ADN находится контроллер оптимизации WAN, который сокращает количество битов, проходящих по сети с помощью кэширования и сжатия, и формирует TCP-трафик с помощью приоритезации и других методов оптимизации.[2] Некоторые компоненты WOC устанавливаются на ПК или мобильные клиенты, и обычно часть WOC устанавливается в центре обработки данных. Сети доставки приложений также предлагаются некоторыми поставщиками CDN.

АЦП, один из компонентов ADN, произошел от переключатели уровня 4-7 в конце 1990-х годов, когда стало очевидно, что традиционные методы балансировки нагрузки недостаточно надежны, чтобы справиться со все более сложной смесью трафика приложений, доставляемого по более широкому спектру вариантов сетевого подключения.

Методы доставки приложений

Интернет был разработан в соответствии с сквозной принцип.[3] Этот принцип сохраняет базовую сеть относительно простой и перемещает интеллект в максимально возможной степени к конечным точкам сети: хостам и клиентам. Сеть доставки приложений (ADN) улучшает доставку приложений через Интернет за счет использования ряда методов оптимизации. Многие из этих методов основаны на признанных передовых практиках, используемых для эффективной маршрутизации трафика на сетевом уровне, включая избыточность и балансировку нагрузки. [4]

Теоретически сеть доставки приложений (ADN) тесно связана с сеть доставки контента. Разница между двумя сетями доставки заключается в том, что ADN позволяет понимать и оптимизировать приложения, что обычно называется плавностью работы приложений.[5] Application Fluent Network (AFN) основана на концепции беглости работы приложений. [6] для ссылки на методы оптимизации WAN, применяемые на уровнях с четвертого по седьмой модели OSI для сетей. Беглость приложений подразумевает, что сеть свободно или умно понимает и может оптимизировать доставку каждого приложения.[7] Приложение Fluent Network - это добавление возможностей SDN. Аббревиатура AFN используется Alcatel-Lucent Enterprise для обозначения Application Fluent Network.

Доставка приложений использует один или несколько переключатели уровня 4–7, также известный как веб-коммутатор, коммутатор содержимого или многоуровневый коммутатор для интеллектуального распределения трафика в пул серверов, также известный как кластер или ферма. Контроллеру доставки приложений (ADC) назначается один виртуальный IP-адрес (VIP), который представляет пул серверов. Затем трафик, поступающий в ADC, направляется на один из серверов в пуле (кластер, ферма) на основе ряда факторов, включая значения данных для конкретного приложения, транспортный протокол приложения, доступность серверов, текущие метрики производительности и параметры, зависящие от клиента. . ADN обеспечивает преимущества распределения нагрузки, увеличения емкости серверов, улучшенной масштабируемости, безопасности и повышенной надежности за счет проверок работоспособности конкретных приложений.

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

Методы оптимизации ADN

Мультиплексирование TCP

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

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

Оптимизация TCP

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

Чаще всего используются следующие RFC:

  • Задержанные подтверждения [8]
  • Алгоритм Нэгла [9]
  • Избирательные благодарности[10][11]
  • Явное уведомление о перегрузке ECN[12][13]
  • Ограниченная и быстрая ретрансляция[14][15]
  • Адаптивная начальная перегрузка Windows[16]

Сжатие и кеширование данных

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

HTTP-сжатие асимметрична и прозрачна для клиента. Поддержка сжатия HTTP встроена в веб-серверы и веб-браузеры. Все коммерческие продукты ADN в настоящее время поддерживают сжатие HTTP.

Второй метод сжатия достигается с помощью алгоритмов сокращения данных. Поскольку эти алгоритмы являются проприетарными и изменяют трафик приложения, они симметричны и требуют, чтобы устройство повторно собирало трафик приложения, прежде чем клиент сможет его получить. Эту функциональность обеспечивает отдельный класс устройств, известный как контроллеры оптимизации глобальной сети (WOC), но эта технология постепенно добавлялась в портфель ADN за последние несколько лет, поскольку этот класс устройств продолжает становиться более ориентированным на приложения, предоставляя дополнительные функции для конкретных такие приложения, как CIFS и SMB.

Методы надежности и доступности ADN

Расширенная проверка работоспособности

Расширенная проверка работоспособности - это способность ADN определять не только состояние сервера, на котором размещено приложение, но и состояние приложения, которое оно доставляет. Расширенные методы проверки работоспособности позволяют ADC разумно определять, является ли контент, возвращаемый сервером, правильным и должен ли он быть доставлен клиенту.

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

Алгоритмы балансировки нагрузки

Алгоритмы балансировки нагрузки, используемые сегодня в ADN, намного более продвинуты, чем упрощенные алгоритмы циклического перебора и минимального количества соединений, использовавшиеся в начале 1990-х годов. Эти алгоритмы изначально были слабо основаны на алгоритмах планирования операционных систем, но с тех пор эволюционировали, чтобы учитывать условия, характерные для сетевых сред и сред приложений. Более точно описывать сегодняшние алгоритмы «балансировки нагрузки» как алгоритмы маршрутизации приложений, поскольку большинство ADN используют осведомленность о приложениях, чтобы определить, доступно ли приложение для ответа на запрос. Это включает в себя способность ADN определять не только, доступно ли приложение, но и может ли приложение отвечать на запрос в рамках заданных параметров, что часто называют соглашение об уровне обслуживания.

Типичные стандартные алгоритмы балансировки нагрузки, доступные сегодня, включают:

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

Отказоустойчивость

ADN обеспечивает отказоустойчивость на уровне сервера, в пулах или фермах. Это достигается назначением определенных серверов в качестве «резервных», которые автоматически активируются ADN в случае отказа основного сервера (ов) в пуле.[17]

ADN также обеспечивает доступность и надежность приложений за счет возможности беспрепятственного переключения на вторичное устройство в случае аппаратного или программного сбоя. Это гарантирует продолжение потока трафика в случае сбоя в одном устройстве, тем самым обеспечивая отказоустойчивость приложений. Отказоустойчивость реализуется в ADN через сетевое или последовательное соединение.

Отказоустойчивость на основе сети

Виртуальный IP-адрес (VIP) используется двумя устройствами совместно. Демон контрольного сигнала на вторичном устройстве проверяет, что первичное устройство активно. В случае потери пульса вторичное устройство принимает общий VIP и начинает обслуживание запросов. Этот процесс не является немедленным, и хотя большинство ADN реплицируют сеансы с первичного на вторичный, нет способа гарантировать, что сеансы, инициированные в течение времени, которое требуется вторичному серверу для принятия VIP и начала управления трафиком, будут поддерживаться.

Последовательное аварийное переключение

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

Безопасность ADN

Безопасность транспортного уровня

Хотя часто ошибочно назначается прикладному уровню, SSL на сегодняшний день является наиболее распространенным методом защиты трафика приложений через ADN. SSL использует PKI для установления безопасного соединения между клиентом и ADN, что затрудняет злоумышленникам расшифровку передаваемых данных или захват сеанса.[нужна цитата ]

Безопасность на уровне приложений

Маскировка ресурсов

Использование виртуального IP-адреса (VIP) и положения ADN в сети предоставляет средства, с помощью которых определенные ресурсы могут быть замаскированы или скрыты от клиента. Поскольку ADN предназначен для понимания приложений и протоколов приложений, таких как HTTP, он может управлять определенными аспектами протокола, чтобы скрыть серверы в пуле и предотвратить раскрытие потенциально полезной информации о программной и аппаратной инфраструктуре.

Типичное использование этой функции - скрыть операционную систему и серверное программное обеспечение, используемое для размещения приложения. Обычно это достигается путем перезаписи поля «Сервер» в ответе HTTP.[18]

Вторым типичным использованием этой функции является использование способности ADN перезаписывать URI часть HTTP-запроса. Клиенту предоставляются URI и VIP, которые известны только ADN, и после получения запроса ADN может либо (а) переписать URI, и отправить 302 редирект. [19] или (б) прозрачно переводит URI и отвечает клиенту, как если бы URI изначально был правильным.

Брандмауэр приложений

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

Безопасность сетевого уровня

ADN чаще всего развертывается в DMZ на границе сети. Это приводит к уязвимости для потенциальных атак сетевого уровня, включая Отказ в обслуживании (DoS) от ICMP и SYN флудов. В результате ADN обязательно должен защищать не только себя, но и приложения, которые он доставляет, от таких атак. ADN обычно использует ряд средств защиты от типичных атак сетевого уровня, хотя он не обеспечивает полную безопасность, предлагаемую IPS. Некоторые из технологий безопасности сетевого уровня, которые могут использоваться устройствами ADN, включают:

Отложенная привязка

Отложенная привязка, также называемое объединением TCP, представляет собой отсрочку соединения между клиентом и сервером с целью получения достаточной информации для принятия решения о маршрутизации. Некоторые коммутаторы приложений и маршрутизаторы откладывают привязку сеанса клиента к серверу до тех пор, пока не будут завершены надлежащие рукопожатия, чтобы предотвратить атаки типа «отказ в обслуживании».

IP фильтрация

ADN часто имеют возможность фильтровать трафик на основе Списки контроля доступа (ACL), поддельные диапазоны IP-адресов (фильтрация Богона) и глубокая проверка пакетов сопоставление с образцом. В некоторых случаях могут использоваться пороговые значения или ограничение скорости IP-адресов или диапазонов IP-адресов.

Управление движением

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

Смотрите также

Коммерческие ADN

Заметки

  1. ^ Gartner заявляет, что мировой рынок ускорения приложений достигнет 3,7 млрд долларов в 2008 г., СТАМФОРД, Коннектикут, 21 августа 2006 г.
  2. ^ Что делает контроллер оптимизации WAN? Network World, 8 января 2008 г.
  3. ^ Зальцер, Дж. Х., Рид, Д. П., Кларк, Д. Д .: «Сквозные аргументы в проектировании системы», Транзакции ACM по коммуникациям, 2 (4), 1984
  4. ^ Халаби, Бассам: "Архитектуры маршрутизации Интернета", New Riders Publishing, 1997 г.
  5. ^ http://www.infoworld.com/article/05/07/18/29FEintelnet_1.html?NETWORK%20STANDARDS[постоянная мертвая ссылка ] Эрлангер, Леон: «Построение интеллектуальной сети», InfoWorld, июль 2005 г.
  6. ^ "Enterprise Networking Communications SUmmit" (PDF). гартнер. Получено 17 ноября 2008.
  7. ^ Эрлангер, Леон. «Построение интеллектуальной сети». TechWorld. Получено 1 августа 2005.
  8. ^ RFC 896: Контроль перегрузки в сетях IP / TCP
  9. ^ RFC 1122: Требования к Интернет-хостам - Уровни связи
  10. ^ RFC 2018: параметры выборочного подтверждения TCP
  11. ^ RFC 2883: расширение опции выборочного подтверждения (SACK) для TCP
  12. ^ RFC 3168: добавление явного уведомления о перегрузке в TCP
  13. ^ RFC 2481: предложение о добавлении явного уведомления о перегрузке (ECN) в IP
  14. ^ RFC 3042: Улучшение восстановления после потерь TCP с помощью ограниченной передачи
  15. ^ RFC 2582: Модификация NewReno для алгоритма быстрого восстановления TCP
  16. ^ RFC 3390: увеличение начального окна TCP
  17. ^ МакВитти, Лори: «Переключатели контента», Network Computing, июль 2001 г. В архиве 27 сентября 2007 г. Wayback Machine
  18. ^ Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание, контекст ответа
  19. ^ Протокол передачи гипертекста (HTTP / 1.1): семантика и контент, перенаправление 3xx
  20. ^ http://www.crn.com/news/networking/240007425/cisco-ceasing-development-of-load-balancer-products.htm

внешние ссылки