SlideShare a Scribd company logo
1 of 22
Download to read offline
SDN & DEVOPS ?= ❤:
Практики использования
SDN в реальной жизни
DevOps
Александр Шалимов
“Россия и SDN – это идеальный брак, который должен
состояться на небесах”
Nick McKeown
Уникальное время
Google перевел сеть между ЦОД на SDN в 2012
году, сейчас анонсирована внутренняя облачная
платформа Andromeda.
Microsoft перевел сеть между ЦОД на SDN в конце
2013 года, на очереди публичное облако Azure.
В июне 2015 года AT&T объявило SDN своим
основным стратегическим направлением развития и
переориентацию на разработку ПО.
NTT перевел всю свою сетевую
инфраструктуру на SDN в 2013 году.
Gartner: “Рынок SDN решений к 2018 году достигнет
объема $35 млрд”.
SDN уже здесь
Специальное
устройство передачи
данных
Операционная
система
Фунция Фунция
. . .
• Зависимость от производителя
• Ошибки в реализациях сетевых протоколов
• Миллионы строк закрытого проприетарного
кода (6000+ RFC)
• Высокая стоимость оборудования
• Высокая стоимость эксплуатации
• Сложность управления большими сетями
• Сложность отладки
• “Закрытость” оборудования и программного
обеспечения
• Сложность внедрения новых идей
• Неэффективность использования аппаратных
ресурсов, энергоэффективность
Проблема традиционных сетей
Постоянный рост сложности
Основные принципы
• Физическое разделение уровня передачи данных от
уровня управления сетевых устройств.
• Логически централизованное управление.
• Программируемость.
• Открытый единый интерфейс управления.
Преимущества
• Упрощение управления сетью
(OPEX)
• Удешевление оборудования
(CAPEX)
• Разработка ранее недоступных
сервисов
Внедрения
...
“SDN means thinking differently
about networking”
Что такое SDN?
• Уменьшение
энергопотребления в ЦОД
• Отключение
неиспользуемых
коммутаторов и каналов на
основе собранной
информации о сети
• ElasticTree (Stanford):
сокращение
энергопотребления до 60%
• Применение в Google
Пример применения
Control
PC
Контроллер
Software
Switch/Router
Hardware Таблица
потоков
Управле
ние
OpenFlow
(API)
OpenFlow коммутатор
• Добавление/удаление
потоков
• Инкапсулированные
пакеты
Архитектура OpenFlow
Rule Action Stats
Rule Action Stats
Rule Action Stats
Rule Action Stats
Rule Action Stats
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dport
+ маска по полям
1.Пересылка пакетов на порт(ы) с перезаписью
заголовка
2.Принудительная отправка пакета на контроллер
3.Сброс пакета
4.Свои расширения
Счетчики пакетов и байтов
Flow Table
OpenFlow 1.3+
Реактивный режим работы
OpenFlow agent
Flow table
MAC
src
MAC
dst
IP
Src
IP
Dst
TCP
sport
TCP
dport
Action
Controller
port 1 port 2 port 3 port 4
12:34 56:78 1.1.1.1 5.5.5.5 47341 80 port 4
1.1.1.1 5.5.5.5
Только для
первого пакета
Для всех остальных
пакетов
Схема работы OpenFlow
Проактивный режим работы
OpenFlow agent
Flow table
MAC
src
MAC
dst
IP
Src
IP
Dst
TCP
sport
TCP
dport
Action
Controller
port 1 port 2 port 3 port 4
* * * 5.5.5.5 * * port 4
1.1.1.1 5.5.5.5
Для каждого пакета
Схема работы 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
Маршрутизация с SDN/OpenFlow
SDN в жизни DevOps
Кто такие DevOps и зачем им сеть?
• DevOps = Development and Operations
• Задачи:
• Поддержка жизненного цикла продукта
• Разработка интеграционных скриптов, оберток
• А что от сети?
• Настройка виртуальной коммутации
• Настройка физической коммутации
• Автоматизация переключения стендов
• Решение частных сетевых задач (!)
• …..
• NetDevOps
switch router router switchFW
Apps
Host Host
Deploy!
Инструментарий из мира SDN
Open vSwitch / DPDK
VM1 VM2 VM3
OpenFlow Controller
Ryu/Runos
REST
ovs-vstctl/ofctl
1/10 GE 1/10 GE 1/10 GE
x86
ACL – черные/белые списки
• Требуется запретить или разрешить доступ к каким-то ресурсам
Open vSwitch /DPDK
Table 0
dl_src=A,nw_dst=
178.248.237.75,
drop
*,table(1)
Table 1
*,normal
#> ovs-ofctl add-flow br0
table=0,dl_src=A,nw_dst=178.248.237.75,
actions=drop
DPI – URL filtering
• Требуется запретить доступ к заданному сайту
Open vSwitch /DPDK
Table 0
dl_src=A,nw_dst=
178.248.237.75,
drop
*,ToController()
Table 1
*,normal
OpenFlow Controller
Ryu/Runos
Балансировка нагрузки
• Требуется провести балансировку поступаемых потоков по
серверам обработки
Open vSwitch /DPDK
Table 0
nw_src=A,nw_dst=B,
nw_proto=TCP,
tp_src=C, tp_dst=D,
output:3
*,ToController()
OpenFlow Controller
Ryu/Runos
Server
Server
Server
Server
REST
Пропускная способность
• OVS – 1Mpps на ядро
• OVS/DPDK – 10Mpps на ядро
Тонкие места
• Если скорости программных коммутаторов на серверах не
достаточно
• Переход на whitebox коммутаторы или традиционные L2/L3
коммутаторы с прошивкой под OpenFlow
• Ограниченный OpenFlow функционал: 1 таблица, около 1000 правил
• Переход на чистые OpenFlow коммутаторы
• Больше таблиц (до 10), больше правил (100k)
• Noviflow, Huawei
• Если скорости контроллера Ryu (<1k) не достаточно, то
используйте Runos (~1M packet_in в секунду на ядро)
• Если требуется QoS или ограничение полосы пропускания,
то вместо OVS нужно использовать Lagopus.
• Если нужна настройка физической инфраструктуры, то
можно использовать Netconf/YANG и контроллер
OpenDaylight
whiteboxswitch.com (с)
Заключение
• SDN уже здесь и готов для использования обычными людьми – сделать
руками прямо сейчас
• Где могут DevOps использовать SDN:
• Быстрая перенастройка сети, переключение стендов между dev/test/load/pre-
release и т.п.
• Решение насущных сетевых задач (ACL, URL filtering, Load Balancing, QoS)
• Инструментарий:
• Open vSwitch w/ Intel DPDK http://openvswitch.org
• Lagopus www.lagopus.org
• Ryu OpenFlow Controller https://osrg.github.io/ryu/
• Runos OpenFlow Controller http://arccn.github.io/runos/
• С чего начать:
• OpenFlow Tutorial https://github.com/mininet/openflow-tutorial/wiki
Вопросы?
ashalimov@arccn.ru @alex_shali

More Related Content

What's hot

Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Ontico
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Ontico
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон ГалицынCodeFest
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Ontico
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo Development
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays HighloadYehor Herasymchuk
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)Ontico
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав БахмутовCodeFest
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooBadoo Development
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»WrikeTechClub
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 

What's hot (19)

Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 

Similar to SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)

Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...ARCCN
 
Networks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionNetworks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionVadim Ponomarev
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNARCCN
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Cisco Russia
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеCisco Russia
 
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 Поиск неисправностей в беспроводных сетях, управляемых контроллерами Поиск неисправностей в беспроводных сетях, управляемых контроллерами
Поиск неисправностей в беспроводных сетях, управляемых контроллерамиCisco Russia
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий ARCCN
 
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...ARCCN
 
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Cisco Russia
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
SDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьCisco Russia
 
Организация сети и безопасность
Организация сети и безопасностьОрганизация сети и безопасность
Организация сети и безопасностьOpenStackRU
 
Применение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхПрименение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхARCCN
 
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?Cisco Russia
 
SDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeARCCN
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)Alexander Shalimov
 
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik Naim Shafiev
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Vadim Ponomarev
 

Similar to SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ) (20)

Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...
 
Networks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionNetworks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solution
 
Проблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDNПроблематика создания OpenFlow контроллеров для SDN
Проблематика создания OpenFlow контроллеров для SDN
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применение
 
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 Поиск неисправностей в беспроводных сетях, управляемых контроллерами Поиск неисправностей в беспроводных сетях, управляемых контроллерами
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 
Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий Управление корпоративной сетью на основе SDN-технологий
Управление корпоративной сетью на основе SDN-технологий
 
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
Пилотные зоны для тестирования и апробирования SDN&NFV разработок и решений в...
 
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
SDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использоватьSDN: Что это? Что оно нам дает и как его использовать
SDN: Что это? Что оно нам дает и как его использовать
 
Организация сети и безопасность
Организация сети и безопасностьОрганизация сети и безопасность
Организация сети и безопасность
 
Применение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетяхПрименение технологий SDN в кампусных сетях
Применение технологий SDN в кампусных сетях
 
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
 
SDN технологии
SDN технологииSDN технологии
SDN технологии
 
SDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchangeSDN & NFV: от абонента до Internet eXchange
SDN & NFV: от абонента до Internet eXchange
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)
 
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)

  • 1. SDN & DEVOPS ?= ❤: Практики использования SDN в реальной жизни DevOps Александр Шалимов
  • 2. “Россия и SDN – это идеальный брак, который должен состояться на небесах” Nick McKeown Уникальное время
  • 3. Google перевел сеть между ЦОД на SDN в 2012 году, сейчас анонсирована внутренняя облачная платформа Andromeda. Microsoft перевел сеть между ЦОД на SDN в конце 2013 года, на очереди публичное облако Azure. В июне 2015 года AT&T объявило SDN своим основным стратегическим направлением развития и переориентацию на разработку ПО. NTT перевел всю свою сетевую инфраструктуру на SDN в 2013 году. Gartner: “Рынок SDN решений к 2018 году достигнет объема $35 млрд”. SDN уже здесь
  • 4. Специальное устройство передачи данных Операционная система Фунция Фунция . . . • Зависимость от производителя • Ошибки в реализациях сетевых протоколов • Миллионы строк закрытого проприетарного кода (6000+ RFC) • Высокая стоимость оборудования • Высокая стоимость эксплуатации • Сложность управления большими сетями • Сложность отладки • “Закрытость” оборудования и программного обеспечения • Сложность внедрения новых идей • Неэффективность использования аппаратных ресурсов, энергоэффективность Проблема традиционных сетей
  • 6. Основные принципы • Физическое разделение уровня передачи данных от уровня управления сетевых устройств. • Логически централизованное управление. • Программируемость. • Открытый единый интерфейс управления. Преимущества • Упрощение управления сетью (OPEX) • Удешевление оборудования (CAPEX) • Разработка ранее недоступных сервисов Внедрения ... “SDN means thinking differently about networking” Что такое SDN?
  • 7. • Уменьшение энергопотребления в ЦОД • Отключение неиспользуемых коммутаторов и каналов на основе собранной информации о сети • ElasticTree (Stanford): сокращение энергопотребления до 60% • Применение в Google Пример применения
  • 8. Control PC Контроллер Software Switch/Router Hardware Таблица потоков Управле ние OpenFlow (API) OpenFlow коммутатор • Добавление/удаление потоков • Инкапсулированные пакеты Архитектура OpenFlow
  • 9. Rule Action Stats Rule Action Stats Rule Action Stats Rule Action Stats Rule Action Stats Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport + маска по полям 1.Пересылка пакетов на порт(ы) с перезаписью заголовка 2.Принудительная отправка пакета на контроллер 3.Сброс пакета 4.Свои расширения Счетчики пакетов и байтов Flow Table OpenFlow 1.3+
  • 10. Реактивный режим работы OpenFlow agent Flow table MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action Controller port 1 port 2 port 3 port 4 12:34 56:78 1.1.1.1 5.5.5.5 47341 80 port 4 1.1.1.1 5.5.5.5 Только для первого пакета Для всех остальных пакетов Схема работы OpenFlow
  • 11. Проактивный режим работы OpenFlow agent Flow table MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action Controller port 1 port 2 port 3 port 4 * * * 5.5.5.5 * * port 4 1.1.1.1 5.5.5.5 Для каждого пакета Схема работы OpenFlow
  • 12. A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). A B A -> B Маршрутизация с SDN/OpenFlow
  • 13. A B • Неизвестный пакет отправляется на контроллер (OF_PACKET_IN). • Контроллер вычисляет лучший маршрут через всю сеть (с наименьшей стоимостью и удовлетворяющий политикам маршрутизации). • Соответствующие правила OpenFlow устанавливаются на коммутаторы + сразу и обратный маршрут (OF_PACKET_OUT/FLOW_MOD). • Динамическая переконфигурация в случае ошибки сети. A B Маршрутизация с SDN/OpenFlow
  • 15. Кто такие DevOps и зачем им сеть? • DevOps = Development and Operations • Задачи: • Поддержка жизненного цикла продукта • Разработка интеграционных скриптов, оберток • А что от сети? • Настройка виртуальной коммутации • Настройка физической коммутации • Автоматизация переключения стендов • Решение частных сетевых задач (!) • ….. • NetDevOps switch router router switchFW Apps Host Host Deploy!
  • 16. Инструментарий из мира SDN Open vSwitch / DPDK VM1 VM2 VM3 OpenFlow Controller Ryu/Runos REST ovs-vstctl/ofctl 1/10 GE 1/10 GE 1/10 GE x86
  • 17. ACL – черные/белые списки • Требуется запретить или разрешить доступ к каким-то ресурсам Open vSwitch /DPDK Table 0 dl_src=A,nw_dst= 178.248.237.75, drop *,table(1) Table 1 *,normal #> ovs-ofctl add-flow br0 table=0,dl_src=A,nw_dst=178.248.237.75, actions=drop
  • 18. DPI – URL filtering • Требуется запретить доступ к заданному сайту Open vSwitch /DPDK Table 0 dl_src=A,nw_dst= 178.248.237.75, drop *,ToController() Table 1 *,normal OpenFlow Controller Ryu/Runos
  • 19. Балансировка нагрузки • Требуется провести балансировку поступаемых потоков по серверам обработки Open vSwitch /DPDK Table 0 nw_src=A,nw_dst=B, nw_proto=TCP, tp_src=C, tp_dst=D, output:3 *,ToController() OpenFlow Controller Ryu/Runos Server Server Server Server REST Пропускная способность • OVS – 1Mpps на ядро • OVS/DPDK – 10Mpps на ядро
  • 20. Тонкие места • Если скорости программных коммутаторов на серверах не достаточно • Переход на whitebox коммутаторы или традиционные L2/L3 коммутаторы с прошивкой под OpenFlow • Ограниченный OpenFlow функционал: 1 таблица, около 1000 правил • Переход на чистые OpenFlow коммутаторы • Больше таблиц (до 10), больше правил (100k) • Noviflow, Huawei • Если скорости контроллера Ryu (<1k) не достаточно, то используйте Runos (~1M packet_in в секунду на ядро) • Если требуется QoS или ограничение полосы пропускания, то вместо OVS нужно использовать Lagopus. • Если нужна настройка физической инфраструктуры, то можно использовать Netconf/YANG и контроллер OpenDaylight whiteboxswitch.com (с)
  • 21. Заключение • SDN уже здесь и готов для использования обычными людьми – сделать руками прямо сейчас • Где могут DevOps использовать SDN: • Быстрая перенастройка сети, переключение стендов между dev/test/load/pre- release и т.п. • Решение насущных сетевых задач (ACL, URL filtering, Load Balancing, QoS) • Инструментарий: • Open vSwitch w/ Intel DPDK http://openvswitch.org • Lagopus www.lagopus.org • Ryu OpenFlow Controller https://osrg.github.io/ryu/ • Runos OpenFlow Controller http://arccn.github.io/runos/ • С чего начать: • OpenFlow Tutorial https://github.com/mininet/openflow-tutorial/wiki

Editor's Notes

  1. Спросить про плюсы: Expandable, Resilient, Scalable
  2. Таблица потоков – определяет, как коммутатор будет обрабатывать каждый поток Защищенный канал – соединяет коммутатор с удаленным контроллером OpenFlow протокол – стандарт для взаимодействия коммутатор контроллер