gerenciamento e interoperabilidade de...

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

Upload: phungbao

Post on 29-May-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Gerenciamento e

Interoperabilidade de Redes

Gerenciamento Web, Web Services e NETCONF/YANG

Prof. João Henrique Kleinschmidt

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

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

Web-Based Element Management (Browser Management)

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

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

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

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>

<?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

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

Gerenciamento baseado em XML

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

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

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

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.

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.

Arquitetura SOA

Modelo Convencional de Gerenciamento mapeado para Web Services

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

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.

Arquitetura SOAP

• SOAP é um protocolo aberto que permite uma forma uniforme de realizar RPCs utilizando HTTP como protocolo 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

Elementos WSDL

• <types>: define os tipos de dados utilizados pelo serviço Web (pode referenciar um XML Schema)

• <messages>: especifica as mensagens usadas na comunicação com o serviço Web

• <portType>: define um conjunto de operações que são executadas por um serviço

• <binding>: associa um protocolo ao serviço

• <service>: especifica o endereço de rede no qual o serviço pode ser acessado

Padrões relacionados

• OASIS

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

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 como LER 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

Tecnologias de Gerenciamento de Redes Comparação de alguns aspectos básicos

Tecnologias de Gerenciamento de Redes Comparação de alguns aspectos técnicos

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

NETCONF

NETCONF: Conteúdo

NETCONF: Operações

NETCONF: Mensagens

NETCONF: Transporte

NETCONF

Nomeação de dados

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 podem ser recuperados com NETCONF

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

Datastores (bases de dados)

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

• candidate: opcional usado para coletar optional scratchpad used to collect edits to apply all-or-none

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

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

Operações básicas do protocolo

Exemplo de operação

Configurar MTU da interface Ethernet em 1500

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

Estrutura de um módulo YANG

Exemplo:OSPF

Representação XML do YANG