Проблематика создания openflow контроллеров для sdn
DESCRIPTION
TRANSCRIPT
Проблематика создания OpenFlow контроллеров для SDN:
функциональность, производительность, надежность, распределенность, безопасность
Александр ШалимовЦПИКС, МГУhttp://arccn.ru/
@alex_shali
@arccnnews
Только факты о ПКС/SDNGoogle полностью перевел свою
внутреннию сетевую инфраструктуру на ПКС/SDN в 2012 году.1
Microsoft перешел на 80% и в ближайшее время планирует полностью завершить переход на ПКС/SDN.2
Рынок ПКС будет показывать темпы роста не менее 60% в год и к 2018 г. достигнет объема $35 млрд (с текущих $252 млн).3
1. S.Jain, A.Kumar, S.Mandal. B4: experience with a globally-deployed software defined wan. ACM SIGCOMM 20132. C.Hong, S.Kandula, R.Mahajan. Achieving high utilization with software-driven WAN. ACM SIGCOMM, 20133. http://www.sdncentral.com/market/sdn-market-sizing/2013/04/
Что такое программно-конфигурируемые сети
Сети традиционной архитектуры:
• Управления как «черный ящик»• Закрытые, проприетарные
интерфейсы• Барьеры для инноваций• Неспособность удовлетворять все
запросы пользователей
Обещания ПКС:
• Разделения плоскости управления и передачи данных;
• Открытые, независимые от производителя интерфейсы
• Абстракция плоскости управления позволяет быстрое внедрение инноваций
На самом деле ПКС – как четвертое поколение сотовых телефонов, только в сфере сетевых технологий :
• Новые инструменты и функции;• Простота администрирования;• Открытость инновациям и
экспериментам;• Революция на ИТ-рынке
2007Создание концепции ПКС
(Stanford&Berkley)
2007-2010Open Source Инструменты и платформы:
NOX&POXFlowVisor, Mininet
Beacon
Создание Разработка платформ Внерения Демонстрация Решения для рынка
2009-2012Stanford
GENI, Campuses NetworksGoogleAmazon
2008-2012SIGCOMM
Open Networking Summit
2011-201?Производители
СтартапыВенчурные инвестиции
Программно-Конфигурируемые Сети (Software Defined Networking/SDN) – это
разделение плоскости передачи и управления данными, позволяющее осуществлять
программное управление плоскостью передачи, которое может быть физически или
логически отделено от аппаратных коммутаторов и маршрутизаторов
• Удешевление оборудования (CAPEX)• Облегчение управления сетью (OPEX)• Открытость к инновациям
4
Forwarding
OS
App App App
Forwarding
OS
App App App
Forwarding
OS
App App App
Network OS/Controller
App App App
Software Defined Networking
5
Switch Switch
Switch
Controller
App App App
ProtocolOpenFlow
OS Services
Usable GUI
[central control]Software Defined Networking
Маршрутизация в SDN/OpenFlow
A
B• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей
стоимостью и удовлетворяющий политикам маршрутизации).• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).
A
B
A -> B
Маршрутизация в SDN/OpenFlow
A
B• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей
стоимостью и удовлетворяющий политикам маршрутизации).• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).• Динамическая переконфигурация в случае ошибки сети.
A
B
Rule Action Stats
Rule Action Stats
Rule Action Stats
Rule Action Stats
Rule Action Stats
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport
+ mask what fields to match
1.Пересылка пакетов на порт(ы) с перезаписью заголовка
2.Принудительная отправка пакета на контроллер3.Сброс пакета4.Свои расширения
Счетчики пакетов и байтов
Flow Table
Основы OpenFlow
9
Примеры правил OpenFlowSwitching
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* 00:1f:.. * * * * * * * port6
Flow Switching
port3
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6
Firewall
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * * * * * * * 22 drop
Приложения для SDN/OpenFlow контроллера
Широкий набор приложений, как традиционных сетей, так и инновационные.• маршрутизация L2/L3 с QOS и многопотоковая маршрутизация• виртуализация сетевых ресурсов• анти DDOS• мониторинг сетевых русурсов• балансировка нагрузки• фильтрация трафика• аутентификация• SPAN-порты• NAT, ARP, DNS, DHCP, BGP
Часть сетевых функций, которые раньше требовали отдельного специализированного устройства, можно реализовать в OpenFlow коммутаторе: ACL/Firewall, NAT, Load Balancing
Традиционные сети:• Сетевые инженеры руками переводят высокоуровневые политики в
низкоуровневые команды• Ручная настройка всех сетевых устройств• Ограниченный инструментарий по управлению сетевыми
устройствами• Переучивание под каждого вендора
Сети ПКС:• Управление и мониторинг из единого центра• Удобные средства по управлению• Новый уровень администрирования сетей
ПКС предлагает новые возможности снижения OPEX!
Управления корпоративными сетями
Пример
Пример
Пример
Пример
ДЕМО
17
Существующие ПКС-контроллеры
• NOX-Classic• NOX• Beacon• Floodlight• SNAC• Ryu• POX• Maestro• Trema
• Cisco ONE controller• Nicira NVP Controller• Big Network
Controller• IBM Programmable
Network Controller • HP SDN Controller• NEC Programmable
Flow
• Helios• FlowER• MUL• McNettle• NodeFlow• Onix• SOX• Kandoo• Jaxon
18
Экспериментальное исследование
• Производительность– максимальное количество запросов на обработку– время обработки запроса при заданной нагрузке
• Масштабируемость– изменение показателей производительности при увеличении
числа соединений с коммутаторами и при увеличении числа ядер процессора
• Надежность– количество отказов за время тестирования при заданном профиле
нагрузок• Безопасность
– устойчивость к некорректно сформированным сообщениям протокола OpenFlow
19
Стенд
5/30/2013
20
Результаты экспериментов
• Минимальное время задержки от 50 до 75 мкс. • При длительной работе все контроллеры теряли полученные
сообщения и закрывали соединений с коммутаторами.• Все контроллеры не способны обрабатывать некорректно
сформированные сообщения.
• Максимальная производительность 7 000 000 потоков в секунду.
Архитектура ПКС-контроллера
Повышение производительности
Самые ресурсоемкие задачи:• Взаимодействие с OpenFlow коммутаторами:
– использование многопоточности;– учет загрузки нитей и перебалансировка.
• Получение OpenFlow пакетов из канала:– чтение пакетов из памяти сетевой карты, минуя
сетевой стек OS Linux;– переключение контекста;– виртуальные адреса.
ARCCN OpenFlow Controller
ARCCN
Спецификация:• OpenFlow 1.3.• 50M потоков в секунде.• 45 us время отклика.• Поддержка 1000 свитчей.
Приложения: L2/L3 forwarding, QoS, multipath forwarding, network virtualization, anti-DDOS, monitoring, load balancer, ACL, firewall, authentication, SPAN,NAT, ARP, DNS, DHCP, BGP.
Распределенное управление
Ключевые задачи• Резервирование
– холодное, теплое, горячее;– Без OF, OF 1.0, OF 1.2+.
• Поддержание согласованного состояния сети– протоколы взаимодействия;– выбор правильной абстрации.
• Миграция коммутаторов
• Запуск распределенных сетевых приложений
Как перейти на ПКС?
• Широкий набор обучающих инструментов– Mininet– Pox, Floodlight, OpenDayLight– FlowVisor
• http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial
• Разработана методика постепенного перехода на ПКС в корпоративных сетях– достаточно заменить 2% сетевых устройств, чтобы
почувствовать основные преимущества
Зачем это нам?“Россия и ПКС – это идеальный брак, который должен
состояться на небесах”Nick McKeown
Полезная информация
• Open Networking Foundation– www.opennetworking.org
• Центр Прикладных Исследований Компьютерных сетей– www.arccn.ru
• Консорциум “ПКС-технологии в научно-образовательной среде”– http://lvk.cs.msu.su/sdn_consortium/