GERENCIAMENTO DE REDES
Parte 2
Prof. Marcos Argachoy
SNMP - Base de Informação• SMISMI
– descreve o cenário no qual a MIB pode ser definida.– identifica os tipos de dados que podem ser empregados.
• escalar e matriz bidimensional.
– especifica como os recursos gerenciados devem ser representados na MIB e como devem ser nomeados.
– define regras de codificação dos valores dos objetos de dados.
• MIBMIB– conjunto de objetos dentro de um Sistema Aberto, onde um
objeto gerenciado corresponde à visão abstrata de um recurso real deste sistema.
SNMP MIB
OBJECT TYPE:
OBJECT TYPE:OBJECT TYPE:
objetos especificados via construção OBJECT-TYPE da SMI
Um módulo MIB é especificado SMI MODULE-IDENTITY
(100 MIBs padronizadas, mais proprietárias)
MODULE
SMIStructure of Management Information
• Baseada em Abstract Syntax Notation.1
• Especificada no RFC 1155
• Regras para descrever informação de gerenciamento
• Descreve:• Onde encontrar os dados - estrutura da
informação• Como interpretá-los - representação dos dados
SMI é um subconjunto da ASN.1
• SMI usa os seguintes tipos básicos:• Integer, Octet String, Sequence, Sequence Of,
Object Identifier, Null
• Outros tipos podem ser construídos a partir destes
• Procura simplificar a implementação do ASN.1, porém cria problemas de compatibilidade com compiladores de mercado!
OBJECT TYPE MACRO
OBJECT-TYPE MACRO ::=BEGIN
TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
"ACCESS" Access"STATUS" Status
VALUE NOTATION ::= value (VALUE ObjectName)
Access ::= "read-only" | "read-write" | "write-only" | "not-accessible"
Status ::= "mandatory" | "optional" | "obsolete"
END
A macro Object-Type SMI v2
• Mudanças introduzidas na SMI v2– campos de unidades
• Úteis para medidas
– campo max-access• Acesso máximo permitido, independentemente
de autorização• Não há mais a categoria write-only• Acrescentada a categoria Read-create
– Mudanças no campo de status
SMI v1 Datatypes
• Tipos de dados definidos no SMIv1 (RFC 1155)• Network Address• Counter• Gauge• Timeticks• Opaque
• Todos esses são construídos a partir do sub-conjunto de tipos básicos do ASN.1 permitidos pela SMI.
SMI v2 Datatypes
• Tipos de dados definidos no SMIv2 (RFC )• IP address• MAC address Novo• Unsigned integer - 32-bit Novo• Counter• Counter - 64-bit Novo• Gauge• TimeTicks• Opaque• Etc…
Tipo de dados SMI RFC-1155
• INTEGER Um contador numérico de 32 bits. Pode representar, por exemplo, o estado de uma interface de um rorteador up (1), down (2) ou testing (3). O valor zero (0) não deve ser usado de acordo com ao RFC 1155.
• OCTET STRING Uma string de zero ou mais octetos geralmente usada para representar strings de textos ou endereços físicos.
Tipo de dados SMI RFC-1155
• COUNTER Um contador com valor mínimo de 0 e máximo de 232 - 1 (4.294.967.295). Por exemplo, quando um roteador é ligado ou reiniciado este valor começa com 0, quando o valor máximo é alcançado a contagem é reiniciada com valor 0. Pode ser usado para representar, por exemplo, octetos enviados e recebido em uma interface.
Tipo de dados SMI RFC-1155
• OBJECT IDENTIFIER Uma string decimal separada por pontos que representa um objeto gerenciado na árvore de objetos. Por exemplo, a Cisco é 1.3.6.1.4.1.9.
• NULL Atualmente não utilizado pelo SNMP;• SEQUENCE Define listas que contém 0 ou mais
tipos de dados ASN.1• SEQUENCE OF Define um objeto gerenciado
produzido de um tipo SEQUENCE do ASN.1.
Tipo de dados SMI RFC-1155
• IPADDRESS Representa um endereço Ipv4 de 32 bits.
• NETWORKADDRESS O mesmo do IpAddress, mas pode representar outros tipos de endereços de redes.
• GAUGE Um contador com valor mínimo de 0 e máximo de 232 – 1 (4.294.967.295). Diferente do COUNTER ele pode incrementar ou decrementar, mas nunca pode exceder o valor máximo. A velocidade de uma interface de um roteador é medida pelo GAUGE.
Tipo de dados SMI RFC-1155
• OPAQUE Permite qualquer notação ASN.1 codificado como OCTET STRING.
Tipo de dados SMI v2
• INTEGER32 O mesmo do INTEGER.
• COUNTER32 O mesmo de COUNTER.
• GAUGE32 O mesmo de GAUGE.
• UNSIGNED32 Representa valores decimais entre de 0 até 232 – 1 (4.294.967.295).
Tipo de dados SMI v2
• COUNTER64 Similar ao COUNTER32, valor mínimo de 0 e máximo de 264 -1 (18.446.744.073.709.551.615). É ideal em situações onde COUNTER32 atinge seu valor máximo em um curto intervalo de tempo.
• BITS - Uma enumeração não negativa chamada bits.
MIBs - ExemplosysName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))ACCESS read-writeSTATUS mandatoryDESCRIPTION"An administratively-assigned name for thismanaged node. By convention, this is the node’sfully-qualified domain name."
::= { system 5 }
sysLocation OBJECT-TYPESYNTAX DisplayString (SIZE (0..255))ACCESS read-writeSTATUS mandatoryDESCRIPTION"The physical location of this node (e.g.,‘telephone closet, 3rd floor’)."
::= { system 6 }
MIBs - Exemplo
assocAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION
"MAC address of a Client associated with the Access Point. If the association is pending (that is, the Client is scanning, authenticating or associating), assocAddress contains the MAC address of that Client with the group bit set to indicate that the Access Point is aware of the presence of that
Client. The other objects of the entry will be updated based on the information extracted from the received Probe Requests."
::= { assocEntry 2 }
A MIB padrão da Internet
• Usando a SMI, os objetos de gerenciamento são descritos e estes objetos são agrupados nas MIBs.
• RFC 1066 descreve a primeira MIB padrão, MIB-I.
• RFC 1158 e 1212 atualizam esta MIB para a MIB-II.
Grupos da MIB-II
• 171 objetos em 11 grupos constituem a MIB-II
– system– interfaces– at– ip– icmp– tcp
– udp– egp– cmot– transmission– snmp
SNMP - Base de Informação
Grupos de Variável Tipo de InformaçãoSystem Host ou Gateway
Interfaces Interfaces para Sub-redes
Address Translation Tradução de Endereços (mapeamento ARPe RARP)
IP Protocolo IP
ICMP Protocolo ICMP
TCP Protocolo TCP
UDP Protocolo UDP
EGP Protocolo EGP
Transmission Esquemas de transmissão e protocolos deacesso em interfaces de sistema
SNMP Implementação do SNMP
SNMP - Base de Informação
ISO (1)
Org (3)
DoD (6)
Internet (1)
MIB (1)Private(4)
Experim (3)
Directory (1)Mgmt (2)
Enterprises (1)
Chipcom (49)
system (1)
interfaces (2)
address transl (3)
ip (4)
icmp (5)
tcp (6)
udp (7)egp (8)
snmp (11)
transmi (10)
IBM (1)
Cabletron (59)
3Com (43)
Fonte: 3Com
SNMP - Base de Informação
ISO (1)
Org (3)
DoD (6)Internet (1)
Experim (3)Mgmt (2)
system (1)
interfaces (2)
address transl (3)
ip (4)
icmp (5)
tcp (6)
udp (7)egp (8)
snmp (11)
transmi (10)
MIB (1)
Private (4)
Directory (1)
tcpConnTable (13)
SNMP - Base de Informação
tcpConnState
1.3.6.1.2.1.6.13.1.1
tcpConnLocalAddress1.3.6.1.2.1.6.13.1.2
tcpConnLocalPort1.3.6.1.2.1.6.13.1.3
tcpConnRemAddress1.3.6.1.2.1.6.13.1.4
tcpConnRemPort1.3.6.1.2.1.6.13.1.5
2 10.1.1.9 14 0.0.0.0 0tcp.ConnEntry1.3.6.1.2.1.6.13.1
3 10.1.1.9 99 10.1.2.3 14tcp.ConnEntry1.3.6.1.2.1.6.13.1
5 10.1.1.9 12 89.1.1.7 84tcp.ConnEntry1.3.6.1.2.1.6.13.1
Exemplos de Estado: 2 - Listen - Espera Pedido de Conexão 5 - Established - Conexão Estabelecida
índice índice índice índice
tcpConnTable (1.3.6.1.2.1.6.13)
SNMP - Base de Informação
• Exemplo de Especificação da MIB em ASN.1:– tcpConnTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION “Contém informações sobre conexões TCP”
::= { tcp 13 }
– tcpConnEntry OBJECT-TYPESYNTAX TcpConnEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION “Contém informações sobre uma conexão TCP”
INDEX {tcpConnLocalAddress, tcpConnLocalPort,
tcpConnRemAddress, tcpConnRemPort}
::= {tcpConnTable 1}
SNMP - Base de Informação
• Exemplo de Especificação da MIB em ASN.1 (cont):
– TcpConnEntry ::= SEQUENCE {
tcpConnState INTEGER,
tcpConnLocalAddress IpAddress,
tcpConnLocalPort INTEGER (0..65535),
tcpConnRemAddress IpAddress,
tcpConnRemPort INTEGER (0..65535)}
SNMP - Base de Informação• A MIB é definida através de:
– Estrutura de Nomeação:Estrutura de Nomeação:• Os objetos são nomeados tomando por base uma hierarquia de
registro.
• Para a MIB-I, foram especificados 8 grupos de variáveis e para MIB-II 10 grupos.
– Sintaxe dos Objetos:Sintaxe dos Objetos:• Especifica o tipo de dado de um objeto, os valores que pode
assumir e sua relação com outros objetos.
• Os tipos de dados especificados para a MIB constituem um subconjunto do ASN.1 (Abstract Syntax One).
• Como exemplos, podem-se citar: simples(e.g., integer, contador, listas, tabelas, entre outros.
– Codificação:Codificação:• Emprega o BER (Basic Encoding Rules) associado ao ASN.1.
Exemplo:
MIB-II System Group
• Objetos no grupo System– sysDescr, exemplo: AXI 520 – sysObjectID, exemplo: 1.3.6.1.4.1.173.1.2.4– sysUpTime, exemplo: 6752342– sysContact, exemplo: Bob Evans, engineering– sysName, exemplo: Chicago WAN– sysLocation, exemplo: Bldg 3, Floor 3, Room 5– sysServices, exemplo: 0x48
Exemplo:
Grupo MIB-II Interfaces
• Informação genérica sobre interfaces
• Os dados são armazenados em tabelas
• Alguns exemplos:– ifIndex, exemplo: 2– ifDescr, exemplo: enet0– ifMTU, exemplo: 1500– ifInOctets, exemplo: 13452346
Outras MIBs padrão
• O IETF aceita propostas para MIBs• Devem ser especificadas com SMI v2• Um grande número de MIBs está disponível:
• AppleTalk-MIB• Frame-Relay-DTE-MIB• ISDN-MIB• Printer-MIB• RMON-MIB, RMON2-MIB
Enterprise MIBs
• Fabricantes de equipamentos e sistemas podem acrescentar informações de seu interesse específico embaxio do ramo “private” da árvore de nomeação
iso (1)org (3)
dod (6)
internet (1)
private (4)
enterprises (1)
ibm (2) acc (5) cisco (9) hp(11) 3com(43) at&t(74) .............
Exemplo de MIB : módulo UDP
Object ID Name Type Comments
1.3.6.1.2.1.7.1 UDPInDatagrams Counter32 total # datagrams delivered
at this node
1.3.6.1.2.1.7.2 UDPNoPorts Counter32 # underliverable datagrams
no app at portl
1.3.6.1.2.1.7.3 UDInErrors Counter32 # undeliverable datagrams
all other reasons
1.3.6.1.2.1.7.4 UDPOutDatagrams Counter32 # datagrams sent
1.3.6.1.2.1.7.5 udpTable SEQUENCE one entry for each port
in use by app, gives port #
and IP address
Nomeação de Objetos
questão: como nomear cada possível objeto padrão (protocolos, dados, outros..) em cada possível padrão de rede??
resposta: ISO Object Identifier tree: – nomeação hierarquica de todos os objetos – cada ramificação tem um nome e um número
1.3.6.1.2.1.7.1ISO
ISO-ident. Org.US DoDInternet
udpInDatagramsUDPMIB2management
Examine www.alvestrand.no/harald/objectid/top.html
OSI Object
Identifier Tree
Protocolo SNMP: tipos de mensagens
GetRequestGetNextRequestGetBulkRequest
Mgr-to-agent: “get me data”(instance,next in list, block)
Tipo de Mensagem Função
InformRequest Mgr-to-Mgr: here’s MIB value
SetRequest Mgr-to-agent: set MIB value
Response Agent-to-mgr: value, response to Request
Trap Agent-to-mgr: inform managerof exceptional event
Protocolo SNMP: formatos de mensagens
O problema de apresentação
Q: uma cópia perfeita dos dados de memória a memória resolve o problema de comunicação entre computadores distintos?
R: nem sempre!
problema: diferentes formatos de dados e convenções de armazenamento
a0000000100000011
a
0000001100000001
test.codetest.x
test.code
test.x
Formato do host 1 Formato do host 2
Resolvendo o problema de apresentação
1. Transladar o formato do host local para um formato independente de host
2. Transmitir os dados num formato independente de host
3. Transladar o formato independente para o formato do host remoto
ASN.1: Abstract Syntax Notation 1
• ISO standard X.208– usado extensivamente na Internet– é como comer verduras: saber isto “é bom para você”!
• Tipos de dados definidos, object constructors – como SMI
• BER: Basic Encoding Rules– especifica como os dados definidos em ASN.1-devem
ser transmitidos– cada objeto transmitido tem codificação Type, Length,
Value (TLV) encoding
Codificação TLVIdeia: os dados transmitidos são auto-identificáveis
– T: tipo de dados, um dos tipos definidos em ASN.1
– L: tamanho dos dados em bytes
– V: valor do dados, codificado de acordo com as regras do ASN.1
1234569
BooleanIntegerBitstringOctet stringNullObject IdentifierReal
Valor do Tag Tipo
Codificação TLV
exemplo
Valor, 5 octets (chars)Tamanho, 5 bytes
Tipo=4, octet string
Valor, 259(L) Tamanho, 2 bytes
Tipo=2, integer
SNMP - Base de Informação
SG
SG
SG
SG
Rede deGerenciamen
to
Rede de Comunicação Rede de Comunicação
Rede de Comunicação Rede de Comunicação
Legenda:
SG
- recurso gerenciado- objeto gerenciado- Sistema de Gerenciamento
Definições de Traps
• Não há traps na SMI v1– Ao contrário, os traps são definidos no
SNMP
• SMI v2 introduz traps como objetos– Melhor estrutura– Permite que novos traps sejam definidos
por fabricantes ou outras partes
SNMP - Protocolo de Gerenciamento
IP
UDP
SNMP gerente
Acesso à Sub-rede
Entidade de Gerencia MIB
Rede
Processo de AplicaçãoGerente
UDP
SNMP agente
Acesso à Sub-rede
IP
Entidade de GerenciaMIB
GeralG
etR
equest
GetN
extR
equest
SetR
equest
GetR
esp
onse
Tra
p
GetR
equest
GetN
extR
equest
SetR
equest
GetR
esp
onse
Tra
p
Mensagens
SNMP
Mensagens Aplicação
SNMP - O Protocolo
• Protocolo da camada de aplicação– Transportado pelo protocolo UDP
• Outras alternativas são possíveis, mas não são usadas
• Retransmissões são responsabilidade da aplicação
• Segurança• SNMP v1 oferece poucos recursos de segurança,
isto limita a utilizabilidade do protocolo• Melhorado no SNMP v3
SNMP - Protocolo de Gerenciamento
GetRequestPDU
GetResponsePDU
Gerente Agente
GetNextRequestPDU
GetResponsePDU
Gerente Agente
SetRequestPDU
GetResponsePDU
Gerente Agente
TrapPDU
Gerente Agente
(b) Atualização de Dados (c) Notificação
(a) Leitura de Dados
SNMP - Protocolo de Gerenciamento
PDU type request id 0 0 variablebindings
(a) GetRequestPDU, GetNextRequestPDU e SetRequestPDU
PDU type request id errorstatus
error index variable bindings
(b) GetResponsePDU
PDUtype
enterprise
agentaddr
generictrap
specifictrap
timestamp
variablebindings
(c) Trap
version community SNMP PDU
(a) Mensagem SNMP
SNMP - Protocolo de Gerenciamento
Campo Descrição
version versão do SNMP
community informação utilizada como senha para autenticar amensagem SNMP.
request id identificação de pedido.
error status indica o tipo de erro ocorrido no tratatamento dopedido correspondente (e.g., 0 - sem erro, 1 - requestPDU muito longa... (4) - objeto read-only).
error index informação adicional relativa ao erro ocorrido,contendo a indicação da variável da lista que causou doerro)
variablebindings lista de variáveis e seus valores.
enterprise tipo do objeto que origou o trap.
agent addr endereço IP do objeto que gerou o trap.
generic trap tipo de trap
specific trap código que especifica a natureza do trap.
time-stamp tempo decorrido entre a última reniciação da entidadeque emitiu o trap e a generação de trap.
SNMP - Protocolo de Gerenciamento
SNMP - Protocolo de Gerenciamento
• GetRequest PDUGetRequest PDU– operação atômica: só é efetuada se puderem ser lidos os
valores de todas as variáveis contidas na lista.– Exemplo:
• GetRequest (tcpConnState, tcpConnLocalAddress= 10.1.1.9, tcpConnLocalPort=14, tcpConnRemAddress= 0.0.0.0, tcpConnRemPort=0)
• Get Request (1.3.6.1.2.1.6.13.1.1, 1.3.6.1.2.1.6.13.1.2= 10.1.1.9, 1.3.6.1.2.1.6.13.1.3=14, 1.3.6.1.2.1.6.13.1.4=0.0.0.0, 1.3.6.1.2.1.6.13.1.5=0).
• GetResponsePDUGetResponsePDU– Exemplo:
• GetResponse (tcpConnState=2, tcpConnLocalAddress= 10.1.1.9, tcpConnLocalPort=14, tcpConnRemAddress= 0.0.0.0, tcpConnRemPort=0).
SNMP - Protocolo de Gerenciamento
• SetRequest PDU SetRequest PDU – operação atômica: só é efetuada se puderem ser atualizados os
valores de todas as variáveis contidas na lista.– é usada para atualizar variáveis e inserir ou remover a linha de
uma tabela (depende da implementação).– Exemplo:
• SetRequest (tcpConnState=1, tcpConnLocalAddress= 0.0.0.0, tcpConnLocalPort=21, tcpConnRemAddress= 0.0.0.0, tcpConnRemPort=0).
• SetRequest (1.3.6.1.2.1.6.13.1.1=1, 1.3.6.1.2.1.6.13.1.2=0.0.0.0, 1.3.6.1.2.1.6.13.1.3=21, 1.3.6.1.2.1.6.13.1.2=0.0.0.0, 1.3.6.1.2.1.6.13.1.3=0).
e obtém como resposta:• GetResponse (1.3.6.1.2.1.6.13.1.1=1, 1.3.6.1.2.1.6.13.1.2=0.0.0.0,
1.3.6.1.2.1.6.13.1.3=21, 1.3.6.1.2.1.6.13.1.2=0.0.0.0, 1.3.6.1.2.1.6.13.1.3=0).
SNMP - Protocolo de Gerenciamento
• Trap PDU - TiposTrap PDU - Tipos (generic trap)::– coldStart (0): indica a ocorrência de reiniciação da
entidade emissora devido a uma falha.– warmStart (1): indica a ocorrência de reiniciação rotineira
da entidade emissora.– linkDown (2): sinaliza a falha de um enlace de
comunicação do agente.– linkUp (3): sinaliza a reativação de um enlace de
comunicação do agente.– authenticationFailure (4): indica que foi recebida uma
mensagem com problema de autenticação.– egpNeighborLoss (5): informa a perda de comunicação
com gateway (EG)vizinho.– enterpriseSpecific (6): indica a ocorrência de algum evento
específico descrito no campo specific trap.
SNMP v1 Formatos de Mensagens
Version Community PDU Type Req. ID Error Status Error StatusError Status
Object ID Value Object ID ValueObject ID
VariableBindings
• GetRequest
1 public get 12345 00VariableBindings
• Formato geral
NULL 1.3.6.1... NULL1.3.6.1...
SNMP v1 Formatos de Mensagens
• Set
1 netman set 00VariableBindings
public getresponse 00VariableBindings
• GetResponse
1 12345
Object ID up 1.3.6... 11.3.6….
Object ID 2345 1.3.6... up1.3.6….
Formato das Mensagens SNMPv1
SNMP-Message::= SEQUENCE { version INTEGER { version-1 (0) } community OCTET STRING data ANY}
SNMP-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 SEQUENCE { request-id RequestID, error-status ErrorStatus, error-index ErrorIndex, variable-bindings VarBindList}
Detalhamento dos Campos:version: versão do protocolo utilizadacommunity: grupo de máquinas gerenciadasrequest-id: inteiro de 4 bytes que associa comando e respostaerror-status: sinalizador de erros (valor 0 nos pedidos)error-index: código de erro (valor 0 nos pedidos)VarBindList: lista de variáveis cujo valor é solicitado
Formato das Mensagens SNMPv1
RequestID ::= INTEGERErrorStatus ::= INTEGER { noError (0) tooBig(1), no SuchName(2), badValue(3), readOnly(4), genErr(5)}
ErrorIndex ::= INTEGER
VarBind ::= SEQUENCE { name ObjectName, value ObjectSyntax }
VarBindList ::= SEQUENCE OF VarBind
IMPORTS ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks FROM RFC1155-SMI;
Acesso a objetos escalares : o nome do objeto na MIB deve ser seguido por um 0, na forma x.0 em todos os acessos a este tipo de objeto
Acesso a tabelas da MIB-2a) Tabela ifTable
O campo ifIndex é usado como um índice para a tabela. Assim o campo ifType é definidocomo o objeto: 1.3.6.1.2.1.2.2.1.3. Para acessarmos este objeto na interface com ifIndex = 2usa-se o identificador de objeto: 1.3.6.1.2.1.2.2.1.3.2
b) Tabela atTable
c) Tabela ipAddrTable
d) Tabela ifRoutingTable
Os campos atIfIndex e atNetAddress são usados como índice para esta tabela. Por exemplo,para encontrar o endereço físico associado com o endereço IP 89.1.1.42 na interface 3deve ser usado o identificador de objeto: athysAddress.3.1.89.1.1.42
O campo ipAdEntAddr é usado como índice da tabela
O campo ipRouteDest é usado como índice para a tabela
e) Tabela tcpConnTableOs campos tcpConnLocalAddress, tcpConnRemoteAddress, tcpConnLocalPort e tcpConnRemotePort são usados como índices para esta tabela. Por exemplo, suponhaque deseja-se saber o estado da uma conexão TCP entre o endereço local 89.1.1.42, na porta 21, e o endereço remoto 10.0.0.51 na porta 2059, a desejada instância do objetoserá identificada por: tcpConnState.89.1.1.42.21.10.0.0.51.2059
Exemplo de Acesso a Tabelas
Tabela de Endereços IP de uma Máquina:
ipAddrTable::= SEQUENCE of IpAddrEntryIpAddrEntry ::= SEQUENCE { ipAdEntAddr IpAddress, ipAdEntIfIndex INTEGER, ipAdEntNetmask IpAddress, ipAdEntBcastAddr IpAddress, ipAdEntReasmMaxSize INTEGER (0..65535) }
ipAddrTable = 1.3.6.1.2.1.4.20ipAddrEntry = {ipAddrTable 1}ipAdEntBcastAddr = {ipAddrEntry 4}
Para acessar o endereço de broadcast da interface com endereço IP 128.10.2.3, usa-seo seguinte identificador de objeto na mensagem SNMP:
1.3.6.1.2.1.4.20.1.4.128.10.2.31.3.6.1.2.1.4.20.1.4.128.10.2.3
Operação GetNextRequest
• Todos os objetos na árvore da MIB são ordenados de forma lexicográfica
• O grupo “interfaces” segue o grupo “system” • O objeto 1.3.6.1.2.1.1.7 segue (vem depois) do objeto
1.3.6.1.2.1.2.1
• GetNext returna o nome do próximo objeto (e seu valor) em relação ao objeto solicitado– Permite caminhar através da árvore da MIB,
principalmente no caso em que o número de instâncias de um objeto é desconhecido
– Permite verificar se um determinado objeto está implementado
SNMP v1 Traps
• No SNMP v1 e SMI v1• Traps genéricos = mensagens especiais• Enterprise traps = apontam para objetos da MIB
• No SMI v2, os traps genéricos são parte da MIB padrão
Enter-prise
VariableBindings
Object ID 23 1.3.6... up1.3.6….
Agent address
Generic Trap
Specific Trap Timestamp
SNMP v1 Ambiente de Segurança
• Informações de gerenciamento precisam ser protegidas em relação a acessos não autorizados.
• SNMP é fraco a este respeito
• SNMP v1 usa um campo denominado “community”
• Texto aberto é transmitido entre o agente e o gerente, desta forma a captura de dados é relativamente simples para quem tenha acesso á rede
• O efeito é que o SNMP v1 é usado principalmente para monitoração, mas não para controle
Abstract Syntax Notation 1
• Linguagem abstrata independente de máquina
• Definida pela ISO• Consiste de
– Modulos– Tipos– Valores– Macros
RFC1213-MIB DEFINITIONS::= BEGIN
IMPORTS
mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC-1212;
mib-2 OBJECT IDENTIFIER::={mgmt 1}
DisplayString::=OCTET STRING
PhysAddress::=OCTET STRING
system OBJECT IDENTIFIER::={mib-2 1}
.
.
.
Características do ASN.1
• Blocos Básicos– Modules– Types– Values– Macros
• Tipos– Integer – Octet String– Object Identifier– Real– Sequence– Sequence Of
ASN.1 Basic Encoding Rules
• ASN.1 define a sintaxe de dados de forma abstrata, independente de realização
• Basic Encoding Rules (BER) define a sintaxe para transferência de informação entre sistemas abertos
• Uma mesma sintaxe abstrata pode permitir várias sintaxes de transferência, mas no SNMP é utilizada somente uma forma limitada do BER
ASN-1: regras básicas de codificação
O Modelo OSI define um conjunto de regras a serem utilizadas nasintaxe de transferência de mensagens da camada de aplicação. Esteconjunto denomina-se BER (Basic Enconding Rules) e baseia-se naregra TLV: Type, Length, Value
Tipo Tamanho Valor
Tipo Tamanho Valor Tipo Tamanho Valor
A técnica de codificação é recursiva, podendo ser usada um númeroindefinido de vezes.Um tipo que possui outro tipo no seu campo de valor é chamado“construído”, caso contrário, o tipo é “primitivo”
Codificação do Campo TIPO
8 7 6 5 4 3 2 1
CLASSE DOIDENTIFICADOR00 - Universal01 - Aplicação10 - Contexto11 - Privado
ANINHAMENTO0 - Primitivo1 - Construído
TAG
1 BOOLEAN2 INTEGER3 BIT STRING4 OCTET STRING5 NULL6 OBJECT IDENTIFIER16 SEQUENCE17 SET18 NUMERIC STRING22 IA5 STRING
TAGs para Tipos Universais:
RMONRemote Network Monitoring
• Introduz um recurso de gerenciamento hierárquico na estrutura do SNMP
• Objetivos do RMON• Operação offline • Monitoração preemptive• Detecção de problemas e informação • Dados de valor adicionado• Múltiplos gerenciadores
• RMON é uma MIB (RFCs 1757, 2021)
A Filosofia da MIB RMON
• A MIB RMON permite a configuração remota do monitor
• Contém grupos de dados e de controle• Grupos de controle são usados para configurar a
operação do monitor remoto• Grupos de dados são usados para armazenar os dados
coletados
• Existem duas versões de RMON• RMON 1, Camadas 1-2 no modelo OSI • RMON 2, Camadas 3 para cima no modelo OSI
RMON
Roteador
Roteador
Roteador
Rede de Longa Distância
Roteador
RMON
RMON
RMON
Estação Gerente
RMON
RMON
• Os principais objetivos do RMON são:
– reduzir a quantidade de informações trocadas entre a rede local gerenciada e a estação gerente conectada a uma rede local remota.
– permitir o gerenciamento pró-ativo da rede, diagnosticando e registrando eventos que possibilitem detectar o mal funcionamento e prever falhas que interrompam a sua operação.
– detectar, registrar e informar à estação gerente sobre situações de erro e eventos significativos da rede.
– realizar análise e levantar informações estatísticas sobre os dados coletados em uma sub-rede, liberando a estação gerente desta tarefa.
– enviar informações de gerenciamento para múltiplas estações gerentes.
RMON
RMON2RMON2
RMON 1RMON 1GerenciamentoGerenciamentode Operaçõesde Operações
GerenciamentoGerenciamentode Negóciosde Negócios
Enlace
Física
Aplicação
Transporte
Rede
Arquitetura InternetFonte: 3Com
RMON 1 - MIB
• Aquisição de Estatísticas de Tráfego
– Estatístico (statistics)
– Histórico (history)
– Hosts
– Classificação de n Hosts (hostTopN)
– Matriz
– Token Ring
• Detecção e Resolução de Situações Críticas e de Erro.
– Alarme (alarm)
– Filtro (filter)
– Captura de Pacote (packet capture)
– Evento (event)
RMON 1 - MIB
ISOOrg
DoD
InternetMgmt
MIB
RMON
MIB I
MIB II
Private
1. Statistics
9. Event
7. Filter
8. Packet Capture
6. Matrix
5. Host Top N
4. Hosts
3. Alarm 2. History
10. Token Ring Fonte: 3Com
RMON 1 - MIB
• A RMON 1 -MIB é subconjunto da MIB II. Foram especificados dez grupos básicos de variáveis. Tais grupos incluem:– Estatístico (statistics): mantém estatísticas de utilização, tráfego
e taxas de erros ocorridos em um segmento de rede. – Histórico (history): permite definir intervalos de amostragem de
informações do grupo estatístico e registrar tais informações para fins de análise da tendência de comportamento de uma rede, oferecendo subsídios para o gerenciamento pró-ativo da rede.
– Alarme (alarm): possibilita estabelecer condições limites de operação de uma rede que devem provocar a geração de alarmes.
– Hosts: contém informações relativas ao tráfego entrante e sainte dos hosts conectados através da referida rede.
RMON 1 - MIB• Classificação de N hosts (hostTopN): permite classificar os hosts
segundo critérios pré-definidos, como por exemplo, determinar quais os hosts conectados através da rede geram maior tráfego em um dado período do dia;
• Matriz (matrix): contém informações de utilização da rede e taxa de erros na forma de matriz, que associa pares de endereços MAC (Medium Access Control) de elementos da rede. Isto facilita a obtenção de informações em relação à comunicação entre um par qualquer de estações.
• Filtro (filter): define condições associadas a pacotes trafegados pela rede, que uma vez satisfeitas implica na captura de tais pacotes pelo elemento RMON ou no registro de estatísticas baseadas nos mesmos;.
RMON 1 - MIB
– Captura de Pacotes (packet capture): determina como devem ser capturados os dados dos pacotes, trafegados pela rede, a serem enviados aos gerentes. Definem-se quais informações desses pacotes devem ser armazenadas e como são controlados os respectivos buffers de armazenamento. Como default, são, normalmente, capturados os 100 primeiros bytes dos pacotes filtrados pelo elemento RMON.
– Evento (event): define todos os eventos que implicam no envio de informações do elemento RMON aos gerentes.
– Token Ring: define as informações específicas que devem ser coletadas no caso de um segmento de rede Token Ring.
Grupos na MIB RMON-1
• Ethernet Statistics• History Control
• Ethernet History
• Alarm
• Host
• HostTopN
• Matrix
• Filter
• Packet Capture
• Event
Grupos na MIB RMON-2
• protocolDir• protocolDist• addressMap• nlHost• nlMatrix
• alHost• alMatrix• userHistory• probeConfig• rmonConfiguration
Exemplo: Uso do RMON
RMON Probe
RMON Probe
Router
Router
Manager
RMON Probe
Bridge
RMON Probe
Monitores (probes) RMON podem ser implementados de forma standalone ou como parte de elementos de rede
Monitores (probes) RMON podem ser implementados de forma standalone ou como parte de elementos de rede
Top Related