41
Программируемые и программно- определяемые сети Скороходов Александр Системный инженер-консультант [email protected]

Программируемые и программно- определяемые сети

Embed Size (px)

Citation preview

Page 1: Программируемые и программно- определяемые сети

Программируемые и программно-

определяемые сети

Скороходов Александр

Системный инженер-консультант

[email protected]

Page 2: Программируемые и программно- определяемые сети

2

Разное значение для разных заказчиков

Программный доступ для приложений: аналитика и оптимальный транспорт

Разделение коммутации и управления (пример: OpenFlow): экспериментальные протоколы и функции, «нарезка сетей»

Виртуальные оверлейные сети: гибкость транспорта и сегментация для динамичных облачных сред

2

Программно-определяемые сети

Page 3: Программируемые и программно- определяемые сети

Терминология: 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.

Page 4: Программируемые и программно- определяемые сети

«Классический» SDN

На примере OpenFlow

Приложения

APIs

Контроллер

Консолидация информации о сети, единая точка управления

OpenFlow

Коммутатор

Configuration

Protocol

“Северный интерфейс”

“Южный интерфейс”

Уровень

коммутации

Уровень

управления

Уровень

приложений

Page 5: Программируемые и программно- определяемые сети

«Разделение обязанностей» с OpenFlow

Коммутаторы зависят от

контроллера (мозга).

Производительность

(мускулы) по-прежнему

необходима

Все решения о логике

коммутации

принимаются

контроллером

Page 6: Программируемые и программно- определяемые сети

Как работает OpenFlow

“OpenFlow позволяет прямой доступ (и манипуляцию им) к уровню коммутации сетевых

устройств, такких как маршрутизаторы и и коммутаторы, как физические, так и виртуальные

(на основе гипервизоров). Именно отсутствие открытого интерфейса к уровню коммутации

привело к определению современных сетевых устройств как монолитных, закрытых и

похожих на мейнфреймы”

www.opennetworking.org

Page 7: Программируемые и программно- определяемые сети

Модели программируемости сети

Уровень управления

Уровень передачи данных

Контроллер

Уровень передачи данных

Приложения

API произво-

дителя обо-

рудования

OpenFlow

2a Классическая SDN

Разработка

производителя

оборудования

(например,

onePK)

Контроллер

Уровень передачи данных

Приложения

API произво-

дителя обо-

рудования

OpenFlow

Уровень управления

2b Гибридная “SDN”

Приложения

Виртуальный УУ

Виртуальный УПД

Оверлейные

протоколы

(например,

VXLAN)

API произво-

дителя обо-

рудования

3 Виртуализация сети/

Оверлейные сети

Уровень управления

Уровень передачи данных

API произво-

дителя обо-

рудования

Приложения

1 Интерфейсы API

Уровень управления

Уровень передачи данных

Разработка

производителя

оборудования

(например,

onePK)

Разработка

производителя

оборудования

(например,

onePK) CLI, SNMP, Netflow, …

Page 8: Программируемые и программно- определяемые сети

Программируемые сети – на всех уровнях

z Уровень коммутации

Уровень управления

Сетевые сервисы

Управление и оркестрирование

Транспорт

Network Elements and Abstraction

Analysis and Monitoring, Performance and Security

OpenFlow/ SDN

Приложения

Сбор

информации

из сети

Оптимальное программирование

8

Page 9: Программируемые и программно- определяемые сети

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

Page 10: Программируемые и программно- определяемые сети

Контроллеры и приложения для них

11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved. 10

Page 11: Программируемые и программно- определяемые сети

Проект Open Daylight

Open Daylight – open source проект, основанный ведущими компаниями под

эгидой Linux Foundation с общей целью развития принятия и инноваций в

области SDN путем создания общей поддерживаемой вендорами платформы

Platinum Gold Silver

И другие...

Page 12: Программируемые и программно- определяемые сети

Проект Open Daylight

Open Daylight контроллер:

• SDN контроллер с открытым

кодом

• Модульная архитектура с

использованием Java OSGi

• Поддерживает различные

«северные» (REST, OSGi) и

«южные» (OpenFlow 1.0 и 1.3,

BGP-LS…) API

• Cisco выступила

контрибутором кода

контроллера и уровня

абстракции сервисов

Page 13: Программируемые и программно- определяемые сети

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 контроллера

Page 14: Программируемые и программно- определяемые сети

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

Page 15: Программируемые и программно- определяемые сети

Контроллер 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,)

Пользовательская маршрутизация

Page 16: Программируемые и программно- определяемые сети

Сетевая «нарезка»

Разделение сети

на части (slicing)

Topology Independent Forwarding

Статическое или

динамическое создание

бизнес-правил по

маршрутизации

трафика

Управление

направлением копий

трафика на

средства анализа на

базе политик

«Матричная сеть»

Текущие сценарии применения Cisco XNC

Page 17: Программируемые и программно- определяемые сети

Рабочая сеть

Мониторинг сетевого трафика

«Матричная сеть»

Отдельная сеть, специально созданная для мониторинга

Инструменты

Специализированное

решение

IDS

Wireshark

Видео-

монитор

Статическая

фильтрация и

пересылка

Page 18: Программируемые и программно- определяемые сети

Рабочая сеть

Подход 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

Page 19: Программируемые и программно- определяемые сети

Пересылка на базе правил пользователя: Topology Independent Forwarding

Управление правилами пересылки трафика

для улучшения утилизации WAN

Cisco XNC

Page 20: Программируемые и программно- определяемые сети

Использование времени задержки как параметра

выбора маршрута

Другие параметры для определения маршрута также возможны

2 мс

Openflow / one PK

Cisco XNC

Page 21: Программируемые и программно- определяемые сети

Цены ISP Маршрут A Маршрут B

$1

$2

$3

$1

$2

$3

2

3

App

1

Маршрут A

one

PK

Назначение

Маршрут B

Маршрутизация по стоимости

Собственные правила определения маршрута движения трафика

Page 22: Программируемые и программно- определяемые сети

Что такое “Slicing”? «Нарезка» сети по разным критериям

Возможности

• Динамическая сетевая

сегментация из “единой

точки контроля”

• Изоляция сегментов

• Бесшовная интеграция с

пересылкой по

пользовательским правилам

Максимум гибкости и учета динамических потребностей предприятия

Slice 1

Slice 2

Slice 3

Page 23: Программируемые и программно- определяемые сети

Функциональность сетевой «нарезки»

Сетевая «нарезка» логически делит сеть на основе набора критериев

- Физические устройства

- Физические интерфейсы

- Логические интерфейсы

- VLAN ID

- Дополнительные параметры потоков (например: порт, протокол, источник,

назначение и т.д.)

Пользователи могут быть привязаны к специфичным сегментам

Пользователи будут видеть только свою часть сети

Page 24: Программируемые и программно- определяемые сети

Cisco OnePK

Page 25: Программируемые и программно- определяемые сети

Традиционные средства

Развитие средств управления сетевой

операционной системой

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

Page 26: Программируемые и программно- определяемые сети

Архитектура onePK

Программы на C, JAVA, Python

Презентационный уровень onePK API

Инфраструктура onePK API

IOS / XE

(Catalyst, ISR, ASR1K)

NXOS

(Платформы Nexus)

IOS XR

(ASR 9K, CRS)

Page 27: Программируемые и программно- определяемые сети

Разработайте однажды, используйте везде!

onePK: варианты размещения приложений

Процесс/контейнер Серверный модуль Внешний сервер

Container

onePK Apps

Network OS

Bla

de

onePK Apps Ex

tern

al

Serv

er

Network OS

Container

Network OS

onePK Apps

27

Page 28: Программируемые и программно- определяемые сети

Сетевые приложения

Cisco XNC

Cisco Router / Switch

Cisco OS

OpenFlow агент

onePK API

Open Flow

Protocol

onePK API

Пример: OpenFlow Agent

API

уровня

устройств

API

сетевого

уровня

LXC onePK API

REST

Page 29: Программируемые и программно- определяемые сети

DATA PATH

POLICY

ROUTING

ELEMENT

DISCOVERY

UTILITY

DEVELOPER

Уровень коммутации данных – копирование, вставка,

статистика...

Фильтрация (NBAR), классификация (class-map, policy-map),

действия (маркировка, policing, queuing), применение политик

Чтение маршрутов RIB, добавить/удалить маршруты,

получать уведомления RIB

Статистика CPU/память, статистика по интерфейсам,

событий по элементам и интерфейсам

Обнаружение топологии и сетевых элементов

События SYSLOG, отслеживание пути трафика

Отладка и расширение CLI (вызов CLI из приложений)

Наборы сервисов OnePK

Page 30: Программируемые и программно- определяемые сети

Свойства и статистика {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

Page 31: Программируемые и программно- определяемые сети

Свойства и статистика {SET} E

lem

ent System

Interfaces

Discovery

Ap

plic

atio

n

Location

IP address, MTU, Clear Stats, Shut/No

Shut

Filters

Page 32: Программируемые и программно- определяемые сети

Политики и маршруты {GET}

Po

licy

Routing

QoS

Security

RIB, Next-Hop, metric, AD,

scope (VRF), Changes

Configured Classes

Configured ACLs

Ap

plic

atio

n

Page 33: Программируемые и программно- определяемые сети

Политики и маршруты {SET}

Po

licy

Routing

QoS

Security

Static routes

Service-Policies (Police,

Mark, Shape, Queue)

ACLs

Ap

plic

atio

n

Page 34: Программируемые и программно- определяемые сети

Пакетные данные {GET}

Data Plane

Ap

plic

atio

n Copy or Punt Packets

Page 35: Программируемые и программно- определяемые сети

Манипуляция пакетами {SET}

Data Plane Inject New or Modified Packets

Ap

plic

atio

n

Page 36: Программируемые и программно- определяемые сети

Реализация агента для 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 для выполнения конфигурации

• Будущие расширения – управление версиями ПО

Page 37: Программируемые и программно- определяемые сети

LXC Container

Network OS

Wiring Verification

Agent (onePK App)

Проверка сетевой топологии

TFTP

hostname-topo

2. Загрузить план

соединений

1. Определить фактическую топологию

3. Сравнить факт с планом

XMPP 4. Сообщить результат

по XMPP

Page 38: Программируемые и программно- определяемые сети

Оверлейные сети и Nexus 1000V

11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved. 38

Page 39: Программируемые и программно- определяемые сети

Виртуальные оверлейные сети с 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

Page 40: Программируемые и программно- определяемые сети

Что уже реализовано?

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)

Page 41: Программируемые и программно- определяемые сети

11.12.2013 © 2013 Cisco and/or its affiliates. All rights reserved.

Пожалуйста, заполните анкеты.

Ваше мнение очень важно для нас.

Спасибо

Contacts:

Name

Phone

E-mail

CiscoRu Cisco CiscoRussia

#CiscoConnectRu