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

Post on 28-May-2015

450 views 2 download

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

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

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

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

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

askorokh@cisco.com

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

E-mail

CiscoRu Cisco CiscoRussia

#CiscoConnectRu