Upload
internet
View
138
Download
0
Embed Size (px)
Citation preview
Gerenciamento de Rede através de XML
Caio [email protected]
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
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
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
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
Vantagens do XML
Manipula facilmente incompatibilidades com documentos antigos ou mais novos
Muitas ferramentas disponíveisPadrão amplamente adotado
http://www.w3c.org/xml
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
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
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>
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 > 40]
Ex3: Obter status da fonte B chassis-module[name="Power Supply B"]/status
Utilizando XML na Rede
Monitoração da Rede Configuração de Equipamentos Provisioning Diagnóstico de Falhas
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
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
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>
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
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
Provisioning
Roteador(es)
BD Clientes
BD Interfaces
BD Políticas
TransformaçõesXSL
Configuração específica de
fabricante
Configuração neutra
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
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>
?
Captura da Solicitação
Captura da Resposta
Resultado do Processamento
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, ...