СПОСОБ АВТОМАТИЧЕСКОГО АДАПТИВНОГО УПРАВЛЕНИЯ СЕТЕВЫМИ ПОТОКАМИ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЯХ
METHOD FOR AUTOMATIC ADAPTIVE CONTROL OF NETWORK TRAFFICS IN SOFTWARE CONFIGURED NETWORKS

Изобретение относится к области автоматизации управления сетевыми коммутаторами и маршрутизаторами в программно-конфигурируемых сетях, а именно к повышению производительности OpenFlow-коммутаторов и OpenFlow-маршрутизаторов, составляющих инфраструктуру программно-конфигурируемых сетей, на основе динамического изменения приоритетов сетевых потоков в соответствии с изменениями параметров качества сетевого трафика, задаваемых в сетевых пакетах.
Стремительный рост применения автоматизированных информационных систем, распределенных компьютерных систем, центров обработки данных и сетевых систем хранения данных стимулирует насущную потребность в надежных, высокопроизводительных, хорошо управляемых компьютерных сетях. В настоящее время наиболее активно развивающейся сетевой технологией являются программно-конфигурируемые сети, в которых, в отличие от традиционных компьютерных сетей, решение об изменении маршрутов передачи сетевых пакетов принимается выделенным устройством - контроллером программно-конфигурируемой сети.
Для управления передачей сетевых пакетов в коммутаторах и маршрутизаторах применяются таблицы сетевых потоков, в которых каждая запись определяет маршрут для совокупности однотипных сетевых пакетов (сетевого потока) между соседними сетевыми устройствами. В традиционных компьютерных сетях записи, составляющие таблицу сетевых потоков каждого включенного в сеть коммутатора и маршрутизатора, задаются системным администратором вручную путем выдачи команд управления с терминала с помощью протоколов управления FTP, TFTP, SNMP, Telnet, HTTP, HTTPS, SSH. С усложнением топологии компьютерных сетей, увеличением количества задействованных коммутаторов и маршрутизаторов, увеличением числа постоянно изменяющихся характеристик сети, которые необходимо контролировать при задании таблиц сетевых потоков, такой подход становится бесперспективным, так как он не позволяет динамически отслеживать постоянные подключения и отключения коммутаторов и маршрутизаторов, изменения в сетевой инфраструктуре, изменения объемов передаваемых по сети данных, увеличение и сокращение объемов передаваемых по сети данных. По этой причине в программно-конфигурируемых сетях коммутаторы и маршрутизаторы управляются не человеком, а контроллером программно-конфигурируемой сети, который по протоколу OpenFlow позволяет контролировать состояния узлов сети и автоматически управлять ими, посылая необходимые команды на изменение таблиц сетевых потоков для изменения маршрута прохождения пакетов. В программно-конфигурируемых сетях коммутаторы и маршрутизаторы, управляемые по протоколу OpenFlow, называются OpenFlow-коммутаторами и OpenFlow-маршрутизаторами.
В OpenFlow-коммутаторах и OpenFlow-маршрутизаторах определение маршрута для поступившего сетевого пакета осуществляется путем сопоставления параметров данного сетевого пакета с параметрами, указанными в каждой записи таблицы сетевых потоков, хранящейся на сетевом устройстве. В случае выявления совпадения сетевой пакет направляется по маршруту, указанному в найденной записи. Если ни одна запись для данного пакета в таблице сетевых потоков не найдена, то пакет передается на обработку контроллеру программно-конфигурируемой сети, который формирует новую запись для данного сетевого пакета и для всех однотипных с ним последующих сетевых пакетов, таким образом занося новый маршрут для данного сетевого потока в таблицу сетевых потоков соответствующего OpenFlow-коммутатора и OpenFlow-маршрутизатора (US 2011286324, H04L 12/26, опубл. 2011-11-24; ЕР 2408155, H04L 12/56, опубл. 2012-01-18).
В существующих решениях, обеспечивающих управление OpenFlow-коммутаторами и OpenFlow-маршрутизаторами, все записи в таблицах сетевых потоков равноправны, то есть порядок их обработки в таблице не задан, что приводит к необходимости перебора всех записей таблицы сетевых потоков в поисках искомой записи и, соответственно, к временным задержкам при передаче сетевых пакетов.
Необходим способ, который позволит быстро обнаруживать искомую запись, определяющую маршрут для вновь поступающих сетевых пактов в OpenFlow-коммутатор и OpenFlow-маршрутизатор, и тем самым ускорит процесс нахождения необходимого маршрута и, соответственно, повысит производительность OpenFlow-коммутатора и OpenFlow-маршрутизатора.
В основу изобретения положена задача создания способа автоматического адаптивного управления сетевыми потоками в программно-конфигурируемых сетях за счет реализации динамического изменения таблиц сетевых потоков, при котором для каждой записи задается приоритет, динамически рассчитываемый на основании параметров качества сетевого трафика, проходящего через OpenFlow-коммутаторы и OpenFlow-маршрутизаторы. Это позволяет при определении маршрута для поступившего сетевого пакета проводить сопоставление параметров данного сетевого пакета с параметрами, указанными в каждой записи таблицы сетевых потоков, в строгом порядке уменьшения значений приоритета записей и тем самым сократить время поиска необходимой записи в таблице сетевых потоков и тем самым увеличить скорость обработки сетевых пакетов в OpenFlow-коммутаторах и OpenFlow-маршрутизаторах. Применение данного способа обеспечивает повышение быстродействия и пропускной способности OpenFlow-коммутаторов и OpenFlow-маршрутизаторов, повышение надежности среды обмена данными, повышение доступности узлов сети, сокращение ошибок администрирования за счет автоматизации управления путем динамического изменения приоритетов сетевых потоков согласно изменениям параметров качества сетевого трафика.
Решение поставленной технической задачи обеспечивается тем, что в способе автоматического адаптивного управления сетевыми потоками в программно-конфигурируемых сетях, включающем формирование таблиц потоков OpenFlow-коммутаторов и OpenFlow-маршрутизаторов, сетевой пакет направляют в контроллер программно-конфигурируемой сети с дополнительно включенным блоком определения приоритета сетевого потока, в котором определяют совокупность параметров качества сетевого трафика по байту ToS; в случае если байт ToS в сетевом пакете не задан, сетевому пакету присваивается наименьший приоритет записи в таблице сетевых потоков; если байт ToS в сетевом пакете задан, то определяют приоритет для сетевого потока, формируемого данным сетевым пакетом и всеми последующими однотипными с ним сетевыми пакетами, на основе метода многокритериальной оптимизации по параметрам «Приоритет», первые три бита байта ToS; «Задержка», четвертый бит байта ToS; «Пропускная способность», пятый бит байта ToS, и «Надежность», шестой бит байта ToS; затем в контроллере программно-конфигурируемой сети формируют OpenFlow-команду, при помощи которой добавляют новую запись в таблицу сетевых потоков OpenFlow-коммутатора или OpenFlow-маршрутизатора.
Изобретение поясняется с помощью фиг.1 и фиг.2. На фиг.1 приведена схема адаптивного управления сетевыми потоками в программно-конфигурируемых сетях. На фиг.2 представлена схема адаптивного управления сетевыми потоками в программно-конфигурируемых сетях, соотнесенная с компонентами управления программно-конфигурируемой сетью, а именно с OpenFlow-коммутатором (OpenFlow-маршрутизатором) и контроллером программно-конфигурируемой сети.
В ходе работы программно-конфигурируемой сети главной задачей является задание маршрутной информации для организации и поддержания передачи сетевых пакетов OpenFlow-коммутаторами и OpenFlow-маршрутизаторами. Решение данной задачи заключается в определении способа адаптивного управления сетевыми потоками в программно-конфигурируемых сетях на основе расчета приоритетов сетевых потоков. При поступлении на вход OpenFlow-коммутатора или OpenFlow-маршрутизатора сетевого пакета, для которого нет соответствующих записей в таблице сетевых потоков, данное сетевое устройство передает сетевой пакет контроллеру программно-конфигурируемой сети, который принимает его, выделяет необходимую для создания новой записи в таблице сетевых потоков информацию - байт ToS в сетевом пакете. Далее контроллер программно-конфигурируемой сети производит расчет приоритета для сетевого потока, задаваемого обрабатываемым сетевым пакетом и всеми последующими однотипными с ним сетевыми пакетами, и создает новую запись в таблице сетевых потоков соответствующего сетевого устройства.
Для повышения производительности OpenFlow-коммутаторов и OpenFlow-маршрутизаторов и, соответственно, для обеспечения наиболее эффективной передачи данных контроллер программно-конфигурируемой сети выделяет байт, отвечающий за характеристики качества передачи сетевых пакетов - байт ToS, содержащийся в сетевом пакете. Предлагаемый способ формирования таблиц сетевых потоков для программно-конфигурируемой сети заключается в формировании данных таблиц сетевых потоков на основе приоритетов сетевых потоков, определяемых по содержимому байта ToS первого сетевого пакета поступившего сетевого потока, для которого отсутствует запись в таблице сетевых потоков соответствующего сетевого устройства.
Контроллер программно-конфигурируемой сети выделяет параметры качества передачи пакета: приоритет пакета; требуемая задержка при передаче пакета; требуемая полоса пропускания при передаче пакета и требуемая надежность при передаче пакета.
Для расчета приоритета сетевого потока используется вычисление приоритета с помощью метода многокритериальной оптимизации [Штойер Р. Многокритериальная оптимизация: теория, вычисления и приложения. М.: Радио и связь. 1992].
Суть метода многокритериальной оптимизации заключается в одновременной оптимизации двух или более конфликтующих целевых функций в заданной области определения. Задача многокритериальной оптимизации в общем виде формулируется следующим образом:
<mrow><munder><mrow><munder><mrow><mi>min</mi></mrow><mover accent="true"><mi>x</mi><mo>→</mo></mover></munder><mrow><mo>{</mo><mrow><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msub><mi>f</mi><mn>2</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msub><mi>f</mi><mn>3</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>,</mo><mo>…</mo><mo>,</mo><msub><mi>f</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>}</mo></mrow><mo>,</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo>∈</mo><mi>S</mi></mrow><mrow /></munder></mrow>
<mrow><msub><mi>f</mi><mi>i</mi></msub><mo>:</mo><msup><mi>R</mi><mi>n</mi></msup><mo>→</mo><mi>R</mi></mrow>
<mrow><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><msub><mi>x</mi><mn>3</mn></msub><mo>,</mo><mo>…</mo><msub><mi>x</mi><mi>n</mi></msub><mo stretchy="false">)</mo></mrow><mi>T</mi></msup></mrow>
i
где f - k целевых функций, х - векторы решений, S - непустая область определения функций, k - число целевых функций, R - множество действительных чисел, n - размерность пространства области определения целевой функции. Задача многокритериальной оптимизации состоит в поиске вектора целевых переменных, удовлетворяющего наложенным ограничениям и оптимизирующего векторную функцию, элементы которой соответствуют целевым функциям. Эти функции образуют математическое описание критерия удовлетворительности и, как правило, взаимно конфликтуют.
<mover accent="true"><mi>x</mi><mo>→</mo></mover>
<mrow><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub></mrow>
<mrow><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>≤</mo><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo><</mo><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub><mo stretchy="false">)</mo></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub><mo>∈</mo><mi>S</mi></mrow>
<mrow><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub><mo>∈</mo><mi>S</mi></mrow>
<mrow><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo><</mo><msub><mi>f</mi><mi>i</mi></msub><mo stretchy="false">(</mo><msub><mover accent="true"><mi>x</mi><mo>→</mo></mover><mn>1</mn></msub><mo stretchy="false">)</mo></mrow>
В качестве критерия эффективности используется критерий Парето. Вектор решения
называется оптимальным по Парето, если не существует
, такого, что
для всех i=1,…, k и
для хотя бы одного i. Множество оптимальных по Парето решений обозначим как Р(S). Целевой вектор является оптимальным по Парето, если соответствующий ему вектор из области определения также оптимален по Парето. Множество оптимальных по Парето целевых векторов обозначим как P(Z). Множество оптимальных по Парето векторов является подмножеством оптимальных по Парето в слабом смысле векторов. Вектор
является слабым оптимумом по Парето тогда, когда не существует вектора
такого, что
для всех i=1,…,k.
<mrow><mover accent="true"><mi>z</mi><mo>→</mo></mover><mo>∈</mo><msup><mi>R</mi><mi>k</mi></msup></mrow>
i
Диапазон значений оптимальных по Парето решений в области допустимых значений дает полезную информацию об исследуемой задаче, если целевые функции ограничены областью определения. Нижние границы оптимального по Парето множества представлены в «идеальном целевом векторе»
. Его компоненты z получены путем минимализации каждой целевой функции в пределах области определения.
Для получения оптимальных по Парето решений применяется метод скаляризации путем взвешенного суммирования в соответствии с формулой
<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mo>…</mo><mo>+</mo><msub><mi>w</mi><mi>r</mi></msub><msub><mi>f</mi><mi>r</mi></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow>
.
1
2
3
4
В качестве компонентов вектора х используются значимые биты ToS: X - значение приоритета (3 бита ToS), Х - требования к задержке, Х - требования к пропускной способности, Х - требования к надежности. В качестве целевых функций определены следующие функции:
<mrow><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><msub><mi>X</mi><mn>1</mn></msub><mn>,0</mn><mo>≤</mo><msub><mi>X</mi><mn>1</mn></msub><mo>≤</mo><mn>2</mn></mtd></mtr><mtr><mtd><mn>2</mn><msub><mi>X</mi><mn>1</mn></msub><mn>,3</mn><mo>≤</mo><msub><mi>X</mi><mn>1</mn></msub><mo>≤</mo><mn>5</mn></mtd></mtr><mtr><mtd><mn>3</mn><msub><mi>X</mi><mn>1</mn></msub><mn>,6</mn><mo>≤</mo><msub><mi>X</mi><mn>1</mn></msub><mo>≤</mo><mn>7</mn></mtd></mtr></mtable></mrow></mrow>
<mrow><msub><mi>f</mi><mn>2</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><msub><mi>X</mi><mn>2</mn></msub></mrow>
<mrow><msub><mi>f</mi><mn>3</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><msub><mi>X</mi><mn>3</mn></msub></mrow>
<mrow><msub><mi>f</mi><mn>4</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><msub><mi>X</mi><mn>4</mn></msub></mrow>
Скаляризация с помощью взвешенной суммы при формировании таблиц сетевых потоков включает четыре составляющие.
<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><msub><mi>f</mi><mn>2</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><msub><mi>f</mi><mn>3</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><msub><mi>f</mi><mn>4</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow>
i
Данный метод является универсальным за счет того, что для каждой системы сетевого взаимодействия могут быть определены свои значения весовых коэффициентов w.
<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow></mrow>
Таким образом, для задания приоритета записи в таблице потоков OpenFlow-коммутатора или OpenFlow-маршрутизатора используется значение функции
.
Рассмотрим пример определения приоритета для сетевого пакета, байт TOS которого имеет значение в двоичном виде 10110100. Согласно формату байта ToS это означает, что значение приоритета равно 101, требование к задержке - высокое, требование к надежности передачи пакета - высокое.
<mtable columnalign="left"><mtr><mtd><mi>Т</mi><mi>о</mi><mi>г</mi><mi>д</mi><mi>а</mi><mtext> </mtext><msub><mi>f</mi><mn>1</mn></msub><mo>=</mo><mn>2</mn><mo>*</mo><mn>5</mn><mo>=</mo><mn>10,</mn><msub><mi>f</mi><mn>2</mn></msub><mo>=</mo><mn>10</mn><mo>*</mo><mn>1</mn><mo>=</mo><mn>10,</mn><msub><mi>f</mi><mn>3</mn></msub><mo>=</mo><mn>10</mn><mo>*</mo><mn>0</mn><mo>=</mo><mn>0,</mn></mtd></mtr><mtr><mtd><msub><mi>f</mi><mn>4</mn></msub><mo>=</mo><mn>10</mn><mo>*</mo><mn>1</mn><mo>=</mo><mn>10,</mn><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>×</mo><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><mo>×</mo><msub><mi>f</mi><mn>2</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo></mtd></mtr><mtr><mtd><msub><mi>w</mi><mn>3</mn></msub><mo>×</mo><msub><mi>f</mi><mn>3</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><mo>×</mo><msub><mi>f</mi><mn>4</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>×</mo><mn>10</mn><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><mo>×</mo><mn>10</mn><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><mo>×</mo><mn>0</mn><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><mo>×</mo><mn>10</mn></mtd></mtr></mtable>
1
2
3
4
<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>×</mo><msub><mi>f</mi><mn>1</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><mo>×</mo><msub><mi>f</mi><mn>2</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><mo>×</mo><msub><mi>f</mi><mn>3</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><mo>×</mo><msub><mi>f</mi><mn>4</mn></msub><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><mn>1</mn><mo>×</mo><mn>10</mn><mo>+</mo><mn>2</mn><mo>×</mo><mn>10</mn><mo>+</mo><mn>0.5</mn><mo>×</mo><mn>10</mn><mo>=</mo><mn>35</mn></mrow>
<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mover accent="true"><mi>f</mi><mo>→</mo></mover><mo stretchy="false">(</mo><mover accent="true"><mi>x</mi><mo>→</mo></mover><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mn>35</mn></mrow>
Пусть данный сегмент программно-конфигурируемой сети должен обеспечивать наиболее быструю передачу данных, но при этом учитывать приоритет данного трафика. Тогда зададим весовые коэффициенты w=1, w=2, w=0.5, w=0.5. Тогда
. Таким образом, значение приоритета записи для соответствующего сетевого потока, создаваемой в таблице сетевых потоков, составляет
. Все сетевые потоки, у которых в записи в таблице сетевых потоков установлен более высокий приоритет, будут обработаны раньше, более низкий - позже. Приоритезация записей и, соответственно, сетевых потоков, позволяет сократить время обнаружения записи в таблице сетевых потоков за счет создания очередности записей по приоритетам.
Описанный способ обеспечивает повышение быстродействия и пропускной способности OpenFlow-коммутаторов и OpenFlow-маршрутизаторов, повышение надежности среды обмена данными, повышение доступности узлов сети, сокращение ошибок администрирования за счет автоматизации управления путем динамического изменения приоритетов сетевых потоков согласно изменениям параметров качества сетевого трафика.