Проблематика создания OpenFlow
контроллеров для SDN:
функциональность, производительность, надежность, распред
еленность, безопасность

http://arccn.ru/

Александр Шалимов
ЦПИКС, МГУ

ashalimov@arccn.ru
@alex_shali
@arccnnews
Только факты о ПКС/SDN
Google полностью перевел свою
внутреннию сетевую инфраструктуру
на ПКС/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 2013
2. C.Hong, S.Kandula, R.Mahajan. Achieving high utilization with software-driven WAN. ACM SIGCOMM, 2013
3. http://www.sdncentral.com/market/sdn-market-sizing/2013/04/
Что такое программно-конфигурируемые сети
Программно-Конфигурируемые Сети (Software Defined Networking/SDN) – это
разделение плоскости передачи и управления данными, позволяющее осуществлять
программное управление плоскостью передачи, которое может быть физически или
логически отделено от аппаратных коммутаторов и маршрутизаторов

• Удешевление оборудования (CAPEX)
• Облегчение управления сетью (OPEX)
• Открытость к инновациям
Сети традиционной архитектуры:
• Управления как «черный ящик»
• Закрытые, проприетарные
интерфейсы
• Барьеры для инноваций
• Неспособность удовлетворять все
запросы пользователей

Создание
2007
Создание концепции ПКС
(Stanford&Berkley)

Разработка платформ

Обещания ПКС:
• Разделения плоскости управления
и передачи данных;
• Открытые, независимые от
производителя интерфейсы
• Абстракция плоскости управления
позволяет быстрое внедрение
инноваций
Внерения

2007-2010
2009-2012
Open Source Инструменты и платформы:
Stanford
NOX&POX
GENI, Campuses Networks
FlowVisor, Mininet
Google
Beacon
Amazon

На самом деле ПКС – как
четвертое поколение сотовых
телефонов, только в сфере
сетевых технологий :
• Новые инструменты и функции;
• Простота администрирования;
• Открытость инновациям и
экспериментам;
• Революция на ИТ-рынке

Демонстрация
2008-2012
SIGCOMM
Open Networking Summit

Решения для рынка
2011-201?
Производители
Стартапы
Венчурные инвестиции
Software Defined Networking
App

App

App

Network OS/Controller
App App App

App App App

OS

OS

Forwarding

Forwarding

App App App
OS

Forwarding

4
Software Defined Networking
[central control]

App

App

App

Controller
Protocol
OpenFlow

Usable GUI

OS
Services

Switch

Switch

Switch

5
Маршрутизация в SDN/OpenFlow
A
B

A -> B
A

B
• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).
• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей
стоимостью и удовлетворяющий политикам маршрутизации).
• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).
Маршрутизация в SDN/OpenFlow
A
B

A

B
• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).
• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей
стоимостью и удовлетворяющий политикам маршрутизации).
• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу
и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).
• Динамическая переконфигурация в случае ошибки сети.
Основы OpenFlow
Flow Table
Rule

Action

Rule

Action Счетчики пакетов и байтов
Stats

Rule

Rule
Rule
Switch
Port

MAC
src

Action

Stats

Stats

1.Пересылка пакетов на порт(ы) с перезаписью
заголовка
Action
Stats
2.Принудительная отправка пакета на контроллер
3.Сброс пакета
Action
Stats
4.Свои расширения
MAC
dst

+ mask what fields to match

Eth
type

VLAN
ID

IP
Src

IP
Dst

IP
Prot

TCP
sport

TCP
dport
Примеры правил OpenFlow
Switching
Switch MAC
Port src
*

MAC Eth
dst
type
00:1f:.. *

*

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP
TCP
Action
sport dport

*

*

*

*

IP
Dst

IP
Prot

TCP
TCP
Action
sport dport

*

*

port6

Flow Switching
Switch MAC
Port src

MAC Eth
dst
type

port3 00:20.. 00:1f.. 0800

VLAN IP
ID
Src

vlan1 1.2.3.4 5.6.7.8

4

17264 80

port6

Firewall
Switch MAC
Port src
*

*

MAC Eth
dst
type
*

*

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP
TCP
Action
sport dport

*

*

*

*

*

22

drop
9
Приложения для SDN/OpenFlow контроллера
Широкий набор приложений, как традиционных сетей, так и
инновационные.
• маршрутизация L2/L3 с QOS и многопотоковая маршрутизация
• виртуализация сетевых ресурсов
• анти DDOS
• мониторинг сетевых русурсов
• балансировка нагрузки
• фильтрация трафика
• аутентификация
• SPAN-порты
• NAT, ARP, DNS, DHCP, BGP
Часть сетевых функций, которые раньше требовали отдельного
специализированного устройства, можно реализовать в OpenFlow
коммутаторе: ACL/Firewall, NAT, Load Balancing
Управления корпоративными сетями
Традиционные сети:
• Сетевые инженеры руками переводят высокоуровневые
политики в низкоуровневые команды
• Ручная настройка всех сетевых устройств
• Ограниченный инструментарий по управлению сетевыми
устройствами
• Переучивание под каждого вендора
Сети ПКС:
• Управление и мониторинг из единого центра
• Удобные средства по управлению
• Новый уровень администрирования сетей
ПКС предлагает новые возможности снижения OPEX!
Пример
Пример
Пример
Пример
ДЕМО
Существующие ПКС-контроллеры
•
•
•
•
•
•
•
•
•

NOX-Classic
NOX
Beacon
Floodlight
SNAC
Ryu
POX
Maestro
Trema

•
•
•
•
•
•
•
•
•

Helios
FlowER
MUL
McNettle
NodeFlow
Onix
SOX
Kandoo
Jaxon

• Cisco ONE controller
• Nicira NVP Controller
• Big Network
Controller
• IBM Programmable
Network Controller
• HP SDN Controller
• NEC Programmable
Flow

17
Экспериментальное исследование
• Производительность
– максимальное количество запросов на обработку
– время обработки запроса при заданной нагрузке

• Масштабируемость
– изменение показателей производительности при
увеличении числа соединений с коммутаторами и при
увеличении числа ядер процессора

• Надежность
– количество отказов за время тестирования при заданном
профиле нагрузок

• Безопасность
– устойчивость к некорректно сформированным сообщениям
протокола OpenFlow
18
Стенд

5/30/2013

19
Результаты экспериментов
• Максимальная
производительность
7 000 000 потоков в
секунду.

• Минимальное время задержки от 50 до 75 мкс.
• При длительной работе все контроллеры теряли полученные
сообщения и закрывали соединений с коммутаторами.
• Все контроллеры не способны обрабатывать некорректно
сформированные сообщения.
20
Архитектура ПКС-контроллера
Повышение производительности
Самые ресурсоемкие задачи:
• Взаимодействие с OpenFlow коммутаторами:
– использование многопоточности;
– учет загрузки нитей и перебалансировка.

• Получение OpenFlow пакетов из канала:
– чтение пакетов из памяти сетевой карты, минуя
сетевой стек OS Linux;
– переключение контекста;
– виртуальные адреса.
ARCCN OpenFlow Controller
ARCCN

Спецификация:
• OpenFlow 1.3.
• 50M потоков в секунде.
• 45 us время отклика.
• Поддержка 1000 свитчей.

Приложения: L2/L3
forwarding, QoS, multipath
forwarding, network virtualization, antiDDOS, monitoring, load
balancer, ACL, firewall, authentication, SPAN,N
AT, 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/
Проблематика создания OpenFlow контроллеров для SDN

Проблематика создания OpenFlow контроллеров для SDN

  • 1.
    Проблематика создания OpenFlow контроллеровдля SDN: функциональность, производительность, надежность, распред еленность, безопасность http://arccn.ru/ Александр Шалимов ЦПИКС, МГУ ashalimov@arccn.ru @alex_shali @arccnnews
  • 2.
    Только факты оПКС/SDN Google полностью перевел свою внутреннию сетевую инфраструктуру на ПКС/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 2013 2. C.Hong, S.Kandula, R.Mahajan. Achieving high utilization with software-driven WAN. ACM SIGCOMM, 2013 3. http://www.sdncentral.com/market/sdn-market-sizing/2013/04/
  • 3.
    Что такое программно-конфигурируемыесети Программно-Конфигурируемые Сети (Software Defined Networking/SDN) – это разделение плоскости передачи и управления данными, позволяющее осуществлять программное управление плоскостью передачи, которое может быть физически или логически отделено от аппаратных коммутаторов и маршрутизаторов • Удешевление оборудования (CAPEX) • Облегчение управления сетью (OPEX) • Открытость к инновациям Сети традиционной архитектуры: • Управления как «черный ящик» • Закрытые, проприетарные интерфейсы • Барьеры для инноваций • Неспособность удовлетворять все запросы пользователей Создание 2007 Создание концепции ПКС (Stanford&Berkley) Разработка платформ Обещания ПКС: • Разделения плоскости управления и передачи данных; • Открытые, независимые от производителя интерфейсы • Абстракция плоскости управления позволяет быстрое внедрение инноваций Внерения 2007-2010 2009-2012 Open Source Инструменты и платформы: Stanford NOX&POX GENI, Campuses Networks FlowVisor, Mininet Google Beacon Amazon На самом деле ПКС – как четвертое поколение сотовых телефонов, только в сфере сетевых технологий : • Новые инструменты и функции; • Простота администрирования; • Открытость инновациям и экспериментам; • Революция на ИТ-рынке Демонстрация 2008-2012 SIGCOMM Open Networking Summit Решения для рынка 2011-201? Производители Стартапы Венчурные инвестиции
  • 4.
    Software Defined Networking App App App NetworkOS/Controller App App App App App App OS OS Forwarding Forwarding App App App OS Forwarding 4
  • 5.
    Software Defined Networking [centralcontrol] App App App Controller Protocol OpenFlow Usable GUI OS Services Switch Switch Switch 5
  • 6.
    Маршрутизация в SDN/OpenFlow A B A-> B A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).
  • 7.
    Маршрутизация в SDN/OpenFlow A B A B •Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). • Динамическая переконфигурация в случае ошибки сети.
  • 8.
    Основы OpenFlow Flow Table Rule Action Rule ActionСчетчики пакетов и байтов Stats Rule Rule Rule Switch Port MAC src Action Stats Stats 1.Пересылка пакетов на порт(ы) с перезаписью заголовка Action Stats 2.Принудительная отправка пакета на контроллер 3.Сброс пакета Action Stats 4.Свои расширения MAC dst + mask what fields to match Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport
  • 9.
    Примеры правил OpenFlow Switching SwitchMAC Port src * MAC Eth dst type 00:1f:.. * * VLAN IP ID Src IP Dst IP Prot TCP TCP Action sport dport * * * * IP Dst IP Prot TCP TCP Action sport dport * * port6 Flow Switching Switch MAC Port src MAC Eth dst type port3 00:20.. 00:1f.. 0800 VLAN IP ID Src vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6 Firewall Switch MAC Port src * * MAC Eth dst type * * VLAN IP ID Src IP Dst IP Prot TCP TCP Action sport dport * * * * * 22 drop 9
  • 10.
    Приложения для SDN/OpenFlowконтроллера Широкий набор приложений, как традиционных сетей, так и инновационные. • маршрутизация L2/L3 с QOS и многопотоковая маршрутизация • виртуализация сетевых ресурсов • анти DDOS • мониторинг сетевых русурсов • балансировка нагрузки • фильтрация трафика • аутентификация • SPAN-порты • NAT, ARP, DNS, DHCP, BGP Часть сетевых функций, которые раньше требовали отдельного специализированного устройства, можно реализовать в OpenFlow коммутаторе: ACL/Firewall, NAT, Load Balancing
  • 11.
    Управления корпоративными сетями Традиционныесети: • Сетевые инженеры руками переводят высокоуровневые политики в низкоуровневые команды • Ручная настройка всех сетевых устройств • Ограниченный инструментарий по управлению сетевыми устройствами • Переучивание под каждого вендора Сети ПКС: • Управление и мониторинг из единого центра • Удобные средства по управлению • Новый уровень администрирования сетей ПКС предлагает новые возможности снижения OPEX!
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
    Экспериментальное исследование • Производительность –максимальное количество запросов на обработку – время обработки запроса при заданной нагрузке • Масштабируемость – изменение показателей производительности при увеличении числа соединений с коммутаторами и при увеличении числа ядер процессора • Надежность – количество отказов за время тестирования при заданном профиле нагрузок • Безопасность – устойчивость к некорректно сформированным сообщениям протокола OpenFlow 18
  • 19.
  • 20.
    Результаты экспериментов • Максимальная производительность 7000 000 потоков в секунду. • Минимальное время задержки от 50 до 75 мкс. • При длительной работе все контроллеры теряли полученные сообщения и закрывали соединений с коммутаторами. • Все контроллеры не способны обрабатывать некорректно сформированные сообщения. 20
  • 21.
  • 22.
    Повышение производительности Самые ресурсоемкиезадачи: • Взаимодействие с OpenFlow коммутаторами: – использование многопоточности; – учет загрузки нитей и перебалансировка. • Получение OpenFlow пакетов из канала: – чтение пакетов из памяти сетевой карты, минуя сетевой стек OS Linux; – переключение контекста; – виртуальные адреса.
  • 23.
    ARCCN OpenFlow Controller ARCCN Спецификация: •OpenFlow 1.3. • 50M потоков в секунде. • 45 us время отклика. • Поддержка 1000 свитчей. Приложения: L2/L3 forwarding, QoS, multipath forwarding, network virtualization, antiDDOS, monitoring, load balancer, ACL, firewall, authentication, SPAN,N AT, ARP, DNS, DHCP, BGP.
  • 24.
  • 25.
    Ключевые задачи • Резервирование –холодное, теплое, горячее; – Без OF, OF 1.0, OF 1.2+. • Поддержание согласованного состояния сети – протоколы взаимодействия; – выбор правильной абстрации. • Миграция коммутаторов • Запуск распределенных сетевых приложений
  • 26.
    Как перейти наПКС? • Широкий набор обучающих инструментов – Mininet – Pox, Floodlight, OpenDayLight – FlowVisor • http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial • Разработана методика постепенного перехода на ПКС в корпоративных сетях – достаточно заменить 2% сетевых устройств, чтобы почувствовать основные преимущества
  • 27.
    Зачем это нам? “Россияи ПКС – это идеальный брак, который должен состояться на небесах” Nick McKeown
  • 28.
    Полезная информация • OpenNetworking Foundation – www.opennetworking.org • Центр Прикладных Исследований Компьютерных сетей – www.arccn.ru • Консорциум “ПКС-технологии в научнообразовательной среде” – http://lvk.cs.msu.su/sdn_consortium/

Editor's Notes

  • #4 В самом общем смысле суть программно-конфигурируемых сетей/ПКС заключается в разделение уровня управления сетевыми устройствами (например, определение маршрута и качества передачи данных) от уровня передачи данных (т.е. пересылка пакета с одного порта на другой согласно таблице коммутации). В этом случае управление передачей данных происходит с помощью специального программного обеспечения, так называемого контроллера, работающего на отдельном компьютере.Контроллер – это выделенный сервер, на котором работает специальное программное обеспечение, состоящие из сетевой операционной системы и сетевых управляющих приложений. Сетевая операционная система представляет собой фреймворк, который взаимодействует с коммутирующим оборудованием и предоставляет интерфейс для сетевых приложений по контролю и управлению сетью целиком. Сетевая операционная система не управляет сетью сама по себе, она предоставляет интерфейс прикладного программирования для сетевых приложений, которые уже в свою очередь реализуют функциональность по управлению сетью.
  • #18 Причиныустаревшие результаты исследованийнебольшая выборка контроллеровнеобъективность результатовразличия в методиках тестированиянебольшой набор исследуемых характеристик
  • #28 «Россия и SDN – это идеальный брак, который должен состояться на небесах» -  заявил Ник МакКеон, объясняя, что Россия, с ее традиционно сильной школой вычислительной математики и кибернетики  и лучшими программистами в мире, является плодородной почвой для внедрения и развития ПКС- технологии.