Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Возможности программного управления 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.