Динамическая классификация потоков трафика на основе машинного обучения для обеспечения качества обслуживания в мультисервисной программно-конфигурируемой сети
Оглавление…………………………………………………………………………………………….2
Введение ………………………………………………………………………………………………………………………………. 4
Раздел 1. Анализ перспективных подходов и исследований по классификации потоков трафика
для поддержания качества обслуживания методами машинного обучения в SDN-сетях ………… 13
1.1. Особенности классификации трафика в SDN-сетях …………………………………………………….. 13
1.2. Этапы классификации потоков трафика в режиме реального времени …………………………. 16
1.2.1. Методы формирования базы данных для классификации ………………………………………… 17
1.2.2. Способы формирования матрицы признаков …………………………………………………………… 25
1.2.3. Методы машинного обучения для определения классов ………………………………………….. 30
1.2.4. Обзор перспективных исследований по классификации потоков трафика для
поддержания качества облуживания методами машинного обучения в SDN-сетях ……………….. 34
1.3. Отличия классификации трафика с целью обеспечения качества обслуживания от
классификации трафика для целей сетевой безопасности ……………………………………………………… 37
1.4. Математическая постановка задачи динамической классификации……………………………… 38
Выводы по первому разделу ………………………………………………………………………………………………… 43
Раздел 2. Формирование матрицы признаков ……………………………………………………………………….. 44
2.1. Формирование базы данных ………………………………………………………………………………………. 44
2.2. Формирование матрицы признаков …………………………………………………………………………….. 48
2.3. Исследование характеристик баз TCP и UDP-потоков ………………………………………………… 52
2.4. Анализ матрицы признаков на основе результатов классификации ……………………………… 60
2.5. Матрица признаков в сравнении с другими работами …………………………………………………. 66
Выводы по второму разделу ………………………………………………………………………………………………… 68
Раздел 3. Статическая модель классификации трафика …………………………………………………………. 69
3.1. Методы машинного обучения «с учителем» ……………………………………………………………….. 70
3.1.1. Особенности построения классификаторов на основе машинного обучения …………….. 70
3.1.2. Результаты классификации трафика различными методами машинного обучения ……. 83
3.2. Блок предварительной обработки данных …………………………………………………………………… 85
3.2.1. Методы предварительной обработки данных…………………………………………………………… 86
3.2.2. Исследование влияния методов предварительной обработки данных на результаты
классификации трафика ……………………………………………………………………………………………………….. 91
3.3. Блок классификации ………………………………………………………………………………………………….. 94
3.3.1. Настройка алгоритма Random Forest ……………………………………………………………………….. 94
3.3.2. Настройка алгоритма XGBoost ……………………………………………………………………………….. 98
3.3.3. Анализ влияния настройки параметров модели на результаты классификации
трафика……………………………………………………………………………………………….102
3.4. Сравнение статической модели классификации с другими работами …………………………. 106
Выводы по третьему разделу ……………………………………………………………………………………………… 108
Раздел 4. Динамическая модель классификации трафика ……………………………………………………. 110
4.1. Методология решения задач кластеризации ……………………………………………………………… 110
4.1.1. Агломеративная кластеризация …………………………………………………………………………….. 112
4.1.2. Формирование матрицы расстояний ……………………………………………………………………… 114
4.1.3. Методы оценки результатов кластеризации …………………………………………………………… 117
4.2. Результаты кластеризации применительно к сетевому трафику …………………………………. 120
4.2.1. Визуализация кластеров с помощью метода t-SNE ………………………………………………… 121
4.2.2. Расчет матрицы расстояний…………………………………………………………………………………… 122
4.2.3. Результаты динамической кластеризации ……………………………………………………………… 127
4.3. Функциональная модель классификации трафика …………………………………………………….. 134
Выводы по четвертому разделу ………………………………………………………………………………………….. 137
Раздел 5. Разработка программного обеспечения для сбора статистической информации о
сетевых пакетах …………………………………………………………………………………………………………………. 138
5.1. Программное обеспечение ……………………………………………………………………………………….. 138
5.1.1. Краткие сведения о P4…………………………………………………………………………………………… 138
5.1.2. Особенности моделирования с помощью сетевого эмулятора Mininet ……………………. 140
5.1.3. Настройка лабораторного стенда …………………………………………………………………………… 141
5.2. Модель сбора статистической информации о пакетах ……………………………………………….. 142
5.3. Анализ результатов классификации на основе разработанного метода сбора информации
…………………………………………………………………………………………………150
5.4. Сравнительная оценка работы методов сбора статистической информации ………………. 152
Выводы по пятому разделу ………………………………………………………………………………………………… 154
Заключение ………………………………………………………………………………………………………………………. 155
Список сокращений …………………………………………………………………………………………………………. 157
Список литературы …………………………………………………………………………………………………………. 159
Приложение А. Сравнительная характеристика основных работ по классификации потоков
трафика для обеспечения QoS методами машинного обучения в SDN-сетях ……………………….. 169
Приложение Б. Результаты классификации при разных способах предварительной обработки
данных ………………………………………………………………………………………………………………………………. 178
Приложение В. Листинг программы разработанного P4-коммутатора …………………………………. 187
Приложение Г. Акты о внедрении результатов диссертационной работы ……………………………. 192
Во введении представлено краткое описание актуальности и степени разработанности
темы исследования, на основе которых сформулированы цель работы и задачи для ее достижения; выделены основные положения, выносимые на защиту и признаки их научной новизны, за счет которых достигнут искомый положительный эффект; представлен вклад, вносимый в развитие области исследований, а также теоретическая и практическая значимость работы.
В первом разделе представлен анализ основных подходов к построению классификации трафика на основе методов машинного обучения. Результаты анализа показали, что большинство работ по классификации посвящено проблемам сетевой безопасности, которые имеют значительные отличия от классификации для целей QoS. В работах, посвященных классификации для целей QoS, основными проблемами является работа в режиме реального времени и невозможность добавления новых классов в существующую модель, что является серьезным недостатком для SDN-сетей. Также отмечены существующие проблемы мониторинга сети для классификации трафика.
Задача классификации трафика может формулироваться следующим образом. Пусть имеется система обслуживания пользовательского трафика (Рисунок 1), на вход которой могут поступать два вида заявок: заявки от размеченных (с помощью меток DSCP/ToS, с использованием VLAN-тегов и т.д.) потоков: Y={y1, y2, …, yс} и заявки от еще неразмеченных потоков, свойства и природа которых неизвестна: X={x1, x2, …, xk}.
Рисунок 1. – Математическая модель классификации трафика
Поток xi (или yi) является ординарным и представляет собой последовательные, однонаправлено поступающие пакеты и может быть задан вектором: xi={IP_srci; IP_dsti, Protoi, Port_srci, Port_dsti, l1i∙t1i, l2i∙t2i, …, ldi∙tdi}, где IP_srci – IP-адрес источника, IP_dsti – IP-адрес назначения, Protoix – протокол транспортного уровня, Port_srci – порт источника и Port_dsti – порт назначения – 5-tuple – идентификаторы потока; lji ∈ [lmin; lmax], t1i < t2i< ... < tdi; – время поступления пакета на интерфейс коммутатора; причем ∀ t: t(j+1)i- tji < τ – максимальное межинтервальное время между двумя последовательно поступающими пакетами, определяется из особенностей динамики сети, lmin; lmax – минимальная и максимальная длина полезной нагрузки пакета, зависящие от настроек сети и MTU (Maximum Transmission Unit, максимальная единица передачи). В диссертации исследования проводятся на потоках, в которых τ ∈ (0; 180] с, l∈[40; 100] байт.
Каждый из потоков пространства X и Y с помощью функции выделения признаков Ω может быть описан своим вектором признаков: Ω(X)=A={A1,A2,...Am}, Ω(Y)=B={B1,B2,...Bm}, так что A1={a11, a21, ... ak1}, B1={b11, b21, ... bc1} и т.д., а xi={ai1,ai2,...aim}, где i=1,2,..k; yj={bj1, bj2, bj3,...bjm}, где j=1,2,...,c. Здесь m – общее число признаков для пространств X и Y. В качестве признаков используются статистические характеристики потоков трафика.
Под классом трафика подразумевается определенный тип трафика, обусловленный его особенностями (тип приложения, тип сервиса, укрупненные категории и т.д.). В модели существует некоторая известная база данных классов трафика - пространство Z={z1, z2, ...,zn}, где n– число известных классов. При этом для пространства Y существует функция Sист=f(B)=Z - «истинные классы», однозначно определяющая соответствие между векторами признаков потоков трафика из пространства Y и классами из пространства Z. Для режима обучения в качестве Sист используют данные о разметке потоков трафика. Также предполагается существование некой функции F, такой, что Sпред=F(B)≈Z – предсказанные классы, при этом функция F изначально неизвестна и не может быть получена с использованием разметки трафика для пространства Y.
На этапе разработки модели, до введения системы обслуживания в эксплуатацию, для оценки работоспособности алгоритма часть потоков трафика из пространства Y не отправляется на этап определения функции F, вместо этого над ними применяется сама функция F: Sпред=F(B) и результат сравнивается с Sист=f(B). В терминах машинного обучения этот этап называется тестированием.
В результате тестирования определяются основные оценки работы классификатора (1): общая точность – доля верно классифицированных потоков из всех; точность каждого класса – доля верно определенных потоков класса из всех потоков, которые были отнесены к этому классу; полнота каждого класса – доля верно предсказанных
потоков из всех, принадлежащих этому классу, и F1-мера – гармоническое среднее между полнотой и точностью каждого класса. Здесь - число верно классифицированных потоков, – число неверно классифицированных потоков, причем i – номер предсказанного класса, а j –
номер истинного класса, а , , , 1 ∈ [0; 1].
=1 = + ;
= + ;
1=2∙ ∙ . (1) +
=1
= +
=1 =1 ;
Для добавления новых классов в существующую модель, потоки X и Y с помощью функции λ(X, Y)≈Z разбиваются на классы = { 1 , 2 , ... , } (истинные значения) и кластеры = { 1 , 2 , ... , } (предсказанные значения). Тогда для числа пар потоков , оказавшихся при u,v=0 в одном множестве или соответственно, а при u,v =1 – в разных, согласие истинной и предсказанной выборки определяется через согласованный индекс Рэнда (ARI, Adjusted Rand Index), ARI∈[-1; 1] (2):
( , )= 2 00 11 − 01 10 . (2) ( 00 + 01)( 01 + 11)+( 00 + 10)( 10 + 11)
Пусть , , – энтропия для множеств U, V и условная энтропия соответственно. Тогда , , ∈[0; 1] – однородность, полнота кластеров и V-мера (гармоническое среднее однородности и полноты кластеров) являются дополнительными оценками кластеризации (3):
=1− ; =1− ; =2⋅ ⋅ . (3) +
Для построения такой модели классификации требуется решить следующие задачи:
1. Разработка матрицы признаков для расчета вектора A, т.е. нахождение функции Ω(X), при этом максимизируются , 1 → .
2. Разработка функции F с использованием пространства Y, Z и функции f. Функция F должна отображать пространство признаков неразмеченных заявок X в пространство классов Z: Sпред=F(A)≈Z, при , 1 → . В терминах машинного обучения – это задача классификации методами «обучения с учителем».
3. Определение базы данных классификатора Z на основе пространств X и Y: λ(X, Y) ≈Z, (при ARI→ , → ) или задача кластеризации методами «обучения без учителя».
4. Разработка алгоритма сбора статистических характеристик потоков трафика в SDN- сетях для формирования пространств X и Y: ω(X, Y), минимизирующего долю передаваемой служебной информации → .
5. Создание модели классификации трафика с возможностью добавления новых классов на основе композиции разработанных функций: G = ω ○ Ω ○ λ ○ F.
Результаты первого раздела докладывались на конференции «Технологии информационного общества» (2017) и опубликованы в статьях [6-7; 10].
Во втором разделе разрабатывается матрица признаков для классификации трафика в режиме реального времени с целью поддержания QoS. Стандартные подходы к созданию матрицы признаков основаны на подсчете статистических характеристик, таких как средний размер пакета, среднее время поступления между пакетами и т.д. среди всего потока. Для классификации активных потоков в режиме реального времени требуется матрица признаков, доступная по небольшому числу первоначальных пакетов.
Предлагается матрица признаков, в которой признаками являются индивидуальные пакетные характеристики: размеры и межинтервальное время каждого из первых 15-и пакетов (набор признаков 1), а также общепринятые признаки, такие как СКО, дисперсия, суммарное, среднее, минимальное, максимальное, медианное значение размера и межинтервального времени пакетов, пакетная и байтовая скорости (набор признаков 2). Небольшое число пакетов для классификации в диссертации объясняется требованием задачи – результат классификации должен быть получен достаточно быстро, чтобы успеть применить методы управления трафиком к классифицированным потокам.
На данном этапе применялся метод Random Forest, RF («Случайный лес») как наиболее перспективный алгоритм в научных работах по классификации трафика. Метод Decision Tree, DT («Решающего дерева») – логическая модель, состоящая из узлов, листьев и ветвей. В каждом узле находится некоторая условная функция, построенная на основе одного из признаков и разделяющая данные на разные направления, которые, в конечном счете, приходят к одному из листьев, ассоциированных с определенными классами. Метод Random Forest, RF представляет собой некоторое количество таких DT, которые строятся и принимают решение независимо друг от друга, а итоговый результат классификации определяют по итогам голосования большинства деревьев. Для каждого узла функция разбиения множества потоков , размером , на множества левого и правого узлов, размерами и соответственно, подбирается таким образом, чтобы минимизировать примеси G, оцениваемые по формуле (4):
, = ∙ + ∙ → . (4)
Здесь H – критерий функции примеси, который рассчитывался на основе индекса Джинни для каждого из узлов side, t - число посторонних классов, попавших в новый узел, пост - i-й посторонний класс - набл – наблюдаемый j-й класс:
1
= 2 ∙
=0 =0
( набл = пост) ∙
−
=0
( набл = пост) . (5)
Оценка эффективности работы матрицы признаков проводилась на открытой базе данных трафика, собранной в 2020 г. на реальной сети исследовательской группой MAWI в рамках проекта WIDE в г.Токио. В результате обработки выбранных трасс трафика было выделено два набора данных среди наиболее распространенных приложений: TCP (по 1500 потоков из 13 приложений: SSL, HTTP_Proxy, DNS, Apple, IMAPS, HTTP, Skype, SSH, SMTP, RTMP, Telnet, POPS, IMAP) и UDP (по 250 потоков из 8 приложений: DNS, NTP, Quic, IPsec, SNMP, NetBIOS, STUN, UPnP) потоки.
Результаты классификации TCP трафика методом Random Forest для набора 1, набора 2 и для полного набора из признаков 1 и 2 представлены на Рисунке 2. Оценка F1-меры классификации (Рисунок 2 (а)) полным набором признаков и набором признаков 1 превышает оценку F1-меры классификации общепринятым набором признаков 2 для всех приложений, в некоторых случаях прирост точности классификации доходит до 20% для TCP и 2% для UDP. Оценка важности признаков (Рисунок 2 (б)) также подтверждает важность признаков предложенного набора.
а) F1-мера б) Наиболее важные признаки Рисунок 2. – Результаты классификации TCP-приложений при разных матрицах признаков
Основные результаты второго раздела обсуждались на конференции «MoNeTec–2020» и подробно описаны в статье [2].
В третьем разделе создается алгоритм классификации трафика в режиме реального времени для сетей с постоянным составом приложений (Рисунок 6, блоки 2-4). Для сравнительного анализа алгоритмов классификации трафика рассматривались методы: «Решающее дерево» (Decision Tree, DT), «Случайный лес» (Random Forest, RF), «Экстремальный градиентный бустинг» (XGBoost, XGB), «Гауссовский Наивный Байес» (Gaussian Naive Bayes, GNB), «Логистическая регрессия» (Logistic Regression, LR), «k ближайших соседей» (k Nearest Neighbours, kNN) и «Нейронные сети: Многослойный перцептрон» (Neural network: Multi-layer Perceptron, MLP). При классификации по созданной модели наилучшие результаты показали
F1-мера
XGBoost и Random Forest (Рисунок 3), причем для построения высокоточной модели TCP-трафика достаточно около 1200-1300 потоков для обучения (XGB-0,90, RF-0,87), а UDP – около 200 (XGB- 0,97, RF-0,95). Дальнейшие выводы в автореферате представлены только для RF и XGB, как наиболее перспективных методов классификации.
XGB, как и RF является ансамблевым алгоритмом, и в работе также в качестве базовых алгоритмов использовал DT, но в отличии от RF, DT строятся не параллельно, а последовательно, на каждом шаге исправляя ошибки друг друга с помощью целевой функции оптимизации
бустинга (6), где =1 , - специфическая функция потерь, оцениваемая как СКО
между значением i-го элемента обучающей выборки и предсказания для первых t деревьев ;
12 =1 w 2 – функция контроля суммы весов листьев модели w 2 с общим числом листьев T, а и – параметры регуляризации:
1
= , + + w 2. (6) 2
=1 =1
Метод классификации
Метод классификации
а) TCP – трафик б) UDP-трафик
Рисунок 3. - Наилучшие показатели точности при разных методах машинного обучения
В блоке предварительной обработки данных анализировались результаты классификации
при проведении процедур (7-9), применяемых при решении схожих задач или рекомендованные
ГОСТ Р ИСО 16269-4-2017 «Статистическое представление данных. Часть 4. Выявление и
обработка выбросов», а именно: замена выбросов на медианное значение, при этом в качестве
выбросов считаются выборки, превышающие значение СКО (out, ) и тройное СКО (out, 3STD,
3 ), масштабирование данных в пределах [0;1] (minmax, ) и в пределах между 25 и 75-м
квантилем (robust, ); стандартизация по всем данным (standard, ); нормализация по
каждой выборке отдельно (normalizer, ); трансформация с помощью степенных
параметрических преобразований Йео-Джонсона (power, ), отображающие данные на
нормальное распределение и трансформация с помощью отображения кумулятивной функции распределения на равномерное распределение Гаусса (квантильная трансформация, quantile,
−1).
Общая точность
Общая точность
= − ;
= − ; −
+1 −1
= ln +1,
= − 1 ; −1( ( )); (8)
3 − 1
при ≠0, ≥0, при =0, ≥0, ;
(9)
= , ∀ ≤ ± ; 3 = , ∀ ≤ ±3 ; = − ; (7) , ∀ ≥ ± , ∀ ≥ ±3
,
)=− ln2 − ln 2 −
2 2 2 2
− +( −1) ∙ln +1 .
− +1 2− −1
− 2− −ln − + 1 ,
, при ≠2, <0, при = 2, < 0.
1 2
=1 =1
Для формул (7-9): - элемент матрицы признаков А, , , , – построчное СКО,
медиана, полное СКО и медиана; 1 , 3 – 1-й, 3-й квартили, – параметр распределения, определяемый из функции максимального правдоподобия ), = ∙ - число элементов матрицы A (Рисунок 1).
Наибольшего прироста точности, которого удалось добиться: для RF – 5% при комбинации методов out и квантильной трансформации quantile; для XGB – 7% при комбинации методов out и степенных параметрических преобразований Йео-Джонсона power (Рисунок 4).
а) TCP–трафик б) UDP-трафик
Рисунок 4. – Прирост точности классификации при разных методах предварительной обработки
В блоке классификации проводятся настройки гиперпараметров модели, основная задача которых – борьба с переобучением, поэтому при исследовании каждого параметра стоит учитывать в большей степени не точность классификации, а разброс точности между анализом тестового и обучающего набора данных. Лучшие результаты общей точности были получены при следующих параметрах: число деревьев (RF:175, XGB:155), максимальное число признаков для разветвления в узле (RF:13), критерий примеси - индекс Джинни, максимальная глубина
=1 =1
(RF:19, XGB:10), минимальное число выборок в узле (RF:7, XGB:1), минимальное число выборок в листе (RF:1), доля признаков для обучения каждого дерева (XGB: 0,65), и доля выборки для обучения каждого дерева (XGB: 0,65). При этом точность RF увеличилась на 5%, а XGB – на 7%. Оценки работы классификатора показаны на Рисунке 5. Так, настройка модели RF повышает Precision до 12% (для POPS), а настройка XGBoost – Recall до 19% (для POPS и SSL).
а) Общая точность б) Прирост F1-меры
Рисунок 5. - Результаты классификации до и после расчета гиперпараметров
Основные результаты третьего раздела обсуждались на конференции AIMEE2020 и опубликованы в статьях [4, 8].
В четвертом разделе модель классификации трафика расширяется за счет блоков кластеризации, которые позволяют ей добавлять новые классы в уже существующую модель (Рисунок 6).
TCP-кластеры
б) Результаты TCP-кластеризации
а) Модель классификации
Рисунок 6. - Динамическая классификация трафика с возможностью добавления новых классов
UDP-кластеры
в) Результаты UDP-кластеризации
Число потоков
Число потоков
Общая точность, %
Прирост F1-меры, %
В блоке сбора статистических данных (1) для поступающих в сеть первых 15 пакетов записываются время прихода и их размер. Далее, для каждого потока рассчитывается матрица признаков (2), в блоке предобработки данных (3) выполняется работа с выбросами и преобразование данных. В блоке классификации (4) с помощью XGB проводится классификация трафика по известным для модели классам. В том случае, если приложение является новым и незнакомым для модели, на этом этапе могут возникнуть некоторые ошибки, т.к. методы «обучения с учителем» способны классифицировать выборки только по известным для модели классам. Такое допущение сделано осознанно, т.к. и дальнейшая работа по управлению трафиком может быть основана только на известных классах. Тем не менее, блок классификации (4) представляет наиболее близкий класс для пришедшего нового потока и как следствие, для него применяются соответствующие механизмы управления сетью.
В то время как блок классификации (4) решает, к какому классу отнести активный поток, а контроллер применяет правила по управлению трафиком в режиме реального времени, копия информации о новом потоке из блока (3) отправляется в блок (6). Здесь хранится база данных по всем известным потокам. Каждая выборка представляется своими координатами в N-мерном пространстве в соответствии с определенными признаками. Эффективность кластеризации в данной работе повышается за счет введения блока (7), в котором проводится расчет расстояний между имеющимися выборками. В исследовании рассматривались пять способов построения матрицы расстояний: два из них являются стандартными и общепринятыми методами (расстояние Евклида и Манхэттена), а три других основаны на методах предрасчитанных расстояний (Random Forest, Extremely Randomized Trees - ET и Random Trees Embedding - RTE), общий алгоритм которых представляется следующим образом:
1. Расчет матрицы признаков n×m на основе статистических характеристик потока, где n – количество потоков, а m – количество признаков.
2. Построение леса из k деревьев на основе матрицы признаков обучающей последовательности, для ET и RF проходит в контролируемом режиме.
3. Присвоение каждому потоку индекса листа, на котором он оказался на каждом из деревьев. В результате этого шага получается матрица листьев n×k.
4. Создание матрицы попарной близости n×n, где между каждой парой потоков указывается общее количество листьев, на которых они оказались вместе, среди всех деревьев. Процесс сравнения листьев проводится с помощью алгоритма One Hot Encoding (представление каждого состояния с помощью одного триггера) и произведения закодированной матрицы индексов и ее же в транспонированном виде.
5. Получение матрицы расстояний путем нормирования матрицы близости относительно максимального значения и вычитания ее значений из единицы.
Результаты кластеризации трафика при применении разных матриц расстояний (Рисунок 7- 8) показывают неприемлемость методов бесконтрольного расчета расстояний на основе расстояний Евклида, Манхэттена и RTE и высокую эффективность методов контролируемого построения расстояний на основе RF и ET.
а) TCP – трафик б) UDP-трафик
Рисунок 7. - Результаты кластеризации: согласованный индекс Рэнда при изменении числа
кластеров от 5 до 45 для разных матриц расстояний
а) TCP – трафик б) UDP-трафик
Рисунок 8. - Результаты кластеризации: V-мера при изменении числа кластеров от 5 до 45 для
разных матриц расстояний
После построения матрицы расстояний между выборками, в блоке кластеризации (8) проводится разделение выброк на кластеры с помощью агломеративной кластеризации, которая позволяет регулировать количество кластеров в зависимости от расстояния между кластерами, т.е. в отличие от других распространенных методов, таких как K-средних, спектральная кластеризация и т.д., не требует информации о числе кластеров до кластеризации. Эта особенность позволяет не только определить оптимальное число кластеров для обучающей выборки, но, что более важно, появляется возможность вводить новые классы в уже существующую модель автоматически, регулируя лишь расстояние между кластерами.
Для исследования блока кластеризации трафик был разделен на DNS, Apple, IMAPS, HTTP, SSH, Telnet (1-я группа) и RTMP, IMAP, SMTP, Skype (2-я группа). Первая группа разбита на кластеры, так, чтобы ARI достигал высоких значений (0,9-1,0), и в то же время кластеры не содержали бы в себе малое количество выборок (по 1-2). Так было получено 8 кластеров TCP: 1 DNS, 1 Telnet, 1 Apple, 2 IMAPS, 1 SSH, 2 HTTP и 7 кластеров UDP: 1 UPnP, 1 STUN, 1 SNMP, 2 Quic, 1 NTP, 1 DNS с минимальной относительной дистанцией между кластерами 0,9997. Далее поочередно добавляются приложения из второй группы, при этом, если итоговое число кластеров оказывается меньше исходного, минимальная дистанция для разделения на кластеры уменьшается, что позволяет избежать объединения между собой соседних кластеров за счет появления промежуточных классов. В эксперименте удалось обнаружить, что при добавлении каждого нового класса добавляется новый кластер, кроме случая с добавлением IMAP. Это объясняется наличием небольшого кластера HTTP, который объединился с выборками IMAP. Аналогичный эксперимент проводился и для UDP, результаты представлены на Рисунке 6 (б, в).
Для работы модели требуется около 200-250 Мбит ОЗУ (для Intel Core Processor, Haswell, no TSX, IBRS 2394.454 MHz CPU), Python 3.7, режим обновления модели занимает около 0,1-0,12 мс, а режим классификации ≈ 2 мкс (при одновременной классификации до 100 потоков). Выбор частоты обновления модели основывается на динамике изменения приложений сети и требованиям к качеству обслуживания с учетом технических характеристик оборудования.
Результаты четвертого раздела обсуждались на конференциях CSDEIS2020 и 28-й FRUCT (2021) и опубликованы в статьях [3; 5].
В пятом разделе разрабатывается алгоритм сбора статистической информации для матрицы признаков режима реального времени. Алгоритм представлен для SDN-сетей в P4- коммутаторах (Programming Protocol – independent Packet Processors), которые позволяют запрограммировать процесс обработки пакета в коммутаторе, благодаря чему сетевые элементы могут работать эффективнее, снижается задержка передачи пакета, и рационально используются ресурсы сети (Рисунок 9).
Рисунок 9. – Алгоритм сбора статистической информации о пакетах
На этапе парсера заголовков проводится чтение и анализ заголовков, а также валидация IPv4-заголовка. Следующие два блока предназначены только для TCP и UDP – сегментов (при необходимости, структура языка и создаваемых на нем коммутаторов P4 позволяет легко вводить любые необходимые заголовки, даже неопределенные ни в какой спецификации). На этапе идентификации потоков определяется, к какому из имеющихся потоков относится пришедший пакет, при необходимости создается новый поток. Далее следует обновление регистров, при котором добавляется информация о новом пришедшем пакете. Когда из одного TCP - потока приходит 15-й по счету пакет (или 10-й для UDP), вся информация отправляется в SDN- контроллер. Таблица маршрутизации позволяет проводить маршрутизацию потоков и построена аналогично Flow_Table OpenFlow - коммутаторов, но с более расширенными возможностями. На
этапе депарсера заголовки собираются в нужной последовательности.
Блоки идентификации потоков и обновления регистров разрабатывались на основе
специальных ячеек памяти, называемых регистрами. В предложенной реализации коммутатора, исходя из количества и предназначений ячеек памяти, можно выделить три типа регистров: одиночный регистр, регистры потоков и регистры пакетов (Рисунок 10).
Одиночный регистр носит название flow_ID и представляет собой только одну ячейку памяти. Он служит уникальным идентификатором потоков внутри коммутатора. Значения, которые в нем встречаются – это адреса ячеек памяти регистров, в которых записывается информация о соответствующем потоке. То значение, которое имеется во flow_ID в выбранный момент времени, показывает номера ячеек памяти, в которые будет записан следующий новый поток.
Рисунок 10. - Система организации памяти в P4-коммутаторе
Регистры потоков – это одномерные массивы, размер которых n-совпадает с числом потоков, информация о которых должна храниться в памяти коммутатора. К регистрам потоков относятся: srcAddr (IP-адрес источника), dstAddr (IP-адрес назначения), protocol (протокол транспортного уровня), srcPort (порт источника), dstPort (порт назначения), tos (значение поле DSCP IP – пакета); packet_counter (счетчик количества пакетов потока, прошедших через
коммутатор), Packet_ID (аналог flow_ID для пакетов).
Поля регистров srcAddr (4 байта), dstAddr (4 байта), protocol (1 байт), srcPort (2 байта),
dstPort (2 байта) вместе образуют значение 5-tuple, которое используется для идентификации потока на уровне всей сети. Поля регистра tos (1 байт) могут применяться не только непосредственно для обеспечения QoS стандартными методами, но и в качестве возможного маркера с целью дальнейшей классификации потоков методами машинного «обучения с учителем».
Регистры пакетов представляют собой двумерные массивы, организованные из одномерных, адреса ячеек в которых определяются с помощью регистров flow_ID и Packet_ID. Для целей классификации трафика методами машинного обучения были введены два вида регистров: ingress_global_timestamp (14 байт) как время прихода пакета на этап обработки коммутатора, выраженное в мкс и packet_length (10 байт) – полная длина пакета в байтах. Размер
такого регистра n×m полей, где n – число потоков, а m –число пакетов, информацию о которых следует хранить в памяти коммутатора. Например, информация о 2-м пакете 0-го потока хранится в ячейках памяти с номером 0 в регистрах потоков (srcAddr[0], dstAddr[0] и т.д.) и в ячейках с номером 2 в регистрах пакетов (packet_length[2], ingress_global_timestamp[2]).
Для оценки работы модели был поставлен натурный эксперимент в виртуальной сети Mininet. Генератором трафика выступал инструмент D-ITG (Distributed Internet Traffic Generator), который создал 1000 различных UDP-потоков, поступающих в сеть в случайные моменты времени по экспоненциальному закону. Три приложения имитировали работу онлайн-игр: 195 потоков Quake3, 187 потоков CSa (активный режим игры Counter-Strike) и 191 поток CSi (неактивный режим Counter-Strike) и два приложения – передачу голосового трафика (кодеки G.711.1 – 207 потоков и G.729.2 – 216 потоков). Результаты классификации (Рисунок 11) подтверждают эффективность разработанного алгоритма сбора статистической информации и способность модели классификации работать не только с различными типами приложений, но и с различными режимами одного и того же сервиса (CSa и CSi) при наличии соответствующей тренировочной базы.
а) Точность классификации б) Доля служебной информации Рисунок 11. - Результаты классификации трафика на P4-коммутаторе
Для сравнительной оценки работы разработанного метода сбора статистической информации через программирование P4-сетей и других популярных инструментов мониторинга сетей (рассматривается на примере tcpdump) предлагается оценить объемы информации и долю служебной, неиспользуемой в матрице признаков информации.
Для разработанного метода передается 5-tuple, tos и значения регистров packet_length и ingress_global_timestamp для первых n пакетов потока. Если принять n=15, а размер заголовка
пакета, в котором передается служебная информация, принять равным 32, то для одного потока передается 196 байт информации, для k потоков, длиной более 15 пакетов, Vинф p4=196k. Тогда доля служебной информации при передаче результатов сбора статистической информации контроллеру, постоянна и равна 4 = 0,23.
При использовании tcpdump 5-tuple и tos будет передаваться для каждого пакета. Более того, собирается информация о потоках, длиной менее 15 пакетов и информация о пакетах, начиная с 16-го. Таким образом, объем информации, передаваемой с помощью tcpdump: Vинф tcpdump=54S, где N-количество всех пакетов всех потоков. Пусть { 1, 2 ..., } – множество, в котором каждый элемент ≥ 15 - количество пакетов в i-м потоке, а в множестве { 1 , 2 ... , } каждый элемент < 15 для h потоков. Тогда доля служебной информации, передаваемая в этом случае, приблизительно оценивается как:
= 1 − 75 , (10) 28 =1 + =1
а разность объема передаваемой информации при использовании инструментов tcpdump и P4 (байт):
∆ инф = инф − инф 4 =56 + −196 . (11) =1 =1
На Рисунке 11 (б) изображен сравнительный график зависимости доли служебной информации от N - количества пакетов во всех потоках для k=100 потоков. Видно, что доля служебной информации для передачи данных при использовании стандартных способов мониторинга находится в пределах от 0,91 до 1 и стремится к 1 при увеличении числа пакетов в сети. Таким образом, разработанный метод сбора статистической информации позволяет значительно снизить объемы служебной информации в сети.
Результаты пятого раздела представлялись на конференциях CSDEIS2019 и ИТММС 2019 и были опубликованы в статьях [1; 9].
ЗАКЛЮЧЕНИЕ
Основные результаты диссертационной работы сводятся к следующему:
1. Обосновано применение методов машинного обучения для решения задачи динамической классификации трафика с целью обеспечения качества обслуживания в мультисервисных SDN-сетях.
2. Разработана матрица признаков для классификации трафика с целью обеспечения QoS, в которой признаками являются индивидуальные статистические параметры первых 10-15 пакетов, такие как длина и межинтервальное время прихода пакета на интерфейс. Такой подход
имеет два значительных отличия от общепринятых методов построения матрицы признаков. Во- первых, он не требует никакой информации о TCP-флагах и заголовках вышележащего уровня, что делает разработанную матрицу признаков инвариантной по отношению к типам потоков трафика. Во-вторых, набор параметров, основанный только на первых 10-15 пакетах, позволяет эффективно применять классификацию к активным потокам в режиме реального времени. Точность полученного классификатора оказалась на 10-25% выше результатов на основе других матриц признаков.
3. Разработана и исследована статическая модель классификации трафика методами машинного «обучения с учителем» на основе созданной матрицы признаков, отличающаяся от аналогичных содержанием структурных блоков и их расположением. На каждом этапе работы модели проводятся процедуры, повышающие эффективность классификации для соответствующих методов машинного обучения.
Прирост точности классификации для метода XGBoost в блоке предварительной обработки данных (квантильная трансформация и удаление выбросов) – 6,5-7,2%, в блоке классификатора за счет настройки гиперпараметров — 18-20% , а суммарно до 26%, и в целом точность классификации составила значение в 91%, что на 3% выше, чем точность классификации методом Random Forest. Эти результаты показывают перспективность применения метода XGBoost, что позволяет расширить существующий набор методов классификации потоков трафика для задач поддержания QoS.
4. Разработана модель эффективной кластеризации трафика (ARI около 0,9-1,0), адаптированная к сформированной матрице признаков, за счет применения в процессе кластеризации матрицы расстояний, предрассчитанной на основе результатов классификации потоков методами Extremely Randomized Trees и Random Forest. Показано также, что наиболее распространенные и стандартные подходы к расчету матриц расстояний, такие как расстояния Евклида и Манхэттена, оказались непригодными к применению в таких условиях.
5. Разработан алгоритм гибкого сбора статистической информации о пакете в P4- коммутаторах, основанный на разработанной системе организации памяти, позволяющий хранить и передавать на контроллер статистическую и идентификационную информацию о любом пакете и только по мере необходимости (например, после накопления первых 10-15 пакетов), что снижает служебную нагрузку на сеть и устройства по сравнению с традиционными вариантами полного мониторинга сетевых элементов в 4-4,5 раза.
6. Создана не имеющая аналогов в открытых исследованиях модель классификатора трафика, полученная за счет объединения точности и скорости работы методов «обучения с учителем» для работы в режиме реального времени с возможностью добавления новых классов за счет методов «обучения без учителя» и уточнения существующих кластеров. Несмотря на то, что
работа ориентирована на задачи SDN-сети, результаты работы могут быть использованы и в других сетях.
В дальнейших исследованиях планируется разработка методов управления трафиком на основе полученных классов для оптимального использования сетевых ресурсов и обеспечения качества обслуживания потоков поступающего трафика.
Актуальность темы исследования. В последнее время все большее
распространение получают программно-конфигурируемые SDN-сети (Software-
Defined Networking), архитектура которых подразумевает отделение плоскости
управления от плоскости передачи данных и формирование блока единого
централизованного управления сетью. Такая концепция позволяет получить
определенные преимущества в организации и управлении информационными
потоками, а также добиться большей гибкости в доступе к ресурсам сетей и
устройств, и более динамичного развития существующей сетевой
инфраструктуры, в отличие от традиционного подхода к построению сетей.
Мультисервисные SDN-сети предлагают абоненту целый спектр
разнообразных услуг, среди которых выделяют голосовую связь, видеосвязь,
видеоконференцию, передачу данных и т.д., а кроме того, позволяют легко
добавлять новые приложения и изменять существующие. Каждое из созданных
приложений требует обеспечения определенного уровня качества обслуживания
QoS (Quality of Service), что с увеличением числа потребителей и услуг становится
все сложнее.
Традиционные механизмы Differential Services (услуги с
дифференцированным обслуживанием) позволяют обеспечивать определенный
уровень QoS в рамках одного из классов обслуживания, к которым могут
относить тип приложения (Skype, Telnet и т.д.), тип передаваемой информации
(голос, видео, данные), характер передачи трафика (Elephant и Mice–потоки –
очень большие и очень маленькие потоки соответственно, интерактивный/не
интерактивный трафик) и т.д. Для известных оператору сети источников трафика
возможна автоматическая или предварительная статическая разметка пакетов с
указанием принадлежности сервиса, который используется для
дифференцированного управления трафиком. В случаях поступления в сеть
пакетов, неучтенных с точки зрения архитектуры сети либо созданных
неизвестным для оператора источником (приложением или сервисом), они
обрабатываются по принципу негарантированной доставки (Best Effort), который
не обеспечивает QoS на необходимом уровне. Проблема имеет особенное
значение для SDN-сетей, в которых регулярно появляются новые приложения, а
топология сети динамически меняется.
Степень разработанности темы.
Предыдущие подходы к классификации потоков в традиционных сетях,
основывались на общеизвестном списке TCP и UDP-портов, но с появлением
динамически изменяющихся портов применение такого метода стало
невозможным.
Широко известная технология DPI (Deep Packet Inspection) позволяет
проводить «глубокий» анализ заголовков пакетов на верхних уровнях модели
ЭМВОС (OSI). Но с помощью системы DPI тоже не всегда удается выявить
характер потока данных, например, в случаях зашифрованного или
туннелированного трафика.
В последнее время в телекоммуникациях все чаще эффективно
применяются методы интеллектуального анализа данных, в особенности методы
машинного обучения (Machine Learning, ML), для решения широкого круга задач,
в т.ч. и для классификации трафика.
Исследования и анализ основных работ по классификации методами ML,
представленные Гетьманом А.И., Маркиным Ю.В., Ванюшиной А.В., Xie J., Huang
N., Zhao D., Perera P., Zhang X., Dong Y., Zhang C., Wang W., Latah M., Pekar A.,
Habibi L.A., Bakker J.N. позволили выделить основные проблемы, существующие
на данный момент:
проблему с доступом к параметрам пакетов, применяемым в матрице
признаков — для большинства работ требуется наличие полной информации о
потоке или подробной информации уровня приложений, что означает
ограниченность применения классификатора для защищенных потоков и
невозможность работы в режиме реального времени;
тяжеловесные алгоритмы мониторинга сети, требующие постоянных
действий «запрос» – «ответ» от коммутаторов и контроллеров и вызывающие
большую нагрузку на сеть и сетевые элементы;
отсутствие функциональной возможности добавления новых классов в
существующую модель классификатора делает невозможным его работу в
динамически изменяющихся сетях, таких как SDN.
Российские ученые: Бурлаков М.Е., Осипов М.Н., Шелухин О.И., Ерохин С.Д.
и зарубежные исследователи: Alothman B., Gombault S., Toker M., Knapskog S.J.,
Buczak L., Hodo E., Knapskog S.J., Hamilton A.W., Tachtatzis C., Atkinson R.C. и др.
частично рассматривают эти вопросы, но их работы сосредоточены в основном
для обеспечения сетевой безопасности, в то время как классификация трафика с
целью определения QoS имеет значительные отличия, к которым следует отнести
маркировку классов с целью присвоения QoS, различия при формировании
матрицы признаков и при предварительной обработке данных. Таким образом,
разработка методов классификации трафика с целью обеспечения QoS требует
проведения исследований и разработки других алгоритмов.
Примечание: здесь и далее под «классификацией трафика» подразумевается
«классификация трафика с целью обеспечения QoS», если не сказано иное.
Объектом исследования являются потоки трафика в мультисервисной
SDN-сети.
Предметом исследования являются характеристики потоков трафика в
мультисервисной SDN-сети.
Целью диссертационного исследования является разработка метода
динамической классификации потоков трафика на основе машинного обучения
Основные результаты диссертационной работы сводятся к следующему:
1. Обосновано применение методов машинного обучения для решения
задачи динамической классификации трафика с целью обеспечения качества
обслуживания в мультисервисных SDN-сетях.
2. Разработана матрица признаков для классификации трафика с целью
поддержания QoS, в которой признаками являются индивидуальные
статистические параметры первых 10-15 пакетов, такие как длина и
межинтервальное время прихода пакета на интерфейс. Такой подход имеет два
значительных отличия от общепринятых методов построения матрицы признаков.
Во-первых, он не требует никакой информации о TCP-флагах и заголовках
вышележащего уровня, что делает разработанную матрицу признаков
инвариантной по отношению к типам потоков трафика. Во-вторых, набор
параметров, основанный только на первых 10-15 пакетах, позволяет эффективно
применять классификацию к активным потокам в режиме реального времени.
Точность полученного классификатора оказалась на 10-25% выше результатов на
основе других матриц признаков.
3. Разработана и исследована статическая модель классификации
трафика методами машинного «обучения с учителем» на основе созданной
матрицы признаков, отличающаяся от аналогичных содержанием структурных
блоков и их расположением. На каждом этапе работы модели проводятся
процедуры, повышающие эффективность классификации для соответствующих
методов машинного обучения.
4. Прирост точности классификации для метода XGBoost в блоке
предварительной обработки данных (квантильная трансформация и удаление
выбросов) – 6,5-7,2%, в блоке классификатора за счет настройки гиперпараметров
— 18-20%, а суммарно до 26%, и в целом точность классификации составила
значение в 91%, что на 3% выше, чем точность классификации методом Random
Forest. Эти результаты показывают перспективность применения метода XGBoost,
что позволяет расширить существующий набор методов классификации потоков
трафика для задач поддержания QoS.
5. Разработана модель эффективной кластеризации трафика (ARI и AMI
около 0,9-1,0), адаптированная к сформированной матрице признаков, за счет
применения в процессе кластеризации матрицы расстояний, предрассчитанной на
основе результатов классификации потоков методами Extremely Randomized Trees
и Random Forest. Показано также, что наиболее распространенные и стандартные
подходы к расчету матриц расстояний, такие как расстояния Евклида и
Манхэттена, оказались непригодными к применению в таких условиях.
6. Разработан алгоритм гибкого сбора статистической информации о
пакете в P4-коммутаторах, основанный на созданной системе организации
памяти, позволяющий хранить и передавать на контроллер статистическую и
идентификационную информацию о любом пакете и только по мере
необходимости (например, после накопления первых 10-15 пакетов), что снижает
служебную нагрузку на сеть и устройства по сравнению с традиционными
вариантами полного мониторинга сетевых элементов в 4-4,5 раза.
7. Создана не имеющая аналогов в открытых исследованиях модель
классификатора трафика, полученная за счет объединения точности и скорости
работы методов «обучения с учителем» для работы в режиме реального времени с
возможностью добавления новых классов за счет методов «обучения без учителя»
и уточнения существующих кластеров. Несмотря на то, что работа ориентирована
на задачи SDN-сети, результаты работы могут быть использованы и в других
сетях.
В дальнейших исследованиях планируется разработка методов управления
трафиком на основе полученных классов для оптимального использования
сетевых ресурсов и обеспечения качества обслуживания потоков поступающего
трафика.
Список сокращений
AMI – Adjusted Mutual Information, MTU – Maximum Transmission Unit,
скорректированная взаимная информация максимальная единица передачи
API – Application Programming Interface, NAT – Network Address Translation,
интерфейс прикладного программирования преобразование сетевых адресов
Apple – протокол доступа к iCloud ODL – OpenDayLight
ARI – Adjusted Rand Index, согласованный ONOS – Open Network Operating System
индекс Рэнда P4 – Programming Protocol-Independent Packet
CLI – Command Line Interface, интерфейс Processors
командной строки POPS – Post Office Protocol over SSL, протокол
D-ITG – Distributed Internet Traffic Generator, почтового отделения через SSL
генератор распределенного интернет – QoE – Quality of Experience, качество
трафика восприятия
DNS – Domain Name Service, система QoS – Quality of Service, качество
доменных имен обслуживания
DPI – Deep Packet Inspection, глубокий анализ RTCP – Real-Time Transport Control Protocol,
пакетов протокол управления передачей в реальном
DSCP – Differentiated Services Code Point, времени
точка кода дифференцированных услуг RTP – Real-time Transport Protocol, протокол
dstAddr – destination address, адрес назначения передачи в реальном времени
dstPort – destination port, порт назначения SDN – Software Defined Networking,
FTP – File Transfer Protocol, протокол Программно-Конфигурируемая сеть
передачи файлов SMTP – Simple Mail Transfer Protocol, простой
HTTP – HyperText Transfer Protocol, протокол протокол передачи почты
передачи гипертекста SNMP – Simple Network Management Protocol,
IMAP – Internet Message Access Protocol, простой протокол управления сетью
протокол доступа к интернет – сообщениям srcAddr – source address, адрес источника
IMAPS – IMAP over SSL, IMAP поверх SSL srcPort – source port, порт источника
MAC – Media Access Control, управление SSH – Secure Shell, безопасная оболочка
доступом к среде SSL – Secure Sockets Layer, уровень
ML- Machine Learning, машинное обучение защищѐнных сокетов
STD – standard deviation, стандартное TTL – Time to Live, время жизни
отклонение UDP – User Datagram Protocol, протокол
STUN – Session Traversal Utilities for NAT, пользовательских датаграмм
утилиты прохождения сессий для NAT UPnP – Universal Plug and Play,
TCP – Transmission Control Protocol, протокол VLAN – Virtual Local Area Network,
управления передачей данных виртуальная локальная сеть
TE – Traffic Engineering, управление трафиком VPN -Virtual Private Network, виртуальная
TOS – Type Of Service, тип сервиса частная сеть
t-SNE – t-distributed Stochastic Neighbor ИИ – Искусственный Интеллект
Embedding, cтохастическое вложение соседей СКО – среднее квадратическое отклонение
с t-распределением
Методы машинного обучения
DT – Decision Tree, решающее дерево
ET – Extremely Randomized Trees, чрезвычайно случайный лес
GNB – Gaussian Naive Bayes, Гауссовский Наивный Байес
kNN – k Nearest Neighbours, k ближайших соседей
LR – Logistic Regression, логистическая регрессия
MLP – Multi – Layer Perceptron, многослойный персептрон
NN -Neural Network, нейронная сеть
RF – Random Forest, случайный лес
RTE – Random Trees Embedding, совершенно случайные деревья
SVM – Support Vector Machine, метод опорных векторов
XGB, XGBoost – Extreme Gradient Boosting, экстремальный градиентный бустинг
Публикации автора в научных журналах
Помогаем с подготовкой сопроводительных документов
Хочешь уникальную работу?
Больше 3 000 экспертов уже готовы начать работу над твоим проектом!