ГАРАНТИРОВАННОЕ ПРЕДОСТАВЛЕНИЕ ЗАРЕЗЕРВИРОВАННЫХ РЕСУРСОВ С ПОМОЩЬЮ ПРОТОКОЛА RSVP

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

 

 

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

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

Основными параметрами являются:

  • полоса пропускания (Bandwidth), т.е. пропускная способность канала передачи данных;
  • потеря пакетов, т.е. отношение успешно переданных пакетов к общему числу передаваемых пакетов;
  • задержка (Delay), или время прохождения пакета от одного конечного узла к другому;
  • джиттер (Jitter), т.е. колебание значения задержки между последовательно посылаемыми пакетами.

Существуют две основные сервисные модели качества обслуживания:

— дифференцированное обслуживание (DiffServ) и

— интегрированное обслуживание (IntServ).

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

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

Архитектура разработанного приложения состоит из следующих модулей (рис. 1):

  • слой управления (контроллер);
  • модуль анализа входящего сообщения;
  • модуль обработки сообщения;
  • модуль резервирования сетевых ресурсов;
  • модуль автоматического регулирования полосы пропускания autobandwidth модуль);
  • слой данных (Date Plane).

 

Рис. 1. Архитектура приложения

 

Контроллер представлен демон-процессом [2], написанном на языке Python. Данный процесс осуществляет прием и передачу RSVP-сообщений, и, в зависимости от типа входящего сообщения, осуществляет их обработку посредством вызова подконтрольных модулей. Модуль анализа сообщений включает в себя вычисление адреса следующего узла, на который данный пакет должен быть отправлен. Вычисление производится на основании хранящихся в пакете данных о конечном получателе. По умолчанию пакеты от начального узла к конечному транспортируются по кратчайшему пути, но кратчайший путь не всегда является лучшим. По этой причине также реализована поддержка статических маршрутов, т.е. полный список адресов, по которым пакет должен дойти от начального узла к конечному. Данный функционал позволил произвольно расширять топологию сети, в которой будет запущено приложение. Полный алгоритм работы контроллера системы представлен на рис. 2

 

Рис. 2. Блок-схема алгоритма работы контроллера

 

Модуль обработки сообщений осуществляет определение алгоритма обработки RSVP сообщения в зависимости от его типа. Реализованная система поддерживает следующие типы сообщений:

  • Path Message – начальное сообщение об установке туннеля резервирования; содержит необходимые параметры резервирования (класс обслуживания, требуемая полоса пропускания);
  • Resv Message – сообщение, при обработке которого непосредственно осуществляется резервирование;
  • PathErr Message – сообщение об ошибке во время обработки Path;
  • ResvErr Message – сообщение об ошибке во время обработки Resv;
  • PathTear, ResvTear – сообщения о ликвидации туннеля резервирования.

После обработки входящего сообщения модуль передает контроллеру информацию о дальнейших действиях.

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

Согласно RSVP-спецификации [3], данный протокол содержит два главных типа сообщений: RSVPPath и RSVPResv. Через каждый узел сначала проходит Path-сообщение, затем – Resv. Соответственно, если через данный узел прошло несколько сообщений, то необходимо идентифицировать связь между сообщениями каждого клиента в рамках одной сессии. Для решения данной проблемы было решено создать на каждом узле небольшую базу данных, содержащую в себе следующую информацию:

  • уникальный сгенерированный ключ для каждой сессии;
  • информацию о сообщении;
  • адреса источника и получателя;
  • требуемые полоса пропускания канала и класс обслуживания (TOS).

В качестве базы данных используется встраиваемая легковесная документо-ориентированная база данных TinyDB, представляющая собой обычную библиотеку [4]. Данная база данных кроссплатформенная, обладает высокой скоростью и надежностью и свободной лицензией. При прохождении Path-сообщения через узел, на котором развернуто приложение, для него генерируется уникальный идентификатор (который также записывается в само сообщение), считываются его параметры, и вся информация записывается в базу данных. При генерации ответного Resv-сообщения уникальный идентификатор копируется и затем на каждом узле считывается. По этому идентификатору из базы данных извлекается вся необходимая информация о требуемом качестве обслуживания и осуществляется резервирование.

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

Также реализованное приложение содержит функционал по автоматическому регулированию зарезервированной полосы пропускания, осуществляемый в модуле autobandwidth [5]. Алгоритм работы модуля следующий: каждый предопределенный интервал времени (Statistics Interval) происходит замер трафика, проходящий через зарезервированный туннель. Затем в каждый предопределенный интервал времени (Adjust Interval) происходит вычисление среднего значения прошедшего через туннель трафика и его сравнение с зарезервированным значением. Если эта разница меньше настроенного порога (Adjust Threshold), то происходит пересоздание туннеля с новым увеличенным значением полосы пропускания. В противном случае это значение уменьшается.

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

  

 

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

 

  1. Szigeti T., Hattingh C. End-to-end Qos Network Design. Indianapolis : Cisco Press, 2004. 761 р.
  2. PEP 3143— Standard daemon process library // Python Software Foundation : сайт компании. URL: https://www.python.org/dev/peps/pep-3143 (дата обращения: 17.03.2019).
  3. Resource ReSerVation Protocol (RSVP) / R. Braden, L. Zhang, S. Berson, S. Herzog, S. Jamin // IETF Tools : сайт разработчиков программных продуктов. URL: https://tools.ietf.org/html/rfc2205 (дата обращения: 12.03.2019).
  4. TinyDB // TinyDB : сайт разработчиков программных продуктов. URL: https://tinydb.readthedocs.io (дата обращения: 27.02.2019).
  5. Steenbergen R. A. MPLS RSVP-TE Auto-Bandwidth: Practical Lessons Learned.URL: https://www.nanog.org/sites/default/files/tues.general.steenbergen.autobandwidth.30.pdf (дата обращения: 15.03.2019).

 


 

Maskaikin Anton

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

 

GUARANTEED PROVISION OF RESERVED RESOURCES USING THE RSVP PROTOCOL

  

The article presents the implementation of the RSVP protocol to ensure the provision of reserved network resources with IntServ service model. The analysis of the components of the application modules and its algorithms is carried out.

  

Keywords: network resources, quality of service, integrated services, IntServ, RSVP.

 

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

© Маскайкин А. В., 2019

image_pdfimage_print