Алгоритм динамической классификации потоков в мультисервисной SDN-сети

АЛГОРИТМ ДИНАМИЧЕСКОЙ КЛАССИФИКАЦИИ ПОТОКОВ

В МУЛЬТИСЕРВИСНОЙ SDN-СЕТИ

В современной мультисервисной сети проходит разнородный трафик и для каждого вида трафика предоставляются свои требования к обслуживанию. Сети быстро растут, добавляются все новые услуги, и существующие методы обеспечения качества обслуживания (QoS) не всегда решают свои задачи на должном уровне. Многие потоки, неучтенные с точки зрения дизайна сети, обрабатываются с приоритетом Best Effort. Существующие протоколы динамической маршрутизации при выборе маршрута руководствуются одним лишь принципом (пропускной способностью каналов, количеству переприемов и т.д.), но не учитывают реальную загруженность сети. Кроме того, большинство методов расчета сетей основывается на марковских моделях и формулах Эрланга, и не учитывает свойств самоподобия трафика сетей с коммутацией пакетов, что приводит к недооценке нагрузки.

Решить многие проблемы мультисервисных сетей позволяет новый подход организации сетей -SDN-сети. SDN (Software-Defined Networking) предполагает отделение плоскости управления от плоскости передачи в выделенный централизованный элемент - SDN-контроллер, который имеет программируемый интерфейс, и им можно напрямую управлять, создавая собственные приложения на любом языке программирования.

Предложен алгоритм динамической организации и классификации потоков в мультисервисной SDN-сети. Алгоритм состоит из трех этапов:

1) Сбор статистических сведений.

2) Обработка результатов и классификация потоков.

3) Принятие решений по результатам этапа 2 и реализация механизмов управления трафиком. Дается краткое описание концепции SDN и функции отдельных ее плоскостей. Проводится анализ существующих проблем в мультисервисной телекоммуникационной сети, и предлагается свой подход к их решению. Рассматриваются различные методы мониторинга сети. Предлагается решение одной из самых сложных и актуальных задач - динамического распределения QoS. Приводятся структурные схемы работы приложений каждого из этапов и всей сети в целом. Разработанный метод может применяться в любой мультисервисной SDN-сети, и для реализации описанных приложений может применяться любой язык программирования.

Маньков Владимир Александрович,

Учебный Центр Нокиа, Москва, Россия, vladimir.mankov@gmail.com

Краснова Ирина Артуровна,

МТУСИ, Москва, Россия, irina_krasnova-angel@mail.ru

Ключевые слова: ПКС, программно-конфигурируемые сети, качество обслуживания, самоподобие трафика, мониторинг, управление трафиком, параметр Херста.

Информация об авторах:

Маньков Владимир Александрович, ведущий преподаватель Учебного Центра Нокиа, Москва, Россия Краснова Ирина Артуровна, магистр, МТУСИ, Москва, Россия

Для цитирования:

Маньков В.А., Краснова И.А. Алгоритм динамической классификации потоков в мультисервисной SDN-сети // T-Comm: Телекоммуникации и транспорт. 2017. Том 11. №12. С. 37-42.

For citation:

Mankov V.A., Krasnova I.A.

37

7T>

Введение

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

Концепция SDN-сетей

SDN, Software-Defined Networking (ПКС, программно-конфигурируемые сети) - это набор методов, которые позволяют пользователям напрямую программировать, организовывать, контролировать и управлять сетевыми ресурсами, что облегчает проектирование, настройку и работу сетевых сервисов в динамическом режиме с возможностью быстрого масштабирования.

SDN перемещает управление сетевыми ресурсами в выделенный элемент сети, а именно - контроллер SDN, который обеспечивает средство для программирования, оркест-рации, контроля и управления сетевыми ресурсами посредством программного обеспечения, то есть приложений SDN (рис. 1).

Плоскость приложений

-ту-

-iz-

Плоскость управления

-ту-

__

Плоскость передачи данных

Рис, I, Архитектура сетей SDN

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

Контроллер SDN управляет и конфигурирует распределенные сетевые ресурсы и предоставляет абстрактное представление этих ресурсов плоскости приложений через другой стандартизованный API - интерфейс. Приложения SDN могут настраивать и автоматизировать операции (включая управление) абстрактных сетевых ресурсов программируемым образом через этот интерфейс [1].

Проблемы мультисервисной сети

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

- дизайн сети (количество обрабатывающих устройств на пути потока, политики управления трафиком и т.д.);

- производительность сетевых элементов, их конфигурация (например, размер буфера, время обработки пакета и т.д.);

- каналы связи, их физическая реализация (радиорелейное соединение, медный кабель, оптоволокно и т.д.);

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

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

В мультисервисной сети существуют различные виды трафика и, соответственно, классы приложений, обрабатываемые с различными приоритетами:

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

- Голос - трафик реального времени, критичен по задержке при интерактивных переговорах.

- Видео - трафик реального времени, критичен по задержке при интерактивных видео обменах.

- Controlled Load, контролируемая нагрузка - работа в ситуации некритической по задержке, но критической по потерям (например, деловой трафик, поточный трафик с резервированием).

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

- Best Effort - это обычный трафик LAN.

- Фоновый режим (Background) - массовые пересылки данных и любая другая активность, не влияющая негативно на работу остальных потоков [2].

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

Для динамической маршрутизации в сетях зачастую используют методы, лежащие в основе распространен пых протоколов: OSPF, RIP, IS-IS, BGP. Основным недостатком таких протоколов является то, что они определяют маршруты по одному признаку: либо по пропускной способности канала, либо по количеству пере приемов, но не учитывают при этом реальную загруженность линий. Таким образом, ресур-

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

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

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

Впервые о самоподобном телетрафике заговорили с момента его открытия в 1993 году группой ученых W. Lei a nil M.Taqqu, W.Willinger и D.Wilson, которые исследовали Ethernet-трафик в сети корпорации Bellcore и обнаружили, что на больших масштабах он обладает свойством самоподобия, то есть выглядит качественно одинаково при любых (достаточно больших) масштабах временной оси. При этом оказалось, что в условиях самоподобного трафика, методы расчета сети с коммутацией пакетов {пропускной способности каналов, емкости буферов и пр.) основанные на марковских моделях и формулах Эрланга, которые с успехом используются при проектировании сетей с коммутацией каналов, дают неоправданно оптимистические решения и приводят к недооценке нагрузки [3].

Задача управления трафиком с динамическим

определением QoS в мультисервнсных SDN-сетях

Появление SDN дает следующие преимущества;

1. Маршрутизация, ориентированная на QoS, С помощью архитектуры SDN маршрутизация становится более простым и менее трудоемким механизмом.

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

2. Механизмы резервирования ресурсов, управления очередями и планирование становятся значительно проще, так как в SDN появляются сведения о полной конфигурации сети.

3. Для удовлетворения пользователя услугой реального времени необходимо, чтобы качество восприятия QoE было допустимым. Однако современные приложения для обеспечения QoE могут потребовать различные динамически изменяющиеся параметры QoS. Благодаря гибкой и цеп-

трал изовашюй системы управления в SDN, это становится возможным.

4. SDN помогает решать задачи мониторинга.

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

Предлагается подход, в котором не только динамически организуются потоки, но и проводится классификация трафика с использованием Machine Learning. Основываясь на результатах классификации и загруженности сети, в режиме реального времени может быть произведено решение о маршрутизации потоков каждого класса индивидуально [4].

На рисунке 2 представлена схема предлагаемого решения. В плоскости Data plane выделяется новый поток, для которого еще не существует правил обработки пакетов, и информация о нем передается в плоскость Application plane посредством SDN-контроллера. В блоке сбора статистической информации полученные сведения собираются, систематизируются и передаются в блок классификации. В блоке классификации проводятся математические вычисления наиболее значимых для классификации параметров, в том числе, учитывающих степень самоподобия. Далее потоки классифицируются с привлечением методов Machine Learning и данные о них отправляются в блок принятия решений. Следующим этапом на основании данных о сети применяется какой-либо из механизмов управления трафика.

Application plane

Блок сбора Блок Блок 1

статистической , информации j —» классификации —» принятая решений j

API

/

OpenFlow >

:°nt¡

Щ

г

Поступивший немаркированный трафик

Условные обозначения:

Сетевые элементы Ш Best Effort

Классифицированный ..........Новые виды трафика

трафик

Рис. 2, Схема управления трафиком с динамическим определением QoS

Блок сбира статистической информации

В традиционных сетях для мониторинга сети применяется Simple Network Management Prolocol (SNMP), который проводит регулярный опрос сетевых элементов. Но частые опросы вызывают перегрузки процессора и к тому же, отсутствует общая статистика для потока, потому такой метод становится непригодным.

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

IPMON захватывает заголовок каждого TCP/IP пакета, его временные отметки (timestamps) и отправляет сведения на центральный сервер. Метод достоверный, но требует точной синхронизации анализируемых узлов, что приводит к большим затратам в связи со связью с центральным сервером [51.

В SDN появляется возможность использовать функционал протокола OpenFlow. Метод ОрепТМ связан с построением графиковых матриц, но в нем отсутствуют сведения о коэффициенте потерь, задержке и пакетном джитгере. OpenSAFE пользуется тем, что каждый запрос проходит через контроллер. Он анализирует его с помощью системы обнаружения вторжений (IDS), по требует больших затрат для реализации механизма. BISmark позволяет реагировать па изменения в сети и отправлять об этом данные, FlowSense измеряет занятые соединения в OpenFlow сетях, OpenNetMon замеряет параметры функционирования, PaFloMon - пассивные измерения, определяемые пользователями, a Interactive Moniloring позволяет визуализировать результаты и имеет удобный графический интерфейс [б].

Для наименьшей нагрузки на контроллер и сеть рекомендуется использовать непосредственно функционал протокола OpenFlow. OpenFlow-коммутаторы представляют собой устройства, состоящие из OpenFlow-канала, по которому они взаимодействуют с контроллером; таблиц потоков (Flow Table), в которых содержится основная информация о потоке и групповых таблиц (Group table). Каждая Flow Table состоит из записей потоков. Каждая запись потока в свою очередь состоит из нескольких полей:

- 11оле соответствия — поля, по которым проходит идентификация потока, к ним могут относиться один и более параметров: номер входного интерфейса, 1 Р-адрес источника, IP-адрес назначения, TCP/UDP-порты, номера и идентификаторы VLAN-ов и т.д.

- Приоритет — указание на приоритет записи. Большее значение - больший приоритет. Всегда применяются более приоритетные записи для соответствующего потока.

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

- Поле действий или инструкции - правила обработки потока, например, отправка на какой-то интерфейс или в контроллер, возможно добавление или изменение каких-то данных в пакете (битов ToS, VLAN-метки и т.д.).

- Тайм-ауты, состоящие из idIe_timeout и hardtimeout. Таймер idle_timeout отсчитывает время простоя, т.е. отсутствия пакетов, соответствующих записи. При достижении максимального заданного значения, запись удаляется. По прошествии заданного времени hard timeout, запись потока удаляется независимо от того, сколько пакетов было обработано по этой записи.

- Cookie — значения данных, выбираемых контроллером для фильтрации статистики потока, модификации и удаления записей потока, которые не используются при обработке пакетов [7].

Предлагаемый способ сбора статистических сведений показан на рис. 3.

Пусть на вход коммутатора поступает новый пакет, для которого еще не существует определенных инструкций в Open Flow-таблицах (1). Этот пакет отправляется в сообщении PACKET_IN в контроллер (2). SDN-контроллер анализирует поля пакета и, с учетом структуры сети, определяет временный маршрут для потоков с подобными пакетами. В правиле для потоков помимо маршрута также указывается время действия записи (hard timeout) и инструкция, подразумевающая отправку информации о состоянии потока в контроллер. Правило высылается коммутатору в сообщении PACKET OUT (3). Одновременно с этим, поля первого пакета (IP-адрес источника, IP-адрес назначения, тип вышележащего протокола, UDP/TCP - порты) отправляются на уровень приложения (3), где добавляются сразу в базу данных нового потока. Теперь записи об этом потоке из Flow-таблицы периодически отправляются в контроллер (4), который перенаправляет их в API-мониторинга (5). Так как для дальнейших расчетов и анализа данных нужны не все поля, то они предварительно фильтруются и остается только самое необходимое: статистика по потоку, номера коммутатора, интерфейса и потока (6).

Блок классификации

По прошествии времени t, информация из базы данных потоков передается в блок классификации (рис. 4),

Блок расчета данных

Блок обучения

Ritok классификаттин

Условные йбпзиачения:

Прпмаркирочанный ттпя

Класс i [фи ц] [рованкыс образы гютщнов

hühe.ih логик

Классифицированные Образы потоков

Блок решеин

Топология сети

Персмаркн ров ка

Сорос трафкка

Изменение маршрута

Рис, 4, Блок классификации

Блок расчета данных представляет собой блок математических операций, реализуемый с помощью известных языков программирования (Matlab, Python и т.д.). Он используется как переходный этап между мониторингом и последующей классификацией графика, в нем вычисляют основные параметры графика, необходимые для его маркировки.

В сетях IP для маркировки и определения класса обслуживания используют: номер физического порта; идентификатор VLAN; поле 802. lp VLAN тэга; сеть адреса источника; сеть адреса назначения; значение байта TOS в заголовке IP пакета; транспортный протокол и порт источника; транспортный протокол и порт назначения.

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

Данные о потоках, промаркированных заранее, передаются в блок обучения, где составляется база данных образов потоков и вычисляются области классов обслуживания с помощью Machine Learning механизма. Данные полученные о новом немаркированном потоке отправляются в блок классификации. Блок классификации сверяется с информацией блока обучения, для определения области класса обслуживания, к которой относится новый поток, Задача блока Учителя заключается в подтверждении статуса новых потоков и создания образов на их основе. Таким образом, появляется возможность проводить новые обучения, базируясь не только на заранее промаркированных потоках, но и на подтвержденных Учителем. В результате сеть становится обучаемой и адаптируемой к меняющемуся трафику.

Блок принятия решений

Информация о классифицированном потоке отправляется в блок принятия решений (рис. 5). Здесь на основе данных о топологии сети и потоков, в ней проходящих, применяется какой-либо механизм управления трафиком: перемаркировка, сброс трафика, маршрутизация потоков, резервирование ресурсов, управление очередями и планированием и т.д.

Рис. 5. Блок принятия решений

Выводы

В настоящее время пользовательский трафик представляет собой сложную Структуру, в которой присутствуют различные виды связи: передача голоса, видео, данных, конференции и т.д. Часть трафика не требовательна к задержкам, но не допускает потери, другая, наоборот, критична к задержкам. Существует множество решений для обеспечения QoS, но часто классифицировать весь график с точки зрения дизайна сети не удается и это приводит к тому, что неучтенные потоки обрабатываются по приоритету Best Effort. Поэтому предлагается решение, которое позволит в динамическом режиме проводить классификацию потоков и определять правила их обработки. Задача классификации потоков разбивается на три логических этапа:

1) Сбор статистических сведений.

2) Обработка результатов и классификация потоков.

3) Принятие решений по результатам этапа 2 и реализация механизмов управления графиком.

Этап 1 предлагается проводить с помощью специатьно разработанного API средствами протокола OpenFlow, этап 2 -приложением для выполнения математических операций расчета и методами Machine Learning и этап 3 - приложением, с использованием существующих протоколов управления сетью.

Литература

1. Recommendation ITU-T Y.3300 (06/2014) Framework of software-defined networking.

2. Семенов Ю.А, Качество обслуживание (QoS) в локальных сетях и не только [Электронный ресурс]. Режим доступа -http://book.itcp.ru/4/44/qos_lan.htm#7 (дата обращения - 10.06.20! 7).

3. Петров ВВ. То, что вы хотели знать о самоподобном телетрафике, но стеснялись спросить [Электронный ресурс]. Режим доступа - http://pi.314159.ru/petroffl.pdf (дата обращения 05,04.2017).

4. Karakus М„ Durresi A, Quality of Service (QoS) in Software De-lined Networking (SDN): A Survey // Journal of Network and Computer Applications, 20Í6. No. 7. Pp. 51-58.

5. Adrichem N.L.M.. Doerr C., Kuipers F. A.. OpenNetMon: Network monitoring in OpenFlow Software-Defined Networks // NOMS. 2014. No. 12. Pp. 1-8.

6. Heleno I so lan i P.. Araujo Wickboldt J., Both C., Rochol J.. Zam-benedetti Granville L. Interactive monitoring, visualization, and configuration of О pen Flow-based SDN // Integrated Network Management. IF1P/IEEE International Symposium, 2015, No. 10. Pp. 207-215.

7. Open Networking Foundation OpenFlow Switch Specification Version 1,3.0 (Wire Protocol 0x04), 2012,

T-Comm Vol. II. #12-2GI 7

_ _

4I

Y

COMMUNICATIONS

ALGORITHM FOR DYNAMIC CLASSIFICATION OF FLOWS IN A MULTISERVICE SOFTWARE DEFINED NETWORK

Vladimir A Mankov, Nokia Training Center, Moscow, Russia, vladimir.mankov@gmail.com Irina A Krasnova, MTUCI, Moscow, Russia, irina_krasnova-angel@mail.ru

Abstract

In a modern multi-service network, heterogeneous traffic passes and for each type of traffic its own requirements for servicing are provided. Networks are growing rapidly all new services are being added and existing QoS methods do not always accomplish their tasks to the proper level. Many streams unaccounted for in terms of network design, are processed with the priority of Best Effort. Existing protocols of dynamic routing when choosing a route are guided by one principle only (bandwidth of channels, number of hops, etc.) but do not take into account the real workload of the network. In addition most methods for computing networks are based on Markovian models and Erlang formulas and does not take into account the self-similarity properties of traffic of packet-switched networks which leads to an underestimation of the load. Solving many problems of multi-service networks allows a new approach to networking - SDN. SDN (Software-Defined Networking) involves separating the control plane from the transmission plane into a dedicated centralized element - an SDN controller that has a programmable interface and can be directly managed by creating custom applications in any programming language.

The algorithm of dynamic organization and classification of flows in multiservice SDN is proposed in the article. The algorithm consists of three stages:

1) Collection of statistical information.

2) Processing of results and classification of flows.

3) Decision-making on the results of phase 2 and implementation of traffic management mechanisms.

The article gives a brief description of the SDN concept and the function of its individual planes. An analysis of existing problems in a multiservice telecommunications network is being conducted and an approach is proposed for their solution. Various methods of network monitoring are considered. A solution is proposed for one of the most complex and urgent tasks - the dynamic distribution of QoS. Structural schemes of work of applications of each of stages and the whole network are given. The developed method can be used in any multiservice SDN and any programming language can be used to implement the described applications.

Keywords: SDN, Software-Defined Networking, QoS, Quality of service, self-similarity, monitoring, traffic management, Hurst. References

1. Recommendation ITU-T Y.3300 (06/2014) Framework of software-defined networking.

2. Semenov Yu. Quality of service (QoS) in local networks and not only [Electronic resource]. Access mode -http://book.itep.ru/4/44/qos_lan.htm#7 (circulation date - June 10, 2017).

3. Petrov V.V. What you wanted to know about the self-similar teletraffic, but were shy to ask [Electronic resource]. Access mode -http://pi.3l4l59.ru/petroffl.pdf (circulation date - April 05, 2017).

4. Karakus M., Durresi A. (2016). Quality of Service (QoS) in Software Defined Networking (SDN): A Survey. Journal of Network and Computer Applications, no 7, pp. 51-58.

5. Adrichem N.L.M., Doerr C., Kuipers F.A. (2014). OpenNetMon: Network monitoring in OpenFlow Software-Defined Networks. NOMS, no. 12, pp. 1-8.

6. Heleno Isolani P., Araujo Wickboldt J., Both C., Rochol J., Zambenedetti Granville L. (2015). Interactive monitoring, visualization, and configuration of OpenFlow - based SDN Integrated. Network Management. IFIP/IEEE International Symposium, no 10, pp. 207-215.

7. Open Networking Foundation OpenFlow Switch Specification Version 1.3.0 (Wire Protocol 0x04), 2012.

Information about authors:

Vladimir A Mankov, Heading Teacher of Nokia Training Center, Moscow, Russia Irina A Krasnova, Master of Science, MTUCI, Moscow, Russia

T-Comm Tом 11. #1 2-20 1 7