Paradigmas de Gerenciamento Internet © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet O paradigma de gerenciamento utilizado nas redes com tecnologia internet (TCP/IP) é baseado no protocolo de gerenciamento SNMP. SNMP - Simple Network Management Protocol Utiliza o modelo agente/gerente na comunicação com os elementos de rede. O paradigma aplica-se, além dos equipamentos computacionais convencionais, a equipamentos de comunicações e de telecomunicações A família SNMP inclui outros protocolos, como o SNMPv2 e o SNMPv3. © Departamento de Ciência da Computação - UFMG
Arquitetura de Gerenciamento © Departamento de Ciência da Computação - UFMG
Arquitetura de Gerenciamento Estação de Gerenciamento (NMS) SNMP Entidade gerenciadora Entidade gerenciada Variáveis da MIB © Departamento de Ciência da Computação - UFMG
Arquitetura de Gerenciamento © Departamento de Ciência da Computação - UFMG
Arquitetura de Gerenciamento © Departamento de Ciência da Computação - UFMG
Arquitetura de Gerenciamento © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Agente de gerenciamento: Responde a solicitações de informação. Responde a solicitações de execução de ações. Provê informações impotantes, não solicitadas. Pode fazer parte de dispositivos, que se tornam então gerenciáveis. © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Estação de gerenciamento ou gerente: Dispositivo, sistema ou função num sistema compartilhado. Serve como interface ao operador ou gerente de rede - ser humano. © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Estação de gerenciamento ou gerente (cont.): Provê, no mínimo: Um conjunto de aplicações para análises de dados, recuperação de falhas, etc. Uma interface de operação, para monitoração e controle. Capacidade de traduzir solicitações de operadores para os elementos remotos. Uma base de dados de informação extraída das bases de dados das entidades gerenciadas © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Base de informação de gerenciamento ou MIB - Management Information Base: Os recursos da rede são representados como objetos para fins de gerenciamento. Cada objeto é essencialmente uma variável de dados que representa um aspecto do recurso gerenciado A coleção de objetos é referida como MIB - Management Information Base. © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Base de informação de gerenciamento ou MIB - Management Information Base (cont.): Os objetos são padronizados para sistemas de uma determinada classe, ex: Roteadores Estações de trabalho Modems No-break Multiplexadores © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Histórico Internet Engineering Task Force (IETF) 1990 SNMPv1 1996 SNMPv2 1998 SNMPv3 Documentos: Request for Comments (RFC) Standard RFC (STD) For Your Information RFC (FYI) © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Modelo de Informação Define a estrutura e o armazenamento da informação SMI: define a sintaxe e a semantica da informação de gerência armazenada na MIB MIB: base de dados virtual utilizada pelos processos de agente e gerente para armazenar e trocar informações de gerência MDB: banco de dados real que contém os valores medidos ou configurados no elemento de rede © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG SMI Sintaxe: formato da informação sendo apresentada Semântica: significado da informação associada Objeto: sintaxe + semântica SMI define sintaxe semântica mais informações adicionais como status © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG MIB Base de informação contendo informações sobre os objetos Organizada por grupo de objetos relacionados Define as relações entre objetos NÃO é uma base de dados física, mas virtual que é compilada no módulo de gerência © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG MDB vs MIB Distinção entre MDB e MIB: MDB é uma base de dados física MIB é uma base de dados virtual com um esquema compilado no software de gerência Um NMS pode automaticamente descobrir o objeto gerenciado (e.g. hub) quando adicionado a rede O NMS pode identificar o elemento a ser gerenciado somente após o MIB schema para o hub é compilado no software do NMS © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Modelo de Informação © Departamento de Ciência da Computação - UFMG
Modelo de Informação OSI © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Modelo de Comunicação Gerencia como a informação vai ser trocada entre as partes Mensagens bi-direcionais com sintaxe bem definida Requisições, respostas e notificações/traps © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Modelo de Comunicação ASN.1 Regras de codificação (BER) Pacotes SNMP © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG ASN.1 Linguagem formal definida pela CCITT (ITU) e ISO para definir transferência de dados entre sistemas Separa claramente sintaxe abstrata (modelo de informação) da sintaxe de transferência (modelo de comunicação) na camada de apresentação Pode ser utilizada para gerar código de máquina: Basic Encoding Rules (BER) © Departamento de Ciência da Computação - UFMG
Backus-Nauer Form (BNF) Definition: <name> ::= <definition> Rules: <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <number> ::= <digit> | <digit> <number> <op> ::= + | - | × | / <SAE> ::= <number> | <SAE> <op> <SAE> number Example: 9 is primitive 9 19 is construct of 1 and 9 619 is construct of 6 and 19 © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG BNF Construção é definida a partir de primitivas. O exemplo mostra como números são construídos a partir da primitiva <digit>. Expressões Aritiméticas (<SAE>) podem ser construídas a partir de <digit> e <op>. Por exemplo: 26 = 13 × 2 BNF é utilizado para definir construções ASN.1 mas as regras de sintaxe precisam ser seguidas © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Exemplo de ASN.1 Person-Name ::= SEQUENCE { first VisibleString, middle VisibleString, last VisibleString } person-name Person-Name::= first "John", middle "I", last "Smith" © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG ASN.1 Layout não é significante. Comentários são delimitados entre -- (par de hífens) e quebra de linha. Identificadores (nomes de objetos) e referência a tipos (nomes de tipos) consistem de letras caixa-alta, caixa-baixa, números, hífens e espaços; identificadores começam com letras caixa-baixa e nomes de tipos começam com letras caixa-alta. © Departamento de Ciência da Computação - UFMG
Tipos de Dados Primitivos Type Name Set of Values BOOLEAN TRUE or FALSE INTEGER 0, positive and negative BIT STRING String of 0 or more bits OCTET STRING String of 0 or more bytes NULL Place holder, single valued © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Tipos de Dados Primitivos Agregados Alternativas: CHOICE Listas: SET, SEQUENCE SET é uma lista não ordenada, e SEQUENCE é ordenada Repetição (arrays): SET OF, SEQUENCE OF SET OF é não ordenada, e SEQUENCE OF é ordenada © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
Definição de Módulos em ASN.1 <module name> DEFINITIONS ::= BEGIN <name> ::= <definition> … END © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Símbolos ASN.1 Symbol Meaning ::= Defined as | or, alternative, options of a list - Signed number -- Following the symbol are comments {} Start and end of a list [] Start and end of a tag () Start and end of subtype .. Range © Departamento de Ciência da Computação - UFMG
Convenções de Tipos em ASN.1 © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Tipos de Dados ASN.1 Tipos simples: PageNumber ::= INTEGER ChapterNumber ::= INTEGER Tipos estruturados: BookPageNumber ::= SEQUENCE {ChapterNumber, Separator, PageNumber} Exemplo: {1-1, 2-3, 3-39} Tipos : Derivados de outros tipos; é dado um novo tag ID Outros tipos: CHOICE, ANY © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Tag Tag identifica unicamente um tipo É constituída por class e tag number Classe: Universal Application Context-specific Private (utilizada por empresas) © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Inteiro Enumerado © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Codificação BER © Departamento de Ciência da Computação - UFMG
ASN.1 OBJECT-IDENTITY Macro © Departamento de Ciência da Computação - UFMG
Modelo de Informação SNMP Revisitado Structure of Management Information (SMI) (RFC 1155) Objetos gerenciáveis Scalar (de tipos primitivos) Agregado ou tabular (arrays) Management Information Base (RFC 1213) © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Nomes Definidos univocamente por DESCRIPTOR e OBJECT IDENTIFIER Exemplos: internet OBJECT IDENTIFIER ::= {iso org(3) dod(6) 1} internet OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1)} internet OBJECT IDENTIFIER ::= {1 3 6 1} internet OBJECT IDENTIFIER ::= {iso org dod internet } internet OBJECT IDENTIFIER ::= {iso org dod(6) internet(1) } internet OBJECT IDENTIFIER ::= {iso(1) org(3) 6 1} © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
Tipos de Dados Primitivos © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG NULL em Mensagens get-request possui NULL nos campos de valor get-response possui valores devidamente preenchidos nos respectivos campos © Departamento de Ciência da Computação - UFMG
Tipos de Dados de Aplicação © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG SEQUENCE, SEQUENCE OF © Departamento de Ciência da Computação - UFMG
Tipos de Dados e Tags em SNMP Type Tag OBJECT IDENTIFIER UNIVERSAL 6 SEQUENCE UNIVERSAL 16 IpAddress APPLICATION 0 Counter APPLICATION 1 Gauge APPLICATION 2 TimeTicks APPLICATION 3 Opaque APPLICATION 4 © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Arrays Grupo de objetos, também chamados de tabular objects Podem ser representados como: Colunas de objetos. Linhas de instâncias. Definem agrupamentos e não são acessíveis. © Departamento de Ciência da Computação - UFMG
Como Tabelas são Montadas na MIB? © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
Exemplo de Aggregate Object Tabela de endereços IP consistindo de: Endereço IP Interface Subnet mask Broadcast address Maior datagrama IP que pode ser montado © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG IP Address Table © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Exemplo ipAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF IpAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The table of addressing information relevant to this entity's IP addresses." ::= { ip 20 } © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Exemplo ipAddrEntry OBJECT-TYPE SYNTAX IpAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The addressing information for one of this entity's IP addresses." INDEX { ipAdEntAddr } ::= { ipAddrTable 1 } © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Exemplo IpAddrEntry ::= SEQUENCE { ipAdEntAddr IpAddress, ipAdEntIfIndex INTEGER, ipAdEntNetMask IpAddress, ipAdEntBcastAddr INTEGER, ipAdEntReasmMaxSize INTEGER (0..65535) } © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Exemplo ipAdEntAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address to which this entry's addressing information pertains." ::= { ipAddrEntry 1 } © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Aonde estão armazenados os elementos da tabela? © Departamento de Ciência da Computação - UFMG
Gerenciamento Segundo a Internet Protocolo de gerenciamento: Permite a comunicação agente e estação. O protocolo para redes TCP/IP é: SNMP. Capacidades do SNMP: GET: possibilita à estação recuperar o valor de objetos do agente; SET: possibilita à estação atribuir valores a objetos no agente; TRAP: possibilita a um agente notificar a estação da ocorrência de eventos significativos © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Mensagens SNMP Get-Request: Enviado pelo gerente para requisitar dados ao agente Get-Next-Request: Enviado pelo gerente para requisitar a próxima entidade a entidade especificada Set-Request: Inicializa ou modifica valores de entidades do elemento de rede Get-Response: Agente responde com dados a comandos Get-*-Request e Set-Request Trap: Alarme gerado espontaneamente pelo agente Genérica, específica ou com time-stamp © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Trap Genérica coldStart warmStart linkDown linkUp authenticationFailure egpNeighborLoss enterpriseSpecific Específica: para medidas específicas tais como estatísticas Time stamp: tempo passado desde a última inicialização © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Comunidades em SNMP Segurança em SNMPv1 é baseada em comunidades Comunidade: Par de duas entidades de aplicação Nome da comunidade: String Duas aplicações na mesma comunidade comunicam entre si Aplicação pode fazer parte de múltiplas comunidades String de comunidade em SNMPv1 não é encriptada © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Perfil da Comunidade Visão da MIB: Um agente é programado para ver somente um subconjunto dos objetos gerenciados de um elemento de rede Modo de acesso: Cada comunidade possui um modo de acesso (read-only e read-write) Perfil da comunidade: visão da MIB + modo de acesso Operações em um objeto são determinadas pelo perfil da comunidade Alguns objetos, tais como tabelas e entrada de tabelas não são acessíveis © Departamento de Ciência da Computação - UFMG
Exemplo de Política de Acesso © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG RFC 1157 © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG RFC 1157 © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Tipo de PDU © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Trap PDU © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Traps Genéricas © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Ordem Lexicográfica © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
Diferenças Entre SNMPv1 e SNMPv2 Mensagens para transferências tipo bulk Mensagens para transferências entre gerentes Melhorias ao SMI: SMIv2 Definição de módulos: MODULE-IDENTITY macro Definição de objetos: OBJECT-IDENTITY macro Definição de traps: NOTIFICATION-TYPE macro Convenções textuais Melhorias em tabelas Melhorias na MIB © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
Novos Tipos de Mensagens inform-request - Mensagem manager-to-manager get-bulk-request - transferências de grandes quantidades de dados report - não utilizado © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Objetos OBJECT IDENTIFIER define a identificação administrativa de um nó da MIB OBJECT-IDENTITY (macro) atribui a um identificador de objeto um nó da MIB OBJECT-TYPE (macro) define o tipo de um objeto gerenciável © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Expansão de Tabelas Expansão de tabelas (augmentation) para uma tabela dependente adiciona colunas adicionais a uma tabela existente (tabela base) Tabelas densas podem ter mais linhas adicionadas a tabela base Tabelas esparsas podem suplementar menos linhas a tabela base © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Convenções Textuais Permite a definição de novos tipos Faz semântica de tipos de dados consistente e mais legível Cria novos tipos de dados a partir de tipos existentes e aplica restrições a estes Uma convenção importante em SNMPv2: RowStatus cria e deleta linhas © Departamento de Ciência da Computação - UFMG
Textual Convention Example © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG Conformidade Requisitos mínimos para conformidade de SNMPv2 são definidos pela macro MODULE-COMPLIANCE Os módulos da MIB reais implementadas no agente são especificadas pela macroAGENT-CAPABILITIES Objetos e traps são combinadas nas macros: OBJECT-GROUP NOTIFICATION-GROUP © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG MIB no SNMPv2 Adiciona controle e monitoração da segurança Grupo sistema: Uma tabela sysORTable lista os recursos que o agente monitora e controla Grupo SNMP: A maior parte dos objetos do SNMPv1 tornaram-se obsoletos © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
PDU para SNMPv2 Trap e Inform-Request Inform-request comporta-se como uma trap porque a mensagem vai de um gerente a outro. O gerente que recebe a mensagem responde ao gerente que a solicitou. © Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
© Departamento de Ciência da Computação - UFMG
SNMPv3 Texto distribuído em sala © Departamento de Ciência da Computação - UFMG