Gerenciamento e Interoperabilidade de...

45
Gerenciamento e Interoperabilidade de Redes Gerenciamento Web, Web Services e NETCONF/YANG Prof. João Henrique Kleinschmidt

Transcript of Gerenciamento e Interoperabilidade de...

Page 1: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento e Interoperabilidade de Redes

Gerenciamento Web, Web Services e NETCONF/YANG

Prof. João Henrique Kleinschmidt

Page 2: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento baseado na Web

• Web browser• Acesso ubíquo• Interface Web vs Gerenciamento baseado na Web• Gerenciamento baseado na Web

• Interface de gerenciamento Desktop• Gerenciamento XML• Web-based enterprise management - WBEM

Page 3: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Interface Web

NMS

SNMP Manager

Managed Objects SNMP Agent

Web Server

Web Browser

NMS Console

Desktop PC

Figure 14.1 SNMP NMS with Web Interface

SNMP

HT

TP

Page 4: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Web-Based Element Management(Browser Management)

Page 5: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Web-Based Element Management(Browser Management)

• EWS - Servidores Web Embarcados nos dispositivos

• Acesso as informações e configuração via browser

• Vantagens :

– interface simples e amigável;

– acesso através de firewalls

• Desvantagens :

– Não escalável; configurar centenas de dispositivos individualmente via

browser é uma tarefa inviável

– Não oferece informações integradas sobre o funcionamento da rede

Page 6: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

XML

• Extensible Markup Language

• XML é uma linguagem genérica e auto-descritiva utilizada para formatação de documentos– As aplicações lêem os dados, analisam e sabem exatamente o

significado de cada parte do documento

• Um documento XML é um “arquivo texto com estrutura”– Fácil compreensão

– Fácil de analisar

– Fácil de depurar

• Padrão amplamente adotado– http://www.w3c.org/xml

Page 7: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Por que XML?

• Dispositivos de rede geram grandes volumes de dados estruturados

– Arquivos de configuração

– Tabelas de roteamento

– Interfaces físicas e lógicas

– Arquivos de bilhetagem

• XML é apropriado para descrever dados hierárquicos de maneira padronizada

Page 8: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Elementos XML

• Seis construções principais

– Open tags: <tag>

– Close tags: </tag>

– Data: <tag>data</tag>

– Empty tags: <tag/>

– Attributes: <tag foo=“bar” goo=“gar”/>

– Namespaces:<home>

<address>123 Main Street</address>

<network xmlns:ns2=“my.identifying.string”>

<ns2:address>10.0.0.1</ns2:address>

</network>

</home>

Page 9: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

<?xml version="1.0" encoding="UTF-8"?>

<route>

<destination>10.3.1.1/32</destination>

<route-entry>

<current-active/>

<protocol-name>BGP</protocol-name>

<preference>170</preference>

<age seconds="1749">00:29:09</age>

<local-preference>100</local-preference>

<learned-from>10.17.136.2</learned-from>

<as-path>1403 170 39 I</as-path>

<nh>

<selected-next-hop/>

<to>192.168.1.254</to>

<via>ge-0/0/0.0</via>

</nh>

</route-entry>

</route>

Exemplo XML

Page 10: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

DTDs e XML Schemas

• Ferramentas que definem documentos XML

– Document Type Definitions (DTDs)

• Lista os elementos que podem aparecer em um documento XML e as suas relações hierárquicas

– XML Schemas

• Define o conteúdo e a semântica além das relações entre elementos

• Tipos de dados simples e complexos, faixa de valores, expressões regulares e documentação

Page 11: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento baseado em XML

Page 12: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento baseado em XML

• O grande potencial do XML na representação e manipulação

de informações logo chamou atenção da comunidade de

gerenciamento de redes, que passou a apontá-la como uma

possível solução para algumas deficiências do SNMP

• Padrões vinculados a representação e manipulação dos dados

• Grupos de Trabalhos relacionados

Page 13: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

WBEM – Web Based Enterprise Management

• DMTF (Distributed Management Task Force)

– Consórcio de empresas líderes no mercado de redes, que visa desenvolver um

padrão não proprietário para o gerenciamento de redes

• Modelo de Informações – CIM (Common Information Model)

– Modelo Orientado a Objetos

– Oferece mecanismos para representação de informações e as relações entre elas e

as operações e interfaces suportadas

– É possível representar entidades lógicas e serviços do sistema

• CIM to XML mapping

– Define a utilização de XML Schema para a descrição em XML dos objetos CIM

• CIM operations over HTTP

– Define como as operações CIM são codificadas em XML no protocolo HTTP

– Define sintaxe e semântica das operações request e response

Page 14: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Web-Based Enterprise Management - WBEM

Web Client

SNMP

Managed ObjectsDMI

Managed Objects

DMI ProviderSNMP Provider

CIM

Object Manager

(CIMOM)

CIM

Schema

Management

Applications

Web Browser

Desktop PC

HTTP HTTP

HTTP

SNMP RPC

CIM

Managed Objects

HTTP

Figure 14.8 WBEM Architecture

SNMP Agent

DMI Agent

CIM Agent

Page 15: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento de Redes com Web Services

• Gerenciamento baseado em XML propõe novo padrão de

representação e manipulação de informações de gerenciamento

• Embora a tecnologia XML permita uma arquitetura de

gerenciamento distribuída e hierárquica, sua simples utilização

(como visto anteriormente) não implementa essas funcionalidades

• Utilização de operações HTTP para acesso a MIB-XML limita seu

uso em tarefas e operações mais sofisticadas, alem de restringir a

possibilidade de extensão para soluções de gerenciamento

integrado de redes, serviços e negócios.

Page 16: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Web Services

⚫ Baseados no conceito de arquitetura orientada a serviços (SOA).

⚫ Serviços web são componentes de software fracamente acoplados

usados sobre tecnologias padrões da Internet.

⚫ Modelo de aplicação distribuída a ser utilizado para aplicações

baseadas em web de negócio-para-negócio (B2B - business to

business) e para integrar sistemas distribuídos já existentes que

precisam interagir com a Internet.

⚫ Tecnologia aberta, independente de linguagem e plataforma.

Page 17: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Arquitetura SOA

Page 18: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Modelo Convencional de Gerenciamento mapeado para Web Services

Page 19: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento de Redes com Web Services

• Web Services no Gerenciamento - Arquitetura de processamento

distribuído baseado em XML pode facilmente endereçar arquitetura

atual do Gerenciamento de Redes

• Aplicação de Gerenciamento de redes pode ser interpretada como um

serviço web

• Recursos Gerenciáveis de uma rede podem ser gerenciados

localmente ou remotamente obedecendo uma estrutura de interfaces

definidas

• Paradigma Gerente-Agente pode ser mapeado para Web Services

onde o lado agente pode ser considerado um Provedor de Serviços e

o lado gerente como um Consumidor de Serviços

Page 20: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista
Page 21: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Gerenciamento de Redes com Web Services

• WSDL – permite a definição de interfaces, contendo desde operação de simples leituras de variáveis (como no SNMP) até operações complexas de configuração de dispositivos, possibilitando a integração com outros serviços e negócios

• UDDI – Registro Central de Serviços, no caso de gerenciamento, onde seriam publicados todos os serviços de gerenciamento disponibilizados pelos recursos gerenciáveis da rede

• Modelo de Informações – Toda a tecnologia de WebServices baseia-se em XML. A representação das informações de gerenciamento do recursos gerenciáveis (tais como as MIBs SNMP) são endereçadas em XML. Existem várias propostas de padronização dessas informações, mas ainda não há um modelo definitivo.

• Modelo de Comunicação – Mensagens SOAP transportadas sobre HTTP em operações WSDL. SOAP – Protocolo de mensagem baseado em XML para o transporte de conteúdos entre serviços web e seus programas clientes.

Page 22: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Arquitetura SOAP

• SOAP é um protocolo aberto que permite uma forma uniforme de realizar RPCs utilizando HTTP comoprotocolo de comunicações e XML para a serialização dos dados

• Na versão mais simples, uma mensagem SOAP é enviada através de um comando POST HTTP

Page 23: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Padrões relacionados

• OASIS

– WSDM - Web Services DistributedManagement• Padronização da utilização de Web Services para gerenciamento

Page 24: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Padrões relacionados

– Ws-Management• Descreve um protocolo baseado em SOAP para gerenciamento de sistemas tais

como PCs, Servidores, Dispositivos de Redes, WebServices, Aplicações em Geral e outras Entidades gerenciáveis

– Para promover a interoperabilidade entre aplicações de gerenciamento e os recursos gerenciados a especificação identifica um conjunto de funções e operações padrão para o gerenciamento de qualquer sistema :

• DESCOBRIR a presença de recursos gerenciáveis e navegar entre eles;

• CRIAR e APAGAR objetos que representem recursos gerenciáveis, assim comoLER e ESCREVER nesses objetos.

• ENUMERAR o conteúdo de coleções ou contêineres tais como logs e tabelas

• SUBSCREVER a eventos emitidos pelos recursos gerenciados

• EXECUTAR métodos de gerenciamento específicos com parâmetros de entrada e saída fortemente tipados

Page 25: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Tecnologias de Gerenciamento de RedesComparação de alguns aspectos básicos

Page 26: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Tecnologias de Gerenciamento de RedesComparação de alguns aspectos técnicos

Page 27: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Network Configuration Group (NETCONF)

• Objetivo : Padronizar aspectos específicos de configuração de redes através de XML

• NETCONF é o protocolo padrão desenvolvido pelo IETF e YANG é a linguagem de modelagem de dados associada

• Protocolo Netconf

• Por que NETCONF?

• Gerenciamento de configuração

– SNMP “falhou” no ger. configuração;

– CLI é usado na maioria das vezes (interface de linhas de comando)

• Modelo de transação robusto

• Transações “network-wide” (mudanças em vários dispositivos serão feitas apenas se todos tiverem sucesso)

• Modelagem de dados avançada com YANG

• Operações de protocolo definidas com YANG

• Baseado em XML

• Mecanismo de roll back

• Aplicar e testar uma configuração

• Testar e rejeitar uma configuração

Page 28: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF

Page 29: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista
Page 30: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF: Conteúdo

Page 31: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF: Operações

Page 32: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF: Mensagens

Page 33: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF: Transporte

Page 34: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF

Page 35: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Nomeação de dados

Page 36: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Tradução de dados

• Tradução entre SMIv2 (SNMP) e YANG definidas na RFC 6643

• Tabelas SMIv2 podem ser traduzidas para YANG

• Provê uma tradução padrão read-only de dados SMIv2 que podemser recuperados com NETCONF

Page 37: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

NETCONF <hello>

• Uma sessão começa com a troca de lista de capacidades

• O servidor anuncia todas suas capacidades e atribui um ID de sessão

• O cliente anuncia a versão do protocolo que suporta– Todas as características do servidor e módulos de informação YANG

suportados podem ser descobertos pelo cliente

Page 38: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Datastores (bases de dados)

• running: representação obrigatória da configuração atual sendoexecutada

• candidate: opcional usado para coletar edições de configuração para aplicar all-or-none

• startup: representação opcional não-volátil da configuração que seráusada na próxima inicialização (reboot)

Page 39: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

RPC (Chamada de Procedimento Remoto)

• Cada mensagem NETCONF deve ser um documento válido XML

• Todas as operações usam um mecanismos de RPC específico do NETCONF

• Todas as operações são definidas com declarações “rpc” YANG

Page 40: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Operações básicas do protocolo

Page 41: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Exemplo de operação

Configurar MTU da interface Ethernet em 1500

Page 42: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Aplicando configuração em vários dispositivos simultaneamente (transação network-wide)

- Trocar capacidades (hello) entre os dispositivos

- Limpar os data stores candidates dos dispositivos

- Travar (lock) os data stores candidates

- Travar (lock) os data stores running

- Copiar running para candidates

- Editar os candidates

- Validar os candidates

- Fazer o commit dos candidates para running

- Destravar (unlock) os candidates

- Usar confirm-commit

Page 43: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Estrutura de um módulo YANG

Page 44: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Exemplo:OSPF

Page 45: Gerenciamento e Interoperabilidade de Redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/ger2019/web-netco… · NETCONF  •Uma sessão começa com a troca de lista

Representação XML do YANG