Измерение производительности контроллера OpenFlow в экспериментальном образце сети
Автор: Малахов С.В., Якупов Д.О.
Журнал: Инфокоммуникационные технологии @ikt-psuti
Рубрика: Технологии компьютерных систем и сетей
Статья в выпуске: 3 т.20, 2022 года.
Бесплатный доступ
Протокол OpenFlow - это основная из технологий, образовавшаяся в числе первых концепций программно-определяемых систем. Данная технология дает возможность разрабатывать внешние программные оболочки, которые необходимы для роста функциональности процессов коммутации, маршрутизации и обработки информации, не зависящие от современного оборудования и версий их прошивок, формирующиеся отдельно, со стороны внешнего контроллера. Одной из основных задач предстоящей работы является изучение изменения задержек пакетов на контроллере FloodLight, в котором отсутствует таблица потоков коммутатора OpenFlow. Кроме того, необходимо узнать потери пакетов в экспериментальном образце сети в виртуальном окружении Mininet. Исследование проведено с использованием современных инструментов и технологий, предварительно был проведен анализ предметной области и требований. На основании результатов, полученных экспериментальным путем, были сделаны выводы, а также рекомендации по использованию протокола OpenFlow на ранних этапах разработки для небольших сетей.
Виртуальный коммутатор, протокол openflow, контроллер floodlight, виртуальное окружение mininet
Короткий адрес: https://sciup.org/140299339
IDR: 140299339 | DOI: 10.18469/ikt.2022.20.3.06
Текст научной статьи Измерение производительности контроллера OpenFlow в экспериментальном образце сети
Протокол OpenFlow используется для связи между коммутаторами и контроллерами OpenFlow. Коммутатор OpenFlow выполняет поиск и пересылку пакетов в соответствии с одной или несколькими таблицами потоков. Коммутатор обменивается данными по каналу OpenFlow с внешним контроллером [1]. Канал OpenFlow работает по протоколу TCP и может быть зашифрован с помощью TLS. Этот набор тестов можно использовать для проверки реализаций коммутаторов OpenFlow на наличие недостатков безопасности и проблем с надежностью.
На рисунке 1 показана последовательность процессов обработки пакетов OpenFlow. В этом примере «Host 1» обменивается данными и отправляет пакеты «Host 2». Когда первый пакет достигнет своего подключенного коммутатора («Switch1»), он будет перенаправлен коммутатором на контроллер, который проанализирует пакет, а затем создаст новые записи потока для этого пакета [2]. Эти записи потока будут установлены контроллером на коммутаторах в пределах выбранного пути («Switch1», «Switch2» и «Switch3»). Затем контроллер вернет пакет обратно на «Switch1», откуда он будет передан по выбранному пути для передачи к заданному хосту («Host 2»).
Архитектура OpenFlow состоит из контроллера, коммутатора OpenFlow и защищенного канала (рисунок 2). Контроллер централизованно управляет сетью для реализации функций уровня управления [3]. Коммутатор OpenFlow отвечает за пересылку на уровне данных; он обменивается сообщениями с контроллером по защищенному каналу, чтобы получать записи о пересылке и сообщать о своем статусе.
Между контроллером и коммутатором OpenFlow устанавливается защищенный канал [4]. Через этот канал контроллер управляет коммутатором и управляет им, а также получает обратную связь от коммутатора.
Сообщения, которыми обмениваются по защищенному каналу OpenFlow, должны соответствовать формату, указанному протоколом OpenFlow. Защищенный канал OpenFlow обычно шифруется с использованием протокола безопасности транспортного уровня (TLS), но в OpenFlow 1.1 и более поздних версиях он может быть запущен непосредственно через TCP в виде обычного текста [5]. По каналу передаются следующие сообщения OpenFlow:
-
• сообщение от контроллера к коммутатору: отправляется контроллером коммутатору OpenFlow для управления или получения статуса коммутатора OpenFlow;
-
• асинхронное сообщение: отправляется коммутатором OpenFlow контроллеру для обновления сетевых событий или изменений состояния контроллера;
-
• симметричное сообщение: отправляется без запроса коммутатором OpenFlow или контроллером. В основном он используется для на-
Hostl
Switch 1
Controller
Switch 2
Switch 3
Host 2
Отправить пакет ‘
^ ■ Отправить пакет с ^
■ запросом потока
" Установить потоки по
выбранному пути
■ Установить потоки по '
:___________________________________________
■ выбранному пути 1
Установить потоки по
выбранному пути
■ Вернуть пакеты
^--
—
Отправить пакет ‘
Р.
" Отправить пакет "
—
—X
. Отправить пакет .
’-----------------------------------
—X
Рисунок 1. Обработка пакетов OpenFlow

Рисунок 2. Архитектура OpenFlow
стройки соединения и определения того, подключен ли одноранговый узел к сети.
Являясь основным компонентом сети OpenFlow, коммутатор OpenFlow в основном отвечает за пересылку на уровне данных. Это может быть физический или виртуальный коммутатор / маршрутизатор. Коммутаторы OpenFlow подразделяются на следующие типы в зависимости от их поддержки OpenFlow:
-
• выделенный коммутатор OpenFlow: это стандартное устройство OpenFlow, которое под-
- держивает только пересылку OpenFlow. Коммутатор обрабатывает весь трафик, который проходит через него в режиме OpenFlow, и не может выполнять переадресацию трафика уровня 2 или уровня 3;
-
• коммутатор, совместимый с OpenFlow: поддерживает как переадресацию OpenFlow, так и переадресацию уровня 2/3. Это коммерческий коммутатор, который поддерживает функции OpenFlow, такие как таблицы потоков и защищенные каналы.
Рисунок 3. Смоделированная схема образца сети
Коммутатор OpenFlow перенаправляет пакеты, поступающие на коммутатор, на основе таблицы потоков, которая содержит набор записей политики, инструктирующих коммутатор о том, как обрабатывать трафик [6]. Записи потока генерируются, поддерживаются и доставляются контроллером.
Был выбран Floodlight, потому что он исторически был одним из самых популярных контроллеров SDN с открытым исходным кодом. Сегодня Floodlight не так популярен, но его API-интерфейсы достаточно похожи по своей природе на другие API-интерфейсы Java OpenFlow.
Основные модули контроллера Floodlight взяты из оригинального контроллера Beacon. Эти компоненты обозначаются как пакеты org.open-flow в исходном коде Floodlight [7]. Поскольку Beacon является основой функциональности OpenFlow, представленной в ряде контроллеров SDN, взаимодействие контроллера, связанное с OpenFlow, также применимо к этим контроллерам, производителем от Beacon.
Причины выбора контроллера FloodLight:
-
• написан на языке Java, что обеспечивает кроссплатформенность;
-
• обширная документация;
-
• гибкость и быстрота работы.
Mininet – это эмулятор сети, состоящий из виртуальных хостов, контроллеров, коммутаторов и ссылок, которые образуют сеть. Mininet работает под управлением ядра Linux. Данное программное обеспечение поддерживает OpenFlow, что очень важно для гибкости маршрутизации в программно-определяемых сетях.
Ключевые функции Mininet:
-
• простота и малая стоимость экспериментального стенда для создания программного обеспечения OpenFlow;
-
• поддержка тестов на системном уровне с возможностью повторения;
-
• возможность параллельной работы большому количеству разработчиков над одной топологией сети;
-
• проведение сложных тестов без необходимости построения и подключения сети;
-
• поддержка командной строки топологии OpenFlow, позволяющая запускать тестирования;
-
• поддержка собственных топологий, которая включает в себя стандартные наборы построения топологий.
Сети, построенные в виртуальном окружении Mininet, запускают написанный разработчиком код. Исходя из этого, код, тестируемый в Mininet для виртуального контроллера OpenFlow, может быть внедрен в реальную физическую систему без каких-либо весомых исправлений. Важным аспектом является тот факт, что схема, работающая в Mininet, может быть перенесена на физические коммутаторы для отправки и получения пакетов данных с заявленной скоростью.
Постановка задачи
Главная цель исследования – получить результаты задержки пакетов на коммутаторе OpenFlow контроллера FloodLight при отсутствии записей в потоковой таблице [8]. Необходимо также наглядно определить потери пакетов в исследуемой модели сети.
Для выполнения поставленной задачи необходимо было создать исследуемую модель сети, которая состоит из:
-
• виртуального коммутатора OpenFlow – Open vSwitch;
-
• 5 кабинетов на ЛВС;
-
• 22 рабочих мест на ЛВС;
-
• 3 локальных серверов.
На рисунке 3 представлена схема экспериментального образца сети.

Рисунок 4. Процесс создания сети
Образец сети подключен к виртуальному коммутатору Open vSwitch, который находится в подключении в виртуальном окружении mininet (см. рисунок 4).
Для того чтобы виртуальное окружение mininet имело выход в Интернет, необходимо настроить тип подключения адаптера как сетевой мост. После удачного подключения необходимо убедиться в корректной работе сетевых интерфейсов командой ifconfig.
Эксперимент будет заключаться в создании топологии сети и фиксации времени отправки пакета с каждого хоста (рабочего места) и его получении на каждом другом хосте (рабочем месте). Также на хосте получателя будет получена информация о количестве принятых пакетов. Полученные результаты будут нужны для определения времени задержки и потери пакетов.
Для моделирования теста понадобятся следующие инструменты: установленное окружение mininet (для эмуляции компьютерной сети), установленный пакет openjdk-8 (для установки и активации контроллера FloodLight), pingall [9] (для проверки соединения между хостами и определения потерь пакетов), iperf (для генерации TCP/ UDP трафика).
Создание топологиии настройка узлов сети
Авторизация в виртуальном окружении mininet проверяется командой ifconfig.
Интерфейс виртуального коммутатора eth0 взаимосвязан с IP адресом 192.168.1.41 с помощью клиентского приложения putty через 22 порт, по типу соединения SSH.
На данном интерфейсе будет находиться виртуальный контроллер FloodLight, к которому будет обращаться виртуальный коммутатор.
Для установки виртуального контроллера требуется команда:
sudo apt-get install build-essential default-jdk ant python-dev git.
Далее необходимо установить непосредственно сам контроллер Floodligt и запустить сборку. Делается это следующей командой:
Теперь контроллер готов к работе, необходимо его запустить командой:

mininet> pingall
*** Ping: testing ping reachability
M-> h2 h3 h4 h5 h6 h7 h8 h9 MO hi 1 h12 М3 M4 h15 M16 M7 M8 h19 h20 h21 h22
h2-> hi h3 h4 h5 h6 h7 h8 h9 MO hi 1 M12 M13 M14 h15 h16 h17 M18 h19 h20 h21 h22
h3-> hi h2 h4 h5 h6 h7 h8 h9 MO hi 1 M12 M13 M14 M5 h16 h17 M18 h19 h20 h21 h22
h4-> hi h2 М3 h5 h6 h7 h8 h9 MO hi 1 h12 М3 M4 h15 M16 M7 M8 h19 h20 h21 h22
h5-> hi h2 М3 h4 h6 h7 h8 h9 MO hi 1 M12 M13 M14 M5 h16 h17 M18 h19 h20 h21 h22
h6-> hi h2 М3 h4 h5 h7 h8 h9 MO hi 1 M12 M13 M14 M5 h16 h17 M18 h19 h20 h21 h22
h7-> hi h2 М3 h4 h5 h6 h8 h9 MO hi 1 h12 М3 M4 h15 M16 M7 M8 h19 h20 h21 h22
h8-> hi h2 М3 h4 h5 h6 h7 h9 MO hi 1 M12 M13 M14 M5 h16 h17 M18 h19 h20 h21 h22
h9-> hi h2 h3 h4 h5 h6 h7 h8 h10 hi 1 h12 h13 h14 M5 h16 h17 h18 h19 h20 h21 h22
h10-> hi h2 h3 h4 h5 h6 h7 h8 h9 hi 1 h12 h13 h14 M5 h16 M17 M18 M19 h20 h21 h22 h11-> hi М2 М3 h4 h5 h6 h7 h8 h9 h10 h12 h13 h14 M15 M16 M17 M18 M19 h20 h21 h22 h12-> M1-h2 КЗ h4 h5 h6 h7 h8 h9 h10 hi 1 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h13-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M14 M15 M16 M17 M18 M19 h20 h21 h22
h14-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 М3 M15 M16 M17 M18 M19 h20 h21 h22
h15-> hi h2 КЗ h4 h5 h6 h7 h8 h9 h10 hi 1 h12 М3 h14 h16 h17 h18 h19 h20 h21 h22
h16-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 М3 M14 M15 M17 M18 M19 h20 h21 h22
h17-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 М3 M14 M15 M16 M18 M19 h20 h21 h22
h18-> hi h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 М3 h14 h15 h16 h17 h19 h20 h21 h22
h19-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 М3 M14 M15 M16 M17 M18 h20 h21 h22
h20-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M13 M14 M15 M16 M17 M18 M19 h21 h22
h21-> hi h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 М3 h14 h15 h16 h17 h18 M9 h20 h22
h22-> hi М2 h3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 М3 M14 M15 M16 M17 M18 M9 h20 h21
*** Results: 0% dropped (462/462 received) mininet>
Рисунок 5. Результат работы сети

Рисунок 6. Результат тестирования пропускной способности

hi hi hi hi hi hi hi hi h2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 h2 М3 h4 h5 h6 h7 h8 h9 h10 h11 М2 М3 h4 h5 h6 h7 h8 h9 h10 h11 М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1
h15-> hi h16-> hi h17-> hi h18-> hi h19-> hi h20-> hi h21-> hi
М3 h4 h5 h6 h7 h8 h9 M10 hi 1 M12 M13 M14 M15 M16 M17 M18 X h20 h21 h22 h2 h4 h5 h6 h7 h8 h9 M10 hi 1 M12 M13 M14 M15 M16 M17 M18 M19 h20 h21 h22 h2 М3 h5 X h7 h8 h9 X hi 1 M12 M13 M14 M15 M16 M17 M18 M19 h20 h21 h22 h2 М3 h4 h6 h7 h8 h9 M10 hi 1 M12 M13 X M15 M16 M17 M18 X h20 h21 h22 h2 X h4 h5 h7 h8 X M10 hi 1 M12 M13 M14 M15 M16 M17 M18 M19 h20 h21 h22 h2 М3 h4 h5 h6 h8 h9 M10 hi 1 M12 M13 M14 X M16 M17 M18 M19 h20 h21 h22 h2 М3 h4 h5 X h7 h9 h10 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h2 h3 h4 h5 h6 h7 h8 h10 X h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22
h12 h13 h14 h15 h16 h17 h19 h20 h21 h22
h12 h13 h14 h15 h16 h17 h18 h20 h21 h22
h12 h13 X h15 X h17 h18 h19 h21 h22
h12 h13 h14 h15 h16 h17 h18 h19 h20 h22
h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 h13 h14 h16 h17 h18 h19 h20 h21 h22 h2 h3 h4 h5 h6 h7 X h9 h10 hi 1 h12 h13 h14 h15 h17 h18 h19 h20 h21 h22 h2 h3 X h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 X h19 h20 h21 h22
h2-> h3-> h4-> h5-> h6-> h7-> h8-> h9-> h10-> hi h2 h3 h4 h5 h6 h7 h8 h9 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22
h11-> hi h2 h3 h4 h5 h6 h7 h8 h9 h10 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22
h12-> h1-h2 X h4 h5 h6 h7 h8 h9 h10 hi 1 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h13-> hi h2 h3 h4 h5 h6 h7 h8 h9 MO hi 1 h12 X h15 h16 h17 h18 h19 h20 h21 h22
h14-> hi h2 h3 h4 h5 h6 h7 h8 h9 MO hi 1 X h13 h15 h16 h17 h18 h19 h20 h21 h22
mininet> pingall
*** Ping: testing ping reachability h1-> М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 M12 M13 M14 M15 h16 M17 M18 M19 h20 h21 h22
h22-> hi М2 М3 h4 h5 h6 h7 h8 h9 X h11 M12 M13 M14 M15 M16 M17 M18 M19 h20 h21
*** Results: 4% dropped (443/462 received) mininet>
Рисунок 7. Результат работы сети после изменений


h22
М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M14 M15 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M13 M15 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M13 M14 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 h12 M13 M14 M15 M17 M18 M19 h20 h21
h22 h22 h22 h22 h22 h22 h22 h22 h22 h22
М2 М3 h4 h6 h7 h8 h9 M10 hi 1 M12 h13 M14 M15 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h7 h8 h9 X hi 1 X M13 M14 M15 M16 M17 M18 X h20 h21 h22
М2 М3 h4 h5 h6 h8 h9 M10 hi 1 M12 h13 M14 M15 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h6 h7 h9 M10 hi 1 M12 h13 M14 M15 M16 M17 M18 M19 h20 h21
М2 М3 h4 h5 h6 h7 h8 M10 hi 1 M12 h13 M14 M15 M16 M17 M18 M19 h20 h21
МЗ-Ж1 h14-> hi h15-> hi h16-> hi h17->h1 М8-Ж1 h19-> hi h20-> hi h21-> hi h22-> hi h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h2 h4 h5 h6 h7 X h9 MO hi 1 h12 h13 h14 h15 X h17 h18 h19 h20 h21 h22 h2 h3 h5 h6 X h8 h9 MO h11 X h13 h14 h15 h16 h17 h18 h19 h20 h21 h22
h2-> hi h3-> hi h4-> hi h5-> hi h6-> hi h7-> hi h8-> hi h9-> hi h10-> hi h2 h3 h4 h5 h6 h7 h8 h9 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h11-> hi h2 h3 h4 h5 h6 h7 h8 h9 h10 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h12-> h1-h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h13 h14 h15 h16 h17 h18 h19 h20 h21
h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 ИЗ h14 h15 h16 h18 h19 h20 h21 h22 h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 ИЗ h14 h15 h16 X h19 h20 h21 h22 h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 h13 h14 h15 h16 h17 h18 h20 h21 h22 h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h21 h22 h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 ИЗ h14 h15 h16 h17 h18 h19 h20 h22 h2 h3 h4 h5 h6 h7 h8 h9 h10 hi 1 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21
*** Results: 1% dropped (454/462 received) mininet> mininet> pingall
*** Ping: testing ping reachability h1-> h2 М3 h4 h5 h6 h7 h8 h9 M10 hi 1 M12 M13 M14 M15 h16 M17 M18 M19 h20 h21 h22
Рисунок 9. Влияние контроллера на производительность
Рабочие места будут располагаться в пяти кабинетах. Необходимо создать топологию сети с помощью команды:
sudo mn --topo=linear,22 --mac --controller remote -ip=192.168.56.1 (рисунок 4).
Теперь необходимо сохранить настройки контроллера, коммутатора и сети.
На этом этапе настройка сетевого оборудования завершается.
Проведение экспериментаи анализ полученных результатов
Запуск обмена пакетами между хостами с помощью команды: pingall (рисунок 5).
Как видно из результата запуска обмена пакетами, все хосты (рабочие места) связаны между собой и потери пакетов не происходит.
Для того чтобы сгенерировать TCP/UDP трафик, нужно запустить консольный кроссплатфор-менный инструмент iperf (рисунок 6). Данный инструмент тестирует пропускную способность сети.
Согласно результатам, входная и выходная скорости равны 14,1 МБ/с и 14,0 МБ/с.
Для более реальных результатов нужно усложнить задачу и задать более реальные параметры пропускной способности (10 МБ/с) и добавить задержку в 10 мс. Требуемого результата можно добиться с помощью команды:
Запуск обмена пакетами между хостами с помощью команды: pingall (рисунок 7).
Можно наблюдать, что с уменьшением пропускной способности и увеличением задержки происходит частичная потеря пакетов, но не критичная – 4 %
Повторное генерирование трафика с измененной пропускной способностью и временем задержки представлено на рисунке 8.
Задержки
0,15

~ нmLЛ^.cГlнmLЛ^(лнmLЛ^.cГ)нmLЛ^cгlнmLn^
-и, U1 ■—^^— оог^ко^т о^ тг^г^коо^—com^^ui oi ^wr^ifl
HHNNNcnm^■'^|■LЛLЛLЛlDШ^^^OOCOCЛCЛ
Рисунок 10. Задержки пакетов
Потери пакетов
-5

нcГl^LлmнcJ)^Lлmн(л^Lлmнm^Lлmг^m^Lлmг^m m^HLлm^JШO^(X)г^LЛCлm^o^corN(^)mm^HLЛco нннNNmmmчj■'xr^LnLЛlD Рисунок 11. Потери пакетов за сессию Согласно результатам, входная и выходная скорости равны 7,9 МБ/с и 14,6 МБ/с. Влияние контроллера на производительность сети является положительным (рисунок 9). На основании полученных данных был построен график функции (рисунок 10). Период сессии составляет 1000 пакетов (длина пакета по умолчанию установлена на 64 байта). Горизонтальная ось показывает количество пакетов, вертикальная ось – время в секундах. Исходя из результатов графика видно, что задержки передачи увеличиваются вместе с количеством передаваемых пакетов. После того как был отправлен 158-й пакет, появляются задержки. Объем передаваемого буфера пакета на данном коммутаторе равен 50 МБ. Заметны потеря пакетов за весь сеанс по объему полученных и отправленных пакетов и также увеличение времени между сеансами отправки и получения пакета. Построение графика потерь приведено на рисунке 11. На графике видно, что потери увеличиваются с увеличением задержки, причем потери начинаются с пакета 150. При проведении эксперимента без контроллера потерь и задержек не наблюдается, согласно спецификации коммутатора Open vSwitch. Задержка 1000 Мбит/с: < 3,5 мкс (размер пакета 64 байта). Вывод В случае, когда в таблице маршрутизации OpenFlow отсутствуют записи, задержки и потери пакетов очень велики. Но в случае, когда в таблице маршрутизации OpenFlow присутствуют записи, задержки и потери пакетов будут намного меньше [10]. Полученный результат объясняется тем, что вместе с процессом обработки пакетов создаются правила «движения» для следующих пакетов. Исходя из результатов моделирования, можно сделать вывод, что использование протокола OpenFlow на ранних стадиях проектирования малых сетей не является целесообразным. Это обусловлено дороговизной необходимого оборудования, а также настройкой и установкой программно-определяемой сети. Классическое сетевое оборудование тоже является производительным.
Список литературы Измерение производительности контроллера OpenFlow в экспериментальном образце сети
- Башилов Г.А. Программно-аппаратная идиллия, или OpenFlow // Журнал сетевых решений/LAN. 2011. № 9. С. 2-5.
- Смелянский Р.И. Программно-конфигурируемые сети // Открытые системы. 2012. № 9. С. 34-36.
- OpenFlow Tutorial. URL: http://www.openflow.org/wk/index.php/Open-Flow_Tutorial#Controller_Choice:_NOX_w.2FPython (дата обращения: 11.10.2022).
- OpenFlow Switch Specication. URL: http://www.openflow.org/documents/openflow-specv1.1.0 (дата обращения: 11.10.2022).
- TCPDUMP and LIBPCAP. URL: http://www.tcpdump.org (дата обращения: 11.10.2022).
- Habrahabr Программно-конфигурируемые сети. URL: http://habrahabr.ru/post/149126 (дата обращения: 11.10.2022).
- Серия коммутаторов OpenFlow, Технические характеристики. URL: http://h10010.www1.hp.com/wwpc/ru/ru/sm/WF06a/12883-12883-4172267-4172278-4172278-3457354.html?dnr=1 (дата обращения: 11.10.2022).
- Casado M., McKeown N., Gude N. FloodLight: Towards an operating system for networks // ACM Computer Communications Review. 2013. No. 12. P 109-116.
- FloodLight. URL: http://www.noxrepo.org/nox/about-nox (дата обращения: 11.10.2022).
- Iperf. URL: http://iperf.sourceforge.net (дата обращения: 11.10.2022).