Gestão de Redes e Sistemas Distribuídos Arquitectura de Gestão SNMPv1 2003/2004 Teresa Vazão IST/INESC Contactos:IST/Tagus-Park Email: [email protected] Tel: 214233242 Sumário Módulo II • Arquitectura de Gestão SNMP • • • • • • Conceitos fundamentais • SNMPv1: Modelo de Informação e de Comunicação Arquitectura de Gestão OSI/TMN CORBA como Arquitectura de Gestão JAVA como Arquitectura de Gestão Gestão baseada na WEB Integração de Arquitecturas de Gestão TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 2 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 3 Arquitectura de Gestão Internet-SNMPv1 Normas . Versão 1 IETF Título RFC 1155 Structure and Identification of Management Information for TCP/IP-based networks. Concise MIB Definition Management Information Base for Network Management of TCP-IP-based Internets: MIB-II Simple Network Management Protocol RFC 1212 RFC 1213 RFC 1157 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 4 Arquitectura de Gestão Internet-SNMPv1 Características gerais Arquitectura Cliente-Servidor Gestor contém as aplicações de gestão e faz a interface com o utilizador Agente que é responsável por um conjunto de recursos geridos. O Gestor pode monitorizar ou controlar os recursos através dos Agentes. TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 5 Arquitectura de Gestão Internet-SNMPv1 Características gerais O Agente estrutura a informação de gestão numa MIB. Cada objecto da MIB é um objecto escalar, pelo que não há os conceitos de classes, herança, encapsulamento etc.. A MIBs Internet definem a estrutura, o significado e a identificação dos recursos que podem fazer parte da MIB dum Agente. A MIB dum Agente contém apenas os tipos objectos geridos que podem ser instanciados, nos equipamentos que gere. A identificação de objectos é efectuada através da ARI TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 6 Arquitectura de Gestão Internet-SNMPv1 Características gerais RFCs e MIBs proprietárias Ex: Servidor Agente Gestor Ex: Router Internet MIB Agente MIB Gestor Regras de Estruturação Ex: PC Internet Registration Tree Agente TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 7 Arquitectura de Gestão Internet-SNMPv1 Árvore de Registo da Internet (ARI) root itu-t (0) join iso/itu-t (2) iso (1) org (3) dod (6) internet (1) dir- (1) mgmt (2) mib -2 (1) 1.3.6.1.2..1 exper. (3) ATM (41) priv.(4) X.25 (44) recursos nós (36) empresas (1) IBM (2) TMV - 2003 HP (11) Gestão de Redes e de Sistemas Distribuídos 8 Arquitectura de Gestão Internet-SNMPv1 MIBs proprietárias Possibilidade de gerir aspectos específicos dos produtos Um Gestor não é capaz de gerir o que não conhece • Agente desenvolve uma descrição textual e uma descrição formal da MIB proprietária • Gestor carrega e compila a descrição formal, de forma a incluí-la na sua biblioteca. • Diferentes Modelos de Informação nas diferentes versões do SNMP dificultam estas operações TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 9 Arquitectura de Gestão Internet-SNMPv1 Estrutura da MIB - Identificação de objectos mib- 2 1.3.6.1.2.1 Objecto Escalar ip 1.3.6.1.2.1.4 iplnReceives 1.3.6.1.2.1.4.3 Tabela ipRouteTable 1.3.6.1.2.1.4.21 ipRouteEntry 1.3.6.1.2.1.4.21.1 ipRouteDest 1.3.6.1.2.1.4.21.1.1 TMV - 2003 ipRouteNextHop 1.3.6.1.2.1.4.21.1.7 Gestão de Redes e de Sistemas Distribuídos 10 Arquitectura de Gestão Internet-SNMPv1 Sintaxe dos objectos Dependentes da Aplicação Tipos de dados pré-definidos RFC 1155 Network Address IpAddress Time tick Gauge Counter Opaque Independentes da Aplicação Primitivos INTEGER OCTECT STRING OBJECT IDENTIFIER NULL Construtores SEQUENCE SEQUENCE OF • Time tick - tempo em centésimos de segundo • Gauge -contador up-down de 32 bits, números positivos, que bloqueia quando atinge o valor máximo, até que seja feito o reset. • Counter - contador circular de 32 bits, números positivos • Opaque - transferência de qualquer tipo de dados TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 11 Arquitectura de Gestão Internet-SNMPv1 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 12 Arquitectura de Gestão Internet-SNMPv1 Definição de objectos Acessos internos mib- 2 MIB Gestor SNMP ip Agente Counter Value iplnReceives iplnReceives 25 ipRouteDest 9.1.2.3 10.0.0.51 10.0.0.77 … … … … ipRouteNextHop … 99.0.0.3 … 89.1.1.42 … 89.1.1.42 ... MIB do Agente TMV - 2003 Grupo ipRouteTable Tabela ipRouteEntry Linha ipRouteDest ipRouteNextHop Variável Instância = tipo de objecto + valor Gestão de Redes e de Sistemas Distribuídos 13 Arquitectura de Gestão Internet-SNMPv1 Definição de objectos escalares MACRO OBJECT-TYPE: • Nome e Identificador • Sintaxe • Tipo de acesso • Estado • Descrição informal,... • Localização do ramo na ARI ipInReceives OBJECT TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION ´The total number of input datagrams received from interfaces… .´ ::= {ip 3} TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 14 Arquitectura de Gestão Internet-SNMPv1 Definição de tabelas O Modelo de Informação SMI suporta apenas tabelas bidimensionais. As entradas da tabela são objectos escalares. A definição de tabelas envolve : • a utilização dos construtores SEQUENCE e SEQUENCE-OF • a utilização dum novo campo na macro object-type, o campo IndexPart. TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 15 Arquitectura de Gestão Internet-SNMPv1 Uma pausa para descobrirem …. Como se estrutura uma tabela ? Utilizar a informação de: • ARI e ipRouteTable • Macro que define ipInReceives TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 16 Arquitectura de Gestão Internet-SNMPv1 Definição de tabelas: ipRouteTable ipRouteTable OBJECT-TYPE SYNTAX SEQUENCE OF IpRouteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Tabela de encaminhamento IP >> ::= { ip 21} IpRouteEntry OBJECT-TYPE SYNTAX IpRouteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Rota para um dado destino >> INDEX {ipRouteDest } ::= { ipRouteTable 1} TMV - 2003 IpRouteEntry ::= SEQUENCE { ipRouteDest IpAddress, ... ipRouteNextHop IpAddres, .. } ipRouteDest OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION << Endereço de destino da rota >> ::= {ipRouteEntry 1} ipRouteNextHop OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION << Endereço seguinte da rota >> ::= {ipRouteEntry 7} Gestão de Redes e de Sistemas Distribuídos 17 Arquitectura de Gestão Internet-SNMPv1 Codificação da informação Mapeamento Local Mapeamento Local Componente de Aplicação MIB Sintaxe Abstracta Componente de Aplicação Regras de Codificação Regras de Codificação Componente de transferência de dados Componente de transferência de dados TMV - 2003 Sintaxe de Transferência Gestão de Redes e de Sistemas Distribuídos MIB 18 Arquitectura de Gestão Internet-SNMPv1 Codificação da informação Componente de aplicação (SNMP) • Representação da informação de forma estruturada • Sintaxe abstracta (ASN.1) • Mapeamento local para armazenamento ou visualização Componente de transferência de dados (UDP/IP/...) • Representação da informação de forma não estruturada • SDUs para comunicação entre camadas adjacentes • PDUs para comunicação entre camadas pares • Sintaxe de transferência (ex: ASCII) Necessidade de codificação para converter os formatos TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 19 Arquitectura de Gestão Internet-SNMPv1 BER Identifier 2 1 5 Tag P/C Number Length Value Ex: INTEGER 49 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 00 – universal 01 – application 10 – context specific 11 – private 0 – primitive 1 – constructed 2 – INTEGER 4 – OCTET STRING 16 – SEQUENCE e SEQUENCE OF 0 < Length < 128 0 Length 127 < Length < 2 1008 1 K Length (K octetos) Number > 30 Tag TMV - 2003 P/C 11111 1 xxxxxxx 0 xxxxxxx Gestão de Redes e de Sistemas Distribuídos 20 Arquitectura de Gestão Internet-SNMPv1 Conclusões Simplicidade de conceitos • Modelo de Informação orientado a tipos de dados. - OGs são folhas da ARI. - Acesso a OGs através do Identificador do Objecto na ARI. Desenvolvimento rápido de produtos TMV - 2003 Vantagens Modelo não orientado a objectos: - não há re-utilização - não há herança. Estrutura da ARI: Desvantagens - não há inclusão - elevado nº de MIBs - informação relacionada em várias sub-árvores. Gestão de Redes e de Sistemas Distribuídos 21 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 22 Arquitectura de Gestão Internet-SNMPv1 Problema 1 clientTable OBJECT-TYPE SYNTAX SEQUENCE OF clientEntry ACCESS not-accessible STATUS mandatory :== {exemplo 1} clientEntry OBJECT-TYPE SYNTAX clientEntry ACCESS not-accessible STATUS mandatory INDEX {ClientCode} :== {ClientTable 1} clientEntry :== SEQUENCE { clientCode INTEGER, clientName OCTECT STRING, clientIpAddress IpAddress, clientInTraff INTEGER, clientOutTraff INTEGER, } ClientCode OBJECT-TYPE SYNTAX INTEGER ACCESS READ-ONLY STATUS mandatory :== {clientEntry 1} TMV - 2003 a) Identificar a chave de pesquisa b) Representar a parte da árvore de registo, respeitante a este extracto de MIB clientIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS READ-ONLY STATUS mandatory :== {clientEntry 3} clientInTraffic OBJECT-TYPE SYNTAX INTEGER ACCESS READ-WRITE STATUS mandatory :== {clientEntry 4} clientOutTraffic OBJECT-TYPE SYNTAX INTEGER ACCESS READ-WRITE STATUS mandatory :== {clientEntry 5} Gestão de Redes e de Sistemas Distribuídos 23 Arquitectura de Gestão Internet-SNMPv1 Solução 1 clientTable OBJECT-TYPE SYNTAX SEQUENCE OF clientEntry ACCESS not-accessible STATUS mandatory :== {exemplo 1} clientEntry OBJECT-TYPE SYNTAX clientEntry ACCESS not-accessible STATUS mandatory INDEX {ClientCode} :== {ClientTable 1} clientEntry :== SEQUENCE { clientCode INTEGER, clientName OCTECT STRING, clientIpAddress IpAddress, clientInTraff INTEGER, clientOutTraff INTEGER, } ClientCode OBJECT-TYPE SYNTAX INTEGER ACCESS READ-ONLY STATUS mandatory :== {clientEntry 1} TMV - 2003 a) Identificar a chave de pesquisa b) Representar a parte da árvore de registo, respeitante a este extracto de MIB clientTable {1} clientEntry {1} clientCode {1} clientName {2} clientOutTraff {5} clientInTraff {4} clientIpAddress {3} Gestão de Redes e de Sistemas Distribuídos 24 Arquitectura de Gestão Internet-SNMPv1 Problema 2 a) Considerando que dispõem de SNMPv1, desenhe uma MIB para representar a informação de todos os Clientes do serviço. Suponha que cada Cliente é identificado por um campo denominado clientId. Suponha que pretende desenvolver um serviço, muito simples, de atendimento automático de chamadas telefónicas. Este serviço deve ser activado sempre que: o telefone do cliente se encontre ocupado. O cliente esteja ausente, o que significa que o telefone toca mais do que um dado número de vezes pré-estabelecido. a chamada for bloqueada, por problemas internos da rede e não atingir o telefone do cliente. Por cada vez que acede ao serviço, o Cliente pode remover ou não as chamadas memorizadas. Porém, por questões de dimensionamento da rede, cada cliente não pode ter mais de 30 chamadas memorizadas. Assim sendo, quando uma esta situação limite se atinge, é removida a primeira chamada do Cliente. Pretende-se que o cliente tenha acesso a estatísticas referentes ao serviço que lhe está a ser disponibilizado. Estas estatísticas devem permitir contabilizar: as situações que originaram o atendimento automático; número de chamadas memorizado a duração total das chamadas memorizadas TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 25 Arquitectura de Gestão Internet-SNMPv1 Solução 2 Perguntar ao Ivo ! TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 26 Arquitectura de Gestão Internet-SNMPv1 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 27 Arquitectura de Gestão Internet-SNMPv1 Modelo de Comunicação Agente Gestor TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 28 Arquitectura de Gestão Internet-SNMPv1 Modelo de Comunicação Recursos geridos Trap GetResponse Gestor SNMP Mensagens SNMP UDP SetRequest GetNextRequest Trap Gestor SNMP Objectos SNMP GetRequest Aplicação gere os objectos GetResponse SetRequest GetNextRequest GetRequest Aplicação de Gestão UDP IP IP Protocolos dependentes da rede Protocolos dependentes da rede GESTOR TMV - 2003 Rede Gestão de Redes e de Sistemas Distribuídos AGENTE 29 Arquitectura de Gestão Internet-SNMPv1 Formato das mensagens SNMP Version Number Community String PDU SNMP ou Trap PDU PDUs: GetRequest, GetNextRequest, GetReponse PDU Type Request ID Error Status Error Index Variable bindings PDU: Trap Trap Entre Agent Generic Specific Time prise Address Trap Trap Stamp Variable bindings Variable binding name1:value1 name2:value2 TMV - 2003 ... Gestão de Redes e de Sistemas Distribuídos nameN:valueN 30 Arquitectura de Gestão Internet-SNMPv1 Definição SNMP (RFC 1157) (1) RFC 1157-SNMP DEFINITIONS ::= BEGIN IMPORTS ObjectName,ObjectSyntax,NetworkAddress,IPAddress,TimeTicks FROM RFC1155-SMI; Message ::= SEQUENCE {version INTEGER {version-1(0)} - version 1 community OCTET STRING, - community name data ANY - if trivial authentication is used PDUs ::= CHOICE {get-request get-next-request get-response set-request trap GetRequest-PDU, GetNextRequest-PDU GetResponse-PDU SetRequest-PDU Trap-PDU} GetRequest-PDU GetNextRequest-PDU GetReponse-PDU SetRequest-PDU PDU PDU PDU PDU TMV - 2003 ::= ::= ::= ::= [0] [1] [2] [3] IMPLICIT IMPLICIT IMPLICIT IMPLICIT Gestão de Redes e de Sistemas Distribuídos 31 Arquitectura de Gestão Internet-SNMPv1 Definição SNMP (RFC 1157) (2) PDU :== SEQUENCE { request-id INTEGER, error-status INTEGER { - sometimes ignored noError(0), tooBig(1), noSuchName(2), badValue(3), readOnly(4), genErr(5)}, error-index INTEGER - sometimes ignored variable-bindings VarBindList } Trap-PDU ::= [4] IMPLICIT SEQUENCE { enterprise OBJECT-IDENTIFIER, agent-addr NetworkAddress generic-trap INTEGER { coldStart(0), warmStart(1), linkDown(2),linkUp(3), authenticationFailure(4), egpNeighborLoss(5), enterpriseSpecific(6)} specific-trap INTEGER, time-stamp TimeTicks variable-binding VarBindList } TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 32 Arquitectura de Gestão Internet-SNMPv1 Definição SNMP (RFC 1157) (3) VarBind ::= SEQUENCE { name ObjectName, value ObjectSyntax } VarBindList ::= SEQUENCE OF VarBind END TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 33 Arquitectura de Gestão Internet-SNMPv1 Identificação das instâncias dos objectos Objecto Escalar 1.3.6.1.2.1.4.3.0 mib- 2 1.3.6.1.2.1 ip 1.3.6.1.2.1.4 iplnReceives 1.3.6.1.2.1.4.3 ipRouteTable 1.3.6.1.2.1.4.21 ipRouteEntry 1.3.6.1.2.1.4.21.1 ipRouteDest 1.3.6.1.2.1.4.21.1.1 Objecto Columnar x. 1. 9.1.2.3 ipRouteDest 9.1.2.3 10.0.0.51 10.0.0.77 … … … … ipRouteNextHop … 99.0.0.3 … 89.1.1.42 … 89.1.1.42 ... Objecto Columnar x. 7. 9.1.2.3 ipRouteNextHop 1.3.6.1.2.1.4.21.1.7 X=1.3.6.1.2.1.4.21.1 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 34 Arquitectura de Gestão Internet-SNMPv1 Manipulação de Objectos Escalares Counter Leitura Value iplnReceives 25 OctectString Value Escrita ifAdminStatus Testing TMV - 2003 GetRequest (ipInReceives.0) GetResponse(ipInReceives.0=25) SetRequest (ifAdminStatus.0= ´Testing´) GetResponse(ifAdminStatus.0= ´Testing´) Gestão de Redes e de Sistemas Distribuídos 35 Arquitectura de Gestão Internet-SNMPv1 Manipulação de Tabelas - Monitorização ipRouteDest 9.1.2.3 10.0.0.51 10.0.0.77 … … … … ipRouteNextHop … 99.0.0.3 … 89.1.1.42 … 89.1.1.42 ... Leitura tabela GetNextRequest (ipRouteDest, ipRouteNextHop) GetResponse ((ipRouteDest.9.1.2.3=9.1.2.3), (ipRouteNextHop.9.1.2.3=99.0.0.3)) GetNextRequest (ipRouteDest.9.1.2.3, ipRouteNextHop.9.1.2.3) GetResponse ((ipRouteDest.10.0.0.51=10.0.0.51), (ipRouteNextHop. 10.0.0.51 =89.11.4.2)) … GetNextRequest (ipRouteDest.10.0.0.77, ipRouteNextHop.10.0.0.77) GetResponse ((ipRouteNextHop.9.1.2.3=99.0.0.3), (ipNetToMediaIfIndex. 1.3 =1)) TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 36 Arquitectura de Gestão Internet-SNMPv1 Manipulação de Tabelas - Controlo Inserção de linha ipRouteDest 9.1.2.3 10.0.0.51 10.0.0.77 … … … … ipRouteNextHop … 99.0.0.3 … 89.1.1.42 … 89.1.1.42 ... Remoção de linha SetRequest ((ipRouteDest.10.0.0.77=10.0.0.77), (ipRouteNextHop.10.0.0.77 = 89.1.1.42)) SetResponse((ipRouteDest. 10.0.0.77=10.0.0.77), (ipRouteNextHop. 10.0.0.77 = 89.1.1.42)) SetRequest (ipRouteType.10.0.0.77 =invalid) SetResponse(ipRouteDest.11.3.3.12=invalid) TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 37 TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 38 Arquitectura de Gestão Internet-SNMPv1 Problema 3 1- Indique a sequência de mensagens SNMPv1 e o conteúdo das mensagens, associado às seguintes situações: a) Contagem o número de pacotes IP recebidos nas interfaces de um router. b) Leitura da tabela de encaminhamento, ipRouteTable, de um router. Considere que a tabela tem apenas 3 linhas. c) Alteração o valor da métrica1 referente ao endereço de destino D2. d) Remoção da linha da tabela de encaminhamento correspondente ao endereço de destino D2 inoperacional. TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 39 Arquitectura de Gestão Internet-SNMPv1 Solução 3 Perguntar à Tania ! TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 40 Arquitectura de Gestão Internet-SNMPv1 Mecanismos de segurança Agente Agente Co mu ni da de Agente TMV - 2003 G e s t o r G e s t o r Definida no Agente • Identificação através de nome • Engloba: • Autenticação • Controlo de acesso • Característica do proxy Autenticação: garantir a proveniência correcta nome da comunidade Controlo de acesso: diferenciar o acesso à MIB Perfil da comunidade - visão da MIB (objectos visíveis) - modo de acesso a cada elemento Características do proxy de cada dispositivo visão da MIB e modo de acesso Gestão de Redes e de Sistemas Distribuídos 41 Arquitectura de Gestão Internet-SNMPv1 Modelo de Comunicações - conclusões Operações simples Desenvolvimento produtos:rápido, realizável em recursos simples Divulgação generalizada Autenticação trivial Ineficiência na transmissão de grandes volumes de informação Informação tem de ser sempre requisitada pelo Gestor Eventos assíncronos pré-definidos e em nº limitado Suporte em UDP Totais : 3 TMV - 2003 5 !!! Gestão de Redes e de Sistemas Distribuídos 42 Resumo da aula • Características gerais • Normas • Características gerais • Árvore de Registo Internet • MIBs e sinatxe dos objectos • Modelo de Informação • Definição de objectos escalares • Definição de tabelas • Codificação de informação • Modelo de Comunicação • Formato das mensagens • Manipulação de objectos escalares • Manipulação de tabelas • TMV - 2003 Gestão de Redes e de Sistemas Distribuídos 43