Программируемые и программно- определяемые сети Скороходов Александр Системный инженер-консультант [email protected]
Программируемые и программно-
определяемые сети
Скороходов Александр
Системный инженер-консультант
2
Разное значение для разных заказчиков
Программный доступ для приложений: аналитика и оптимальный транспорт
Разделение коммутации и управления (пример: OpenFlow): экспериментальные протоколы и функции, «нарезка сетей»
Виртуальные оверлейные сети: гибкость транспорта и сегментация для динамичных облачных сред
2
Программно-определяемые сети
Терминология: SDN, OpenFlow, OpenStack,
оверлейные сети….
Что такое программно
определяемая сеть (SDN)?
“…В архитектуре SDN разделены уровни управления
и передачи данных, обеспечена логическая
централизация интеллектуальных сетевых механизмов
и информации о состоянии сети,
а низлежащая сетевая инфраструктура абстрагирована
от приложений…”
Источник: www.opennetworking.org
Что такое OpenStack?
ПО с открытым исходным кодом для создания
частных и публичных облаков; включает сервисы
вычислений (Nova), сетевые сервисы (Neutron)
и сервисы хранения (Swift).
Источник: www.openstack.org
Что такое оверлейная сеть?
Оверлейная сеть создается на основе существующей
сетевой инфраструктуры (физической или виртуальной)
с помощью сетевого протокола. В качестве примеров
протоколов оверлейных сетей можно привести GRE,
VPLS, OTV, LISP и VXLAN.
Что такое OpenFlow?
“…открытый стандарт, определяющий взаимодействие
между разделёнными уровнями управления
(контроллер) и передачи данных (агент)…”
Источник: www.opennetworking.org
Примечание. В SDN не обязательно используется
OpenFlow.
Примечание. Может использоваться в SDN-сетях
и не-SDN-сетях. Примечание. Может использоваться в SDN-сетях и не-SDN-сетях.
Примечание. Как программное управление, так и
автоматизация возможны и без SDN.
«Классический» SDN
На примере OpenFlow
Приложения
APIs
Контроллер
Консолидация информации о сети, единая точка управления
OpenFlow
Коммутатор
Configuration
Protocol
“Северный интерфейс”
“Южный интерфейс”
Уровень
коммутации
Уровень
управления
Уровень
приложений
«Разделение обязанностей» с OpenFlow
Коммутаторы зависят от
контроллера (мозга).
Производительность
(мускулы) по-прежнему
необходима
Все решения о логике
коммутации
принимаются
контроллером
Как работает OpenFlow
“OpenFlow позволяет прямой доступ (и манипуляцию им) к уровню коммутации сетевых
устройств, такких как маршрутизаторы и и коммутаторы, как физические, так и виртуальные
(на основе гипервизоров). Именно отсутствие открытого интерфейса к уровню коммутации
привело к определению современных сетевых устройств как монолитных, закрытых и
похожих на мейнфреймы”
www.opennetworking.org
Модели программируемости сети
Уровень управления
Уровень передачи данных
Контроллер
Уровень передачи данных
Приложения
API произво-
дителя обо-
рудования
OpenFlow
2a Классическая SDN
Разработка
производителя
оборудования
(например,
onePK)
Контроллер
Уровень передачи данных
Приложения
API произво-
дителя обо-
рудования
OpenFlow
Уровень управления
2b Гибридная “SDN”
Приложения
Виртуальный УУ
Виртуальный УПД
Оверлейные
протоколы
(например,
VXLAN)
API произво-
дителя обо-
рудования
3 Виртуализация сети/
Оверлейные сети
Уровень управления
Уровень передачи данных
API произво-
дителя обо-
рудования
Приложения
1 Интерфейсы API
Уровень управления
Уровень передачи данных
Разработка
производителя
оборудования
(например,
onePK)
Разработка
производителя
оборудования
(например,
onePK) CLI, SNMP, Netflow, …
Программируемые сети – на всех уровнях
z Уровень коммутации
Уровень управления
Сетевые сервисы
Управление и оркестрирование
Транспорт
Network Elements and Abstraction
Analysis and Monitoring, Performance and Security
OpenFlow/ SDN
Приложения
Сбор
информации
из сети
Оптимальное программирование
8
a
Самый широкий портфель сетевых решений для ЦОД Hardware + Software Physical + Virtual Network + Compute
Приложения
www.cisco.com/go/one
Controllers
and
Agents
SDN: - Контроллер (OpenFlow, onePK)
- OpenFlow агенты
2 Virtual
Overlays
Виртуализация сети с
Nexus 1000V - Multi-hypervisor
- Multi-service
- Multi-cloud
- Поддержка Openstack
3
Network
Platform
APIs
One Platform Kit
(onePK) - Программные APIs к
сетевому
оборудованию (IOS,
IOS-XR, NX-OS)
1
Программно-определяемые сети: стратегия Cisco
Контроллеры и приложения для них
11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved. 10
Проект Open Daylight
Open Daylight – open source проект, основанный ведущими компаниями под
эгидой Linux Foundation с общей целью развития принятия и инноваций в
области SDN путем создания общей поддерживаемой вендорами платформы
Platinum Gold Silver
И другие...
Проект Open Daylight
Open Daylight контроллер:
• SDN контроллер с открытым
кодом
• Модульная архитектура с
использованием Java OSGi
• Поддерживает различные
«северные» (REST, OSGi) и
«южные» (OpenFlow 1.0 и 1.3,
BGP-LS…) API
• Cisco выступила
контрибутором кода
контроллера и уровня
абстракции сервисов
Southbound APIs
Physical and Logical
Topology Manager
Device
Manager
Host Tracker
Forwarding Rules
Manager
Dijkstra SPF
Basic Operation Infrastructure
Java B
un
dle
H/A
NETWORK DEVICES
OF 1.0
Service Abstraction Layer (SAL)
GUI OpenDaylight Controller
Northbound APIs OSGI RESTful
Network Applications
ARP Handler
Контроллер Open Daylight Базовая версия SDN контроллера
Southbound APIs
Physical and Logical
Topology Manager Device Manager
Host Tracker ARP Handler
Forwarding Rules
Manager
Dijkstra SPF L3 Interface
Advanced Infrastructure
Java B
un
dle
H/A
NETWORK DEVICES
OF 1.x OnePK
Troubleshooting
Comprehensive
Production Network
Support
Integrated
Slicing and
Custom
Forwarding
Advanced GUI with
Extended Features
Service Abstraction Layer (SAL)
Dynamic Protocol
Plugins
Advanced Analytics
and Services via
Cisco Intelligence
Authentication Flow Manager
Topology Independent Forwarding (TIF)
Controller Applications
Slice Manager
Advanced Components
Cisco GUI Cisco XNC
Northbound APIs OSGI RESTful
Cisco Sourced Customers 3rd Parties
Network Applications
Expansion of
Services from OD
Code Base
Cisco XNC Комплексная архитектура на основе OpenDaylight
Контроллер Cisco eXtensible Network Controller (XNC)
Платформа для управления
поведением сети –
консолидация состояния
для многих сетевых узлов
Существующие примеры
применения
Гибкая «нарезка»
(“Slicing”) сетей
Диагностика проблем
Маршрутизация по
правилам
OF onePK onePK
OF
Протокол OpenFlow 1.x onePK API
Управление потоками Логика форвардинга Управление устройствами
Сегментация сети (slicing)
Приложения (Cisco) Приложения (Заказчик) Приложения (3rd party)
Northbound API (REST, WebSockets, OSGi)
Встроенные в контроллер приложения
Bu
ilt-i
n G
UI fo
r M
an
ag
em
en
t
Приложения
Сетевой траблшутинг
Инфраструктура ядра контроллера
Southbound APIs (onePK, OneFlow,)
Пользовательская маршрутизация
Сетевая «нарезка»
Разделение сети
на части (slicing)
Topology Independent Forwarding
Статическое или
динамическое создание
бизнес-правил по
маршрутизации
трафика
Управление
направлением копий
трафика на
средства анализа на
базе политик
«Матричная сеть»
Текущие сценарии применения Cisco XNC
Рабочая сеть
Мониторинг сетевого трафика
«Матричная сеть»
Отдельная сеть, специально созданная для мониторинга
Инструменты
Специализированное
решение
IDS
Wireshark
Видео-
монитор
Статическая
фильтрация и
пересылка
Рабочая сеть
Подход Cisco’s на базе XNC Monitor Manager
Замена специализированного оборудования
с помощью Cisco XNC и приложения Monitor Manager
Инструменты
С решением SDN Monitor Manager
NEW CUSTOM
TOOLS
Динамические фильтры и
пересылка на базе событий
в реальном времени
Openflow Enabled
Nexus 3000s
Wireshark
Видео-
монитор
Optical
Taps
Cisco XNC
SPAN
Central Tapping
Point
Пересылка на базе правил пользователя: Topology Independent Forwarding
Управление правилами пересылки трафика
для улучшения утилизации WAN
Cisco XNC
Использование времени задержки как параметра
выбора маршрута
Другие параметры для определения маршрута также возможны
2 мс
Openflow / one PK
Cisco XNC
Цены ISP Маршрут A Маршрут B
$1
$2
$3
$1
$2
$3
2
3
App
1
Маршрут A
one
PK
Назначение
Маршрут B
Маршрутизация по стоимости
Собственные правила определения маршрута движения трафика
Что такое “Slicing”? «Нарезка» сети по разным критериям
Возможности
• Динамическая сетевая
сегментация из “единой
точки контроля”
• Изоляция сегментов
• Бесшовная интеграция с
пересылкой по
пользовательским правилам
Максимум гибкости и учета динамических потребностей предприятия
Slice 1
Slice 2
Slice 3
Функциональность сетевой «нарезки»
Сетевая «нарезка» логически делит сеть на основе набора критериев
- Физические устройства
- Физические интерфейсы
- Логические интерфейсы
- VLAN ID
- Дополнительные параметры потоков (например: порт, протокол, источник,
назначение и т.д.)
Пользователи могут быть привязаны к специфичным сегментам
Пользователи будут видеть только свою часть сети
Cisco OnePK
Традиционные средства
Развитие средств управления сетевой
операционной системой
CLI
AAA
SNMP
HTML
XML
Syslog
Span
Netflow
CDP
Routing Protocols
Monitoring
Routing
QoS
Discovery
Security
Interfaces
EEM (TCL)
Новая парадигма
App
C
Java
Python
Всё,
что
вам
нуж
но
Rich Actions, Rich Events,
Rich Environment
Архитектура onePK
Программы на C, JAVA, Python
Презентационный уровень onePK API
Инфраструктура onePK API
IOS / XE
(Catalyst, ISR, ASR1K)
NXOS
(Платформы Nexus)
IOS XR
(ASR 9K, CRS)
Разработайте однажды, используйте везде!
onePK: варианты размещения приложений
Процесс/контейнер Серверный модуль Внешний сервер
Container
onePK Apps
Network OS
Bla
de
onePK Apps Ex
tern
al
Serv
er
Network OS
Container
Network OS
onePK Apps
27
Сетевые приложения
Cisco XNC
Cisco Router / Switch
Cisco OS
OpenFlow агент
onePK API
Open Flow
Protocol
onePK API
Пример: OpenFlow Agent
API
уровня
устройств
API
сетевого
уровня
LXC onePK API
REST
DATA PATH
POLICY
ROUTING
ELEMENT
DISCOVERY
UTILITY
DEVELOPER
Уровень коммутации данных – копирование, вставка,
статистика...
Фильтрация (NBAR), классификация (class-map, policy-map),
действия (маркировка, policing, queuing), применение политик
Чтение маршрутов RIB, добавить/удалить маршруты,
получать уведомления RIB
Статистика CPU/память, статистика по интерфейсам,
событий по элементам и интерфейсам
Обнаружение топологии и сетевых элементов
События SYSLOG, отслеживание пути трафика
Отладка и расширение CLI (вызов CLI из приложений)
Наборы сервисов OnePK
Свойства и статистика {GET} E
lem
ent System
Interfaces
Discovery
Routing
QoS
Security
CPU, Memory, Platform, Serial #, Versions,
Uptime, Location, OIR, CLI Changes
Port, Slot, BW, MTU, TX/RX, BPS, PPS,
Errors, Other Stats, Config, Link Changes
CDP, Topology Graph, Edges, Nodes,
Topology Changes
Ap
plic
atio
n
Свойства и статистика {SET} E
lem
ent System
Interfaces
Discovery
Ap
plic
atio
n
Location
IP address, MTU, Clear Stats, Shut/No
Shut
Filters
Политики и маршруты {GET}
Po
licy
Routing
QoS
Security
RIB, Next-Hop, metric, AD,
scope (VRF), Changes
Configured Classes
Configured ACLs
Ap
plic
atio
n
Политики и маршруты {SET}
Po
licy
Routing
QoS
Security
Static routes
Service-Policies (Police,
Mark, Shape, Queue)
ACLs
Ap
plic
atio
n
Пакетные данные {GET}
Data Plane
Ap
plic
atio
n Copy or Punt Packets
Манипуляция пакетами {SET}
Data Plane Inject New or Modified Packets
Ap
plic
atio
n
Реализация агента для Puppet/Chef
LXC Container
Network OS
Puppet/Chef Agent
(onePK Application)
onePK
API
DC
Switch DC Switch
Puppet/Chef master
Compute nodes Compute nodes Compute nodes
Агент Puppet/Chef Мастер Puppet/Chef
• Агент Puppet/Chef виде OnePK приложения в LXC контейнере
• Использует onePK API для выполнения конфигурации
• Будущие расширения – управление версиями ПО
LXC Container
Network OS
Wiring Verification
Agent (onePK App)
Проверка сетевой топологии
TFTP
hostname-topo
2. Загрузить план
соединений
1. Определить фактическую топологию
3. Сравнить факт с планом
XMPP 4. Сообщить результат
по XMPP
Оверлейные сети и Nexus 1000V
11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved. 38
Виртуальные оверлейные сети с Nexus 1000V
Nexus 1000V VEM (уровень коммутации)
OpenStack Quantum API
REST API
VXLAN
(16M
Segments)
vPath
(VXLAN Aware)
Любой гипервизор (VMware, Microsoft, Opensource)
Tenant 1 Виртуальные сервисы
(с vPath)
vWAAS
VSG ASA 1KV
vACE
Tenant 3
ASA 55xx
Физические нагрузки
Физическая
сеть
(VLAN/L3) Шлюз
VXLAN
Универсальная функциональность для физических и виртуальных нагрузок
Nexus 1000V VSM (контроллер)
Виртуальные нагрузки
Tenant 2
39
Что уже реализовано?
WAN маршрутизатор
Tenant A
Физическая
инфраструктура
Виртуализованный
/облачный
ЦОД
Коммутатор
Виртуализированные сетевые сервисы
Cisco Nexus 1000V vPath VXLAN
Multi-Hypervisor (VMware, Microsoft, RedHat*, Citrix*)
ASA 1000V Cloud
Firewall
Cisco Virtual
Security Gateway Citrix
NetScaler VPX
Imperva SecureSphere
WAF
Cloud Services Router 1000V
Network Analysis Module (vNAM)
vWAAS
Cisco Nexus 1000V
• Распределенный коммутатор
• Согласованность с NX-OS
VSG
• Контроль на уровне VM
• Zone-based FW
ASA 1000V
• МСЭ периметра, VPN
• Инспекция протоколов
vWAAS
• WAN оптимизация
• Трафик приложений
CSR 1000V (Cloud Router)
• WAN L3 шлюз
• Маршрутизация и VPN
• Citrix NetScaler VPX virtual ADC
• Imperva Web App Firewall
Ecosystem Services
Zone A
Zone B
Сервера
Email / Web Security (vESA
/vWSA)
11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved.
Пожалуйста, заполните анкеты.
Ваше мнение очень важно для нас.
Спасибо
Contacts:
Name
Phone
CiscoRu Cisco CiscoRussia
#CiscoConnectRu