Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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

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 протокол – стандарт для взаимодействия коммутатор контроллер