SlideShare a Scribd company logo
1 of 24
RUNOS OpenFlow контроллер 
Александр Шалимов 
ЦПИКС, МГУ http://arccn.ru/ 
ashalimov@arccn.ru 
@alex_shali 
@arccnnews
Что такое SDN/OpenFlow? 
SDN = Software Defined Networking 
Основные принципы 
• Физическое разделение уровня передачи данных от уровня 
управления сетевых устройств. 
• Логически централизованное управление. 
• Программируемость. 
• Открытый единый интерфейс управления. 
Преимущества 
• Упрощение управления 
сетью (OPEX) 
• Удешевление 
оборудования (CAPEX) 
• Разработка ранее 
недоступных сервисов 
Внедрения 
. . . 
“SDN means thinking differently about networking”
Основы ПКС (SDN/OpenFlow) 
A 
B 
• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). 
• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей 
стоимостью и удовлетворяющий политикам маршрутизации). 
• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу 
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). 
A 
B 
A -> B 
OpenFlow 
контроллер 
хост/клиент 
хост/клиент 
коммутатор 1 коммутатор 2 
коммутатор 3 коммутатор 4
Основы ПКС (SDN/OpenFlow) 
A 
B 
A 
• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). 
• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей 
стоимостью и удовлетворяющий политикам маршрутизации). 
• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу 
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). 
• Динамическая переконфигурация в случае ошибки сети. 
B 
OpenFlow 
контроллер 
хост/клиент 
хост/клиент 
коммутатор 1 коммутатор 2 
коммутатор 3 коммутатор 4
Методология сравнения контроллеров [1] 
• Производительность 
– максимальное количество 
запросов на обработку 
– время обработки запроса при 
заданной нагрузке 
• Масштабируемость 
– изменение показателей 
производительности при 
увеличении числа соединений с 
коммутаторами и при 
увеличении числа ядер 
процессора 
• Надежность, Безопасность 
[1] A. Shalimov, D. Zuikov, D. Zimarina, V. Pashkov, R. Smeliansky, "Advanced Study of SDN/OpenFlow controllers", 
Proceedings of the CEE-SECR '13: Central & Eastern European Software Engineering Conference in Russia, ACM SIGSOFT, 
October 23-25, 2013,
Результаты сравнения (2013) 
• Максимальная производительность 7 000 000 потоков в 
секунду. 
• Минимальное время задержки от 50 до 75 мкс. 
• Недостатки: 
– Надежность контроллеров вызывала вопросы 
– Производительность была не достаточна (DC >10M fps)
Архитектура ПКС-контроллера
Повышение производительности 
Самые ресурсоемкие задачи: 
• Взаимодействие с OpenFlow коммутаторами: 
– использование многопоточности; 
– учет загрузки нитей и перебалансировка. 
• Получение OpenFlow пакетов из канала: 
– чтение пакетов из памяти сетевой карты, минуя 
сетевой стек OS Linux; 
– переключение контекста; 
– виртуальные адреса.
In-kernel контроллер 
Контроллер был реализован в ядре ОС Linux [2] 
• Супер производительный 
– нет переключений контекста при сетевом 
взаимодействии 
– меньше времени на работу с виртуальной памятью 
• Но очень сложно разрабатывать свои приложения 
– Низкоуровневый язык программирования 
– Ограниченное число библиотек и средств отладки 
– Высокий риск “положить” всю систему 
[2] P. Ivashchenko, A. Shalimov, R. Smeliansky "High performance in-kernel SDN/OpenFlow controller", Proceedings of 
the 2014 Open Networking Summit Research Track, USENIX, March 3-5, 2014 Santa Clara, USA
Производительность (kernel) 
• Производительность равна 30M fps 
• Задержка 45us
Программный интерфейс к In-kernel controller 
User space 
Kernel space 
Applications 
Services 
OpenFlow 
Applications 
Services 
OpenFlow 
NOX, Pox, Floodlight, 
OpenDaylight, MUL, 
etc 
Applications 
Services 
OpenFlow 
ARCCN 
+: wide range 
of applications 
-: low 
performance 
+: fast performance 
-: no applications 
What is in the middle? 
Offload architecture: 
• Apps are in userspace 
• Frequently used services 
is in kernel (e.g., topo) 
• Communication interface 
+: wide range of 
applications 
+: fast performance 
[3] Shalimov A., Ivashchenko P. In‐kernel 
offloading of an SDN/OpenFlow Controller 
Proceedings of the Modern Networking 
Technologies (MoNeTec), IEEE, место издания 
Moscow, Russia, с. 27-29
Производительность (offload) 
I/O throughput (cbench + l2learning), fps Response time, us 
• Производительность равна 15M fps. 
• Задержка равна 50us.
Интерфейс программирования 
Memory API to the kernel: 
• /dev/ctrl – open kernel 
• ioctl() – subscribe to events 
• mmap() – get access to shared 
memory 
• poll() – read info from the 
kernel 
– POLLIN, POOLRDNORM, 
POLLRDBAND, POLLOUT 
• write() – flush output buffers 
l2 learning example code 
Интерфейс все равно сложный: 
• Низкоуровневый С 
• Приложения требуют явной 
синхронизации между собой 
• Даже не смотря на то, что теперь 
можно использовать стандартные 
библиотеки
RUNOS 
RUNOS = RUssian Network Operating System 
• Название 
– RuNOS [рунос] – акцент на российский 
– RunOS [ранос] – акцент на быстроту 
• Цель проекта 
– “Could an OpenFlow controller be both easy to develop 
applications for and also high performance?” 
– Разработать систему, которая будет удобна для 
разработки новых сетевых приложений 
– Помнить о быстроте, интеграция с решениями ЦПИКС 
– Объединить все внутренние разработки по 
приложениям, контроллерам и т.п.
Параметры запуска 
• Задается количество нитей 
контроллера 
– для взаимодействия со свитчами 
– для работы приложений 
• Список приложений 
– их параметры (poll-interval) 
– зафиксировать нить выполнения 
или выделить в монопольное 
пользование (pin-to-thread, own-thread) 
Config (json): 
“controller”: { 
“threads”: 4 
}, 
“loader”: { 
“threads”: 3 
}, 
“link discovery”: { 
“poll-interval” : 10, 
“pin-to-thread” : 2 
}, 
“learning switch”: { 
} 
…
Архитектура 
Controller 
Trace Tree 
Workers 
Thread pool 
Инициализация контроллера: 
1. Запуск нужного количества нитей 
2. Запуск служебных компонент 
3. Запуск приложений и 
распределение их по нитям 
4. Определение порядка обработки 
событий приложениями 
Apps 
Logical pipelines
Особенности 
• Подписка на события 
– явно - packet_in 
– неявно – switch up/down, port_description, stats. 
• Два конвейра исполнения 
– run-to-completion 
• сортировка приложений при запуске на основе зависимостией 
– т.н. отложенное выполнение 
• Система разрешения конфликтов (генерация 
правил) 
– Расстановка приоритетов правил, объединение правил 
– LOAD, MATCH, READ абстракции
Реализация 
Ключевые слова: C++11, QT 
Основные сторонние компоненты: 
• libfluid project (_base, _msg) 
– для взаимодействия со свитчами и разбор OpenFlow 1.3 сообщений 
• libtins 
– разбор пакетов внутри OpenFlow сообщений 
• glog (google log) 
– логирование, многопоточное 
• tcmalloc (google performance tools) 
– альтернативная более быстрая реализация malloc/free 
• json11 
– разбор конфигурационного файла 
• boost graph 
– Хранение топологии, поиск маршрута
Производительность 
• Не фокус данной реализации 
• Производительность libfluid равно 5M fps 
на 4-х нитях. 
• В будущем будет переход на in-kernel 
версию контроллера, как backend для 
взаимодействия с сетью
Описания релизов 
• Сейчас версия 0.2 
– ядро контроллера 
– построение топологии 
– построение маршрута через всю сеть 
– первая версия системы генерации правил 
• Следующая версия 0.3 
– Rest API 
– WebUI 
• 0.4 
– Приложения ARP, DHCP 
– Оптимизация производительности 
… 
• 1.0 
– Система управления корпоративной сетью EasyWay [4] 
• 2.0 
– Интеграция с inkernel версией (прозрачно для приложений) 
[4] A. Shalimov, D. Morkovnik, S. Nizovtsev, R. Smeliansky EasyWay: Simplifying and automating enterprise network 
management with SDN/OpenFlow// 10th Central and Eastern European Software Engineering Conference in Russia, 
CEE-SECR 2014б, ACM SIGSOFT, Moscow, Russia.
Что осталось за кадром 
• Какие приложения востребованы 
– интеграция с традиционной сетью (MPLS) 
– интеграция с WiFi сетями 
– Динамическая маршрутизация с учетом QoS 
• Распределенный уровень управления 
• Варианты развертывания OpenFlow сетей 
• Большой список приложений для разработки 
– L2/L3 forwarding, QoS, multipath forwarding, network 
virtualization, anti-DDOS, monitoring, load balancer, ACL, 
firewall, authentication, SPAN,NAT, ARP, DNS, DHCP, BGP, 
verification and troubleshooting, WiFi, OpenStack 
• How to start? Документации по разработке первого 
приложения для RUNOS есть в репозитории.
Заключение 
• Линейка OpenFlow контроллеров: 
– От быстрых до программируемых 
• Проект RUNOS находится в открытом 
доступе 
– OpenFlow контроллер arccn.github.io/runos. 
• Приглашаем всех желающих 
присоединиться к разработке!
Видео об SDN 
• Немного юмора 
– SDN c разных точек зрения 
– http://www.youtube.com/watch?v=GRVygzcXrM0
RUNOS OpenFlow controller (ru)

More Related Content

What's hot

Возможности импортозамещения коммутационного оборудования в сетях нового пок...
Возможности импортозамещения коммутационного оборудования  в сетях нового пок...Возможности импортозамещения коммутационного оборудования  в сетях нового пок...
Возможности импортозамещения коммутационного оборудования в сетях нового пок...ARCCN
 
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКСARCCN
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий ARCCN
 
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...ARCCN
 
Внедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператораВнедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператораARCCN
 
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipARCCN
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNARCCN
 
Исследования SDN в Оренбургском государственном университете: сетевая безопас...
Исследования SDN в Оренбургском государственном университете: сетевая безопас...Исследования SDN в Оренбургском государственном университете: сетевая безопас...
Исследования SDN в Оренбургском государственном университете: сетевая безопас...ARCCN
 
Облачная платформа Cloud Conductor
Облачная платформа Cloud ConductorОблачная платформа Cloud Conductor
Облачная платформа Cloud ConductorARCCN
 
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператораОб одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператораARCCN
 
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетей
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетейПроблематика создания высокодоступной сетевой операционной системы для SDN-сетей
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетейARCCN
 
Учебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССУчебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССARCCN
 
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...ARCCN
 
Типовые сервисы региональной сети передачи данных
Типовые сервисы региональной сети передачи данныхТиповые сервисы региональной сети передачи данных
Типовые сервисы региональной сети передачи данныхARCCN
 
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС ARCCN
 
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...ARCCN
 
Разработки ЦПИКС в области SDN и NFV
Разработки ЦПИКС в области SDN и NFV Разработки ЦПИКС в области SDN и NFV
Разработки ЦПИКС в области SDN и NFV ARCCN
 
Mininet CE
Mininet CEMininet CE
Mininet CEARCCN
 
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV
Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV ARCCN
 
SDN и защищенные квантовые коммуникации
SDN и защищенные квантовые коммуникацииSDN и защищенные квантовые коммуникации
SDN и защищенные квантовые коммуникацииARCCN
 

What's hot (20)

Возможности импортозамещения коммутационного оборудования в сетях нового пок...
Возможности импортозамещения коммутационного оборудования  в сетях нового пок...Возможности импортозамещения коммутационного оборудования  в сетях нового пок...
Возможности импортозамещения коммутационного оборудования в сетях нового пок...
 
Отчет по проектах ЦПИКС
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКС
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий
 
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
 
Внедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператораВнедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператора
 
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
 
Исследования SDN в Оренбургском государственном университете: сетевая безопас...
Исследования SDN в Оренбургском государственном университете: сетевая безопас...Исследования SDN в Оренбургском государственном университете: сетевая безопас...
Исследования SDN в Оренбургском государственном университете: сетевая безопас...
 
Облачная платформа Cloud Conductor
Облачная платформа Cloud ConductorОблачная платформа Cloud Conductor
Облачная платформа Cloud Conductor
 
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператораОб одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
 
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетей
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетейПроблематика создания высокодоступной сетевой операционной системы для SDN-сетей
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетей
 
Учебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССУчебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВСС
 
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
 
Типовые сервисы региональной сети передачи данных
Типовые сервисы региональной сети передачи данныхТиповые сервисы региональной сети передачи данных
Типовые сервисы региональной сети передачи данных
 
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
 
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
 
Разработки ЦПИКС в области SDN и NFV
Разработки ЦПИКС в области SDN и NFV Разработки ЦПИКС в области SDN и NFV
Разработки ЦПИКС в области SDN и NFV
 
Mininet CE
Mininet CEMininet CE
Mininet CE
 
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV
Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV
 
SDN и защищенные квантовые коммуникации
SDN и защищенные квантовые коммуникацииSDN и защищенные квантовые коммуникации
SDN и защищенные квантовые коммуникации
 

Viewers also liked

Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Alexander Shalimov
 
SDN: is it a solution for network security?
SDN: is it a solution for network security?SDN: is it a solution for network security?
SDN: is it a solution for network security?ARCCN
 
SDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeARCCN
 
Презентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможностиПрезентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможностиastroganov
 
A Perspective on the Future of Computer Architecture
A Perspective on the  Future of Computer ArchitectureA Perspective on the  Future of Computer Architecture
A Perspective on the Future of Computer ArchitectureARCCN
 
SOC Cloud Conductor + SLA
SOC  Cloud Conductor + SLASOC  Cloud Conductor + SLA
SOC Cloud Conductor + SLAARCCN
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architectureARCCN
 
SDN&NFV: новые горизонты
SDN&NFV: новые горизонтыSDN&NFV: новые горизонты
SDN&NFV: новые горизонтыARCCN
 
Floodlight OpenFlow DDoS
Floodlight OpenFlow DDoSFloodlight OpenFlow DDoS
Floodlight OpenFlow DDoSYoav Francis
 
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...ARCCN
 
Floodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangFloodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangPatrick Huang
 
IAB Russia Digital Advertisers Barometer - 2015
IAB Russia Digital Advertisers Barometer - 2015IAB Russia Digital Advertisers Barometer - 2015
IAB Russia Digital Advertisers Barometer - 2015Roman Smolyakov
 
Обзор рынка видеорекламы в рунете 2015
Обзор рынка видеорекламы в рунете 2015Обзор рынка видеорекламы в рунете 2015
Обзор рынка видеорекламы в рунете 2015Roman Smolyakov
 

Viewers also liked (15)

Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
 
SDN: is it a solution for network security?
SDN: is it a solution for network security?SDN: is it a solution for network security?
SDN: is it a solution for network security?
 
SDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchange
 
Презентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможностиПрезентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможности
 
Bài 2.2
Bài 2.2Bài 2.2
Bài 2.2
 
A Perspective on the Future of Computer Architecture
A Perspective on the  Future of Computer ArchitectureA Perspective on the  Future of Computer Architecture
A Perspective on the Future of Computer Architecture
 
SDN TEST Suite
SDN TEST SuiteSDN TEST Suite
SDN TEST Suite
 
SOC Cloud Conductor + SLA
SOC  Cloud Conductor + SLASOC  Cloud Conductor + SLA
SOC Cloud Conductor + SLA
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architecture
 
SDN&NFV: новые горизонты
SDN&NFV: новые горизонтыSDN&NFV: новые горизонты
SDN&NFV: новые горизонты
 
Floodlight OpenFlow DDoS
Floodlight OpenFlow DDoSFloodlight OpenFlow DDoS
Floodlight OpenFlow DDoS
 
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
 
Floodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangFloodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huang
 
IAB Russia Digital Advertisers Barometer - 2015
IAB Russia Digital Advertisers Barometer - 2015IAB Russia Digital Advertisers Barometer - 2015
IAB Russia Digital Advertisers Barometer - 2015
 
Обзор рынка видеорекламы в рунете 2015
Обзор рынка видеорекламы в рунете 2015Обзор рынка видеорекламы в рунете 2015
Обзор рынка видеорекламы в рунете 2015
 

Similar to RUNOS OpenFlow controller (ru)

Программируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОДПрограммируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОДCisco Russia
 
SDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьCisco Russia
 
Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети Cisco Russia
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
 
Тестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеARCCN
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетяхCisco Russia
 
Применение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхПрименение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхARCCN
 
Middleware
MiddlewareMiddleware
Middlewaremegakott
 
Cisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Russia
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средстваCisco Russia
 
Approaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemIosif Itkin
 
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1СвязьКомплект
 
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовПрограммируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовCisco Russia
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Многоуровневая плоскость управления Cisco nLight
Многоуровневая плоскость управления Cisco nLightМногоуровневая плоскость управления Cisco nLight
Многоуровневая плоскость управления Cisco nLightCisco Russia
 
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!Cisco Russia
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikExpolink
 

Similar to RUNOS OpenFlow controller (ru) (20)

SDN технологии
SDN технологииSDN технологии
SDN технологии
 
Программируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОДПрограммируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОД
 
SDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использовать
 
Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Тестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стенде
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
 
Применение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхПрименение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетях
 
Middleware
MiddlewareMiddleware
Middleware
 
Cisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePK
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
 
Approaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization System
 
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
 
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовПрограммируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Многоуровневая плоскость управления Cisco nLight
Многоуровневая плоскость управления Cisco nLightМногоуровневая плоскость управления Cisco nLight
Многоуровневая плоскость управления Cisco nLight
 
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
 
45695
4569545695
45695
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
 

RUNOS OpenFlow controller (ru)

  • 1. RUNOS OpenFlow контроллер Александр Шалимов ЦПИКС, МГУ http://arccn.ru/ ashalimov@arccn.ru @alex_shali @arccnnews
  • 2. Что такое SDN/OpenFlow? SDN = Software Defined Networking Основные принципы • Физическое разделение уровня передачи данных от уровня управления сетевых устройств. • Логически централизованное управление. • Программируемость. • Открытый единый интерфейс управления. Преимущества • Упрощение управления сетью (OPEX) • Удешевление оборудования (CAPEX) • Разработка ранее недоступных сервисов Внедрения . . . “SDN means thinking differently about networking”
  • 3. Основы ПКС (SDN/OpenFlow) A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). A B A -> B OpenFlow контроллер хост/клиент хост/клиент коммутатор 1 коммутатор 2 коммутатор 3 коммутатор 4
  • 4. Основы ПКС (SDN/OpenFlow) A B A • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). • Динамическая переконфигурация в случае ошибки сети. B OpenFlow контроллер хост/клиент хост/клиент коммутатор 1 коммутатор 2 коммутатор 3 коммутатор 4
  • 5. Методология сравнения контроллеров [1] • Производительность – максимальное количество запросов на обработку – время обработки запроса при заданной нагрузке • Масштабируемость – изменение показателей производительности при увеличении числа соединений с коммутаторами и при увеличении числа ядер процессора • Надежность, Безопасность [1] A. Shalimov, D. Zuikov, D. Zimarina, V. Pashkov, R. Smeliansky, "Advanced Study of SDN/OpenFlow controllers", Proceedings of the CEE-SECR '13: Central & Eastern European Software Engineering Conference in Russia, ACM SIGSOFT, October 23-25, 2013,
  • 6. Результаты сравнения (2013) • Максимальная производительность 7 000 000 потоков в секунду. • Минимальное время задержки от 50 до 75 мкс. • Недостатки: – Надежность контроллеров вызывала вопросы – Производительность была не достаточна (DC >10M fps)
  • 8. Повышение производительности Самые ресурсоемкие задачи: • Взаимодействие с OpenFlow коммутаторами: – использование многопоточности; – учет загрузки нитей и перебалансировка. • Получение OpenFlow пакетов из канала: – чтение пакетов из памяти сетевой карты, минуя сетевой стек OS Linux; – переключение контекста; – виртуальные адреса.
  • 9. In-kernel контроллер Контроллер был реализован в ядре ОС Linux [2] • Супер производительный – нет переключений контекста при сетевом взаимодействии – меньше времени на работу с виртуальной памятью • Но очень сложно разрабатывать свои приложения – Низкоуровневый язык программирования – Ограниченное число библиотек и средств отладки – Высокий риск “положить” всю систему [2] P. Ivashchenko, A. Shalimov, R. Smeliansky "High performance in-kernel SDN/OpenFlow controller", Proceedings of the 2014 Open Networking Summit Research Track, USENIX, March 3-5, 2014 Santa Clara, USA
  • 10. Производительность (kernel) • Производительность равна 30M fps • Задержка 45us
  • 11. Программный интерфейс к In-kernel controller User space Kernel space Applications Services OpenFlow Applications Services OpenFlow NOX, Pox, Floodlight, OpenDaylight, MUL, etc Applications Services OpenFlow ARCCN +: wide range of applications -: low performance +: fast performance -: no applications What is in the middle? Offload architecture: • Apps are in userspace • Frequently used services is in kernel (e.g., topo) • Communication interface +: wide range of applications +: fast performance [3] Shalimov A., Ivashchenko P. In‐kernel offloading of an SDN/OpenFlow Controller Proceedings of the Modern Networking Technologies (MoNeTec), IEEE, место издания Moscow, Russia, с. 27-29
  • 12. Производительность (offload) I/O throughput (cbench + l2learning), fps Response time, us • Производительность равна 15M fps. • Задержка равна 50us.
  • 13. Интерфейс программирования Memory API to the kernel: • /dev/ctrl – open kernel • ioctl() – subscribe to events • mmap() – get access to shared memory • poll() – read info from the kernel – POLLIN, POOLRDNORM, POLLRDBAND, POLLOUT • write() – flush output buffers l2 learning example code Интерфейс все равно сложный: • Низкоуровневый С • Приложения требуют явной синхронизации между собой • Даже не смотря на то, что теперь можно использовать стандартные библиотеки
  • 14. RUNOS RUNOS = RUssian Network Operating System • Название – RuNOS [рунос] – акцент на российский – RunOS [ранос] – акцент на быстроту • Цель проекта – “Could an OpenFlow controller be both easy to develop applications for and also high performance?” – Разработать систему, которая будет удобна для разработки новых сетевых приложений – Помнить о быстроте, интеграция с решениями ЦПИКС – Объединить все внутренние разработки по приложениям, контроллерам и т.п.
  • 15. Параметры запуска • Задается количество нитей контроллера – для взаимодействия со свитчами – для работы приложений • Список приложений – их параметры (poll-interval) – зафиксировать нить выполнения или выделить в монопольное пользование (pin-to-thread, own-thread) Config (json): “controller”: { “threads”: 4 }, “loader”: { “threads”: 3 }, “link discovery”: { “poll-interval” : 10, “pin-to-thread” : 2 }, “learning switch”: { } …
  • 16. Архитектура Controller Trace Tree Workers Thread pool Инициализация контроллера: 1. Запуск нужного количества нитей 2. Запуск служебных компонент 3. Запуск приложений и распределение их по нитям 4. Определение порядка обработки событий приложениями Apps Logical pipelines
  • 17. Особенности • Подписка на события – явно - packet_in – неявно – switch up/down, port_description, stats. • Два конвейра исполнения – run-to-completion • сортировка приложений при запуске на основе зависимостией – т.н. отложенное выполнение • Система разрешения конфликтов (генерация правил) – Расстановка приоритетов правил, объединение правил – LOAD, MATCH, READ абстракции
  • 18. Реализация Ключевые слова: C++11, QT Основные сторонние компоненты: • libfluid project (_base, _msg) – для взаимодействия со свитчами и разбор OpenFlow 1.3 сообщений • libtins – разбор пакетов внутри OpenFlow сообщений • glog (google log) – логирование, многопоточное • tcmalloc (google performance tools) – альтернативная более быстрая реализация malloc/free • json11 – разбор конфигурационного файла • boost graph – Хранение топологии, поиск маршрута
  • 19. Производительность • Не фокус данной реализации • Производительность libfluid равно 5M fps на 4-х нитях. • В будущем будет переход на in-kernel версию контроллера, как backend для взаимодействия с сетью
  • 20. Описания релизов • Сейчас версия 0.2 – ядро контроллера – построение топологии – построение маршрута через всю сеть – первая версия системы генерации правил • Следующая версия 0.3 – Rest API – WebUI • 0.4 – Приложения ARP, DHCP – Оптимизация производительности … • 1.0 – Система управления корпоративной сетью EasyWay [4] • 2.0 – Интеграция с inkernel версией (прозрачно для приложений) [4] A. Shalimov, D. Morkovnik, S. Nizovtsev, R. Smeliansky EasyWay: Simplifying and automating enterprise network management with SDN/OpenFlow// 10th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2014б, ACM SIGSOFT, Moscow, Russia.
  • 21. Что осталось за кадром • Какие приложения востребованы – интеграция с традиционной сетью (MPLS) – интеграция с WiFi сетями – Динамическая маршрутизация с учетом QoS • Распределенный уровень управления • Варианты развертывания OpenFlow сетей • Большой список приложений для разработки – L2/L3 forwarding, QoS, multipath forwarding, network virtualization, anti-DDOS, monitoring, load balancer, ACL, firewall, authentication, SPAN,NAT, ARP, DNS, DHCP, BGP, verification and troubleshooting, WiFi, OpenStack • How to start? Документации по разработке первого приложения для RUNOS есть в репозитории.
  • 22. Заключение • Линейка OpenFlow контроллеров: – От быстрых до программируемых • Проект RUNOS находится в открытом доступе – OpenFlow контроллер arccn.github.io/runos. • Приглашаем всех желающих присоединиться к разработке!
  • 23. Видео об SDN • Немного юмора – SDN c разных точек зрения – http://www.youtube.com/watch?v=GRVygzcXrM0