Статья опубликована в рамках: CXI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 10 марта 2022 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ИССЛЕДОВАНИЕ ВЛИЯНИЯ ДЕСКРИПТОРОВ ОЧЕРЕДЕЙ QoS НА ПОТЕРЮ СЕТЕВЫХ ПАКЕТОВ
ВВЕДЕНИЕ
В современном мире ежесекундно передается огромное количество информации между серверами и пользователями сети интернет, либо в локальных сетях предприятий. Для связи устройств между собой используют высокоскоростные линии передачи, на которых игнорирование пакетов на несколько секунд может привести к потере информации, сбоям работы оборудования и падению качества услуг. Существуют специальные протоколы и технологии, которые могут предоставить такие инструменты, как балансировка трафика, приоритизация. С их помощью для трафика, в котором важна целостность данных выделяется гарантированная полоса пропускания и коммутатор будет в первую очередь обрабатывать и передавать трафик с более высоким приоритетом. Например, на сетевых устройствах часто происходит резкое возрастание интенсивности, которая может превысить пропускную способность портов и привести к потерям кадров. Для предотвращения таких явлений в коммутаторах используется буферная память, в которой сохраняются пакеты на то время, пока не освободится канал для последующей отправки в сеть. Данный механизм позволяет сглаживать нагрузку на оборудование и минимизировать потери трафика.
Актуальность разработки новых методов обеспечения требуемого качества обслуживания (Quality of Service, QoS), обусловлена передачей разнородного трафика (голоса, видео, текста) через локальные и глобальные компьютерные сети. [1, с. 36]
Технология QOS предоставляет возможность дать гарантированную пропускную способность для более приоритетного трафика во время сильной загруженности порта. Также в эту технологию входит механизм Tail Drop, который при переполнении буфера начинает отбрасывать входящие низкоприоритетные пакеты. Для Tail Drop существуют настройки лимитов, которые ограничивают количество дескрипторов для каждого приоритета. Это значит, что для каждого приоритета можно настроить какое количество пакетов будет хранить устройство для каждого класса трафика.
Для каждого пакета выделяется дескриптор, в котором содержится служебная информация. На один дескриптор может выделяться один и более буферов, в зависимости от размера пакета. Количество дескрипторов и буферов в устройстве ограничено, в следствии чего может возникнуть переполнение буфера, либо будут использованы все дескрипторы. Чтобы избежать потерь высокоприоритетного трафика, пользователям предоставлена возможность настройки лимитов дескрипторов для каждого вида трафика, что позволяет распределить дескрипторы для наиболее оптимальной работы устройства с разным трафиком.
В данной работе обсуждается влияние лимитов дескрипторов выходных очередей и реализация алгоритма динамического распределения дескрипторов QoS.
ТЕХНОЛОГИЯ QoS
QoS (англ. quality of service «качество обслуживания») — технология предоставления различным классам трафика различных приоритетов в обработке и передачи, также этим термином в области компьютерных сетей называют вероятность того, что сеть связи соответствует заданному соглашению о трафике, или же, в ряде случаев, неформальное обозначение вероятности прохождения пакета между двумя точками сети.
Чтобы понять, что такое QoS в сетях, необходимо разобрать механизм его работы. Для реализации технологии применяется маркировка трафика, благодаря которой каждый передаваемый пакет имеет поле с указанной отметкой о его приоритете.
В сетевых коммутаторах применяются два стандартных способа маркировки:
- IEEE 802.1p CoS – на 2 уровне.
- Differentiated Services (DiffServ) или ToS – на 3 уровне.
Стандарт IEEE 802.1Q предусматривает тегирование трафика, что необходимо для передачи данных о принадлежности к VLAN. В кадр Ethernet включается тег 802.1Q размерностью 4 байта. Он содержит информацию о VLAN, а также сведения об установленном уровне приоритета трафика. Таким образом, IEEE 802.1p можно назвать частью IEEE 802.1Q. В стандарте IEEE 802.1p предусматривается 8 классов приоритета трафика.
QoS Type of Service — это маркировка, которая применяется в коммутаторах 3 уровня и маршрутизаторах. Она предусматривает включение специального байта ToS (Type of Service) в заголовок IP. В этом байте прописаны сведения о приоритете трафика. [2]
Для каждого приоритета трафика требуется разная скорость передачи, а также чувствительность к потерям пакетов. Во время работы на предельной пропускной способности порта или когда входящая скорость превышает исходящую, например, когда на порт с пропускной способностью 1 Гб/с поступает трафик с порта 10 Гб/с, пакеты накапливаются в буфере устройства. В буфере пакеты разделены на 4 либо 8 очередей в соответствии с приоритетом, чтобы можно было более приоритетный трафик пропустить вперед для предотвращения потери пакета. Для упорядочивания пакетов и выделения полосы пропускания существуют механизмы управления очередями и управления полосой пропускания.
Буферы применяются для временного хранения пакетов для дальнейшей передачи. Благодаря им пакеты не теряются на входном порту коммутатора, что позволяет не допустить потерь во время загруженности выходных портов. Очереди, благодаря 8 приоритетам трафика позволяют изменить стандартную модель обработки пакетов FIFO (англ. first in, first out) и для каждого приоритета обеспечить разные приоритеты сброса пакетов при переполнении буфера, порядок обработки пакетов и управлять перегрузками. [3]
ОЧЕРЕДИ
Очередь - это совокупность пакетов, которые хранятся в временной памяти(буфере) разделенных на классы (по приоритету). Первыми сеть обрабатывает данные сети с наивысшим приоритетом, и так по мере убывания. Пока пакеты данных самого приоритетного класса не будут обработаны, остальной трафик заморожен и ждет своей очереди. Так как существует 8 классов трафика, то в большинстве устройств поддерживается 8 очередей, либо 4. При переполнении очереди, устройство перестает принимать пакеты и происходит сброс пакетов.
БУФЕРЫ
Буфер - это ячейки памяти, где лежат байты, из которых состоит пакет. В буфере пакет находится с момента прихода на входной интерфейс до момента выход с коммутатора. 1 буфер = 256 байт. В зависимости от размера пакет занимает разное кол-во буферов. Память буфера представляет собой связный список указатель на который находится в дескрипторе.
ДЕСКРИПТОР
Дескриптор - это структура, в которой содержится служебная информация для каждого хранимого пакета. Там написан его размер, с какого порта пришёл и на какой должен уйти, класс трафика, как его нужно поменять и т.д. Дескрипторы хранятся не в буферной памяти и также имеют ограниченные ресурсы. Расход дескрипторов зависит от типа трафика (юникаст, мультикаст), а также от количества портов, на которые требуется отправить пакет.
Существуют лимиты на дескрипторы по очередям и для всего порта. Сначала для пакета проверяются лимиты на дескрипторы по очереди. Если кол-во дескрипторов очереди будет превышено, то берутся дескрипторы из общего пула, количество дескрипторов в котором равно лимит порта минус лимит для очереди. Когда будет превышен лимит порта, будет происходить сброс пакетов. Данная функция может быть отключена и тогда при превышении лимита очереди начнется сброс пакетов.
В процессе эксплуатации возникают ситуации, когда менее приоритетный трафик забивает буфер и происходит потеря данных в более приоритетных очередях. Для минимизации потерь требуется правильно подобрать лимиты очередей.
Был проведен нагрузочный тест коммутатора с помощью программной библиотеки Scapy для языка Python. Данная библиотека позволяет генерировать пакеты и отправлять на сетевую карту ПК. Во время тестирования было отправлено 10000 пакетов приоритета 2 и таким же количеством приоритета 7. Приоритеты были выбраны произвольно. Пакеты были отправлены одновременно со скоростью 0,1 Мб/с на исходящий интерфейс, скорость которого урезана до 0,0625 Мб/с.
Рисунок 1. Зависимость количества отброшенных пакетов от количества дескрипторов с 7 приоритетом трафика для 10000 пакетов
Рисунок 2. Зависимость количества отброшенных пакетов от количества дескрипторов с 2 приоритетом трафика для 10000 пакетов
В результате тестов было установлено, что для менее приоритетного трафика требуется большее количество дескрипторов, чем для более приоритетного. Связано это с тем, что в канал связи отправляются более приоритетные пакеты, которые его полностью загружают.
При увеличении количества пакетов в два раза, количество требуемых дескрипторов для предотвращения сброса пакетов на приоритетной очереди потребовалось увеличить вдвое. Данные результаты изображены на Рис.3. и Рис.4.
Рисунок 3. Зависимость количества отброшенных пакетов от количества дескрипторов с 7 приоритетом трафика для 20000 пакетов
Рисунок 4. Зависимость количества отброшенных пакетов от количества дескрипторов с 2 приоритетом трафика для 20000 пакетов
После проведения эксперимента был придуман алгоритм Рис.5, который должен динамически менять лимиты для разных очередей и позволит добиться оптимального управления буфером устройства.
Рисунок 5. Алгоритм управления лимитами дескрипторами очередей
ЗАКЛЮЧЕНИЕ
В ходе нагрузочного тестирования установлено, что при выделении 1500 дескрипторов для 7-го приоритета не происходило потерь для 10000 пакетов, при увеличении количества пакетов в два раза количество дескрипторов потребовалось увеличить до 3000. Выставление максимальных лимитов на очереди может привести к переполнению буфера, что приведет к сбою работы на всех портах коммутатора. Также была выявлена закономерность, что для менее приоритетного трафика требуется большее количество буферов.
Список литературы:
- Олифер В.Г., Олифер Н.А. Компьютерные сети. - Юбилейное издание изд. - СПб: Питер, 2020. - 1008 с.
- Quality of Service: приоритизация трафика, [Электронный ресурс] // Smart-Soft - Режим доступа: https://www.smart-soft.ru/blog/quality_of_service_prioritizatsija_trafika/ (Дата обращения: 03.03.2022).
- Что такое QoS, [Электронный ресурс] // Tekvel – Режим доступа: https://tekvel.com/ru/web/blog/post/chto-takoe-qos/ (Дата обращения: 03.03.2022).
дипломов
Оставить комментарий