Faculdade de Informática - PUCRS
Redes de Computadores
Fernando Luís Dotti
Faculdade de Informática - PUCRS
SNMP
Simple Network Management
Redes de Computadores 3
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Histórico
z No final dos anos 70 não haviam protocolos de
gerenciamento.
z A única ferramenta efetivamente usada para
gerenciamento foi o Internet Control Message Protocol (ICMP)
z PING -Packet Internet Groper(examinador).
z Com algumas ferramentas suplementares o PING foi
uma satisfatória solução para as exigências de gerenciamento de redes por muitos anos.
Redes de Computadores 5
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z No final dos anos 80 o crescimento da Internet tornou-se exponencial e a atenção foi voltada para o
desenvolvimento de uma capacidade de gerenciamento de rede mais poderosa.
z Era necessário um protocolo com muito mais
funcionalidade que PING
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Simple Gateway Monitoring Protocol (SGMP) emitido
em novembro de 1987. O SGMP era um meio simples de monitorar roteadores.
z Como cresceu a necessidade de mais ferramentas de
gerenciamento de rede, três promissoras abordagens surgiram:
Redes de Computadores 7
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z High-Level Entity Management System (HEMS): Uma
generalização do talvez primeiro protocolo de gerenciamento de rede usado na Internet , o Host Monitoring Protocol (HMP).
z Simple Network Management Protocol (SNMP): Uma versão melhorada do SGMP.
z Common management Information Protocol (CMIP) sobre
TCP/IP -(CMOT): uma tentativa de incorporar o protocolo (CMIP), serviços, e estrutura de base de dados para gerenciamento de redes sendo padronizado pelo ISO.
z No início de 1988, o Internet Activities Board (IAB) revisou estas propostas e aprovou o desenvolvimento do SNMP como uma solução a curto prazo e CMOT como uma solução de longo alcance.
z SNMP logo tornou-se o protocolo de gerenciamento
Redes de Computadores 9
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z SNMP apresentava deficiências nas áreas de segurança e funcionalidade
z Então, foi elaborado o SNMP versão2, que supre
algumas destas deficiências.
Faculdade de Informática - PUCRS
Arquitetura de
gerenciamento de redes
Redes de Computadores 11
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Elementos
:•
Estação de gerenciamento;
•
Agente de gerenciamento;
•
Base de informações de gerenciamento
(MIB-Management Information Base);
•
Protocolo de gerenciamento de rede
.z Estação de gerenciamento: serve de interface para o
gerente da rede no sistema de gerenciamento. Terá no mínimo:
Redes de Computadores 13
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Um conjunto de aplicações para análise de dados; z Uma interface pela qual o gerente deve monitorar e
controlar a rede;
z A capacidade de traduzir as exigências do gerente no
monitoramento e controle de elementos na rede.
z Uma base de dados de informações extraídas das MIB’s de todas entidades gerenciadas na rede.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Agente de gerenciamento: responde aos pedidos por
informação de uma estação, e algumas vezes, manda à estação informações importantes que não foram pedidas.
Redes de Computadores 15
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z MIB: O meio pelo qual recursos devem ser gerenciados na rede é representá-los como objetos.
z Cada objeto é um dado variável que representa um aspecto do agente gerenciado. O conjunto destes objetos é a MIB.
z Protocolo de gerenciamento de rede: A estação de gerenciamento e os agentes são vinculados por um protocolo de gerenciamento de rede.
z O protocolo usado para o gerenciamento de redes TCP/IP é o SNMP. Este protocolo inclui as seguintes capacidades:
Redes de Computadores 17
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Get: permite que a estação pegue o valor de objetos do
agente;
z Get Next: permite que a estação pegue o valor do próximo objeto (em relação à posição do objeto na árvore da MIB);
z Set: permite que a estação estabeleça o valor para objetos do agente;
z Trap: permite a um agente notificar estação de eventos
significativos.
Faculdade de Informática - PUCRS
Protocolo de
Gerenciamento de rede
Redes de Computadores 19
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z SNMP foi designado para ser um protocolo do conjunto
de protocolos TCP/IP. Ele opera sobre o User Datagram Protocol (UDP).
z Não usa TCP porque TCP é
orientado-a-conexão(connection-oriented) e o SNMP e UDP são não-orientados-a-conexão (connectionless-oriented).
z Para uma estação, um processo agente interpreta as mensagens SNMP e controla o acesso à MIB mantida na estação, oferecendo uma interface para o processo gerente.
z O processo gerente realiza o gerenciamento da rede utilizando SNMP.
Redes de Computadores 21
Faculdade de Informática - PUCRS
Fernando Luís Dotti rede ou internet
Aplicação de gerenciamento Recursos gerenciados objetos gerenciados gerente SNMP UDP IP Protocolos Network-Dependent UDP IP Protocolos Network-Dependent agente SNMP Mensagens SNMP aplicação de gerenciamento de objetos getRequest getRequest GetNextRequest GetNextRequest
SetRequest GetResponse SetRequest GetResponse
Trap Trap
estação de gerenciamento SNMP agente SNMP
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Mensagens Trap
z técnica Trap-directed-polling
z Cada agente deve notificar a estação de qualquer evento
fora do comum. Estes eventos são comunicados através de mensagens, chamadas de traps.
Redes de Computadores 23
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Proxies
z O uso do SNMP exige que todos os agentes, assim como
as estações de gerenciamento, suportem UDP e IP.
z Isto exclui o gerenciamento de alguns dispositivos, assim
como algumas bridges e modems, que não suportam nenhuma parte do conjunto de protocolos TCP/IP.
z Para acomodar estes dispositivos, foi desenvolvido o conceito de proxy.
z Um agente SNMP atua como um proxy para um ou mais dispositivos.
z O agente proxy converte cada mensagem para o protocolo de gerenciamento usado pelo dispositivo.
Faculdade de Informática - PUCRS
Estrutura de informação
de gerenciamento (SMI)
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Define a estrutura geral na qual a MIB pode ser definida e construída.
z Identifica o tipo de dado que pode ser usado pela MIB, e como os recursos são representados e nomeados na MIB.
Redes de Computadores 27
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z A MIB pode armazenar
y tipos simples de dados escalares e y vetores bi-dimensionais de escalares.
z A SMI não suporta a criação de estruturas de dados
complexas.
z A linguagem usada para definir a SMI é a ASN.1 (Abstract Syntax Notation One).
Redes de Computadores 29
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Módulos
z Um módulo é um conjunto de descrições ASN.1 relativas a um tema comum. Por exemplo , a especificação de um protocolo ou de uma MIB.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
<<módulo>> DEFINITIONS : : = BEGIN <<links>>
<<declarações>> END
Redes de Computadores 31
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z <<módulo>> : é o nome do módulo;
z <<links>> : importação de bibliotecas ou outros
módulos;
z <<declarações>> : contém as definições de :
- Tipos : definem novas estruturas de dados (iniciam com letra maiúscula).
- Valores : instâncias de um tipo (inicia com letra minúscula).
- Macros : usados para extender a gramática da linguagem ASN.1(letras maiúsculas).
Tipos e Valores
z Definição de tipos e valores :
nometipo : : =
TYPE
nomevalor nometipo : : = VALUE
Redes de Computadores 33
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Tipos Simples
z INTEGER : inteiros
z OCTET STRING : uma string de octetos , onde cada byte pode ter qualquer valor de 0 a 255.
z OBJECT IDENTIFIER : um meio de identificar algum
objeto. É uma seqüência de números inteiros não negativos, dispostos em uma árvore.
z NULL : Atualmente este tipo não é usado.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Tipos Construídos
z SEQUENCE : uma lista ordenada de zero ou mais
elementos de um ou mais tipos ASN.1 (Chamado de estrutura, em outras linguagens).
z SEQUENCE OF <<tipo>> : uma lista ordenada de zero
Redes de Computadores 35
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Tipos Rotulados
z Definição de um novo tipo rotulando um tipo já existente. O tipo original e o novo tipo só diferem no rótulo.
Subtipos
z A partir de um tipo já existente, cria-se um subtipo
definindo quais elementos do tipo original serão permitidos no subtipo.
Redes de Computadores 37
Faculdade de Informática - PUCRS
Fernando Luís Dotti
A SMI define seis novos tipos :
z IpAdress : representa um endereço IP.
z NetworkAdress : representa um endereço de alguma
família de protocolos (atualmente a única disponível é a IP, então NetworkAdress é a mesma coisa que
IpAdress ).
z Counter : Um inteiro não negativo que é incrementado
em 1 até alcançar um valor máximo.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Gauge : Um inteiro não negativo que pode ser
incrementado ou decrementado em 1.
z TimeTicks : Conta o tempo em centenas de segundos a
partir de um determinado tempo.
z Opaque : Codifica uma instância de qualquer tipo
Redes de Computadores 39
Faculdade de Informática - PUCRS
Fernando Luís Dotti
A SMI define também dois tipos construídos:
z list : <list> : : = SEQUENCE { <tipo1> ... <tipo n> z table: <table> : : = SEQUENCE OF <list>
z
list é definido para ser usado como as colunas de table.Redes de Computadores 41
Faculdade de Informática - PUCRS
Fernando Luís Dotti
objeto OBJECT IDENYIFIER : : = { tipo sufixo } --identificador nome OBJECT -TYPE --definição dos tipos
SINTAX tipo ACCESS acesso
STATUS estado
: : = valor (valor do nome do objeto)
• Cada objeto é definido seguindo este modelo:
Objetos
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z SINTAX : define o tipo de dado do objeto. Pode ser um tipo básico ou um tipo definido por um usuário.
z ACCESS : pode ser:
- read-only : as instancias do objeto podem ser lidas, mas não alteradas;
- read-write : as instancias do objeto podem ser lidas ou alteradas; - write-only : as instancias do objeto podem ser alteradas, mas não lidas;
Redes de Computadores 43
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z STATUS :
- mandatory :os nós gerenciados devem implementar este objeto;
- optional :os nós gerenciados podem implementar este objeto; - obsolete : os nós gerenciados não podem implementar este objeto.
z Os objetos em uma MIB são organizados em uma
árvore.
SNMP versão 2
z Além dos mecanismos de troca de mensagens do SNMP versão 1(Get, GetNext, Set, Trap e Response), a versão 2 inclui o GetBulk e o Inform.
Redes de Computadores 45
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z GetBulk (bulk = grande volume): semelhante ao
GetNext, mas permite que a estação pegue o valor dos n próximos objetos (em relação à posição do objeto na árvore da MIB);
z Inform: permite a um gerente notificar à outro gerente de eventos significativos.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
MIB do SNMPv2
z Os objetos definidos como parte do SNMPv2 são
organizados em três MIB’s.
z Cada MIB é organizada em grupos( grupo é uma coleção
Redes de Computadores 47
Faculdade de Informática - PUCRS
Fernando Luís Dotti
A MIB SNMPv2
z Define objetos que descrevem o comportamento de uma
entidade.
z Esta informação permite ao agente monitorar a
quantidade de atividade de um agente e a quantidade de recursos de um agente.
Contém 5 grupos:
z Gurpo de Estatísticas SNMPv2 : controla o número de mensagens enviadas, mensagens recebidas,
mensagens com erros.
z Gurpo de Estatísticas SNMPv1 :
Redes de Computadores 49
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Gurpo Trap : permite que entidades SNMPv2 que
atuam como agentes gerem mensagens trap.
z Gurpo Set : serve para resolver dois problemas que
podem ocorrer com o uso da operação Set. Primeiro, ordem da execução de operações. Segundo, o uso da operação Set por múltiplos gerentes pode resultar em uma base de dados inconsistente
Faculdade de Informática - PUCRS
Fernando Luís Dotti
A MIB gerente-para-gerente
z Permite a um gerente superior definir eventos que um
gerente subordinado usará para mandar mensagens de alerta para o gerente superior.
z Esta MIB deve ser usada para permitir o uso de gerentes
Redes de Computadores 51
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Consiste em dois grupos:
z Grupo de Alarme : define um conjunto de alarmes para os
objetos.
z Grupo de Evento : quando um alarme é disparado, ele
aciona um evento, que é o InformRequest, que é enviado a um gerente superior.
Aplicações de gerenciamento Gerente/Agente Gerente MIB Agente MIB MIB
Redes de Computadores 53
Faculdade de Informática - PUCRS
Fernando Luís Dotti
A MIB do grupo
z A MIB do grupo está relacionada com a segurança.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Segurança SNMPv2
z Os serviços de segurança no SNMPv2 são três:
Redes de Computadores 55
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Privacidade: proteção de dados transmitidos. O mecanismo de proteção usado é a criptografia.
z Autenticação: qualquer dado é autentico quando não é
alterado e quando vem da fonte que diz ter vindo. O mecanismo de autenticação para SNMPv2 é o MD5 digest authentication protocol.
z Controle de acesso: garantir que apenas usuários
autorizados tenham acesso a uma MIB, e possam modificar os dados da MIB.
Exemplo
Faculdade de Informática - PUCRS
Grupos que formam a
MIB-II
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo de sistema
• Contém informações de configuração: system OBJECT IDENTIFIER : := { mib 1 }
z Alguns objetos :
z sysDescr: descrição do dispositivo
z sysName: nome do dispositivo
z sysLocation: localização física do dispositivo
Redes de Computadores 59
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo de interfaces
• contém informações sobre as entidades da interface. Este grupo contém dois níveis de objetos, o número interfaces em um nó e uma tabela contendo informação destas interfaces:
interfaces OBJECT IDENTIFIER : := { mib 2 }
z ifNumber : o número interfaces em um nó
--Tabela do grupo de interfaces
ifTable OBJECT IDENTIFIER : := { interfaces 2 } ifEntry OBJECT IDENTIFIER : := { ifTable 2 } z Alguns objetos da tabela :
z ifIndex : número da interface
z ifDescr : descrição da interface
z ifType : tipo da interface
Redes de Computadores 61
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo de tradução de endereço
z Contém informações sobre endereços. É composto de
uma tabela usada para mapear endereços IP em endereços de nível 2 dependentes da rede em uso.
at OBJECT IDENTIFIER : : = { mib 3 } atTable OBJECT IDENTIFIER : : = { at 1 } atEntry OBJECT IDENTIFIER : : = { atTable 1}
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z Cada linha da tabela possui três colunas:
z atIfIndex : numero da interface
z atPhysAdress : endereço de mídia para mapeamento
Redes de Computadores 63
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo IP
z Possui vários escalares e três tabelas ( de endereços IP, de roteamento IP, de tradução de endereços IP )
ip OBJECT IDENTIFIER : : = { mib 4 } z Alguns escalares:
z ipForwarding : atua como um roteador ou como um host
z IpInReceives : total de datagramas recebidos
z ipInHdrErrors: datagramas descartados por erro de formato
z ipInAddrErrors:datagramas descartados por erro de entrega
--tabela de endereços
ipAddrTable OBJECT IDENTIFIER : : = { ip 20 }
ipAddrEntry OBJECT IDENTIFIER : : = { ipAddrTable 1 }
z Alguns objetos da tabela de endereços IP:
z ipAdEntAddr : endereço IP desta entrada
Redes de Computadores 65
Faculdade de Informática - PUCRS
Fernando Luís Dotti
--tabela de roteamento
ipRoutingTable OBJECT IDENTIFIER : : = { ip 21 }
ipRoutingEntry OBJECT IDENTIFIER: := {ipRoutingTable 1 } z Alguns objetos da tabela de roteamento IP:
z ipRouteDest : endereço IP de destino
z ipRouteIfIndex : número da interface
z ipRouteMetric1: métrica de roteamento #1
z ipRouteProto : mecanismo usado para determinar a rota
Faculdade de Informática - PUCRS
Fernando Luís Dotti
--tabela de tradução de endereços
ipNetToMediaTable OBJECT IDENTIFIER : : = { ip 22 }
ipNetToMediaEntry OBJECT IDENTIFIER : : = { ipNetToMediaTable 1 }
z Alguns objetos da tabela de tradução de endereços IP:
z ipNetToMediaIfIndex : número da interface
Redes de Computadores 67
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo ICMP
• Consiste em 26 contadores, que controlam o número de vezes que uma mensagem do tipo foi gerada , o número de vezes que a mensagem deste tipo foi recebida pela entidade IP local, o número de
mensagens ICMP recebidas, enviadas, recebidas com erro, ou não enviadas devido a um erro.
icmp OBJECT IDENTIFIER : : = { mib 5 }
Grupo TCP
• Contém vários escalares e uma tabela :
tcp OBJECT IDENTIFIER : : = { mib 6 } z Alguns escalares:
z tcpRtoAlgorithm : identifica o algoritmo de retransmissão
z tcpRtoMin : tempo mínimo de retransmissão em milisegundos
z tcpRtoMáx : tempo máximo de retransmissão em milisegundos
z tcpMaxConn : número máximo de conexões TCPpermitidas
Redes de Computadores 69
Faculdade de Informática - PUCRS
Fernando Luís Dotti
--tabela do grupo TCP
tcpConnTable OBJECT IDENTIFIER : : = { tcp 13 } tcpConnEntry OBJECT IDENTIFIER : : ={ tcpConnTable 1}
z Alguns objetos da tabela:
z tcpConnState : estado da conexão
z tcpConnLocalAdress : endereçoIP local
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo UDP
• Contém quatro contadores e uma tabela:
udp OBJECT IDENTIFIER : : = { mib 7 }
z Alguns escalares:
z udpNoPorts : datagramas com destino desconhecido
Redes de Computadores 71
Faculdade de Informática - PUCRS
Fernando Luís Dotti
--tabela do grupo UDP
udpTable OBJECT IDENTIFIER : : = { udp 5 } udpEntry OBJECT IDENTIFIER : : = { udpTable 1 }
z Os objetos da tabela:
z udpLocalAddress : endereço IP local
z udpLocalPort : porta UDP local
Grupo EGP
z Deve ser implementado pelos nós que implementam o
Redes de Computadores 73
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo de transmissão
z É um espaço livre, usado par incluir novas definições.
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Grupo SNMP
z Permite a manipulação de funções do SNMP.
snmp OBJECT IDENTIFIER : : = { mib 11 }