cisco connect€¦ · • rfc 6242 – using the netconf protocol over secure shell (ssh) • rfc...
TRANSCRIPT
Cisco Connect Москва, 2017
Цифровизация: здесь и сейчас
Автоматизация: технологии и средства
Влад Патенко
Консультант по технологиям
© 2017 Cisco and/or its affiliates. All rights reserved.
Содержание
• Обзор Netconf, RESTconf, YANG
• Обзор PCEP и BGP-LS
• Применение новых протоколов в контексте решений
• Технологии мониторинга
© 2017 Cisco and/or its affiliates. All rights reserved.
Архитектура SDN для SP
Покрытие всех технологий и доменов для
максимальной эффективности
Простая интеграция с существующими и
будущими решениями OSS/BSS
Модульная архитектура с использованием
открытых APIs и стандартных протоколов
Оркестрация через множество доменов для
контроля всей сети
BSS
OSS (Fulfillment and Assurance)
Service-Intent API
SDN / APIs
Orchestration, Service, and Policy Implementation
Branch, CPE
Control
Multi-layer
WAN SDN
Data Center
and NFV
Control
EMS, NMS
Netconf,
YANG CLI,
SNMP BGP-LS
Segment
Routing PCEP Openflow
Openstack,
vCenter
Multi-Vendor End-to-End Management and Orchestration (Physical and Virtual)
CPE Metro and Access WAN Data Centre
NETCONF, RESTCONF и YANG Модели данных + протоколы для разных задач
NETCONF
Manager
NETCONF
Yang Model
s Приложения контроля сети
Приложения услуг
HTTP:RESTCONF
Протоколы + представления
Модель Yang Модель Yang Модель Yang
Модель Yang
Данные Данные Данные
Модель данных и протокол
• Модель данных
Определение структуры, синтаксиса и семантики данных
Полнота и согласованность
• Протокол
Механизм передачи данных
Кодирование информации, определенной моделью данных
Модель данных
Протокол
Что такое 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> Работа с подписками
Операция NETCONF <hello> Пример запроса и ответа
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability
…
<capability>http://tail-f.com/ns/example/dhcpd?module=dhcpd</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2010-09-24&module=ietf-inet-types</capability>
</capabilities>
<session-id>5</session-id>
</hello>
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.1">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
</capabilities>
</hello>
Операция NETCONF <get-config> Пример запроса
• Возможность установки фильтра на требуемую часть конфигурации
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1">
<get-config>
<source>
<running/>
</source>
<filter xmlns="http://tail-f.com/ns/aaa/1.1">
<aaa/>
</filter>
</get-config>
</rpc>
Операция NETCONF <get-config> Пример ответа
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.1” message-id="1">
<data>
<aaa xmlns="http://tail-f.com/ns/aaa/1.1">
<authentication>
<users>
<user>
<name>admin</name>
<uid>9000</uid>
<gid>0</gid>
<password>$1$3ZHhR6Ow$acznsyClFc0keo3B3BVjx/</password>
<ssh_keydir>/var/confd/homes/admin/.ssh</ssh_keydir>
<homedir>/var/confd/homes/admin</homedir>
</user>
<user>
<name>oper</name>
…
</users>
</authentication>
</aaa>
</data>
</rpc-reply>
Почему NETCONF?
Сценарий SNMP NETCONF
Получение группы параметров о состоянии Да Да. Гораздо быстрее,
чем SNMP
Изменение группы параметров Да, до 64kB Да
Транзакционное изменение параметров Нет Да
Транзакция операции на группе сетевых устройств Нет Да
Вызов административных функций Теоретически Да
Отсылка уведомление Да Да
Резервное копирование и восстановление Обычно нет Да
Защищенный протокол V3 Да
Тестирование конфигурации перед применением Нет Да
• http://datatracker.ietf.org/wg/netconf/
• Важные RFCs
• RFC 6241 – Network Configuration Protocol 1.1 (NETCONF)
• RFC 6242 – Using the NETCONF Protocol over Secure Shell (SSH)
• RFC 5277 – NETCONF Event Notifications
• RFC 6536 – NETCONF Access Control Model (NACM)
• В процессе разработки
• Протокол RESTCONF
• Zero Touch Provisioning для NETCONF (Call Home)
Netconf, дополнительная информация
Зачем нужен 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 Next-Generation
• Язык моделирования данных
• Конфигурация
• Состояние
• Определяет формат данных для NETCONF
acme-box module
properties container
interfaces container
name: string, config
name: string, config
interface: list, key = name
oper-state: enum, config
Пример модели услуги в YANG Услуга l2vpn
list link { min-elements 2; max-elements 2; key device;
leaf device { type string; }
leaf remote-ip { mandatory true; type inet:ipv4-address { pattern "10\.0\.0\.[0-9]+"; } }
leaf intf-number { mandatory true; type string; } }
} //end of link list
} // end of l2vpn list
list l2vpn { key name; unique pw-id;
leaf name { mandatory true; type string; }
leaf pw-id { mandatory true; type uint32 { range "1..10000"; } }
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 16
• http://datatracker.ietf.org/wg/netmod/
• Важные RFCs
• RFC 6020: YANG – A Data Modeling Language for the Network Configuration Protocol
• RFC 6021: Common YANG Data Types
• RFC 6087: Guidelines for Authors and Reviewers of YANG Data Model Documents
• RFC 6110: Mapping YANG to Document Schema Definition Languages and Validating NETCONF Content
• RFC 6643: Translation of SMIv2 MIB Modules to YANG Modules
YANG, дополнительная информация
NETCONF, RESTCONF и YANG Модели данных + протоколы для разных задач
NETCONF
Manager
NETCONF
Yang
Model
s Приложения
контроля сети
Приложения
услуг
HTTP:RESTCONF
Протоколы +
представления
Модель
Yang
Модель
Yang
Модель
Yang
Модель
Yang
Данные Данные Данные
Что такое RESTCONF ?
• draft-ietf-netconf-restconf
“RESTCONF использует операции HTTP для обеспечения доступа к данным, смоделированным с использованием YANG через протокол NETCONF.”
• Позволяет использовать распространенные средства работы с HTTP
• Большое количество разработчиков, знакомых с технологией
• Поддержка механизма представления данных через XML или JSON
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
URI:
/restconf/operations/my-interfaces:flap-interface
Обзор PCEP и BGP-LS
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 21
Определение топологии сети Предпосылки для появления PCEP и BGP-LS
• Традиционные протоколы • Методы: SNMP, SNMPCollect (polling), Netflow, CLI Parsing
• Платформы: Системы управления (NMS)
• Будут использоваться и в дальнейшем
• Проблемы • Задержки в получении данных с сети
• Ненадежные методы доставки пакетов (например, UDP SNMP)
Обзор BGP Link-State (BGP-LS)
• Использование BGP анонсирования LSDB и TED
• Поддержка OSPF и ISIS LSDB
• Преимущества
• Единая точка получения данных (BGP)
• Использование механизмов защиты и транспорта BGP
23
Domain 1 Domain 2
Domain 0
BGP-LS
BGP-LS BGP-LS
RR
PCE
TED
LSP DB
Что такое Path Computational Element (PCE) ?
• Вычисление пути LSP
• Может быть частью ПО маршрутизатора или работать на внешнем сервере
• Настройка путей intra-, inter-area и inter-layer
24
Терминология PCE
• Traffic Engineering Database (TED)
• Информация о топологии и ресурсах
• Данные из IGP LSDB
• PCE Server (PCE)
• Path Computation Client (PCC)
• Агент на оборудовании
• PCE Protocol (PCEP)
• Протокол взаимодействия между PCC и PCE
25
Новые протоколы в контексте решений
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 26
Архитектура SDN для SP
Покрытие всех технологий и доменов для
максимальной эффективности
Простая интеграция с существующими и
будущими решениями OSS/BSS
Модульная архитектура с использованием
открытых APIs и стандартных протоколов
Оркестрация через множество доменов для
контроля всей сети
BSS
OSS (Fulfillment and Assurance)
Service-Intent API
SDN / APIs
Orchestration, Service, and Policy Implementation
Branch, CPE
Control
Multi-layer
WAN SDN
Data Center
and NFV
Control
EMS, NMS
Netconf,
YANG CLI,
SNMP BGP-LS
Segment
Routing PCEP Openflow
Openstack,
vCenter
Multi-Vendor End-to-End Management and Orchestration (Physical and Virtual)
CPE Metro and Access WAN Data Centre
Основные функции NSO
• Модели данных для услуги и устройства
• Структурированное представление:
• Экземпляра услуги
• Параметров и состояния сети
• Связывание процедуры изменения услуги и конфигурации устройства
• Транзакционность
• Поддержка разных производителей и протоколов
Network Element Drivers (NEDs)
Service Manager
Device Manager
Физические
устройства Виртуальные
устройства
• VNFM
• Контроллеры
• EMS и NMS
Сетевые
приложения
Модель
услуги
Модель
устройс
тва
Приложения
REST, NETCONF, Java, Python, Erlang, CLI, Web UI
NETCONF, REST, SNMP, CLI, другие
Инженеры
Сценарий для сквозной настройки услуги
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?
Optimization and Prediction Module
Обзор WAE Может использоваться в качестве Path Computation Element (PCE)
…
WAN Automation
Engine
Collector Deployer Network Interface
Network Model Manager
Service Interface APIs
SNMP NetFlow Optical
Plug-In
BGP-LS
( ODL) NMS/EMS
NSO
Device
Mgr.
PCEP
( ODL)
Control
ler
Plug-In
WAE
Design
BW
Cal.
BW
OD
Service
Orchestator
Ex: NSO
WAE
Live Co-ordinated
Maintenance
Third Party
Apps
… Telemetry
Data
Оркестрация с использованием NSO & WAE Пример
A1
B1
A3
B3
A4
B4
A6
B6
A7
B7
A9
B9
C2 C5 C8
A2 A5 A8
B2 B5 B8
Регион 1 Ядро Регион 2
T1
T1’
WAN Automation Engine Analytics Calendaring
Optimization
and Prediction
Collector Deployer Network
Interface
Current Model New Model Network
Modeler
NSO
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
pce delegation
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
Делегирование
управления
туннелем в WAE
Контроль SLA :
Мониторинг и контроль
политик
Первичная настройка
Интеграция WAE c NSO, XTC.
WAE
SNMP NetFlow CLI
XTC NSO (как
интерфейс netconf)
NC/YANG CLI BGP-LS PCEP
Network Interface
Cisco Network Service Orchestrator (NSO) “Абстракция сервиса” Модель сервиса и оркестрация
“Абстрация сети” Расчет маршрутов, модель сети
“Абстракция устройств” Контроллеры, «сетевые драйверы»
“Протоколы” SB методы взаимодействия
Технологии мониторинга
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 33
Обзор EPN Manager
Поддержка физический и виртуализированной инфраструктуры
Metro and Access Core/Transport Data Center Subscriber/Branch
Evolved
Programmable
Network (EPN)
Manager
Визуализация услуги
Настройка услуги
Optical Carrier
Ethernet Packet-Optical Cable
Access
Model Based
Service & Device Views
API: MTOSI, RESTconf,
REST
Управление жизненным циклом
Загрузка ПО Аудит конфигураций Архив конфигураций
Поддержка ПО в актуальном
состоянии и обновление
оборудования
Контроль конфигурации на
соответствие политикам
Контроль изменений и
выполнение резервного
копирования и
восстановления
Мониторинг и визуализация
Трассировка маршрутов Статистика по производительности Многоуровневая карта
Отображение топологии на
разных уровнях, включая
физический и логические
связи
Отображение маршрута
услуги и данных по
производительности и
отказах на каждой точке
Превентивный контроль
производительности
Настройка оборудования и услуг
Настройка устройств Инвентаризация Настройка услуги
Графическая визуализация
устройства. Возможность
настройки параметров
оборудования.
Инвентарные данные и
информация по патч-кордам
для быстрого поиска
проблемы
Встроенные пред-
интегрированные мастеры
для настройки услуг.
Устаревание традиционных технологий мониторинга Not suited for Cloud-Scale Network Operations
Измерения
Место создания данных Место использования данных
T
T
T
Задержка
во
времени
SNMP
CLI
Syslog
SNMP
CLI
Syslog
SNMP
Syslog
Скрипты
Хранение и аналитика
Зависимость от
возможностей
платформы
Нормализация кодировок,
форматов, временных меток
Новые правила игры с телеметрией Монторинг сети превращается в задачу хранения и обработки Big Data
Измерения
Место создания данных Место использования данных
• Парадигма «Push»
• Единый канал получения
данных по всем уровням
• Высокая
производительность: 10 sec
• Несколько кодировок и
протоколов
транспортировки
Масштабирование данных
Анализ потоковых данных
Разные формы данных
T
T
T
Устранение ограничений
Задача Big Data
Real
time
Телеметрия и YANG
• Единый канал для получения данных со всех уровней
• Высокая производительность: интервал 10 сек
• Подписка коллектора на дерево (иди ветку) Yang
• Данные публикуются в коллектор
• Поддержка разных кодировок и протоколов
• GPB/JSON для кодирования
• gRPC/TCP для транспорта
40
YANG Model
Коллектор данных
Подписка
Публикация
Использование телеметрии в сети оператора связи
Платформа обработки данных
Коллекторы данных
Машинное
обучение и
аналитика
2
Получить данные для
принятия решения
(Аналитика)
Многоуровневая топология
Оптика, маршрутизация, услуги
1 Получить данные с сети
Телеметрия
Открытые API
Состояние сети Оптимизация
сети Планирование
сети
Управление жизненным циклом устройства
Безопасность
Dos, DDoS: Detection, Prevention, Remediation
Автоматизация задач
Настройка, Управление, Оптимизация
3 Автоматизировать задачи управления
Настройка Приложения
Автоматизация с использованием телеметрии На примере задач изменений конфигурации
Коллекторы
данных
WAN Automation
Engine
Телеметрия
APIs
Задачи по настройке
оборудования (напр.
Ansible playbook)
Контроль последствий в
реальном режиме
времени Precheck
Execute
Verify Rollback
Post check
Изменения
конфигурации
(NSO, …)
Если есть
проблема
Дополнительная информация
• Cisco Network Service Orchestrator (NSO)
http://www.cisco.com/go/nso
• Cisco WAN Automation Engine (WAE)
http://www.cisco.com/go/wae
• Cisco WAN Automation Engine 7.0, SR, XTC, and NSO v1 lab
https://dcloud-cms.cisco.com/demo/wae-70-sr-xtc-nso-v1
• Cisco EPN Manager:
http://www.cisco.com/go/epn-manager
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 43
#CiscoConnectRu #CiscoConnectRu
Спасибо за внимание! Оцените данную сессию в мобильном приложении конференции
© 2017 Cisco and/or its affiliates. All rights reserved.
Контакты:
Тел.: +7 495 9611410 www.cisco.com
www.facebook.com/CiscoRu
www.vk.com/cisco
www.instagram.com/ciscoru
www.youtube.com/user/CiscoRussiaMedia