Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

Постоянное увеличение объема передаваемого трафика при ограниченных ресурсах существующей инфокоммуникационной сети стало предпосылкой появления ряда научно исследовательских задач об эффективном использовании последних. [1]

Эффективность использования ресурсов является одним из критериев принятия решения в процессе управления сетью. Данный критерий является основополагающим для оператора связи. Для конечного пользователя основной критерий использования того или иного вида приложений – выполнение параметров качества обслуживания (QoS, quality of Service). В общем случае, возможность управления сетью, на основе вышеперечисленных критериев возможно в сетях MPLS (Multiprotocol Label Switching) либо в IP-сетях, но с возможностью организации схем DiffSerf (Differentiated Service)

1. Актуальность темы

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

2. Цель и задачи исследования

Целью научно-исследовательской работы является повышение эффективности использования ресурсов IP/MPLS-сети с обеспечением заданного уровня качества обслуживания за счет разработки метода балансировки нагрузки.

Для достижения поставленной цели необходимо решить следующие задачи:



Объект исследования: процесс управления трафиком в IP/MPLS-сетях

Предмет исследования: модели и алгоритмы перераспределения нагрузки в IP/MPLS-сетях

3. Общее описание механизмов балансировки нагрузки с обеспечением качества обслуживания

При исследовании алгоритмов и методов балансировки нагрузки в телекоммуникационных системах и компьютерных сетях следует отметить следующие параметры качества обслуживания [2]:



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



Для реализации эффективного распределения нагрузки между узлами в сети с высокой пропускной способностью алгоритм должен обладать следующими показателями:



В последнее время для решения задачи балансировки нагрузки все чаще используется прикладной уровень [6]. При этом в процессе принятия решения учитывается тип клиента, запрашиваемый URL, информация из cookie, возможности конкретного сервера и тип прикладной программы, что позволяет оптимизировать использование ресурсов системы.

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

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

Управление балансировкой нагрузки можно совместить с функцией прикладного межсетевого экрана (70% успешных вторжений использует уязвимости приложений) и с использованием SSL по VPN-туннелю. SSL – криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.

Для достижения максимальной пропускной способности и отказоустойчивости межсетевые экраны позволяют распределить или сбалансировать нагрузку, используя все имеющиеся каналы Интернета (серверов) одновременно. Например, можно избежать такой ситуации, когда передаваемые по сети пакеты идут через одного провайдера, в то время как выход в Интернет через другого провайдера простаивает без дела. Или распределить сервисы и направить трафик через все имеющиеся Интернет-каналы. Возможна настройка балансировки нагрузки, если соединения с провайдерами осуществляются с разными типами подключения (Static IP, PPPoE, PPTP/L2TP), а также – для балансировки трафика, проходящего через VPN-туннели, установленные на разных физических интерфейсах (рисунок 1).


Пример использования балансировки нагрузки в сегменте сети
Рисунок 1 – Пример использования балансировки нагрузки в сегменте сети

Процедура балансировки осуществляется при помощи целого комплекса алгоритмов и методов, соответствующим следующим уровням модели OSI:



Балансировка на сетевом уровне предполагает решение следующей задачи: нужно сделать так, чтобы за один конкретный IP-адрес сервера отвечали разные физические машины.

При DNS-балансировке на одно доменное имя выделяется несколько IP-адресов. Сервер, на который будет направлен клиентский запрос, обычно определяется с помощью алгоритма Round Robin (о методах и алгоритмах балансировки будет подробно рассказано ниже).

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

Балансировка по территориальному признаку осуществляется путём размещения одинаковых сервисов с одинаковыми адресами в территориально различных регионах Интернета (так работает технология Anyсast DNS, о которой мы уже писали).

Балансировка на транспортном уровне является самым простым: клиент обращается к балансировщику, тот перенаправляет запрос одному из серверов, который и будет его обрабатывать. Выбор сервера, на котором будет обрабатываться запрос, может осуществляться в соответствии с самыми разными алгоритмами:



На транспортном уровне общение с клиентом замыкается на балансировщике, который работает как прокси. При балансировке на прикладном уровне балансировщик работает в режиме «умного прокси». Он анализирует клиентские запросы и перенаправляет их на разные серверы в зависимости от характера запрашиваемого контента.

4. Анализ существующих алгоритмов им методов балансировки нагрузки с обеспечением качества обслуживания

В качестве допущения для исследования алгоритмов балансировки примем за основу потоки трафика на выходе из устройства, распределяемые по очередям с обслуживанием WFQ [7], которое должно удовлетворять современным требованиям QoS [5]. В таком случае принято ещё одно допущение: критерием для балансировки потоков будут выступать протоколы транспортного уровня модели OSI; в качестве максимально приоритетного трафика будут выступать потоки с использованием транспортных протоколов RTP/UDP (используются для передачи голоса и видео при общении в реальном времени), которые будут отнесены к наиболее требовательному классу с установлением необходимых для классификации идентификаторов поля TOS в IP пакете.

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


Балансировка нагрузки между узлами сети
Рисунок 2 – Использование балансировки нагрузки между узлами сети[6]
(Анимация: 10 кадров, 51 килобайт)

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

Алгоритм балансировки Round Robin представляет собой перебор запросов по круговому циклу: первый запрос – первому узлу, второй запрос – второму узлу и так до достижения последнего. Данный алгоритм балансирует нагрузку независимо от используемого в пакетах протокола. Главным критерием является обращение к узлу по доменному имени. К достоинствам алгоритма можно отнести следующее: низкую стоимость; простоту реализации; отсутствие связности между узлами-участниками алгоритма; алгоритм работает не зависимо от нагрузки на сервер. Несмотря на достоинства, у алгоритма также существуют следующие недостатки: обеспечение равного набора ресурсов каждого узла; отсутствие алгоритма проверки занятости сервера; отсутствие алгоритма проверки необходимой пропускной способности к линии; отсутствие возможности управления потоками на основании используемого транспортного протокола.

На основании описания алгоритма Round Robin невозможно сделать окончательный вывод о том, что данный алгоритм выполнит балансировку с критериями, требуемыми для обеспечения необходимого уровня качества обслуживания, при больших объёмах трафика. Также данный алгоритм не позволяет оптимально использовать ресурсы инфраструктуры в силу своих недостатков.

Усовершенствованный алгоритм Round Robin, согласно которому каждому узлу-участнику алгоритма присваивается весовой коэффициент на основе его производительности: больший коэффициент более производительному узлу. Данный алгоритм позволяет использовать ресурсы системы более гибко, но так же не решает всех проблем с отказоустойчивостью узлов.

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

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

Алгоритм Least Connections обладает несомненным преимуществом по отношению к двум рассмотренным ранее – контроль количества подключений к узлу. Данная особенность алгоритма позволяет распределить нагрузку на узлы так, чтобы избежать отказа одного или более узлов из-за перегрузки. Это осуществляется путём передачи запроса узлу с наименьшим количеством активных подключений.

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

К числу усовершенствованных алгоритмов балансировки Least Connections также относятся Locality-Based Least Connection Sheduling и Locality-Based Least Connection Sheduling with Replication Sheduling [8]. Первый алгоритм создан специально для кэширующих прокси-серверов, который работает по принципу: большее количество запросов передаётся узлам с наименьшим количеством активных подключений. За каждым узлом закреплен свой блок клиентских IP адресов, запросы с них перенаправляются узлу, обслуживающему данную группу. В случае, если «родительский» узел загружен, запросы передаются другому узлу, менее загруженному. Второй алгоритм усовершенствован для использования в условиях группы узлов. То есть, блок клиентских IP адресов обслуживает не один узел, а группа.

Исходя из описания алгоритма Least Connections присутствует видимая возможность балансировки нагрузки таким образом, чтобы ресурсы всей системы использовались максимально с обеспечением необходимого уровня качества обслуживания.

Алгоритм Sticky Sessions характеризуется распределением входящих запросов таким образом, чтобы один и тот же узел обслуживал одну группу клиентов. Такой алгоритм используется, например, в веб-серверах. В указанном алгоритме запросы распределяются между узлами на основе IP-адреса клиента, что реализуется методом IP hash.

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

При использовании алгоритма Round Robin нагрузка на узлы сети будет распределиться равномерно, но данный алгоритм работает без учета состояния узлов, что может привести к «отказу в обслуживании» дальнейших потоков.

Использование Least Connections позволяет распределить нагрузку таким образом, чтобы все узлы сети были заняты на основании учёта состояния занятости, что позволяет осуществить передачу запросу «свободному» узлу. Данный алгоритм обладает существенным недостатком — отсутствием анализа приоритета передачи.

Sticky Sessions распределяет нагрузку так, чтобы при повторном обращении клиент попадал на тот же узел. Это позволяет сэкономить ресурсы всей системы за счет группового обслуживания и планирования инфраструктуры под необходимое количество клиентов. Данный алгоритм также обладает недостатком отсутствия анализа состояния занятости и обслуживании по приоритетам.

Выводы

Балансировка нагрузки необходима для оптимизации использования ресурсов и сокращения времени обслуживания . Местами применения алгоритмов балансировки нагрузки могут быть как серверные кластеры, межсетевые экраны так и любой «групповой» вид доступа к однотипному ресурсу. Целью балансировки нагрузки является как обеспечение определенного качества обслуживания пользователя, так и эффективность использования соответствующего ресурса [7].

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


При написании данного автореферата магистерская работа ещё не завершена. Окончательное завершение: июнь 2021 г. Полный текст работы и материалы по теме могут быть получены у автора после указанной даты.

Список источников

  1. Костюк Д.Е. Анализ методов и алгоритмов балансировки нагрузки / Д.Е. Костюк, В.Н. Лозинская // Информационное пространство Донбасса: проблемы и перспективы : материалы III Респ. с междунар. участием науч.-практ. конф., посв. 100-летию осн-ия ДонНУЭТ. – Донецк:ГО ВПО «ДонНУЭТ» – 2020. – С. 154-157.
  2. Кучерявый Е.А. Управление трафиком и качество обслуживания в сети Интернет / Е.А. Кучерявый. – СПб.: Наука и Техника, 2004. – 336 с.: ил.
  3. Елагин, В.С. Аспекты реализации системы законного перехвата трафика в сетях SDN / В.С. Елагин, А.А. Зобнин // Вестник связи. – 2016. – № 12. С. 6 – 9.
  4. Klampfer Sasa, Influences of Classical and Hybrid Queuing Mechanisms on VoIP’s QoS Properties [Электронный ресурс] / Sasa Klampfer, Amor Chowdhury, Joze Mohorko, Zarko Cucej. [Источник]
  5. Braden R., RFC 2309. Recommendations on queue management and congestion avoidance in the Internet [Электронный ресурс] / D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C.Partridge, L.Peterson, K. Ramakrishnan, S.Shenker, J. Wroclawski, and L. Zhang. [Источник]
  6. Van Nieuwpoort Rob V. Adaptive Load Balancing for Divide-and-Conquer Grid Applications [Электронный ресурс] / Rob V. van Nieuwpoort Jason Maassen, Gosia Wrzesinsk ? a, Thilo Kielmann, Henri E. Bal.[Источник]
  7. Jamaloddin Golestani S. A self-clocked fair queuing scheme for broadband applications [Электронный ресурс] / Golestani S. Jamaloddin. [Источник]
  8. Bahaweres, R. B. Comparative analysis of LLQ traffic scheduler to FIFO and CBWFQ on IP phone-based applications (VoIP) using Opnet (Riverbed) / A. R. B. Bahaweres, Fauzi and M. Alaydrus // 2015 1st International Conference on Wireless and Telematics (ICWT). – Manado. – 2015. – pp. 1-5