RUNOS OpenFlow controller (ru)

Alexander Shalimov
Alexander ShalimovLead Programmer-Researcher at Applied Research Center for Computer Networks
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)
1 de 24

Recomendados

Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в... por
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...ARCCN
339 vistas18 diapositivas
Практическое применение SDN/NFV в современных сетях: от CPE до Internet eXchange por
Практическое применение SDN/NFV в современных сетях: от CPE до Internet eXchangeПрактическое применение SDN/NFV в современных сетях: от CPE до Internet eXchange
Практическое применение SDN/NFV в современных сетях: от CPE до Internet eXchangeARCCN
3K vistas18 diapositivas
Отечественные решения на базе SDN и NFV для телеком-операторов por
Отечественные решения на базе SDN и NFV для телеком-операторовОтечественные решения на базе SDN и NFV для телеком-операторов
Отечественные решения на базе SDN и NFV для телеком-операторовARCCN
14.2K vistas15 diapositivas
EZchip Open Flow switch by ARCCN por
EZchip Open Flow switch by ARCCN  EZchip Open Flow switch by ARCCN
EZchip Open Flow switch by ARCCN ARCCN
4.2K vistas4 diapositivas
Создание и развитие отечественной платформы с открытым программным кодом для ... por
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...ARCCN
812 vistas33 diapositivas
SDN: возможности и реалии por
SDN: возможности и реалииSDN: возможности и реалии
SDN: возможности и реалииARCCN
2.6K vistas44 diapositivas

Más contenido relacionado

La actualidad más candente

Возможности импортозамещения коммутационного оборудования в сетях нового пок... por
Возможности импортозамещения коммутационного оборудования  в сетях нового пок...Возможности импортозамещения коммутационного оборудования  в сетях нового пок...
Возможности импортозамещения коммутационного оборудования в сетях нового пок...ARCCN
297 vistas13 diapositivas
Отчет по проектах ЦПИКС por
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКСARCCN
468 vistas15 diapositivas
Управление корпоративной сетью на основе SDN-технологий por
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий ARCCN
1.5K vistas42 diapositivas
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ... por
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...ARCCN
3.7K vistas22 diapositivas
Внедрение SDN в сети телеком-оператора por
Внедрение SDN в сети телеком-оператораВнедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператораARCCN
325 vistas10 diapositivas
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip por
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipARCCN
577 vistas16 diapositivas

La actualidad más candente(20)

Возможности импортозамещения коммутационного оборудования в сетях нового пок... por ARCCN
Возможности импортозамещения коммутационного оборудования  в сетях нового пок...Возможности импортозамещения коммутационного оборудования  в сетях нового пок...
Возможности импортозамещения коммутационного оборудования в сетях нового пок...
ARCCN297 vistas
Отчет по проектах ЦПИКС por ARCCN
Отчет по проектах ЦПИКСОтчет по проектах ЦПИКС
Отчет по проектах ЦПИКС
ARCCN468 vistas
Управление корпоративной сетью на основе SDN-технологий por ARCCN
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий
ARCCN1.5K vistas
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ... por ARCCN
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
Универсальный контроллер для сетей WiFI высокой плотности и его интеграция с ...
ARCCN3.7K vistas
Внедрение SDN в сети телеком-оператора por ARCCN
Внедрение SDN в сети телеком-оператораВнедрение SDN в сети телеком-оператора
Внедрение SDN в сети телеком-оператора
ARCCN325 vistas
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip por ARCCN
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
ARCCN577 vistas
Проблематика создания OpenFlow контроллеров для SDN por ARCCN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
ARCCN2.7K vistas
Исследования SDN в Оренбургском государственном университете: сетевая безопас... por ARCCN
Исследования SDN в Оренбургском государственном университете: сетевая безопас...Исследования SDN в Оренбургском государственном университете: сетевая безопас...
Исследования SDN в Оренбургском государственном университете: сетевая безопас...
ARCCN672 vistas
Облачная платформа Cloud Conductor por ARCCN
Облачная платформа Cloud ConductorОблачная платформа Cloud Conductor
Облачная платформа Cloud Conductor
ARCCN388 vistas
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора por ARCCN
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператораОб одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
Об одном подходе переноса функциональности CPE устройств в ЦОД телеком оператора
ARCCN220 vistas
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетей por ARCCN
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетейПроблематика создания высокодоступной сетевой операционной системы для SDN-сетей
Проблематика создания высокодоступной сетевой операционной системы для SDN-сетей
ARCCN670 vistas
Учебно-методическая работа по тематике ПКС и ВСС por ARCCN
Учебно-методическая работа по тематике ПКС и ВССУчебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВСС
ARCCN526 vistas
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо... por ARCCN
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
Программно-конфигурируемые сети и Виртуализация сетевых сервисов – новый вызо...
ARCCN2.8K vistas
Типовые сервисы региональной сети передачи данных por ARCCN
Типовые сервисы региональной сети передачи данныхТиповые сервисы региональной сети передачи данных
Типовые сервисы региональной сети передачи данных
ARCCN391 vistas
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС por ARCCN
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
Многопоточная маршрутизация в SDN Евгений Чемерицкий, Евгений Степанов, ЦПИКС
ARCCN649 vistas
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ... por ARCCN
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
Методика стратегического управления развитием SDN&NFV-сети оператора связи и ...
ARCCN249 vistas
Разработки ЦПИКС в области SDN и NFV por ARCCN
Разработки ЦПИКС в области SDN и NFV Разработки ЦПИКС в области SDN и NFV
Разработки ЦПИКС в области SDN и NFV
ARCCN706 vistas
Mininet CE por ARCCN
Mininet CEMininet CE
Mininet CE
ARCCN2.5K vistas
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV por ARCCN
Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV Импортозамещение. Отечественное ПО на основе сетей нового поколения:  SDN&NFV
Импортозамещение. Отечественное ПО на основе сетей нового поколения: SDN&NFV
ARCCN7.3K vistas
SDN и защищенные квантовые коммуникации por ARCCN
SDN и защищенные квантовые коммуникацииSDN и защищенные квантовые коммуникации
SDN и защищенные квантовые коммуникации
ARCCN417 vistas

Destacado

Runos OpenFlow Controller (eng) por
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Alexander Shalimov
3.1K vistas28 diapositivas
SDN: is it a solution for network security? por
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
1.5K vistas40 diapositivas
SDN & NFV: от абонента до Internet eXchange por
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeARCCN
774 vistas16 diapositivas
Презентация по программе Вывоз Мусора - новые возможности por
Презентация по программе Вывоз Мусора - новые возможностиПрезентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможностиastroganov
10.9K vistas13 diapositivas
Bài 2.2 por
Bài 2.2Bài 2.2
Bài 2.2nhungcuong2210
314 vistas10 diapositivas
A Perspective on the Future of Computer Architecture por
A Perspective on the  Future of Computer ArchitectureA Perspective on the  Future of Computer Architecture
A Perspective on the Future of Computer ArchitectureARCCN
2K vistas55 diapositivas

Destacado(15)

SDN: is it a solution for network security? por ARCCN
SDN: is it a solution for network security?SDN: is it a solution for network security?
SDN: is it a solution for network security?
ARCCN1.5K vistas
SDN & NFV: от абонента до Internet eXchange por ARCCN
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchange
ARCCN774 vistas
Презентация по программе Вывоз Мусора - новые возможности por astroganov
Презентация по программе Вывоз Мусора - новые возможностиПрезентация по программе Вывоз Мусора - новые возможности
Презентация по программе Вывоз Мусора - новые возможности
astroganov10.9K vistas
A Perspective on the Future of Computer Architecture por ARCCN
A Perspective on the  Future of Computer ArchitectureA Perspective on the  Future of Computer Architecture
A Perspective on the Future of Computer Architecture
ARCCN2K vistas
SDN TEST Suite por JungIn Jung
SDN TEST SuiteSDN TEST Suite
SDN TEST Suite
JungIn Jung2.6K vistas
SOC Cloud Conductor + SLA por ARCCN
SOC  Cloud Conductor + SLASOC  Cloud Conductor + SLA
SOC Cloud Conductor + SLA
ARCCN1.5K vistas
Radical step in computer architecture por ARCCN
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architecture
ARCCN1.8K vistas
SDN&NFV: новые горизонты por ARCCN
SDN&NFV: новые горизонтыSDN&NFV: новые горизонты
SDN&NFV: новые горизонты
ARCCN1.2K vistas
Floodlight OpenFlow DDoS por Yoav Francis
Floodlight OpenFlow DDoSFloodlight OpenFlow DDoS
Floodlight OpenFlow DDoS
Yoav Francis9K vistas
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни... por ARCCN
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
Цели и задачи МИЭТ, как участника Консорциума на примере кафедры "Телекоммуни...
ARCCN398 vistas
Floodlight overview & performance comparison by patrick huang por Patrick Huang
Floodlight overview & performance comparison by patrick huangFloodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huang
Patrick Huang3.2K vistas
IAB Russia Digital Advertisers Barometer - 2015 por Roman Smolyakov
IAB Russia Digital Advertisers Barometer - 2015IAB Russia Digital Advertisers Barometer - 2015
IAB Russia Digital Advertisers Barometer - 2015
Roman Smolyakov10.3K vistas
Обзор рынка видеорекламы в рунете 2015 por Roman Smolyakov
Обзор рынка видеорекламы в рунете 2015Обзор рынка видеорекламы в рунете 2015
Обзор рынка видеорекламы в рунете 2015
Roman Smolyakov3.6K vistas

Similar a RUNOS OpenFlow controller (ru)

SDN технологии por
SDN технологииSDN технологии
SDN технологииAlexander Shalimov
135.5K vistas30 diapositivas
Программируемые и программно определяемые сети ЦОД por
Программируемые и программно определяемые сети ЦОДПрограммируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОДCisco Russia
844 vistas30 diapositivas
SDN: Что это? Что оно нам дает и как его использовать por
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьCisco Russia
1.3K vistas39 diapositivas
Программируемые и программно- определяемые сети por
Программируемые и программно- определяемые сети Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети Cisco Russia
1.2K vistas41 diapositivas
TMPA-2013 Sartakov: Genode por
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
638 vistas35 diapositivas
Тестирование QoS на экспериментальном стенде por
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеARCCN
1K vistas13 diapositivas

Similar a RUNOS OpenFlow controller (ru)(20)

Программируемые и программно определяемые сети ЦОД por Cisco Russia
Программируемые и программно определяемые сети ЦОДПрограммируемые и программно определяемые сети ЦОД
Программируемые и программно определяемые сети ЦОД
Cisco Russia 844 vistas
SDN: Что это? Что оно нам дает и как его использовать por Cisco Russia
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использовать
Cisco Russia 1.3K vistas
Программируемые и программно- определяемые сети por Cisco Russia
Программируемые и программно- определяемые сети Программируемые и программно- определяемые сети
Программируемые и программно- определяемые сети
Cisco Russia 1.2K vistas
TMPA-2013 Sartakov: Genode por Iosif Itkin
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
Iosif Itkin638 vistas
Тестирование QoS на экспериментальном стенде por ARCCN
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стенде
ARCCN1K vistas
SDN в корпоративных сетях por Cisco Russia
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
Cisco Russia 823 vistas
Применение технологий SDN в кампусных сетях por ARCCN
Применение технологий SDN в кампусных сетяхПрименение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетях
ARCCN895 vistas
Middleware por megakott
MiddlewareMiddleware
Middleware
megakott1.5K vistas
Cisco Software Defined Networks (SDN) и OnePK por Cisco Russia
Cisco Software Defined Networks (SDN) и OnePKCisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePK
Cisco Russia 1.4K vistas
IT-инфраструктура. FAQ для разработчика por Mikhail Chinkov
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov267 vistas
Автоматизация: технологии и средства por Cisco Russia
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
Cisco Russia 183 vistas
Approaches to the Fragmentation of a Paravirtualization System por Iosif Itkin
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization System
Iosif Itkin395 vistas
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1 por СвязьКомплект
Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1Решения для мониторинга ИТ-инфраструктуры.  Как правильно сделать выбор? Часть 1
Решения для мониторинга ИТ-инфраструктуры. Как правильно сделать выбор? Часть 1
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов por Cisco Russia
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовПрограммируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Cisco Russia 813 vistas
Другая виртуализация por Yandex
Другая виртуализацияДругая виртуализация
Другая виртуализация
Yandex1.6K vistas
Многоуровневая плоскость управления Cisco nLight por Cisco Russia
Многоуровневая плоскость управления Cisco nLightМногоуровневая плоскость управления Cisco nLight
Многоуровневая плоскость управления Cisco nLight
Cisco Russia 523 vistas
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?! por Cisco Russia
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Программируемая сеть, думающая за вас: ночной кошмар или светлое будущее?!
Cisco Russia 1.4K vistas
Инфрраструктура ЦОД - интерконнект от Qlogik por Expolink
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
Expolink424 vistas

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