Диплом: Балансировка трафика в условиях территориально распределенных дата-центров

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
32
Рисунок 2.6: балансировка трафика на 7-м уровне модели OSI
2.4 Управление соединением
В случае балансировки на 4-м уровне, балансировщик должен
координировать перезапись заголовков Ethernet, IP и, возможно, TCP/UDP
информации от клиента т.к. в конечном итоге, клиент подключается к VIP, а
не к конечному серверу.
В случае балансировки на 7-м уровне, балансировщик должен
поддерживать два независимых соединения, со своими собственными
параметрами и функциями (проверка контрольной суммы, проверка
последовательности пакетов в TCP). Координация между этими двумя
сессиями называется “splicing” (От анг. сращивание), и это одна из основных
функций балансировщиков нагрузки.
Но, в некоторых случаях, приложения могут требовать совсем другого
типа управления соединением. В некоторых случаях, балансировщик может
отправлять данные от клиента к серверу, но обратный трафик от сервера к
33
клиенту может через балансировщик не передаваться. Рисунок 2.7 показывает
два типа управления соединением.
Рисунок 2.7: Симметричный и асимметричный тип управления
соединением
При симметричном типе управления соединением, все пакеты, будь то
пакеты от клиента к серверу, или от сервера к клиенту должны передаваться
через балансировщик. Т.к. балансировщик в курсе всех данных, передаваемых
между клиентом и сервером, он может использовать дополнительные
функции, такие как балансировка на 7-м уровне, NAT, и манипуляция с
заголовками. Это самый популярный тип управления соединением и все
ранние примеры приводились, подразумевая именно этот тип управления
соединением.
Когда только трафик в одну сторону проходит через балансировщик
нагрузки, такой тип управления соединением называется Асимметричным.
Этот метод имеет преимущество не перегружать балансировщик ответным
трафиком от сервера к клиенту (например, в случае, когда балансировка
происходит для видео-стримингового сервиса). Но из-за того, что
балансировщик может видеть только часть трафика (от клиента к серверу),
многие функции балансировки не могут быть использованы (например, NAT).
34
Также, существует необходимость изменять таймауты для TCP соединений на
балансировщике, или отключать отслеживание состояния сессий, т.к.
балансировщик не получает FIN пакеты от серверов, вследствие чего не может
знать, завершилась ли сессия.
Данная техника называется Direct Server Return (Можно перевести как
“прямой возврат с сервера”), и рисунок 2.8 показывает, как она работает.
Рисунок 2.8: Техника “Direct Server Return”
На рисунке 2.8 номерами отмечены следующие шаги:
Маршрутизатор R1 пересылает первый пакет на VIP 192.168.7.7,
используя статический маршрут, который указывает на балансировщик.
Балансировщик пересылает пакет на выбранный сервер, изменяя MAC-
адреса для этого пакета. Сервер сможет принять трафик, т.к. как адрес
назначения использован тот же адрес, что и на его loopback интерфейсе.
Сервер отвечает клиенту напрямую, т.к. адрес клиента не был изменён
балансировщиком.
2.5 NAT и балансировка нагрузки
Использование NAT или PAT достаточно простая задача для
оборудования, которое может балансировать на основе информации 7-го
уровня модели OSI. Как правило, балансировщики имеют в своём
распоряжении несколько вариантов NAT’а. Самые популярные из них:
Server NAT (Серверная трансляция)
Dual NAT (Двойная трансляция)
35
Port redirection (перенаправление порта)
Transparent (прозрачный)
В последующих секциях мы разберём каждый из этих типов подробно,
и разберёмся как каждый из них себя ведёт на каждом из этапов: От клиента к
балансировщику (фаза 1), от балансировщика к серверу (фаза 2), от сервера к
балансировщику (фаза 3), от балансировщика обратно к клиенту (фаза 4).
Server NAT был первым типом NAT, который использовался для
балансировки. На рисунке 1.17 показано как клиент посылает запрос на
балансировщик в фазе 1, и как балансировщик меняет адрес назначения на
адрес сервера в фазе 2.
Рисунок 2.9: Техника балансировки “Server NAT
Можно увидеть, что сервер посылает ответы настоящему адресу клиента
(фаза 3). Т.к. симметричность запросов, в данном случае, необходима, сеть
должна быть настроена таким образом, чтобы обратные запросы тоже
проходили через балансировщик.
Один из интерфейсов балансировщика должен являться основным шлюзом
для серверов. Маршрутизация внутри дата-центра должна быть настроена
таким образом, чтобы посылать обратный трафик на интерфейс
балансировщика.
Когда балансировщик нагрузки делает Dual NAT, он меняет и адрес
назначения, и адрес отправителя в IP пакетах. Рисунок 2.10 показывает, как
работает такой тип NAT’а.
36
Рисунок 2.10: Техника “Dual NAT
В случае, когда используется Dual NAT реальный сервер получает новые
запросы, как будто соединения происходят с адреса принадлежащего
балансировщику. Следовательно, обратные запросы будут отправляться
балансировщику. Таким образом будет достигнута симметричность в передаче
трафика. Несмотря на то, что на рисунке 2.10 показано, что VIP адрес
используется как адрес отправителя в фазе 2, балансировщик поддерживает
возможность использовать любой диапазон адресов. Обычно, этот диапазон
включает меньше адресов, чем количество клиентов. Следовательно,
балансировщик использует PAT, изменяя TCP или UDP порты отправителя.
Как можно увидеть на рисунке 2.10, порт назначения (DST) в фазе 3 помогает
балансировщику определить какому клиенту принадлежит это соединение.
Port redirection включает статическую трансляцию TCP и UDP портов.
Рисунок 2.11 описывает данный метод.
37
Рисунок 2.11: Техника “Port redirection
Как показано на рисунке 2.11, клиент не знает, что веб-сервер доступный
через порт 80, при обращении на VIP, на самом деле, запущен на сервере, на
порту 8080.
При использовании Transparent метода, балансировщик не меняет ни
адрес назначения, ни адрес получателя, как показано на рисунке 2.12.
Возникает вопрос, есть ли какое-то практическое применение этому методу?
Ответ на этот вопрос – да! Как правило, данный тип балансировки
используется в случае, когда балансировка производится не на конечные
сервера. [1]
Рисунок 2.12: Метод “Transparent”
2.6 Балансировка трафика на межсетевые экраны
38
Этот метод балансировки обычно используется, когда необходимо
использовать большое количество фаерволов в инфраструктуре дата-центра.
Рисунок 1.21 показывает стандартную топологию с двумя уровнями
балансировки, распределяющими клиентские соединения по межсетевым
экранам.
Стоит упомянуть, что межсетевые экраны можно разделить на два типа.
Stateless (без технологии SPI) и Stateful (с использованием технологии SPI).
SPI (Stateful packet inspection, или инспекция пакетов с хранением состояния
соединения) позволяет отслеживать состояние соединений и защищаться от
некоторых атак, производя проверку на корректность отправляемых данных.
Данная способность позволяет фаерволу хранить данные о том, в каком
состоянии находится сессия и блокировать пакеты, которые не прошли
проверку на корректность. Например, если инициатор трафика начнёт
отправлять генерируемые TCP-пакеты используя только флаг ACK, без
предварительного тройного рукопожатия, то такой трафик будет просто
отброшен, несмотря на то, что, технически, такой трафик на фаерволе
разрешён. Стоит понимать, что такой тип защиты накладывает ограничения.
Например, он делает невозможным асинхронную передачу данных через
фаервол.
Рисунок 2.13: Балансировка на межсетевые экраны
39
Для корректной работы с Stateful фаерволами, трафик одной сессии, в
оба направления, должен проходить через один и тот же фаервол.
Балансировщики могут добиться этого используя хеширование, как механизм
балансировки. На рисунке 2.13, балансировщик 2 мог бы использовать
хеширование по адресу отправителя, в то время, как балансировщик 1 мог бы
использовать хеширование по ip-адресу получателя. Обе операции приводили
бы к одному и тому же результату, и один и тот же фаервол использовался бы
при передаче данных. [33]
Transparent тип балансировки обычно используется в показанном на
рисунке 2.13 дизайне. Проверки (Probes) должны быть настроены на обоих
балансировщиках, чтобы проверять доступность фаерволов. Из-за этого,
необходимо разрешить эти проверки на самих фаерволах. Балансировка
трафика на межсетевые экраны достаточно сложна в настройке
балансировщиков и фаерволов, а также в обслуживании, что делает её
применимой только в ряде редких ситуаций.
2.7 Обратный прокси
Прокси – это устройство, которое представляет собой промежуточное
звено между клиентом и сервером. Прокси обрабатывает клиентские запросы
и передает их на определённые сервера от лица клиента, в зависимости от
настроенных на прокси политик.
Прокси сервера могут использоваться для следующих сервисов:
Web безопасность
Кэширование
Фильтрация e-mail’ов
Ускорение ответа приложения
Прокси сервер называется “обратным прокси”, когда он установлен в
дата-центре как фронт-энд сервис для клиентов, приходящих из внешних
сетей. Балансировщик трафика может перенаправлять трафик прямо на
обратные прокси, как это показано на Рисунке 2.14.
40
Рисунок 2.14: Перенаправление трафика на обратные прокси
В данном дизайне, обычно, балансировщик производит проверки
доступности (probes) прокси серверов. В зависимости от того, какому
приложению необходима балансировка, балансировщик может использовать
разные методы балансировки. Например, URL хеширование.
2.8 Offloading
Балансировщики, также, могут делать дополнительные полезные вещи,
такие как Offloading (разгрузка), производя ряд ресурсно-затратных операций
самостоятельно. Самые часто используемые операции такого типа – это
шифрование, аутентификация, обработка соединения и сжатие. Offloading
41
позволяет сэкономить процессорное время серверов для выполнения их
основных задач.
Далее, мы рассмотрим три главных типа offload сервисов, которые
балансировщики могут предоставлять. [25]
SSL offload
TCP offload
HTTP сжатие
Рисунок 2.15: SSL находится прямо над транспортным уровнем
2.9 SSL offload
Secure Sockets Layer (SSL) это протокол, изобретённый компанией
Netscape в 1990-х. Данный протокол позволяет безопасно передавать данные
через интернет. SSL обеспечивает конфиденциальность, аутентификацию и
целостность данных передаваемых с помощью него. В 1999, Инженерным
советом Интернета (IETF) был предложен новый стандарт для данного
протокола, названный Transport Layer Security (TLS). SSL и TLS находятся
между транспортным и сеансовым уровнем модели OSI.

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)