Запись вебинара: http://ciscoclub.ru/principy-i-podhody-cisco-dlya-avtomatizacii-v-setyah-operatorov-svyazi
В рамках данной концептуальной сессии освещается назначение и стандартизация протоколов Netconf/Restconf, а также их языка моделирования данных YANG для обеспечения современного подхода для управления конфигурациями устройств. Дополнительно описываются продукты компании Cisco Systems в которых используются методы обнаружения топологии сети (BGP-LS) и обеспечения маршрутов прохождения информационных потоков (PCEP). В завершающей части презентации будет представлена концепция новой расширяемой платформы для автоматизации эксплуатационных процессов на сетях операторов связи.
7. NETCONF, RESTCONF и YANG
Модели данных + протоколы для разных задач
NETCON
F
Manager
NETCONF
Yang
Model
s
Платформа
оркестрации сети
Бизнес-
системы
HTTP:RESTCONF
Протоколы +
представления
Модель YangМодель Yang Модель Yang
Модель
Yang
ДанныеДанныеДанные
8. • Июнь 2002, Совет по архитектуре Интернет (IAB) провел семинар по теме Network
Management (RFC3535) для
• Обсуждения технологий релевантных к сетевому управлению (их сильные и слабые стороны)
• Определения наиболее важных потребностей операторов связи
• Рекомендация: Просмотреть RFC3535 секцию 3, «Operator requirements»
• Требования по прежнему актуальны на сегодняшний день!
Происхождение NETCONF и YANG
8
9. Основные этапы стандартизации IETF
Протокол NETCONF
• Network management
protocol
• RFC 4741 (1.0)
• RFC 6241 (1.1 Июнь,
2011)
Моделирование
данных YANG
• Data modeling
language
• RFC 6020 (1.0)
• Окт. 2010
YANG 1.1 (RFC6020bis)
одобрение
RESTCONF Protocol
• REST mapping of
NETCONF data
Стандартизация
моделей YANG
Дек. 2006 Окт. 2010 Сейчас
9
10. • YANG: язык моделирования данных
• Явно и точно определяет структуру,
синтаксис и семантику данных…
• …то что доступно для внешних
запросов
• Согласованный и законченный
формат
• NETCONF и RESTCONF: протоколы
• Обеспечивают возможность
просмотра и манипуляции данными
• Осуществляют кодирование данных
как определено самой моделью
Данные, Модели и Протоколы
Модели
данных
Экземпляры
данных
Протоколы
10
11. Что такое NETCONF?
• Netconf – протокол, ориентированный на соединение
• SSH, TLS как транспорт
• Клиент Netconf (“manager”) устанавливает сессию с сервером
(“agent”)
• Данные кодируются в виде XML
• Базируется на RPC
• <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=”100">
• Определен в RFC4741 (NETCONF 1.0) и RFC6241 (NETCONF 1.1)
• Функция Call-home в процессе стандартизации
• Возможность инициировать соединение со стороны устройства
12. Основные операции NETCONF
Операция Описание
<hello>
Инициация соединение и обмен данными о возможностях
систем
<get-config>
<edit-config>
<copy-config>
<delete-config>
Операции для изменения конфигурации
<close-session>
<kill-session>
Операции управления сессиями
<commit>
<cancel-commit>
Управление транзакциями
<create-subscription> Работа с подписками
13. Зачем нужен YANG?
Пример конфигурации в неструктурированном виде
• NETCONF не формирует требований к структуре сообщений
• Разные форматы у разных производителей
• Сложность в обработке данных
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="101"xmlns="urn:ietf:params:netconf:base:1.0">
<data>
<cli-config-data>interface Loopback113
description test456no
ip address
load-interval 30
End
</cli-config-data>
</data></rpc-rep?ly>]]>]]>
14. Что такое YANG?
• YANG – Yet Another
Next-Generation
• Язык моделирования
данных
• Данные о
конфигурации
• Данные о состоянии
• Определение самих
моделей данных
• IETF
• OpenConfig
• Vendors, BF, MEF, etc
acme-box module
properties container
interfaces container
name: string, config
name: string, config
interface: list, key = name
oper-state: enum, config
15. Тип и источники моделей данных YANG
- Модели от
производителей
(native)
- Стандартные
модели
- Расширения к
стандартным
моделям
- Сервисные модели
draft-ietf-netmod-yang-model-classification-00.txt
IETF draft-ietf-netmod-yang-model-classification
15
16. NETCONF, RESTCONF и YANG
Модели данных + протоколы для разных задач
NETCONF
Manager
NETCONF
Yang
Model
s
Платформа
оркестрации сети
Бизнес-
системы
HTTP:RESTCONF
Протоколы +
представления
Модель
Yang
Модель
Yang
Модель
Yang
Модель
Yang
ДанныеДанныеДанные
17. Что такое RESTCONF ?
• draft-ietf-netconf-restconf
“RESTCONF использует операции HTTP (GET, POST, PUT and
DELETE ) для обеспечения доступа к данным,
смоделированным с использованием YANG”
• Позволяет использовать распространенные средства работы с
HTTP (REST API)
• Большое количество разработчиков, знакомых с технологией
• Поддержка механизма представления данных через XML или
JSON
18. RESTCONF API
Механизм формирования URI
Module my-interfaces {
namespace ”com.my-interfaces”;
container interfaces {
list interface {
key name;
leaf name { type string; }
leaf admin-status { type enum;}
rpc flap-interface {
input {
leaf name { type string; }
}
output {
leaf result { type boolean; }
}
}
Модель Yang
Данные
Операции
(RPC)
URI:
/restconf/data/my-
interfaces:interfaces/<some name>
URI:
/restconf/operations/my-interfaces:flap-
interface/<some name>
20. Обзор BGP Link-State (BGP-LS)
• Использование BGP
анонсирования LSDB и TED
• Поддержка OSPF и ISIS LSDB
• Преимущества
• Единая точка получения данных
(BGP)
• Использование механизмов
защиты и транспорта BGP
20
Domain 1 Domain 2
Domain 0
BGP-LS
BGP-LS BGP-LS
RR
PCE
TED
LSP DB
21. Что такое Path Computational Element
(PCE) ?
• Вычисление пути LSP
• Может быть частью ПО маршрутизатора или работать на
внешнем сервере
• Настройка путей intra-, inter-area и inter-layer
21
22. Терминология PCE
• Traffic Engineering Database (TED)
• Информация о топологии и
ресурсах
• Данные из IGP LSDB
• Path Computation Engine (PCE) –
active/passive, stateless/stateful
• Внешний сервер или сетевая ОС
• Path Computation Client (PCC)
• Агент на оборудовании
• PCE Protocol (PCEP)
• Протокол взаимодействия между
PCC и PCE
22
24. NSO, основные функции – оркестатор сети
• Модели данных для услуги и
устройства
• Структурированное
представление:
• Экземпляра услуги
• Параметров и состояния
сети
• Связывание процедуры
изменения услуги и
конфигурации устройства
• Транзакционность
• Поддержка разных
производителей и
протоколов
Network Element Drivers (NEDs)
Service Manager
Device Manager
Физические
устройства
Виртуальные
устройства
• VNFM
• Контроллеры
• EMS и NMS
Сетевые
приложения
Модель
услуги
Модель
устройс
тва
Приложения
REST, NETCONF, Java, Python, Erlang, CLI, Web UI
NETCONF, REST, SNMP, CLI, другие
Инженеры
25. Сценарий для сквозной настройки услуги
A1
B1
A3
B3
A4
B4
A6
B6
A7
B7
A9
B9
C2 C5 C8
A2 A5 A8
B2 B5 B8
Region1 CORE Region2
T1
T1’
Cisco NSO
int Gige 0/0/0/0
l2transport
int Gige 0/0/0/0.1
dot1q vlan 1
xconnect group custX-vlan1
p2p vlan1
int Gige 0/0/0/0.1
. . .
int Gige 0/1/0/0
l2transport
int Gige 0/1/0/0.1
dot1q vlan 1
xconnect group custX-vlan1
p2p vlan1
int Gige 0/1/0/0.1
. . .
L2VPN
Service
Как настроить транспорт между маршрутизаторами PE для
выполнения требований SLA?
26. WAN Automation Engine
Эволюция: возможности по оптимизации и автоматизации
• Абстракция
реальной сети
• «А что если?»
• Оптимизация
• Историческая и
текущая отчетность
• Узкие места
• Анализ сетевой
эффективности
Оперативные
изменения,
Интеграция, API
• Мониторинг
выполнения
требований
качества сервиса
• Автоматизация
изменений на сети
Сетевая модель
База данных за
разные периоды
Программирование
сети
Динамическое
обеспечение SLA
WAE
27. Пример: Обеспечить LSP маршрут, удовлетворяющий определенным требованиям сквозь несколько AS, между двумя маршрутизаторами и
поддержкой SR на сети (обеспечивая непересекающееся устройства на пути когда возможно, затем линки, а при недоступности наикратчайший путь)
Оркестрация транспорта NSO & WAE
A1
B1
A3
B3
A4
B4
A6
B6
A7
B7
A9
B9
C2 C5 C8
A2 A5 A8
B2 B5 B8
Region1 CORE Region2
T1
T1’
WAN Automation Engine
Analytics Calendaring
Optimization and
Prediction
Collector Deployer Network Interface
Current Model New ModelNetwork Modeler
NSO (dev. mgr.)
interface tunnel-te 1
destination <DST>
ipv4 unnumbered L0
path-protection
path option 1 explicit name <T1> segment-routing verbatim
path option 2 explicit name <T1-B> segment-routing verbatim
Запрос на расчет LSP от A до B, с параметрами SLA
Ответ, стек {SID1, SID2, ..}
RESTful APIs
interface tunnel-te 1
destination <DST>
ipv4 unnumbered L0
path-protection
path-option 1 explicit name <T1> segment-routing verbatim
path-option 2 explicit name <T1-B> segment-routing verbatim
Модификация пути
Динамическое обеспечение
SLA:
Мониторинг и
обслуживание заданной
Заказчиком политики
Начальная конфигурация
28. Пример: Обеспечить LSP маршрут, удовлетворяющий определенным требованиям сквозь несколько AS, между двумя маршрутизаторами и
поддержкой SR на сети (обеспечивая непересекающееся устройства на пути когда возможно, затем линки, а при недоступности наикратчайший путь)
Оркестрация транспорта NSO & WAE
A1
B1
A3
B3
A4
B4
A6
B6
A7
B7
A9
B9
C2 C5 C8
A2 A5 A8
B2 B5 B8
Region1 CORE Region2
T1
T1’
WAN Automation Engine
Analytics Calendaring
Optimization and
Prediction
Collector Deployer Network Interface
Current Model New ModelNetwork Modeler
NSO (dev. mgr.)
mpls traffic-eng
pce address ipv4 x.x.x.x
interface tunnel-te 1
pce delegation
destination <DST>
ipv4 unnumbered L0
path-protection
path-option 1 dynamic segment-routing pce
Запрос на расчет LSP от A до B, с параметрами SLA
Ответ, стек {SID1, SID2, ..}
RESTful APIs
mpls traffic-eng
pce address ipv4 x.x.x.x
interface tunnel-te 1
pce delegation
destination <DST>
ipv4 unnumbered L0
path-protection
path-option 1 dynamic segment-routing pce
Делегирование
контроля за
PCEP туннелем на WAE/XTC
Динамическое обеспечение
SLA:
Мониторинг и
обслуживание заданной
Заказчиком политики
Начальная конфигурация
29. Интеграция NSO, WAE, XTC
WAE
SNMP NetFlowCLI
XTC (функция IOS
XR)
NSO (как
интерфейс netconf)
NC/YANGCLIBGP-LS PCEP
Network Interface
Cisco Network Service Orchestrator (NSO)
“Абстракция сервиса”
Модель сервиса и оркестрация
“Абстрация сети”
Расчет маршрутов, модель сети
“Абстракция устройств”
Контроллеры, «сетевые драйверы»
“Протоколы”
SB методы взаимодействия
36. telemetry model-driven
destination-group DGroup1
address family ipv4 10.60.19.8 port 2104
encoding self-describing-gpb
protocol tcp
!
sensor-group SGroup1
sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-
statistics/interfaces/interface/latest/generic-
counters
!
subscription Sub1
sensor-group-id SGroup1 sample-interval 30000
destination-id DGroup1
Пример настройки Телеметрии
с Моделями Данных
Какие данные собираем
Куда отправляем и каким образом
Как часто
38. Что такое ROBOT?
(Robotic Operations Based on Telemetry)
• ROBOT набор решений, объединяющий вместе потоковую
телеметрию, аналитику данных, искусственный интеллект и
программные API для переопределения термина
обслуживание сетей операторского класса
• Обеспечивает расширяемую платформу для Заказчиков и
партнеров для действительно построения инновационной
«Экосистемы приложений» используя новые возможности
на самих сетевых устройствах
39. Концепция для реализация множества сценариев
Управление
трафиком
Автоматизация
изменений
Мониторинг KPI в
реальном времени
Предиктивное
обслуживание
Безопасность
ROBOT
Morph
Network
Change App
Pulse Health Check
Network App
WAN
Automation
Engine
40. Использование телеметрии в сети оператора
связи
Платформа обработки данных
Коллекторы данных
Машинное
обучение и
аналитика
2
Получить данные для
принятия решения
(Аналитика)
Многоуровневая топология
Оптика, маршрутизация, услуги
1 Получить данные с сети
Телеметрия
Открытые API
Состояние сети
Оптимизация
сети
Планирование
сети
Управление жизненным
циклом устройства
Безопасность
Dos, DDoS: Detection,
Prevention, Remediation
Автоматизация задач
Настройка, Управление, Оптимизация
3 Автоматизировать задачи управления
Настройка
Приложения
41. Автоматизация с использованием телеметрии
На примере задач изменений конфигурации (Приложение «Morph»)
Коллекторы
данных
WAN Automation
Engine
Телеметрия
APIs
Задачи по настройке
оборудования (напр.
Ansible playbook)
Контроль последствий в
реальном режиме
времени Precheck
Execute
VerifyRollback
Post check
Изменения
конфигурации
(NSO, …)
Если есть
проблема
43. Рекомендационный центр «Pulse Health Check»
Какая информация необходима для анализа первопричины?
CDETS /
Escalations
DB
Sensor
Recommendation
Engine
Sensor
Recommendation
DB
KPI Dashboard
Unsupervised
Machine Learning
(Clustering)
Machine
Learning
Streaming
Telemetry
44. Network data
(HW, SW, Configs)
Переход от реактивной к проактивной модели
Приложение «Pulse» – Мониторинг KPI и предиктивное обслуживание
Data Lake
Machine Learning Correlation
Engine
KPIs
Relevant
Metrics
Real-time
Telemetry
Alert
Engine
Predictive Engine
Reactive Remediation
Proactive
Remediation
Knowledge
Derived from
ML
45. Архитектура Cisco SP NAC
(высокоуровневая)
SW Infrastructure
Best of Breed
Deployment Service Collection Service
Customer Developed
Applications
Infrastructure API
Deployment API Collection API
Time Series DB Message Bus NoSQL DB ...
Customer Network
Pronghorn
PronghornPartner
Applications
i.e. iTential
Automation Center SDK
Plugin Plugin Plugin Plugin PluginPlugin
Automation App
Ecosystem
Pipeline
Collectors
Pipeline
Collectors
Traffic
Trending &
Reporting
Pipeline
Collectors
Pipeline
CollectorsROBOT
Morph
Pipeline
Collectors
Pipeline
CollectorsROBOT
Pulse
Customer OSS & Tools