Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
1
2. O modelo SNMP
Padrão para gerência na Internet ◦ simples de implementar ◦ amplamente difundido
Composto de: ◦ protocolo para trocas de mensagens ◦ padrões para estruturar a informação
Evolutivo: ◦ SNMPv1 (RFC 1157) ◦ SNMPv2 (RFC 1448), ◦ RMON (RFC 1757) ◦ RMON-II (RFC 2021), ◦ SNMP-V3 (RFC 3414)
2
3
Request
Response
Protocol
Management
information
SNMP agent
MIB
SNMP manager
MIB Alert
Armazenadas em MIBs
◦ Management Information Bases
Definidas através da SMI
◦ Structure of Management Information
Transportadas através do SNMP
◦ Single Network Management Protocol
4
Structure of Management Information
◦ Descrição lógica das informações
Composta dos seguintes elementos:
◦ Nomes dos objetos gerenciados
OIDs (Object IDentifiers)
◦ Sintaxe dos dados
ASN.1 (Abstract Syntax Notation 1)
◦ Sintaxe de transferência
BER (Basic Encoding Rules)
5
Abstract Syntax Notation One
◦ Linguagem de descrição de dados da ISO
◦ Definição em formato texto não ambíguo
◦ Permite definir modelos de dados
◦ Formato independente de máquina
◦ Implementação dos dados não é considerada
6
Tipos de dados:
◦ Primitivos
INTEGER, OCTET STRING, OBJECT IDENTIFIER, NULL
Subtipos
◦ Construtores
Listas e tabelas
◦ Definidos
Nomes alternativos para tipos ASN.1
7
Notações em ASN.1 seguem algumas convenções:
Item Convenção Exemplo
tipo inicial maiúscula DisplayString
valor inicial minúscula true
identificador inicial minúscula sysDescr
palavras-chave todas maiúsculas INTEGER
macros todas maiúsculas OBJECT-TYPE
módulos inicial maiúscula Oreilly-MIB
8
sysContact OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
“The textual identification of the contact person for
this managed node, together with information on how
to contact this person.”
::= {system 4}
9
Nó pai Sou o 4º filho
Situação do objeto na MIB
◦ Mandatory
Devem ser implementados por todos os agentes
Valores contidos devem ser válidos
◦ Optional
Pode ou não ser implementado
◦ Deprecated
Foi substituído por novo objeto, mas ainda é válido
Se tornará obsoleto mais tarde
◦ Obsolete
Não deve ser considerado
10
Define a acessibilidade do objeto
Valores possíveis em SNMPv1:
◦ read-only
◦ read-write
◦ write-only
◦ not-accessible
11
Define o conteúdo do objeto ◦ INTEGER: inteiros de 32 bits
◦ INTEGER (1..100): subtipo inteiro
◦ OCTET STRING: string de bytes
◦ OBJECT IDENTIFIER: apontador para outro objeto na MIB
Aceita alguns tipos específicos pré-definidos:
◦ IpAddress: OCTET STRING com 4 bytes
◦ Counter: inteiro 32 bits monotônico crescente
◦ Gauge: inteiro 32 bits limitado no mínimo e no máximo
◦ TimeTicks: inteiro 32 bits (1/100 de segundo)
12
INTEGER
INTEGER (-127..128)
INTEGER (1..10)
INTEGER (0 | 2 | 4 | 6 | 8)
INTEGER (0..2 | 20)
INTEGER (-127..-1 | 1..128)
INTEGER (1)
13
Boolean ::= INTEGER
{ true (1), false (2)}
Alarm-level ::= INTEGER
{ critical (1),
major (2),
minor (3),
warning (4),
informational (10)
}
Informação em estrutura hierárquica Folhas definem a informação
Demais nós definem a estrutura
Nós são numerados para facilitar acesso
A MIB não contém os dados reais, apenas os organiza de forma adequada
14
Internet (1) Directory (1)
mgmt (2)
experimental (3)
private (4)
...
Mib-2 (1) system (1)
interfaces (2)
address translation (3)
ip (4)
...
15
iso(1).org(3).dod(6).internet(1)
1. directory
2. mgmt
3. experimental
4. private
5. security
6. snmpV2
7. mail
1. enterprises
1. system
2. interfaces
3. address translation
4. ip
5. icmp
6. tcp
7. udp
8. egp
9. oim
10. transmission
11. snmp
1. mib-2
Objeto (grupo System)
1.3.6.1.2.1.1 1. sysDescr
2. sysObjectID
3. sysUptime
4. sysContact
5. sysName
6. sysLocation
7. sysServices
Objeto (sysServices)
1.3.6.1.2.1.1.7
Nome: iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1)
OID: 1.3.6.1.2.1.1
Componentes: sysDescr (1): descrição do sistema
sysObjectID (2): OID de registro (private vendors)
sysUpTime (3): tempo de atividade (1/100 s)
sysContact (4): pessoa ou grupo responsável pelo nó
sysName (5): nome do nó na rede
sysLocation (6): localização física do nó
sysServices (7): flags indicando serviços suportados
16
Iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).<info>.<index>
sysDescr.0 = OCTET STRING: "Image: rel/11.02 Created on Fri May 30 22:47:33 EDT 2017" sysObjectID.0 = OBJECT IDENTIFIER: “enterprises.18.3” sysUpTime.0 = Timeticks: (969692) 2:41:36 sysContact.0 = OCTET STRING: “Prof. Peter" sysName.0 = OCTET STRING: “rtBBdsc" sysLocation.0 = OCTET STRING: “UFCG, Bl. CN" sysServices.0 = INTEGER: 78 Obs. Toda folha de valor escalar é referenciada com <index> = 0
17
Código indicando nível de operação
◦ OR binário entre os valores possíveis
Bit field functionality OSI layer
0x01 physical 1
0x02 datalink/subnetwork 2
0x04 internet 3
0x08 end-to-end 4
0x10 end-to-end interface 5
0x20 appl interface 6
0x40 application 7
18
Valores escalares: uma só instância por variável
OID deve ser completado pelo index “.0”
Exemplo: ....mib-2.ip.ipForwarding: 1.3.6.1.2.1.4.1.0
Valores vetoriais: para construir listas e tabelas
usam os construtores SEQUENCE e SEQUENCE OF
Convenção de tabela: xxxTable
Convenção de linha na tabela: xxxEntry
19
tcpConnTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
“A table containing TCP connection-specific information.”
::= {tcp 13}
20
tcpConnEntry OBJECT-TYPE
SYNTAX TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
“Information about a particular current TCP connection.”
INDEX {
tcpConnLocalAddress, tcpConnLocalPort,
tcpConnRemAddress, tcpConnRemPort
}
::= {tcpConnTable 1}
21
INDEX: indica que elementos vão indexar as informações; no caso vai ser uma
composição de IP local || porta local || IP remoto || porta remota
TcpConnEntry ::=
SEQUENCE {
tcpConnState INTEGER,
tcpConnLocalAddress IpAddress,
tcpConnLocalPort INTEGER (0..65535),
tcpConnRemAddress IpAddress,
tcpConnRemPort INTEGER (0..65535)
}
22
iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).tcp(6)
23
tcp (6)
tcpConnTable (13)
tcpConnEntry(1)
tcpConn Status(1)
tcpConn LocalAddress (2)
tcpConn LocalPort (3)
tcpConn RemAddress (4)
tcpConn RemPort (5)
1 2 n 1 2 n 1 2 n 1 2 n 1 2 n
Basic Encoding Rules
Codificação dos dados para transferência
Usa formato TLV: Type-Length-Value Type: tipo ASN.1 e informações complementares
Length: tamanho da representação dos dados
Value: sequência de bytes contendo o valor do dado
A estrutura de codificação é recursiva
24
Ache na Internet e dê uma lida rápida nas RFCs:
1157 (SNMPv1)
1448 (SNMPv2)
1757 (RMON)
2021 (RMON-II)
◦ Em seguida faça um resumo rápido dos principais acréscimos no SNMPv2 (em relação ao SNMPv1) e no RMON-II (em relação ao RMON)
Ache na Internet a descrição da MIB-2 e da HOST MIB e elenque pelo menos 20 OIDs de cada uma que você consideraria importantes para uma gerência/ supervisão em um switch e um hospedeiro, respectivamente.
25