26
Gerenciamento de Rede através de XML Caio Klein [email protected]

Gerenciamento de Rede através de XML Caio Klein [email protected]

Embed Size (px)

Citation preview

Page 1: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Gerenciamento de Rede através de XML

Caio [email protected]

Page 2: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Introdução

Roteadores são dispositivos complexos e apresentam desafios para o gerenciamento remoto Métodos tradicionais de são SNMP e Expect com

seus prós e contras bem conhecidos Operadoras e desenvolvedores de software

necessitam de métodos seguros e estáveis para gerenciar roteadores

Tendência de implantação de ferramentas “multivendor” para gerenciar redes

XML é uma alternativa com excelente potencial

Page 3: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

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 4: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

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 5: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Inconveniências atuais

SNMP MIBs proprietárias para explorar o potencial dos

equipamentos Não é orientado a texto Não existe comando atômico para recuperar

informação estruturada Expect

Sensível a mudanças na CLI Falta de ferramentas adicionais

Page 6: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

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 7: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

<?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 8: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Vantagens do XML

Manipula facilmente incompatibilidades com documentos antigos ou mais novos

Muitas ferramentas disponíveisPadrão amplamente adotado

http://www.w3c.org/xml

Page 9: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

DTDs e XML Schemas

Ferramentas que definem documentos XML Document Type Definitions (DTDs)

Lista os elementos que podem aparecem 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 10: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

XSL

XML Stylesheet Language Destinado originalmente à interpretar XML Adequado a tranformações genéricas Duas utilizações principais

XSLT – Transformações XSL Transformações XML->XML Inclui informação adicional Remove elementos e atributos desnecessários Rearraja hierarquia, ordena elementos ...

XSL-FO – XSL Formating Objects Traduz XML para XHTML ou PDF

Page 11: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Funcionalidade XSL

XSLTProcessor

XSLTStylesheet

XMLInput

Document

XMLOutput

Document

XSLT pode gerar: XML, XHTML, Text, SVG, XSLT

<TD>MTU: 1500</TD>

<mtu>1500</mtu>

<TD>MTU: <xsl:value-of=“.”/></TD>

Page 12: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

XPath

Padrão de descrição das partes de um documento XML

Utiliza expressões de caminho “Unix-like” Utilizada por XSL Ex1: Seleção do número serial de cada

componente do chassi /chassis-inventory/chassis/chassis-module/serial-number

Ex2: Seleção dos componentes com temperatura acima de 40 chassis-module[@temperature &gt; 40]

Ex3: Obter status da fonte B chassis-module[name="Power Supply B"]/status

Page 13: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Utilizando XML na Rede

Monitoração da Rede Configuração de Equipamentos Provisioning Diagnóstico de Falhas

Page 14: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Monitoração da Rede

Aplicações periodicamente recuperam dados operacionais

Comparação com dados anteriores pode utilizar “XML diff tools” ou transformar os dados em formato mais apropriado através do XSLT

Utilização do XSLT para interpretar Web page (XSLT) Email (XSLT) Report PDF (XSL-FO)

Exemplo: Levantamento de inventário de harware

Page 15: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Inventário de Hardware

Inventory DB

Router A

Router Z

. . . . . .

.

Recuperação de inventário da rede

Transformação dos dados para o formato exigido pelo BD

Adiciona os dados no BD de inventário

XSL Transformation

Page 16: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Configuração de Equipamentos

Configuração está inserida nos elementos XML Exemplo:<configuration> <protocols> <bgp> <group> <name>local</name> <neighbor> <name>10.0.0.1</name> <local-address>10.0.0.2</local-address> </neighbor> </group> </bgp> </protocols></configuration>

Page 17: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Configuração de Equipamentos

Arquivos de configuração no formato XML

A configuração torna-se manipulável por ferramentas padronizadas Adiciona/remove/modifica configuração

através de XSLT Armazena e recupera informação de uma

base de dados XML

Page 18: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Provisioning

Evita escrever multiplos “parsers”, um para cada fabricante

XSLT pode traduzir uma configuração neutra para a configuração específica de um fabricante

XML Schemas podem fornecer tipos de dados, faixas de valores, expressões regulares e informações de ajuda para a configuração de um fabricante Permite validar parcialmente uma configuração

antes de carregá-la

Page 19: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Provisioning

Roteador(es)

BD Clientes

BD Interfaces

BD Políticas

TransformaçõesXSL

Configuração específica de

fabricante

Configuração neutra

Page 20: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Diagnóstico de Falhas

Qualquer operador sabe “5 comandos” quando entra em um roteador com problema

Diagnóstico pode ser feito aplicando “scripts” XSL sobre saídas em XML XSL é uma ferramenta poderosa Inspeciona resultado de múltiplos comandos Descarta resultados normais Extrai situações anormais SVG (Scalable Vector Graphics (XML)) pode gerar

gráficos para visualização de valores ao longo do tempo

Pode inspecionar simultaneamente múltiplos roteadores

Page 21: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Na prática...

Pedido de conexão (telnet, ssh, ssl)

Processamento

Resposta

Solicitação

Abertura da sessão

Solicitação de sessão XML

Autenticação usuário (RADIUS, PPK, ...)

Fechamento de sessão

Aplicação Roteador Autenticador

telnet

usr/passwd

xml-mode

<?xml?>

<get-bgp-neigbor>

<bgp-neighbor>

<end-session>

?

Page 22: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Captura da Solicitação

Page 23: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Captura da Resposta

Page 24: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Resultado do Processamento

Page 25: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

Sumário

XML simplifica desenvolvimento de aplicações Informações e ferramentas disponíveis Formato texto de fácil compreensão Grande quantidade de engenheiros com know-how

Alternativa confiável aos scripts Expect A natureza auto descritiva do XML evita

problemas como a variação da CLI Interoperabilidade

XML é um método padrão para a troca de informação entre programas

Adotado por muitos segmentos – eCommerce, databases, networking, ...

Page 26: Gerenciamento de Rede através de XML Caio Klein caio@juniper.net

http://www.juniper.net

Obrigado!