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

29
Проблематика создания OpenFlow контроллеров для SDN: функциональность, производительность, надежность, распределенность, безопасность Александр Шалимов ЦПИКС, МГУ http://arccn .ru/ ashalimov@arccn. ru @alex_shali @arccnnews

Upload: arccn

Post on 13-Nov-2014

1.205 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

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

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

функциональность, производительность, надежность, распределенность, безопасность

Александр ШалимовЦПИКС, МГУhttp://arccn.ru/

[email protected]

@alex_shali

@arccnnews

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

Только факты о ПКС/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/

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

Что такое программно-конфигурируемые сети

Сети традиционной архитектуры:

• Управления как «черный ящик»• Закрытые, проприетарные

интерфейсы• Барьеры для инноваций• Неспособность удовлетворять все

запросы пользователей

Обещания ПКС:

• Разделения плоскости управления и передачи данных;

• Открытые, независимые от производителя интерфейсы

• Абстракция плоскости управления позволяет быстрое внедрение инноваций

На самом деле ПКС – как четвертое поколение сотовых телефонов, только в сфере сетевых технологий :

• Новые инструменты и функции;• Простота администрирования;• Открытость инновациям и

экспериментам;• Революция на ИТ-рынке

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)• Открытость к инновациям

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

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

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

5

Switch Switch

Switch

Controller

App App App

ProtocolOpenFlow

OS Services

Usable GUI

[central control]Software Defined Networking

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

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

A

B• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей

стоимостью и удовлетворяющий политикам маршрутизации).• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу

и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).

A

B

A -> B

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

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

A

B• Неизвестный пакет отправляется на контроллер (OF_PACKET_IN).• Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей

стоимостью и удовлетворяющий политикам маршрутизации).• Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу

и обратный маршрут (OF_PACKET_OUT/FLOW_MOD).• Динамическая переконфигурация в случае ошибки сети.

A

B

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

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

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

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

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

Приложения для SDN/OpenFlow контроллера

Широкий набор приложений, как традиционных сетей, так и инновационные.• маршрутизация L2/L3 с QOS и многопотоковая маршрутизация• виртуализация сетевых ресурсов• анти DDOS• мониторинг сетевых русурсов• балансировка нагрузки• фильтрация трафика• аутентификация• SPAN-порты• NAT, ARP, DNS, DHCP, BGP

Часть сетевых функций, которые раньше требовали отдельного специализированного устройства, можно реализовать в OpenFlow коммутаторе: ACL/Firewall, NAT, Load Balancing

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

Традиционные сети:• Сетевые инженеры руками переводят высокоуровневые политики в

низкоуровневые команды• Ручная настройка всех сетевых устройств• Ограниченный инструментарий по управлению сетевыми

устройствами• Переучивание под каждого вендора

Сети ПКС:• Управление и мониторинг из единого центра• Удобные средства по управлению• Новый уровень администрирования сетей

ПКС предлагает новые возможности снижения OPEX!

Управления корпоративными сетями

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

Пример

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

Пример

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

Пример

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

Пример

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

ДЕМО

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

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

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

18

Экспериментальное исследование

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

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

числа соединений с коммутаторами и при увеличении числа ядер процессора

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

нагрузок• Безопасность

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

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

19

Стенд

5/30/2013

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

20

Результаты экспериментов

• Минимальное время задержки от 50 до 75 мкс. • При длительной работе все контроллеры теряли полученные

сообщения и закрывали соединений с коммутаторами.• Все контроллеры не способны обрабатывать некорректно

сформированные сообщения.

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

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

Архитектура ПКС-контроллера

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

Повышение производительности

Самые ресурсоемкие задачи:• Взаимодействие с OpenFlow коммутаторами:

– использование многопоточности;– учет загрузки нитей и перебалансировка.

• Получение OpenFlow пакетов из канала:– чтение пакетов из памяти сетевой карты, минуя

сетевой стек OS Linux;– переключение контекста;– виртуальные адреса.

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

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.

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

Распределенное управление

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

Ключевые задачи• Резервирование

– холодное, теплое, горячее;– Без OF, OF 1.0, OF 1.2+.

• Поддержание согласованного состояния сети– протоколы взаимодействия;– выбор правильной абстрации.

• Миграция коммутаторов

• Запуск распределенных сетевых приложений

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

Как перейти на ПКС?

• Широкий набор обучающих инструментов– Mininet– Pox, Floodlight, OpenDayLight– FlowVisor

• http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial

• Разработана методика постепенного перехода на ПКС в корпоративных сетях– достаточно заменить 2% сетевых устройств, чтобы

почувствовать основные преимущества

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

Зачем это нам?“Россия и ПКС – это идеальный брак, который должен

состояться на небесах”Nick McKeown

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

Полезная информация

• Open Networking Foundation– www.opennetworking.org

• Центр Прикладных Исследований Компьютерных сетей– www.arccn.ru

• Консорциум “ПКС-технологии в научно-образовательной среде”– http://lvk.cs.msu.su/sdn_consortium/

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