Cisco Connect 2018 – Презентация€¦ · Инвентаризация и...

Post on 27-Jun-2020

6 views 0 download

Transcript of Cisco Connect 2018 – Презентация€¦ · Инвентаризация и...

Возможности программного управления Cisco DNA

Денис Коденцев• Инженер-консультант, CCIE

О чем пойдет речь?

DEVNET-3620

• Какие задачи решаем?• Развитие средств автоматизации Cisco

• REST API• От Prime к DNA-Center (через APIC-EM)

• Взглянем в будущее• DNA-Center как платформа• SDK для новых устройств

• IOS XE Guestshell

• Заключение

Зачем нам API?

DEVNET-3620 4

Автоматизация Интеграция Инновации

От Prime к APIC-EM и далее к DNA-Center

DEVNET-3620

Интуитивная сетьDesign – Policy – Provision – Assure

Инфраструктура управляемая через намерения

DNA-Center

АналитикаПолитика Автоматизация

Н а м е р е н и е К о н т е к с т

О б у ч е н и е

Контекст (здоровье)Намерение (политика)

Уровень абстракции

DEVNET-3620 7

«ЧТО» я хочу

«КАК» это сделано

«ЧТО» происходит

«КАК» это работает

Замкнутый цикл автоматизации жизненного цикла

Контроллер автоматизации

Контроллер аналитики

Телеметрия

СтатистикаНастройка телеметрии

Загрузка конфигурации

Производные телеметрии

Проблемы

Нарушения политик

Инвентаризация и топология

Изменения состояний

Информация о Path Trace

Северный REST API

Вчера: Архитектура APIC-EM

APIC-EM Приложения

Elastic Controller Infrastructure (Grapevine 1 )

NetworkPnPIWAN Path

Trace Easy QoS

Advanced Topology Visualizer

APIC-EM СервисыInventory Manager RBAC Policy Analysis Policy

Programmer

Network PnPData Access Service

Topology Services

IWANServices

Приложения APIC-EM

• Встроены в APIC-EM

• Ключевые приложения работают всегда

• IWAN приложение опционально

Открытый и документированный REST API

Внутренние сервисы и процессы

Специальные сервисы для приложений

Обеспечение масштабируемости и надежности

NetworkInventory

Сегодня: Архитектура DNA-Center

Платформа масштабирования (Maglev)

Общий уровень представлений (DNA Center)

Северный REST API

Приложения автоматизации

App 1

Процессы контроллера

Общие процессы

App 1 сервис

App 2 сервис

Базовые приложения

App 1 сервис

App 2 сервис

App 2 App 3

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

Сегодня: Архитектура DNA-Center

Платформа масштабирования (Maglev)

Общий уровень представлений (DNA Center)

Северный REST API

Приложения автоматизации

App 1

Процессы контроллера

Общие процессы

App 1 сервис

App 2 сервис

Базовые приложения

App 1 сервис

App 2 сервис

App 2 App 3

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

DNA Аналитика – Network Data Platform

Северный REST API

Collectors – события, потоки, телеметрия, метрики

Обработкаданных

Машинное обучение

Хранение

Сегодня: Архитектура DNA-Center

Платформа масштабирования (Maglev)

Общий уровень представлений (DNA Center)

Северный REST API

Приложения автоматизации

App 1

Процессы контроллера

Общие процессы

App 1 сервис

App 2 сервис

Базовые приложения

App 1 сервис

App 2 сервис

App 2 App 3

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

DNA Аналитика – Network Data Platform

Северный REST API

Collectors – события, потоки, телеметрия, метрики

Обработкаданных

Машинное обучение

Хранение

Сегодня: Архитектура DNA-Center

Платформа масштабирования (Maglev)

Общий уровень представлений (DNA Center)

Северный REST API

Приложения автоматизации

App 1

Процессы контроллера

Общие процессы

App 1 сервис

App 2 сервис

Базовые приложения

App 1 сервис

App 2 сервис

App 2 App 3

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

UI

Телеметрия

DNA Аналитика – Network Data Platform

Северный REST API

Collectors – события, потоки, телеметрия, метрики

Обработкаданных

Машинное обучение

Хранение

Приложения аналитики

Базовые приложения

DNA Assurance

Представление, Политики, Визуализация

«Kairos»

• DNA Center на базе UCS-C сервера с TPM модулем

• Только локальное внедрение, с обновлениями из облака

• Встроенные средства сбор телеметрии (FNF, SNMP, Syslog)

• Встроенные коннекторы (ISE/PxGrid, IPAM) для контекстной информации

Что такое DNA Center Appliance?

Параметры масштабирования отражены в Release Notes

Главный экран DNA Center – все основные этапы жизненного цикла сети

DEVNET-3620 15

АвтоматизацияNetwork Control Platform

Cisco ISE 2.3Identity Services Engine

АналитикаNetwork Data Platform

Cisco коммутаторы | Cisco маршрутизаторы | Cisco БЛВС

Cisco DNA Center 1.1

AAARADIUSEAPoL

HTTPSNetFlowSyslogs

NETCONFSNMPSSH

API API

API

API

Сетевая фабрика

Design | Policy| Provision | Assurance

DN1-HW-APLDNA Center Appliance

API

SNS 3500 SeriesISE Appliance

DNA контроллер и компоненты решения

16

Интеграция DNA Center и ISE

17

• Идентификация и автоматизация политик

Сетевая фабрика

АутентификацияАвторизация

Политики

Управление фабрикой

Простота создания политик

Группы и политики

pxGridREST APIs

Cisco Identity Services Engine

Cisco DNA Center

• Роли выполняемые ISE в среде SD-Access

ISE-PAN ISE-PXG

ISE-MNT

ISE-PSN

Employee VN/SGT-10If then

Contractor VN/SGT-20If then

Things VN/SGT-30If then

Политика авторизации Exchange TopicsTrustSecMetaData

SessionDirectory*

SGT Name: Employee = SGT-10SGT Name: Contractor = SGT-20...

Bob with Win10 on CorpSSID

Сетевые устройстваПользователи

Config Sync контекст

Контекс

тЛогирование

DNA Center

REST pxGrid

Настройка-управление

Пользователи

Устройства

IoT

Интеграция DNA Center и ISE - подробности

18

Еще раз кратко про API

DEVNET-3620

Что такое API?

Формальное определение

def API():return {

"acronym" : "Application Programming Interface","defines" : "a set of rules, protocols, tools","purpose" : "build and interact with software",

}

Один из популярных вариантов - REST API

• Как это работает?

Запрос клиента

API Service

Выполнения запрошенной

функции

Ответ

Анализ ответа на

стороне клиента

GET, POST, PUT, DELETE

JSON, XML, TEXT

REST API:

Глаголы + Существительные + Синтаксис

22

GET

POST

PUT

DELETE

JSON Syntax:

{"policyOwner": "Admin","networkUser":

{"userIdentifiers":["40.0.0.15"],"applications":[{"raw": "12340;UDP"}]}

}Header: Content-Type: Application/JSON

https://adam-dnac/api/v1/host GET

/host

/network-device

/interface

API для DNA-Center

Настройки сетевого профиля

Как DNA-Center обрабатывает изменения конфигураций?

24

Шаблоны конфигураций(День 0-N)

Политики

Общие сетевые сервисы

Управление устройством

Non Policy Configuration

Сегментация, QoS

NTP server, MOTD, DHCP, DNS, TimeZone

SNMP trap, netflow, aaa, syslog, IPDT, Certificate

DNA Center Файлы настройки конфигураций

Документация API

25

DNA Center 1.1 – API покрытие функций контроллера

Процесс авторизации в API

DEVNET-3620 27

Изменения авторизации в сравнении с APIC-EM

28

APIC-EM DNAC

Authentication request

POST JSON Body Basic Auth

Response ["response"]["serviceTicket"] ["Token"]

DNA Center – API доступные сегодня

o CRUD device credentialso Start discovery jobso Device retrieval

o CRUD inventoryo CRUD roleso CRUD location

DISCOVERY

DEVICE

o Host/user retrieval with filters

o Host number

HOST

o Trigger processo Schedule/nowo Per-group

o CRUD imageso Image detailso Recommendation report

SWIM

o Namespaceso File managemento PKI management

SYSTEM

o Image managemento CRUD projectso CRUD devices

PNP

• Network Level API’s

Ø Network Discovery

Ø Network Inventory (Device/Host)

Ø SWIM

Ø Plug and Play (PnP)

Ø Supporting APIs

• APIs documented using Swagger

Ø Link to documentation available from the Home Page

Ø Offline documentation available on Cisco DevNet

DNAC v1.1: доступные API

App level API’s (e.g. for SDA and EasyQoS) will be made available via DNA-C as a Platform in the March

release

Сравнение возможностей API

DEVNET-3620 31

PI APIC-EM DNAC 1.1

PnP Uses APIC-EM Stacking workaround. API only until March 2018

Visibility/assurance Netflow based. Limited abstraction

None. Limited to EasyQoS

Health based. No Application health until Jan

Day-N Configuration change

Template based None- EQ only New Integrated workflow. Site settings + configuration templates.

Day-N Software upgrade

Limited scale – 5 devices None New workflow. Golden Images.Pre/Post checks.

API Not complete. Retro fitted

API first Limited until March 2018

IOS XE: Guestshell

DEVNET-3620

1 + 1 > 2

33

Python

+ guestshell(from 16.5 / 16.3.1)

EEM +

EEM и Python

• Использует интерпретатор Python 2.7 • Конфигурация похожа на скрипты EEM Tcl• Такой же синтаксис определения событий-тригеров

• Похожие методы для syslog, CLI execution, SNMP traps, и т.п.

• Скрипты Python запускаются в guestshell контейнере• Поддерживаются многие пакеты Python (может меняться)

• requests• SSL/TLS• smtplib• sqlite3

FYI

Что такое Guestshell?

• Контейнер BusyBox Linux запущенный наряду с IOS-XE

• Запускается через guestshell EXEC команду

• Полный доступ к управлению устройством

• Доступ к файловой системе /flash• Команды Guestshell могут запускаться непостредственно из IOS EXEC

• Предоставляет среду для запуска скриптов Python

Python

Проблема: Как точно определять физические проблемы в кабеле?

§ большинство таких проблем не фатальны (изначально)

§ не все пары проводов могут быть затронуты

§ проблемы далеко не всегда в коннекторе

§ специализированное оборудование может быть недоступно

Решение: Time Domain Reflectometry

§ формирует тестовый сигнал в кабеле

§ измеряет отражения сигнала

вызванные неравномерным сопротивлением

à Обнаружение и (примерное) расположениеСмотрите: http://en.wikipedia.org/wiki/Time-domain_reflectometryДля медного Ethernet 10/100/1000, (подмножества) Catalyst 3k, 4k, и 6k и начиная с 12.1(19)EA1

Example: Time Domain Reflectometry (TDR) – 1/2

37

FYI

Но: Возможно Вы не хотите запускать тест на всех интерфейсах. И хотели бы сообщать только о важных событиях

Пример: Time Domain Reflectometry (TDR) – 2/2

38

1) Запуск TDR теста:switch# test cable-diagnostics tdr interface gigabitethernet1/0/3TDR test on Gi1/0/9 will affect link state and trafficTDR test started on interface Gi1/0/3A TDR test can take a few seconds to run on an interfaceUse 'show cable-diagnostics tdr' to read the TDR results.

Замечание: Это может приводить к перерыву доступности интерфейса на время теста!2) Проверить результаты:

switch# show cable-diagnostics tdr interface gigabitethernet1/0/2TDR test last run on: December 18 21:05:37Interface Speed Local pair Pair length Remote pair Pair status--------- ----- ---------- ------------------ ----------- --------------------Gi1/0/2 auto Pair A 0 +/- 2 meters N/A Open

Pair B 0 +/- 2 meters N/A OpenPair C 0 +/- 2 meters N/A OpenPair D 0 +/- 2 meters N/A Open

Решение: Запустить скрипт в guestshell / Python и фильтровать результаты перед отправкойà See https://github.com/CiscoDevNet/python_code_samples_network/tree/master/tdr-test

+ Python + guestshell

(from 16.5 / 16.3.1)

FYI

Пример: Протоколирование активности пользователя

39

События

Выборка данных

Поддержка Syslog

Модули Python

FYI

Пример: Выполнение команд и отправка email с результатами

40

Выполнение CLI команд

Отправка email

FYI

Заключение и выводы

DEVNET-3620

$201МлрдРынок сетевых приложений 1

75%приложений создано,а не куплено1

Почему это важно?

Программные решения Лицензирование Профессиональные

услуги2Поддержка разработки

• Монетизация с программными возможностями DNA

• Подписка Cisco ONE™ для расходов Opex

• Cisco AS для поддержки, внедрения и оптимизации

• Совместный процесс разработки на базе Cisco DevNet

1Source: Gartner | 2For Select Partners

К2020

Оцените данную сессию в мобильном приложении конференции

• www.facebook.com/CiscoRu

• www.instagram.com/ciscoru

• www.youtube.com/user/CiscoRussiaMedia

• www.vk.com/cisco

43

Спасибо за внимание!

Контакты:

Тел.: +7 495 9611410www.cisco.com

© 2018 Cisco and/or its affiliates. All rights reserved.