SNMP - Faculdade de Informática

Propaganda
Faculdade de Informática - PUCRS
Faculdade de Informática - PUCRS
Redes de Computadores
Fernando Luís Dotti
SNMP
Simple Network Management
Protocol
1
Histórico
z A única ferramenta efetivamente usada para
gerenciamento foi o Internet Control Message Protocol
(ICMP)
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z No final dos anos 70 não haviam protocolos de
gerenciamento.
Redes de Computadores
3
z Com algumas ferramentas suplementares o PING foi
uma satisfatória solução para as exigências de
gerenciamento de redes por muitos anos.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z PING -Packet Internet Groper(examinador).
Redes de Computadores
4
2
z Era necessário um protocolo com muito mais
funcionalidade que PING
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z No final dos anos 80 o crescimento da Internet tornouse exponencial e a atenção foi voltada para o
desenvolvimento de uma capacidade de gerenciamento
de rede mais poderosa.
Redes de Computadores
5
z Como cresceu a necessidade de mais ferramentas de
gerenciamento de rede, três promissoras abordagens
surgiram:
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Simple Gateway Monitoring Protocol (SGMP) emitido
em novembro de 1987. O SGMP era um meio simples
de monitorar roteadores.
Redes de Computadores
6
3
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
Redes de Computadores
7
z SNMP logo tornou-se o protocolo de gerenciamento
padronizado mais usado. CMOT definhou.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
Redes de Computadores
8
4
z Então, foi elaborado o SNMP versão2, que supre
algumas destas deficiências.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z SNMP apresentava deficiências nas áreas de
segurança e funcionalidade
Faculdade de Informática - PUCRS
Redes de Computadores
9
Arquitetura de
gerenciamento de redes
5
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Elementos:
• Estação de gerenciamento;
• Agente de gerenciamento;
• Base de informações de gerenciamento
(MIB-Management Information Base);
• Protocolo de gerenciamento de rede.
11
z Estação de gerenciamento: serve de interface para o
gerente da rede no sistema de gerenciamento. Terá no
mínimo:
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Redes de Computadores
Redes de Computadores
12
6
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
Redes de Computadores
13
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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
14
7
z Cada objeto é um dado variável que representa um
aspecto do agente gerenciado. O conjunto destes
objetos é a MIB.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z MIB: O meio pelo qual recursos devem ser gerenciados
na rede é representá-los como objetos.
Redes de Computadores
15
z O protocolo usado para o gerenciamento de redes
TCP/IP é o SNMP. Este protocolo inclui as seguintes
capacidades:
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Protocolo de gerenciamento de rede: A estação de
gerenciamento e os agentes são vinculados por um
protocolo de gerenciamento de rede.
Redes de Computadores
16
8
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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
Redes de Computadores
17
Protocolo de
Gerenciamento de rede
9
z Não usa TCP porque TCP é orientado-aconexão(connection-oriented) e o SNMP e UDP são
não-orientados-a-conexão (connectionless-oriented).
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z SNMP foi designado para ser um protocolo do conjunto
de protocolos TCP/IP. Ele opera sobre o User
Datagram Protocol (UDP).
19
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.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Redes de Computadores
Redes de Computadores
20
10
Fernando Luís Dotti
Faculdade de Informática - PUCRS
gerente SNMP
UDP
IP
Protocolos
Network-Dependent
Mensagens SNMP
Trap
GetResponse
SetRequest
GetNextRequest
getRequest
Trap
GetResponse
SetRequest
GetNextRequest
getRequest
estação de gerenciamento SNMP
agente SNMP
Aplicação de
Recursos gerenciados
gerenciamento
objetos gerenciados
aplicação de
gerenciamento de
objetos
agente SNMP
UDP
IP
Protocolos
Network-Dependent
rede ou internet
Redes de Computadores
21
Mensagens Trap
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.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z técnica Trap-directed-polling
Redes de Computadores
22
11
Proxies
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.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z O uso do SNMP exige que todos os agentes, assim como
as estações de gerenciamento, suportem UDP e IP.
Redes de Computadores
23
z Um agente SNMP atua como um proxy para um ou
mais dispositivos.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Para acomodar estes dispositivos, foi desenvolvido o
conceito de proxy.
z O agente proxy converte cada mensagem para o
protocolo de gerenciamento usado pelo dispositivo.
Redes de Computadores
24
12
Faculdade de Informática - PUCRS
Estrutura de informação
de gerenciamento (SMI)
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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
26
13
z A MIB pode armazenar
z A SMI não suporta a criação de estruturas de dados
complexas.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
y tipos simples de dados escalares e
y vetores bi-dimensionais de escalares.
Redes de Computadores
27
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z A linguagem usada para definir a SMI é a ASN.1 (Abstract
Syntax Notation One).
Redes de Computadores
28
14
Módulos
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
Redes de Computadores
29
<<módulo>> DEFINITIONS : : = BEGIN
<<declarações>>
END
Fernando Luís Dotti
Faculdade de Informática - PUCRS
<<links>>
Redes de Computadores
30
15
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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).
31
Redes de Computadores
Tipos e Valores
z Definição de tipos e valores :
nometipo : : =
nomevalor nometipo : : =
VALUE
Fernando Luís Dotti
Faculdade de Informática - PUCRS
TYPE
Redes de Computadores
32
16
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.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Tipos Simples
Redes de Computadores
33
Tipos Construídos
z SEQUENCE OF <<tipo>> : uma lista ordenada de zero
ou mais elementos do mesmo tipo ASN.1 (vetores).
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z SEQUENCE : uma lista ordenada de zero ou mais
elementos de um ou mais tipos ASN.1 (Chamado de
estrutura, em outras linguagens).
Redes de Computadores
34
17
Tipos Rotulados
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Definição de um novo tipo rotulando um tipo já existente.
O tipo original e o novo tipo só diferem no rótulo.
Redes de Computadores
35
z A partir de um tipo já existente, cria-se um subtipo
definindo quais elementos do tipo original serão
permitidos no subtipo.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Subtipos
Redes de Computadores
36
18
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.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
A SMI define seis novos tipos :
37
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
ASN.1. O resultado é uma string de octetos
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Redes de Computadores
Redes de Computadores
38
19
A SMI define também dois tipos construídos:
z list :
SEQUENCE {
<tipo1>
...
<tipo n>
Fernando Luís Dotti
Faculdade de Informática - PUCRS
<list> : : =
Redes de Computadores
39
z table:
z
list é definido para ser usado como as colunas de
table.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
<table> : : =
SEQUENCE OF
<list>
Redes de Computadores
40
20
Objetos
• Cada objeto é definido seguindo este modelo:
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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)
Redes de Computadores
41
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-write : as instancias do objeto podem ser lidas ou alteradas;
- write-only : as instancias do objeto podem ser alteradas, mas não lidas;
- not-accessible : as instancias do objeto não podem ser lidas nem alteradas.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
- read-only : as instancias do objeto podem ser lidas, mas não alteradas;
Redes de Computadores
42
21
z STATUS :
- mandatory :os nós gerenciados devem implementar este objeto;
- optional :os nós gerenciados podem implementar este objeto;
z Os objetos em uma MIB são organizados em uma
árvore.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
- obsolete : os nós gerenciados não podem implementar este objeto.
Redes de Computadores
43
SNMP versão 2
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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
44
22
z Inform: permite a um gerente notificar à outro gerente
de eventos significativos.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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);
Redes de Computadores
45
MIB do SNMPv2
z Cada MIB é organizada em grupos( grupo é uma coleção
de objetos).
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Os objetos definidos como parte do SNMPv2 são
organizados em três MIB’s.
Redes de Computadores
46
23
A MIB SNMPv2
z Esta informação permite ao agente monitorar a
quantidade de atividade de um agente e a quantidade de
recursos de um agente.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Define objetos que descrevem o comportamento de uma
entidade.
Redes de Computadores
47
Contém 5 grupos:
z Gurpo de Estatísticas SNMPv1 :
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Gurpo de Estatísticas SNMPv2 : controla o número de
mensagens enviadas, mensagens recebidas,
mensagens com erros.
z Gurpo Fonte de objetos : permite que uma entidade
SNMPv2 atue como agente.
Redes de Computadores
48
24
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
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Gurpo Trap : permite que entidades SNMPv2 que
atuam como agentes gerem mensagens trap.
Redes de Computadores
49
A MIB gerente-para-gerente
z Esta MIB deve ser usada para permitir o uso de gerentes
intermediários.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Permite a um gerente superior definir eventos que um
gerente subordinado usará para mandar mensagens de
alerta para o gerente superior.
Redes de Computadores
50
25
Consiste em dois grupos:
z Grupo de Evento : quando um alarme é disparado, ele
aciona um evento,
que é o InformRequest,
que é enviado a um gerente superior.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Grupo de Alarme : define um conjunto de alarmes para os
objetos.
51
Redes de Computadores
Aplicações de gerenciamento
Gerente
Agente
Gerente/Agente
MIB
MIB
Fernando Luís Dotti
Faculdade de Informática - PUCRS
MIB
Agente
Agente
Agente
MIB
MIB
MIB
Redes de Computadores
52
26
A MIB do grupo
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z A MIB do grupo está relacionada com a segurança.
Redes de Computadores
53
z Os serviços de segurança no SNMPv2 são três:
privacidade, autenticação e controle de acesso.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Segurança SNMPv2
Redes de Computadores
54
27
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
55
Faculdade de Informática - PUCRS
Redes de Computadores
Exemplo
MIB-II
28
Faculdade de Informática - PUCRS
Grupos que formam a
MIB-II
Grupo de sistema
• Contém informações de configuração:
system OBJECT IDENTIFIER : := { mib 1 }
z sysDescr: descrição do dispositivo
z sysName: nome do dispositivo
z sysLocation: localização física do dispositivo
z sysServices: serviços oferecidos pelo dispositivo
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Alguns objetos :
Redes de Computadores
58
29
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:
z ifNumber : o número interfaces em um nó
Fernando Luís Dotti
Faculdade de Informática - PUCRS
interfaces OBJECT IDENTIFIER : := { mib 2 }
Redes de Computadores
59
--Tabela do grupo de interfaces
ifTable OBJECT IDENTIFIER : := { interfaces 2 }
z Alguns objetos da tabela :
Fernando Luís Dotti
Faculdade de Informática - PUCRS
ifEntry OBJECT IDENTIFIER : := { ifTable 2 }
z
z
z
z
z
ifIndex : número da interface
ifDescr : descrição da interface
ifType : tipo da interface
ifMtu : tamanho máximo da unidade de transferência
ifSpeed : velocidade de transferência em bits / segundo
Redes de Computadores
60
30
Grupo de tradução de endereço
at OBJECT IDENTIFIER : : = { mib 3 }
atTable OBJECT IDENTIFIER : : = { at 1 }
atEntry OBJECT IDENTIFIER : : = { atTable 1}
Fernando Luís Dotti
Faculdade de Informática - PUCRS
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.
Redes de Computadores
61
z atIfIndex : numero da interface
z atPhysAdress : endereço de mídia para mapeamento
z atNetAdress : endereço IP para mapeamento
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Cada linha da tabela possui três colunas:
Redes de Computadores
62
31
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
z
z
z
ipForwarding : atua como um roteador ou como um host
IpInReceives : total de datagramas recebidos
ipInHdrErrors: datagramas descartados por erro de formato
ipInAddrErrors:datagramas descartados por erro de entrega
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Alguns escalares:
Redes de Computadores
63
z Alguns objetos da tabela de endereços IP:
z ipAdEntAddr : endereço IP desta entrada
z ipAdEntIfIndex : número da interface
Fernando Luís Dotti
Faculdade de Informática - PUCRS
--tabela de endereços
ipAddrTable OBJECT IDENTIFIER : : = { ip 20 }
ipAddrEntry OBJECT IDENTIFIER : : = { ipAddrTable 1 }
Redes de Computadores
64
32
z Alguns objetos da tabela de roteamento IP:
z
z
z
z
ipRouteDest : endereço IP de destino
ipRouteIfIndex : número da interface
ipRouteMetric1: métrica de roteamento #1
ipRouteProto : mecanismo usado para determinar a rota
Fernando Luís Dotti
Faculdade de Informática - PUCRS
--tabela de roteamento
ipRoutingTable OBJECT IDENTIFIER : : = { ip 21 }
ipRoutingEntry OBJECT IDENTIFIER: := {ipRoutingTable 1 }
Redes de Computadores
65
z Alguns objetos da tabela de tradução de endereços IP:
z ipNetToMediaIfIndex : número da interface
z ipNetToMediaPhysAddress : endereço da media para mapeament
Fernando Luís Dotti
Faculdade de Informática - PUCRS
--tabela de tradução de endereços
ipNetToMediaTable OBJECT IDENTIFIER : : = { ip 22 }
ipNetToMediaEntry OBJECT IDENTIFIER : : =
{ ipNetToMediaTable
1}
Redes de Computadores
66
33
• 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 }
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Grupo ICMP
Redes de Computadores
67
Grupo TCP
• Contém vários escalares e uma tabela :
tcp OBJECT IDENTIFIER : : = { mib 6 }
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 TCP permitidas
simultaneamente
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z Alguns escalares:
Redes de Computadores
68
34
z Alguns objetos da tabela:
z tcpConnState : estado da conexão
Fernando Luís Dotti
Faculdade de Informática - PUCRS
--tabela do grupo TCP
tcpConnTable OBJECT IDENTIFIER : : = { tcp 13 }
tcpConnEntry OBJECT IDENTIFIER : : ={ tcpConnTable 1}
z tcpConnLocalAdress : endereço IP local
Redes de Computadores
69
Grupo UDP
• Contém quatro contadores e uma tabela:
z Alguns escalares:
z udpNoPorts : datagramas com destino desconhecido
z udpInErros : datagramas descartados por erro de formato
Fernando Luís Dotti
Faculdade de Informática - PUCRS
udp OBJECT IDENTIFIER : : = { mib 7 }
Redes de Computadores
70
35
z Os objetos da tabela:
z udpLocalAddress : endereço IP local
z udpLocalPort : porta UDP local
Fernando Luís Dotti
Faculdade de Informática - PUCRS
--tabela do grupo UDP
udpTable OBJECT IDENTIFIER : : = { udp 5 }
udpEntry OBJECT IDENTIFIER : : = { udpTable 1 }
Redes de Computadores
71
z Deve ser implementado pelos nós que implementam o
Exterior Gateway Protocol.
Fernando Luís Dotti
Faculdade de Informática - PUCRS
Grupo EGP
Redes de Computadores
72
36
Grupo de transmissão
Fernando Luís Dotti
Faculdade de Informática - PUCRS
z É um espaço livre, usado par incluir novas definições.
Redes de Computadores
73
Grupo SNMP
z Permite a manipulação de funções do SNMP.
* Os objetos mais importantes já foram citados (Get, Set, ...).
Fernando Luís Dotti
Faculdade de Informática - PUCRS
snmp OBJECT IDENTIFIER : : = { mib 11 }
Redes de Computadores
74
37
Download