Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SDN технологии

134,833 views

Published on

Презентация к linkmeup podcast от 25 апреля http://linkmeup.ru/blog/180.html

Published in: Software
  • Be the first to comment

SDN технологии

  1. 1. Технология SDN OpenFlow контроллер, проблемы, применение Александр Шалимов ЦПИКС, МГУ http://arccn.ru/ ashalimov@arccn.ru @alex_shali @arccnnews
  2. 2. Часть I: Что такое SDN?
  3. 3. Что такое SDN/OpenFlow? Основные принципы • Физическое разделение уровня передачи данных от уровня управления сетевых устройств. • Логически централизованное управление. • Программируемость. • Открытый единый интерфейс управления. Преимущества • Упрощение управления сетью (OPEX) • Удешевление оборудования (CAPEX) • Разработка ранее недоступных сервисов Внедрения ... “SDN means thinking differently about networking” SDN = Software Defined Networking
  4. 4. Основы ПКС (SDN/OpenFlow) A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). A B A -> B OpenFlow контроллер хост/клиент хост/клиент коммутатор 1 коммутатор 2 коммутатор 3 коммутатор 4
  5. 5. Основы ПКС (SDN/OpenFlow) A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). • Динамическая переконфигурация в случае ошибки сети. A B OpenFlow контроллер хост/клиент хост/клиент коммутатор 1 коммутатор 2 коммутатор 3 коммутатор 4
  6. 6. Часть II: SDN/OpenFlow контроллер
  7. 7. Архитектура SDN/OpenFlow контроллера С технической стороны: • OpenFlow контроллер – это обычный TCP/IP сервер, слущающий сокет 6653, к которому подключаются OpenFlow коммутаторы • OpenFlow – протокол прикладного уровня, описывающий взаимодействие контроллер/коммутатор. • Т.е. контроллер – это ПО, устаналиваемое на компьютер с традиционной ОС. Общая архитектура Функциональность Производительность
  8. 8. Список контроллеров • OpenFlow контроллеров действительно много – Nox, Pox, MUL, Ruy, Beacon, OpenDaylight, Floodlight, Maestro, McNettle, Flower, Runos – Разные языки программирования от Python до Haskell, Erlang • Для обучения все используют Pox. • В целом eсть два больших комьюнити: – Floodlight (BigSwitch, Stanford) – OpenDayLight (Cisco) • В России наш Runos – arccn.github.io/runos
  9. 9. Требования к контроллеру ПКС • Производительность – Пропускная способность • events per second – Задержка • us • Надежность и безопасность – 24/7 • Программируемость – Функциональность: приложения и сервисы – Интерфейс программирования • ЦОД требует обработку >10M событий в секунду • Реактивные контроллеры более “чувствительные”
  10. 10. Результаты сравнения (2013) • Максимальная производительность 7 000 000 потоков в секунду. • Минимальное время задержки от 50 до 75 мкс. • Недостатки: – Надежность контроллеров вызывала вопросы – Производительность была не достаточна (DC >10M fps)
  11. 11. Программируемость • На языке контроллера [быстро] • На любом языке через REST интерфейс [медленно] • Специальные языки программирования с другой абстракцией (например, Pyretic, Maple)
  12. 12. Пример программы (L2 learning)
  13. 13. Примеры проблем Проблема запуска нескольких приложений, интеграция с приложениями других разработчиков – требуется статическая подстройка приложений под себя, порядок и способ передачи информации между ними. – нет механизма контроля и разрешения конфликтов между приложениями (генерация пересекающихся правил). Forwarding SPAN OpenFlow ip_dst:10.0.0.1 Rule 1 Rule 2 Flow table Rule 1 (fwd): ip_src:10.0.0.1 -> output:1 Rule 2 (span): ip_src:10.0.0.1 -> output:5 New packet never used
  14. 14. Проблемы с OpenFlow коммутаторами • Не дешевые – И даже дороже - поддержка • Не поддерживается весь OpenFlow – Несколько таблиц, групповые таблицы, QoS • Не быстрые – Общение с контроллером (packet_in, packet_out), – Загрузка новых правил (flow_mod) – Перезапись полей заголовка – Сравнение по факту только full tuple • Почему так? – Гибридные решения – Теже Broadcom чипсеты, в планах вроде даже и нет. • Выход? – Сейчас сетевые процессоры
  15. 15. Distributed OpenFlow
  16. 16. С чего начать изучение SDN? Широкий набор обучающих инструментов: – Mininet – Pox, Floodlight, OpenDayLight – FlowVisor http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial
  17. 17. Часть III: Применение
  18. 18. Области применения 1. Телеком операторы и сервис провайдеры 2. ЦОД и облака 3. Компании
  19. 19. Телеком 1. Интеллектуальный Traffic Engineering: • Выбор оптимального пути • Реакция на отказ канала • Резервирование пропускной способности
  20. 20. Телеком • Как применить все это на практике? – Greenfield? – Проблемы интеграции с традиционной сетью • Нужно подыгрывать протоколам традиционной сети, т.е. правильно отвечать на запросы. • Чем меньше стыков с традиционной сетью, тем лучше. – Проблема интеграции с существующими системами управления
  21. 21. Телеком 2. Переход на виртуальные сетевый сервисы (NFV) • Динамическое развертывание • Связывание сервисов в цепочки
  22. 22. Пример Перераспределение сервисов между серверами в зависимости от нагрузки
  23. 23. ЦОД/Облака • Повышение утилизации оборудования и каналов • Мониторинг и оптимизация потоков • Виртуализация сети пользователей • Балансировка нагрузки • Обеспечение качества доступа
  24. 24. ЦОД/Облака • Как правило есть два SDN – Без OpenFlow и так есть в OpenStack • ТОЛЬКО виртуальные каналы • Туннели, таблицы, новые VM, политики – С OpenFlow для управление физическими устройствами • Качество канала, определение узких мест
  25. 25. Корпоративная сеть • Современные компания имеют сложную сетевую инфраструктуру: – Большое количество сетевых элементов – Разветвленная топология – Набор различных потилик маршрутизации и безопасности
  26. 26. Трудности администрирования • Сетевые администраторы отвечают за поддержания работы сетевой инфраструктуры: – Сетевые инженеры руками переводят высокоуровневые политики в низкоуровневые команды – Ручная настройка всех сетевых устройств – Ограниченный инструментарий по управлению сетевыми устройствами – Переучивание под каждого вендора
  27. 27. Возможности 1. Сделать сеть управляемой без ручного доступа к оборудования. 2. Повысить уровень абстракции управления сетью. 3. Более продвинутый zeroconf
  28. 28. Easyway [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.
  29. 29. Заключение • Нет чистых стартапов по SDN и нет продуктов для обычных людей. • Применение только в больших компаниях. • Продукты только от производителей сетевого оборудования. • Открытость? Программируемость? Пока нет. • Нет чистых железных OpenFlow коммутаторов. • Применение в основном на программных коммутаторах совместно с другими технологиями (NFV, OpenStack).

×