Upload
internet
View
104
Download
0
Embed Size (px)
Citation preview
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
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
2
????
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 - 2003Gestão de Redes e de Sistemas Distribuídos
3
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
4
IETF TítuloRFC 1155 Structure and Identification of Management
Information for TCP/IP-based networks.RFC 1212 Concise MIB DefinitionRFC 1213 Management Information Base for Network
Management of TCP-IP-based Internets: MIB-IIRFC 1157 Simple Network Management Protocol
Arquitectura de Gestão Internet-SNMPv1
Normas . Versão 1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
5
Arquitectura de Gestão Internet-SNMPv1
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.
Características gerais
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
6
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 - 2003Gestão de Redes e de Sistemas Distribuídos
7
Características gerais
SNMP
SNMP
SNMP
SNMP
Regras deEstruturação
Internet MIB
InternetRegistration
Tree
RFCs e MIBs proprietárias
Gestor
Gestor
Ex: Servidor
Ex: Router
Ex: PC
Agente
Agente
Agente
MIB
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
8
Árvore de
Registo da
Internet(ARI)
root
itu-t (0) iso (1) join iso/itu-t (2)
org (3)
dod (6)
internet (1)
mib -2 (1) ATM (41) X.25 (44)
recursos nós (36)
IBM (2) HP (11)
dir- (1) mgmt (2) exper. (3) priv.(4)
empresas (1)
1.3.6.1.2..1
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
9
Arquitectura de Gestão Internet-SNMPv1
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
MIBs proprietárias
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
10
Estrutura da MIB - Identificação de objectos
Arquitectura de Gestão Internet-SNMPv1
mib- 21.3.6.1.2.1
ip 1.3.6.1.2.1.4
iplnReceives1.3.6.1.2.1.4.3
ipRouteTable1.3.6.1.2.1.4.21
ipRouteEntry1.3.6.1.2.1.4.21.1
ipRouteNextHop1.3.6.1.2.1.4.21.1.7
ipRouteDest1.3.6.1.2.1.4.21.1.1
Objecto EscalarTabela
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
11
Sintaxe dos objectos
Arquitectura de Gestão Internet-SNMPv1
Tipos de dados pré-definidos
Independentes da Aplicação
Dependentesda Aplicação
RFC 1155Network AddressIpAddressTime tickGaugeCounterOpaque
PrimitivosINTEGEROCTECT STRINGOBJECT IDENTIFIERNULL
Construtores SEQUENCESEQUENCE 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 - 2003Gestão de Redes e de Sistemas Distribuídos
12
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
13
Definição de objectos
Arquitectura de Gestão Internet-SNMPv1
mib- 2
ip
iplnReceives
ipRouteTable
ipRouteEntry
ipRouteNextHopipRouteDest
MIB
Grupo
Tabela
Linha
Variável
Instância = tipo de objecto + valor
SNMP
Gestor Acessos internos
iplnReceives 25
Counter Value
Agente
ipRouteDest … ipRouteNextHop …
9.1.2.3 … 99.0.0.3 …
10.0.0.51 … 89.1.1.42 …
10.0.0.77 … 89.1.1.42 ...
MIB do Agente
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
14
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}
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
15
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 - 2003Gestão de Redes e de Sistemas Distribuídos
16
Uma pausa para descobrirem ….
Como se estrutura uma tabela ?
Utilizar a informação de:
• ARI e ipRouteTable
• Macro que define ipInReceives
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
17
Definição de tabelas: ipRouteTable
ipRouteTable OBJECT-TYPESYNTAX SEQUENCE OF IpRouteEntryACCESS not-accessibleSTATUS mandatoryDESCRIPTION<< Tabela de encaminhamento IP >>::= { ip 21}
IpRouteEntry OBJECT-TYPESYNTAX IpRouteEntryACCESS not-accessibleSTATUS mandatoryDESCRIPTION<< Rota para um dado destino >>INDEX {ipRouteDest }::= { ipRouteTable 1}
IpRouteEntry ::=SEQUENCE {ipRouteDest IpAddress, ...ipRouteNextHop IpAddres, ..}
ipRouteDest OBJECT-TYPESYNTAX IpAddressACCESS read-writeSTATUS mandatoryDESCRIPTION<< Endereço de destino da rota >>::= {ipRouteEntry 1}
ipRouteNextHop OBJECT-TYPESYNTAX IpAddressACCESS read-writeSTATUS mandatoryDESCRIPTION<< Endereço seguinte da rota >>::= {ipRouteEntry 7}
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
18
Codificação da informação
Arquitectura de Gestão Internet-SNMPv1
Componentede AplicaçãoMIB
Componentede Aplicação MIB
Componente de
transferência de dados
Componente de
transferência de dados
MapeamentoLocal
MapeamentoLocal
Sintaxe
Abstracta
Sintaxe de
Transferência
Regras de Codificação Regras de Codificação
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
19
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 - 2003Gestão de Redes e de Sistemas Distribuídos
20
Arquitectura de Gestão Internet-SNMPv1
BERIdentifier Length Value
0 Length
0 < Length < 128
127 < Length < 2 1008
1 K Length (K octetos)
00 – universal01 – application10 – context specific11 – private 0 – primitive
1 – constructed 2 – INTEGER 4 – OCTET STRING16 – SEQUENCE e SEQUENCE OF
Tag P/C Number
2 1 5
Tag P/C 11111 1 xxxxxxx 0 xxxxxxx
Number > 30
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
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
21
ConclusõesSimplicidade 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 Vantagens
Modelo não orientadoa objectos:- não há re-utilização- não há herança.
Estrutura da ARI:- não há inclusão- elevado nº de MIBs- informação relacionada em várias sub-árvores.
Desvantagens
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
22
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
23
Problema 1
Arquitectura de Gestão Internet-SNMPv1
clientTable OBJECT-TYPESYNTAX SEQUENCE OF clientEntryACCESS not-accessibleSTATUS mandatory
:== {exemplo 1}clientEntry OBJECT-TYPE
SYNTAX clientEntryACCESS not-accessibleSTATUS mandatoryINDEX {ClientCode}
:== {ClientTable 1}clientEntry :== SEQUENCE {
clientCode INTEGER,clientName OCTECT STRING,clientIpAddress IpAddress,clientInTraff INTEGER,clientOutTraff INTEGER,
}ClientCode OBJECT-TYPE
SYNTAX INTEGERACCESS READ-ONLYSTATUS mandatory
:== {clientEntry 1}
clientIpAddress OBJECT-TYPESYNTAX IpAddressACCESS READ-ONLYSTATUS mandatory
:== {clientEntry 3}clientInTraffic OBJECT-TYPE
SYNTAX INTEGERACCESS READ-WRITESTATUS mandatory
:== {clientEntry 4}clientOutTraffic OBJECT-TYPE
SYNTAX INTEGERACCESS READ-WRITESTATUS mandatory
:== {clientEntry 5}
a) Identificar a chave de pesquisab) Representar a parte da árvore de registo, respeitante a este extracto de MIB
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
24
Solução 1
Arquitectura de Gestão Internet-SNMPv1
a) Identificar a chave de pesquisab) Representar a parte da árvore de registo, respeitante a este extracto de MIBclientTable OBJECT-TYPE
SYNTAX SEQUENCE OF clientEntryACCESS not-accessibleSTATUS mandatory
:== {exemplo 1}clientEntry OBJECT-TYPE
SYNTAX clientEntryACCESS not-accessibleSTATUS mandatoryINDEX {ClientCode}
:== {ClientTable 1}clientEntry :== SEQUENCE {
clientCode INTEGER,clientName OCTECT STRING,clientIpAddress IpAddress,clientInTraff INTEGER,clientOutTraff INTEGER,
}ClientCode OBJECT-TYPE
SYNTAX INTEGERACCESS READ-ONLYSTATUS mandatory
:== {clientEntry 1}
clientTable {1}
clientEntry {1}
clientIpAddress {3}
clientName {2} clientInTraff {4}
clientCode {1} clientOutTraff {5}
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
25
Problema 2
Arquitectura de Gestão Internet-SNMPv1
Suponha que pretende desenvolver um serviço, muito simples, de atendimentoautomá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 dadonúmero de vezes pré-estabelecido.
a chamada for bloqueada, por problemas internos da rede e não atingir o telefone docliente.
Por cada vez que acede ao serviço, o Cliente pode remover ou não as chamadasmemorizadas. Porém, por questões de dimensionamento da rede, cada cliente não podeter mais de 30 chamadas memorizadas. Assim sendo, quando uma esta situação limite seatinge, é removida a primeira chamada do Cliente.
Pretende-se que o cliente tenha acesso a estatísticas referentes ao serviço que lhe está aser 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
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.
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
26
Solução 2
Arquitectura de Gestão Internet-SNMPv1
Perguntar ao Ivo !
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
27
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
28
Modelo de Comunicação
Arquitectura de Gestão Internet-SNMPv1
Gestor
Agente
Identicação
de
Objectos
Mensagenstransferidas
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
29
Modelo de ComunicaçãoG
etN
extR
eque
st
SetR
eque
st
Get
Nex
tReq
uest
SetR
eque
st
Get
Req
uest
Get
Req
uest
Get
Res
pons
e
Get
Res
pons
e
Tra
p
Tra
p
GESTOR
Aplicação de Gestão
Gestor SNMP
UDP
IP
Protocolos dependentes da rede
AGENTE
Gestor SNMP
UDP
IP
Protocolos dependentes da rede
Objectos SNMP
Recursos geridos
Rede
Aplicação gere os objectos
MensagensSNMP
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
30
Formato das mensagens SNMPVersionNumber
CommunityString PDU SNMP ou Trap PDU
Variable bindingsErrorIndex
PDUs: GetRequest, GetNextRequest, GetReponse
PDU: Trap
name1:value1 name2:value2 nameN:valueN
Variable binding
PDUType
RequestID
ErrorStatus
Variable bindings
TimeStamp
AgentAddress
GenericTrap
SpecificTrap
Trap Entreprise
...
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
31
Definição SNMP (RFC 1157) (1)
RFC 1157-SNMP DEFINITIONS ::= BEGINIMPORTS 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 GetRequest-PDU, get-next-request GetNextRequest-PDU get-response GetResponse-PDU set-request SetRequest-PDU trap Trap-PDU}
GetRequest-PDU ::= [0] IMPLICIT PDUGetNextRequest-PDU ::= [1] IMPLICIT PDUGetReponse-PDU ::= [2] IMPLICIT PDUSetRequest-PDU ::= [3] IMPLICIT PDU
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
32
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}
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
33
Definição SNMP (RFC 1157) (3)
VarBind ::= SEQUENCE { name ObjectName, value ObjectSyntax}VarBindList ::= SEQUENCE OF VarBind
END
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
34
Identificação das instâncias dos objectosmib- 2
1.3.6.1.2.1
ip 1.3.6.1.2.1.4
iplnReceives1.3.6.1.2.1.4.3
ipRouteTable1.3.6.1.2.1.4.21
ipRouteEntry1.3.6.1.2.1.4.21.1
ipRouteNextHop1.3.6.1.2.1.4.21.1.7
ipRouteDest1.3.6.1.2.1.4.21.1.1
X=1.3.6.1.2.1.4.21.1
Objecto Columnarx. 7. 9.1.2.3
ipRouteDest … ipRouteNextHop …
9.1.2.3 … 99.0.0.3 …
10.0.0.51 … 89.1.1.42 …
10.0.0.77 … 89.1.1.42 ...
Objecto Columnarx. 1. 9.1.2.3
Arquitectura de Gestão Internet-SNMPv1
Objecto Escalar1.3.6.1.2.1.4.3.0
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
35
Manipulação de Objectos Escalares
GetRequest (ipInReceives.0)
GetResponse(ipInReceives.0=25)iplnReceives 25
Counter Value Leitura
Arquitectura de Gestão Internet-SNMPv1
SetRequest (ifAdminStatus.0= ´Testing´)
GetResponse(ifAdminStatus.0= ´Testing´)ifAdminStatus Testing
OctectString ValueEscrita
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
36
Manipulação de Tabelas - Monitorização
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))
ipRouteDest … ipRouteNextHop …
9.1.2.3 … 99.0.0.3 …
10.0.0.51 … 89.1.1.42 …
10.0.0.77 … 89.1.1.42 ...
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
37
Manipulação de Tabelas - Controlo
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))
Inserção
de linha
ipRouteDest … ipRouteNextHop …
9.1.2.3 … 99.0.0.3 …
10.0.0.51 … 89.1.1.42 …
10.0.0.77 … 89.1.1.42 ...
SetRequest (ipRouteType.10.0.0.77 =invalid)
SetResponse(ipRouteDest.11.3.3.12=invalid)
Remoção
de linha
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
38
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
39
Problema 3
Arquitectura de Gestão Internet-SNMPv1
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 atabela 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 dedestino D2 inoperacional.
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
40
Solução 3
Arquitectura de Gestão Internet-SNMPv1
Perguntar à Tania !
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
41
Mecanismos de segurança
Definida no Agente• Identificação através de nome• Engloba:
• Autenticação• Controlo de acesso• Característica do proxy
Gestor
Gestor
AgenteComunidade
Agente
Agente
Autenticação: garantir a proveniência correcta nome da comunidadeControlo de acesso: diferenciar o acesso à MIB Perfil da comunidade - visão da MIB (objectos visíveis) - modo de acesso a cada elementoCaracterísticas do proxy de cada dispositivo visão da MIB e modo de acesso
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
42
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 5 !!!
Arquitectura de Gestão Internet-SNMPv1
TMV - 2003Gestão de Redes e de Sistemas Distribuídos
43
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
•