РЕАЛИЗАЦИЯ МОДЕЛИ ДИФФЕРЕНЦИРОВАННОГО ОБСЛУЖИВАНИЯ В СРЕДЕ МОДЕЛИРОВАНИЯ NS-3

Аннотация: В статье представлена реализация недостающих компонент модели дифференцированного обслуживания DiffServ для среды моделирования NS-3 с целью получения необходимого качества обслуживания, также анализируется поведение разработанного модуля.
Выпуск: №2 / 2019 (апрель - июнь)
УДК: 004.414.23
Автор(ы): Шутов Илья Дмитриевич
магистрант, факультет программной инженерии и компьютерной техники, Санкт-Петербургский Национальный исследовательский университет информационных технологий, механики и оптики, г. Санкт-Петербург
Страна: Россия
Библиографическое описание статьи для цитирования: Шутов И. Д. Реализация модели дифференцированного обслуживания в среде моделирования ns-3 [Электронный ресурс] / И. Д. Шутов // Научное обозрение: электрон. журн. – 2019. – № 2. – 1 электрон. опт. диск (CD-ROM). – Систем. требования: Pentium III, процессор с тактовой частотой 800 МГц ; 128 Мб ; 10 Мб ; Windows XP/Vista/7/8/10 ; Acrobat 6 х.
image_pdfimage_print

 

 

В современном мире в телекоммуникационных сетях происходит постоянное увеличение скорости передачи данных. Вместе с этим растет доля интерактивного трафика: сети используются для прослушивания аудиофайлов, просмотра видео, организации видеоконференций. Растет сегмент сетевых игр и других задач, которые требуют работы с сетевой инфраструктурой в режиме реального времени. В связи с этим актуальной задачей является обеспечение качества обслуживания, которое могло бы гарантировать определенные параметры сети (скорость передачи данных, задержка, …) [1].

Качество обслуживания (Quality of Service – QoS) – это технология, которая позволяет обеспечивать выделение предпочтений высокоприоритетному сетевому трафику. Качество обслуживания контролирует задержку, потери пакетов, качество передаваемых пакетов, пропускную способность каналов передачи информации, благодаря чему обеспечивается гарантированная доставка данных.

Качество обслуживания использует несколько основных параметров передачи данных:

  1. Пропускная способность (Bandwidth) – это наибольшая возможная в данном канале скорость передачи информации
  2. Задержка (Delay, latency) – описывает величину возможной задержки передачи пакета в сети
  3. Дрожание (Jitter) – описывает диапазон возможных задержек при передаче пакета в сети
  4. Packet Loss – количество пакетов, которые теряются во время передачи данных

Технология качества обслуживания может обеспечиваться различными способами (сервисными моделями) [1]:

  1. Резервирование

Суть резервирования заключается в том, что перед передачей данных происходит запрос и резервирование необходимой полосы пропускания. Данный метод может быть реализован посредством технологии интегрированного обслуживания IntServ [2] вместе с протоколом RSVP. Интегрированный сервисный подход к обеспечению качества обслуживания (IntServ) в компьютерных сетях обязывает каждый узел в сети иметь имплементацию IntServ для последующего возможного резервирования.

  1. Приоритезация

Суть приоритезации заключается в том, что весь трафик, который проходит через узел в сети, делится на классы с различным приоритетом. Благодаря этому некоторые классы имеют больший / меньший приоритет по отношению к другим классам. Данный метод может быть реализован с помощью технологии дифференцированного обслуживания DiffServ [3]. Дифференцированный сервисный подход к обеспечению качества обслуживания (DiffServ) в компьютерных сетях использует небольшой четко определенный набор «блоков», из которых может быть построено множество агрегированных моделей поведения.     DiffServ используется со следующими основными компонентами:

  1. Негарантированная доставка (Best-Effort)

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

В рамках данной статьи приводится описание разработанного модуля, который реализует модель дифференцированного обслуживания DiffServ в среде моделирования NS-3. NS-3 – это сетевой симулятор дискретных событий, предназначенный в первую очередь для исследовательских и образовательных целей; это бесплатное программное обеспечение, распространяемое по лицензии GNU GPLv2. NS-3 позволяет выстраивать различные модели функционирования компьютерных сетей, предоставляет необходимые механизмы для моделирования. Благодаря NS-3, имеется возможность воспроизвести поведение в среде моделирования в разных ситуациях, до момента развертывания на реальном оборудовании [4].

Среда моделирования NS-3 по умолчанию не имеет реализацию архитектур построения сетей с моделью дифференцированного обслуживания DiffServ. Существует только поле DSCP в заголовке IPv4, которое необходимо для функционирования. Реализацию маршрутизаторов, механизмов классификации, фильтрации трафика, различных типов очередей (CQ, MWFQ, LLQ и др.), механизмы управления очередями, планировщики и многое другое требуется разработать, чтобы иметь возможность разработать сеть с моделью DiffServ. В качестве исходной модели была взята масштабируемая имитационная модель компьютерной сети с легко изменяемой топологий связи элементов [5].

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

Сначала, согласно RFC2475, внутри домена Differentiated Service (далее – DS) требуется разделить все маршрутизаторы в сети на граничные и внутренние. Граничные (внешние) маршрутизаторы DS соединяют домен DS с другими доменами (DS или не-DS), тогда как внутренние маршрутизаторы DS соединяют между собой только внутренние или граничные маршрутизаторы DS в одном домене DS. Как граничные, так и внутренние маршрутизаторы DS должны быть способны применять подходящий режим PHB (Per-Hop-Behaviour) к пакетам на основе кода DS. В дополнение от граничных маршрутизаторов DS может требоваться выполнение функций кондиционирования трафика. Внутренние маршрутизаторы могут выполнять ограниченный набор функций кондиционирования трафика, таких, как перемаркировка кодов DS. Внутренние маршрутизаторы могут также выполнять более сложные функции классификации и кондиционирования трафика, аналогичные функциям граничных маршрутизаторов DS. Хост в сети, содержащей домен DS, может действовать как граничный маршрутизатор DS для трафика приложений, работающих на этом хосте. Если хост не функционирует, как граничный маршрутизатор, тогда топологически ближайший к хосту маршрутизатор DS, действует, как граничный маршрутизатор DS для трафика этого хоста [3]. Другими словами, граничные маршрутизаторы классифицируют и обрабатывают трафик, а внутренние маршрутизаторы только пересылают пакеты на основе поля DS.

С целью разделения маршрутизаторов в сети на граничные и внутренние было введено специальное поле, которое позволяет отличить тип маршрутизатора. С помощью этого поля была построена сеть в среде моделирования NS-3, которая, при запуске, отличила нужные внутренние маршрутизаторы от внешних, при этом не нарушая целостности сети. Благодаря этому полю были «сформированы» домены DS.

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

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

Для проверки работы разработанного модуля были построены топологии сети с различными исходными данными. Пример топологии приведен на рис. 1.

 

Рис. 1. Топология с доменом DiffServ

 

На данном рисунке видно, что отличительной чертой топологии является наличие DS-домена, в котором общение с «внешней» средой происходит только с помощью граничных (внешних) маршрутизаторов. Внутренние маршрутизаторы в DS-домене общаются либо между собой, либо с внешним маршрутизатором.

Топология была протестирована с помощью следующего алгоритма моделирования. С отправителя генерировались несколько видов трафика (трафик № 1 с высоким приоритетом, трафик № 2 с низким приоритетом, трафик № 3 без какого-либо предустановленного приоритета) с различными полями в заголовке IPv4. Затем внешний маршрутизатор принимал различного вида трафик, классифицировал его, и выставлял нужное поле DSCP. В зависимости от этого поля внутренние маршрутизаторы получали заданное значением этого поля качество обслуживания с использованием реализованных очередей обслуживания. Далее внутри DS-домена трафик доходил до второго внешнего маршрутизатора и отправлялся на получателя. Таким образом, трафик № 1 получал заданное качество обслуживания, что положительно отразилось на количестве потерянных пакетов и длительности задержки. Подобное нельзя сказать о трафике № 2 с заданным низким приоритетом, который потерял значительное количество пакетов во время моделирования. Трафик № 3, не имея предустановленного значения приоритета показал средние результаты, как и ожидалось.

Таким образом, были реализованы недостающие компоненты модели дифференцированного обслуживания DiffServ для среды моделирования NS-3, проведены необходимые испытания для анализа поведения разработанного модуля, итогом которых стало получение ожидаемых результатов.

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

 

 

Список использованных источников

 

  1. Маскайкин А. В., Шутов И. Д. Предоставление зарезервированных сетевых ресурсов на примере сигнального протокола RSVP // Сб. VIII науч.-практ. конф. молодых ученых «Вычислительные системы и сети (Майоровские чтения)». СПб. : Ун-т ИТМО, 2017. С. 77–80.
  2. Braden R., Clark D., Shenker S. Integrated Services in the Internet Architecture : an Overview. 1994. URL: https://tools.ietf.org/html/rfc1633 (дата обращения: 14.03.2019).
  3. An Architecture for Differentiated Services / S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss. 1998. URL: https://tools.ietf.org/html/rfc2475 (дата обращения: 17.03.2019).
  4. NS-3 Network simulator : ns-3 Tutorial: Release ns-3.27// ns-3 project. URL: https://www.nsnam.org/docs/release/3.27/tutorial/ns-3-tutorial.pdf (дата обращения: 15.03.2019).
  5. Бурмакин Н. Г., Шинкарук Д. Н. Реализация методов обеспечения качества обслуживания в среде моделирования NS-3 // Сб. докладов шестой Всерос. науч.-практ. конф. «Имитационное моделирование. Теория и практика» (ИММОД–2013). Т. 2. № 1(6). С. 353–356.

 


 

Shutov Ilia

master student, faculty of software and computer engineering, Saint Petersburg National Research University of Information Technologies, Mechanics and Optics, Saint-Petersburg

         

IMPLEMENTATION OF THE DIFFERENTIATED SERVICE MODEL IN NS-3 MODELING ENVIRONMENT

 

This article presents the implementation of the missing components of the differentiated service model DiffServ for the NS-3 simulation environment in order to obtain the required quality of service and analyzes the behavior of the developed module.

 

Keywords: computer simulation, quality of service, differentiated service, NS-3

 

© АНО СНОЛД «Партнёр», 2019

© Шутов И. Д., 2019

image_pdfimage_print