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

Preview:

DESCRIPTION

 

Citation preview

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

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

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

ashalimov@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/

Recommended