Вы находитесь на странице: 1из 46

Обзор подходов и

продуктов Cisco для


автоматизации в сети
оператора связи

Олег Феоктистов
Системный инженер, CCIE

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


Содержание

• В чем причина и необходимость автоматизации?


• Развитие протоколов
• Применение в продуктах
• Концепция компании Cisco

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


Что хотят
Web/OTT
операторы?
Масштабирования Скорости
Современный уровень: Lulea Datacenter (FB)
1 инженер службы
эксплуатации

25000 - 45000
?????
серверов

Agence France-Presse/Getty Images


Обзор протоколов (конфигурация устройств)

© 2017 Cisco and/or its affiliates. All rights reserved. 6


NETCONF, RESTCONF и YANG
Модели данных + протоколы для разных задач
Бизнес-
системы

HTTP:RESTCONF
Yang
Model Модель
Протоколы + Платформа Yang
NETCON s
представления оркестрации сети
F
Manager

NETCONF

Модель Yang Модель Yang Модель Yang

Данные Данные Данные


Происхождение NETCONF и YANG
• Июнь 2002, Совет по архитектуре Интернет (IAB) провел семинар по теме Network
Management (RFC3535) для
• Обсуждения технологий релевантных к сетевому управлению (их сильные и слабые стороны)
• Определения наиболее важных потребностей операторов связи

• Рекомендация: Просмотреть RFC3535 секцию 3, «Operator requirements»


• Требования по прежнему актуальны на сегодняшний день!

8
Основные этапы стандартизации IETF

Дек. 2006 Окт. 2010 Сейчас

Протокол NETCONF Моделирование YANG 1.1 (RFC6020bis)


• Network management данных YANG одобрение
protocol • Data modeling RESTCONF Protocol
• RFC 4741 (1.0) language
• REST mapping of
• RFC 6241 (1.1 Июнь, • RFC 6020 (1.0) NETCONF data
2011) • Окт. 2010 Стандартизация
моделей YANG

9
Данные, Модели и Протоколы
• YANG: язык моделирования данных
• Явно и точно определяет структуру,
синтаксис и семантику данных… Протоколы
• …то что доступно для внешних
запросов
• Согласованный и законченный Экземпляры
формат данных
• NETCONF и RESTCONF: протоколы
• Обеспечивают возможность
просмотра и манипуляции данными
• Осуществляют кодирование данных Модели
как определено самой моделью данных

10
Что такое 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 в процессе стандартизации
• Возможность инициировать соединение со стороны устройства
Основные операции NETCONF
Операция Описание
Инициация соединение и обмен данными о возможностях
<hello>
систем
<get-config>
<edit-config>
Операции для изменения конфигурации
<copy-config>
<delete-config>
<close-session>
Операции управления сессиями
<kill-session>
<commit>
Управление транзакциями
<cancel-commit>
<create-subscription> Работа с подписками
Зачем нужен 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>]]>]]>
Что такое YANG?
• YANG – Yet Another acme-box module
Next-Generation
• Язык моделирования properties container
данных
• Данные о name: string, config
конфигурации
• Данные о состоянии
• Определение самих interfaces container
моделей данных
• IETF
interface: list, key = name
• OpenConfig
• Vendors, BF, MEF, etc name: string, config

oper-state: enum, config


IETF draft-ietf-netmod-yang-model-classification

Тип и источники моделей данных YANG

- Модели от
производителей
(native)
- Стандартные
модели
- Расширения к
стандартным
моделям
- Сервисные модели

15
draft-ietf-netmod-yang-model-classification-00.txt
NETCONF, RESTCONF и YANG
Модели данных + протоколы для разных задач
Бизнес-
системы

HTTP:RESTCONF
Yang
Модель
Протоколы + Платформа Model
Yang
s
представления оркестрации сети
NETCONF
Manager

NETCONF

Модель Модель Модель


Yang Yang Yang

Данные Данные Данные


Что такое RESTCONF ?

• draft-ietf-netconf-restconf
“RESTCONF использует операции HTTP (GET, POST, PUT and
DELETE ) для обеспечения доступа к данным,
смоделированным с использованием YANG”
• Позволяет использовать распространенные средства работы с
HTTP (REST API)
• Большое количество разработчиков, знакомых с технологией
• Поддержка механизма представления данных через XML или
JSON
RESTCONF API
Механизм формирования URI

Модель Yang Module my-interfaces {


namespace ”com.my-interfaces”;

Данные container interfaces { URI:


list interface {
key name; /restconf/data/my-
leaf name { type string; } interfaces:interfaces/<some name>
leaf admin-status { type enum;}

rpc flap-interface {
Операции input {
leaf name { type string; } URI:
(RPC) }
output { /restconf/operations/my-interfaces:flap-
leaf result { type boolean; } interface/<some name>
}
}
Обзор BGP-LS и PCEP
(управление трафиком)

© 2017 Cisco and/or its affiliates. All rights reserved. 19


Обзор BGP Link-State (BGP-LS)
PCE
• Использование BGP
анонсирования LSDB и TED LSP DB

• Поддержка OSPF и ISIS LSDB TED


• Преимущества
BGP-LS
• Единая точка получения данных
(BGP)
Domain 0 RR
• Использование механизмов
защиты и транспорта BGP BGP-LS BGP-LS

Domain 1 Domain 2

20
Что такое Path Computational Element
(PCE) ?
• Вычисление пути LSP
• Может быть частью ПО маршрутизатора или работать на
внешнем сервере
• Настройка путей intra-, inter-area и inter-layer

21
Терминология 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
Реализация NG протоколов в продуктах Cisco

© 2017 Cisco and/or its affiliates. All rights reserved. 23


NSO, основные функции – оркестатор сети
Приложения Инженеры • Модели данных для услуги и
устройства
REST, NETCONF, Java, Python, Erlang, CLI, Web UI

Модель
услуги • Структурированное
Service Manager представление:
• Экземпляра услуги
Модель • Параметров и состояния
Device Manager устройс сети
тва

Network Element Drivers (NEDs) • Связывание процедуры


изменения услуги и
конфигурации устройства
NETCONF, REST, SNMP, CLI, другие

• Транзакционность
• VNFM
• Контроллеры
• EMS и NMS • Поддержка разных
Физические производителей и
Виртуальные Сетевые протоколов
устройства устройства приложения
Сценарий для сквозной настройки услуги
L2VPN
Service

Cisco NSO int Gige 0/1/0/0


int Gige 0/0/0/0 l2transport
l2transport int Gige 0/1/0/0.1
int Gige 0/0/0/0.1 dot1q vlan 1
dot1q vlan 1
xconnect group custX-vlan1
xconnect group custX-vlan1 T1 p2p vlan1
p2p vlan1 int Gige 0/1/0/0.1
int Gige 0/0/0/0.1 A1 A2 A3 A4 A5 A6 A7 A8 A9 . . .
. . .
T1’
C2 C5 C8

B1 B2 B3 B4 B5 B6 B7 B8 B9

Region1 CORE Region2

Как настроить транспорт между маршрутизаторами PE для


выполнения требований SLA?
WAN Automation Engine
Эволюция: возможности по оптимизации и автоматизации

База данных за Программирование Динамическое


Сетевая модель
разные периоды сети обеспечение SLA

WAE

• Абстракция • Историческая и Оперативные • Мониторинг


реальной сети текущая отчетность изменения, выполнения
• «А что если?» • Узкие места Интеграция, API требований
• Оптимизация • Анализ сетевой качества сервиса
эффективности • Автоматизация
изменений на сети
Оркестрация транспорта NSO & WAE
Пример: Обеспечить LSP маршрут, удовлетворяющий определенным требованиям сквозь несколько AS, между двумя маршрутизаторами и
поддержкой SR на сети (обеспечивая непересекающееся устройства на пути когда возможно, затем линки, а при недоступности наикратчайший путь)

Запрос на расчет LSP от A до B, с параметрами SLA

RESTful APIs
NSO (dev. mgr.) Ответ, стек {SID1, SID2, ..}
WAN Automation Engine Динамическое обеспечение
Optimization and
SLA:
Analytics Calendaring
Prediction Мониторинг и
Current Model Network Modeler New Model
обслуживание заданной
Модификация пути Collector Network Interface Deployer Заказчиком политики
Начальная конфигурация

interface tunnel-te 1
destination <DST>
ipv4 unnumbered L0
T1
path-protection
path-option
path option 1 explicit name <T1> segment-routing verbatim A1 A2 A3 A4 A5 A6 A7 A8 A9
path-option
path option 2 explicit name <T1-B> segment-routing verbatim
T1’
C2 C5 C8

B1 B2 B3 B4 B5 B6 B7 B8 B9

Region1 CORE Region2


Оркестрация транспорта NSO & WAE
Пример: Обеспечить LSP маршрут, удовлетворяющий определенным требованиям сквозь несколько AS, между двумя маршрутизаторами и
поддержкой SR на сети (обеспечивая непересекающееся устройства на пути когда возможно, затем линки, а при недоступности наикратчайший путь)

Запрос на расчет LSP от A до B, с параметрами SLA

RESTful APIs
NSO (dev. mgr.) Ответ, стек {SID1, SID2, ..}
WAN Automation Engine Динамическое обеспечение
Optimization and
SLA:
Analytics Calendaring
Prediction Мониторинг и
Current Model Network Modeler New Model
обслуживание заданной
Делегирование Collector Network Interface Deployer Заказчиком политики
Начальная конфигурация контроля за
PCEP туннелем на WAE/XTC

mpls traffic-eng
pce address ipv4 x.x.x.x T1
interface tunnel-te 1
pce delegation
A1 A2 A3 A4 A5 A6 A7 A8 A9
destination <DST> T1’
ipv4 unnumbered L0
C2 C5 C8
path-protection
path-option 1 dynamic segment-routing pce
B1 B2 B3 B4 B5 B6 B7 B8 B9

Region1 CORE Region2


Интеграция NSO, WAE, XTC
“Абстракция сервиса”
Cisco Network Service Orchestrator (NSO) Модель сервиса и оркестрация

WAE “Абстрация сети”


Расчет маршрутов, модель сети
Network Interface

XTC (функция IOS NSO (как “Абстракция устройств”


XR) интерфейс netconf) Контроллеры, «сетевые драйверы»

SNMP CLI NetFlow BGP-LS PCEP CLI NC/YANG “Протоколы”


SB методы взаимодействия
Что нового в Cisco IOS XR?

© 2017 Cisco and/or its affiliates. All rights reserved. 30


IOS-XR 6.X: Новая архитектура ПО

• На базе 64-bit OpenEmbedded Linux


• Дистрибутив от Wind River 7
• Поддерживаются контейнеры Classic XR Evolved XR (6.X)
• Стандартный инструментарий Linux
• Хостинг сторонних приложений (LXS)
System System Control Admin
• Cетевая инфраструктура для
коммуникации между контейнерами Control Admin

• NCS5500, NCS5000 и NCS1002 работают с


64-bit Linux версией XR 6.0.1 32 bit QNX 64 bit Linux
• ASR 9000 поддерживает 64-bit Linux режим с NPU X86 Hardware
XR 6.1.1
• 32-bit QNX реализация продолжает
поддерживаться

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 31
Хостинг приложений
Внутри Control Plane В отдельном Third Party LXC
• Видны все XR процессы • Нет прямой видимости XR процессов
• Видны все XR ресурсы • Нет прямой видимости XR ресурсов
• Работает вместе с XR процессами • Работает в своем namespace
• Нет изоляции • Изоляция
• Должны быть созданы для • Должны быть созданы для
WRL7 дистрибутива VM/LXC LXC дистрибутива
LXC LXC

Control Third Third


Plane Party Party

© 2017 Cisco and/or its affiliates. All rights reserved. 32


Ansible, Puppet и Chef
• Open Source инструменты с коммерческой поддержкой и расширениями
yum-config-manager --add-repo=http://192.168.0.254/XR/6.X.0
yum install chef –y
• Системы управления конфигурациями
• Поддерживают многократную реитерацию операции (idempotent)
• Описывают инфраструктуру как код
• Могут управляться с системами контроля версий (VCS), такими как git
• Изменения проверяются, распространяются, применяются и “откатываются” гораздо
проще, чем традиционными подходами

• Без агента • Использует агент • Использует агент


• Использует Python 2.7 • Использует для • Использует для конфигурации
конфигурации Ruby based подмножество Ruby
• Соединяется по SSH
DSL скрипт
© 2017 Cisco and/or its affiliates. All rights reserved. 33
Традиционная модель мониторинга
Более не подходит для масштабируемых облачных инфраструктур

Где данные создаются Где данные нужны

SNMP

syslog
Доступ и
измерение
Хранение и аналитика
CLI
Большая нагрузка на бэк-офис
Нормализация форматов данных,
кодирования, моделей данных,
меток времени
© 2017 Cisco and/or its affiliates. All rights reserved. 34
Концепция потоковой телеметрии
Лучше подходит для масштабируемых Облачных инфраструктур

Где данные создаются Поточная Телеметрия Где данные нужны

Push парадигма

Унифицированный метод
доступа к статистике,
Доступ и операционным данным,
измерение событиям на всех уровнях
Хранение и аналитика
Производительность: 10 sec

Multiple encodings & Объем: Большие массивы данных


Transport Скорость: Анализ поточных данных
Вариативность: Различные источники
и форматы данных

© 2017 Cisco and/or its affiliates. All rights reserved. 35


Пример настройки Телеметрии
с Моделями Данных
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
Концепция Cisco для автоматизации

© 2017 Cisco and/or its affiliates. All rights reserved. 37


Что такое ROBOT?
(Robotic Operations Based on Telemetry)

• ROBOT набор решений, объединяющий вместе потоковую


телеметрию, аналитику данных, искусственный интеллект и
программные API для переопределения термина
обслуживание сетей операторского класса
• Обеспечивает расширяемую платформу для Заказчиков и
партнеров для действительно построения инновационной
«Экосистемы приложений» используя новые возможности
на самих сетевых устройствах
Концепция для реализация множества сценариев
ROBOT

Управление Автоматизация Мониторинг KPI в Предиктивное Безопасность


трафиком изменений реальном времени обслуживание

WAN Morph
Automation Network Pulse Health Check
Engine Change App Network App
Использование телеметрии в сети оператора
связи
1 Получить данные с сети 3 Автоматизировать задачи управления

Настройка
Приложения
Открытые API

Телеметрия Многоуровневая топология


Оптика, маршрутизация, услуги
Автоматизация задач
Настройка, Управление, Оптимизация

2 Платформа обработки данных Планирование Оптимизация


Состояние сети
сети сети
Машинное
Получить данные для обучение и Безопасность
принятия решения аналитика Управление жизненным
циклом устройства Dos, DDoS: Detection,
(Аналитика) Prevention, Remediation
Коллекторы данных
Автоматизация с использованием телеметрии
На примере задач изменений конфигурации (Приложение «Morph»)

WAN Automation
Engine Контроль последствий в
реальном режиме
времени Precheck

Задачи по настройке
оборудования (напр.
APIs Ansible playbook) Post check Execute

Коллекторы
данных

Телеметрия
Изменения
конфигурации
(NSO, …) Rollback Verify

Если есть
проблема
Первая реализация концепции ROBOT в приложении «Morph»
Рекомендационный центр «Pulse Health Check»
Какая информация необходима для анализа первопричины?

CDETS / Streaming
Telemetry
Escalations
DB

Unsupervised Sensor
Machine Learning Recommendation Sensor KPI Dashboard
(Clustering) DB Recommendation
Engine

Machine
Learning
Переход от реактивной к проактивной модели
Приложение «Pulse» – Мониторинг KPI и предиктивное обслуживание
Predictive Engine

Machine Learning Knowledge Correlation Relevant Alert


Derived from Engine Metrics Engine
ML

KPIs

Data Lake Network data


(HW, SW, Configs)
Real-time
Telemetry Proactive
Remediation

Reactive Remediation
Архитектура Cisco SP NAC
(высокоуровневая)
Customer OSS & Tools

Automation App Pipeline Pipeline Pipeline


Pipeline
Traffic Pipeline Pipeline Pronghorn
Partner
Ecosystem Collectors Collectors
ROBOT Collectors
ROBOT Pronghorn Customer Developed
Collectors
Trending & Collectors Collectors Applications
Reporting
Morph Pulse
i.e. iTential
Applications

Automation Center SDK


Infrastructure API
SW Infrastructure Time Series DB Message Bus NoSQL DB ...
Best of Breed

Deployment API Collection API

Deployment Service Collection Service


Plugin Plugin Plugin Plugin Plugin Plugin

Customer Network
Вопросы?

ofeoktis@cisco.com

© 2017 Cisco and/or its affiliates. All rights reserved. 46