You are on page 1of 96

Gerncia de Redes de Computadores Objetivos Gerais

Aprender os conceitos, protocolos, ferramentas e tcnicas utilizados na gerncia de uma rede de computadores. Ao terminar a disciplina, o aluno ter noes no apenas das formas de gerenciar uma rede mas tambm ter adquirido noes sobre o desenvolvimento de novas solues de gerncia de redes de computadores.

Objetivos Especficos
Entender a necessidade da gerncia de redes e as reas nas quais a gerncia de redes pode ser decomposta. Entender a arquitetura genrica empregada em solues de gerncia de redes de computadores. Entender a funcionalidade bsica dos componentes utilizados na gerncia de redes, incluindo plataformas e aplicaes de gerncia. Entender a soluo SNMP de gerncia de redes, a mais largamente utilizada no mercado, incluindo o modelo de informao, as MIBs mais importantes e o funcionamento do protocolo SNMP. Aprender a escrever MIBs proprietrias. Entender como agentes e gerentes so implementados na arquitetura SNMP, incluindo o desenvolvimento de solues finais utilizando Java como linguagem de programao. Aprender a especificar uma soluo de gerncia de redes Aprender as tcnicas bsicas empregadas na gerncia de configurao, de faltas e de desempenho de redes, incluindo o uso da MIB RMON. Ser introduzido s alternativas de gerncia (CMIP, TMN, DMTF). Entender o que o futuro poder reservar para a rea de gerncia de redes: WBEM, JMAPI

GERNCIA DE REDES DE COMPUTADORES PROGRAMA


1.INTRODUO GERNCIA DE REDES DE COMPUTADORES 1.1 A NECESSIDADE DE GERNCIA 1.2 O QUE GERNCIA 1.3 ARQUITETURA GERAL DE UMA SOLUO DE GERNCIA 1.4 DEMONSTRAES DE SOLUES DE GERNCIA 2. O NVEL DE INSTRUMENTAO: MODELO DE INFORMAO 2.1 PADRES NO MUNDO DA GERNCIA 2.2ARQUITETURA DA SOLUO SNMP 2.3 OBJETOS, INSTNCIAS E MIBs 2.4 A MIB-2 2.5 STRUCTURE OF MANAGEMENT INFORMATION (SMIv1) 2.5.1 OBJECT IDENTIFIERS 2.5.2 MDULOS MIB 2.5.3 A ESPECIFICAO DE UM MDULO 2.5.4 DEFINIO DE OBJETOS GERENCIADOS 2.5.5 REGRAS PARA A DEFINIO DE OBJETOS E MIBs 2.5.6 DIAGRAMAS CASE 2.5.7 TRAPS 2.5.8 DICAS PARA CRIAR MIBs PROPRIETRIAS 2.6 SMI VERSO 2 3. O NVEL DE INSTRUMENTAO: MODELO OPERACIONAL 3.1 O PROTOCOLO SNMP 3.2 OPERAES GET, GETNEXT, GETBULK 3.3 OPERAES SET, TRAP, INFORM 3.4 MAPEAMENTO PARA A CAMADA DE TRANSPORTE 3.5 BASIC ENCODING RULES (BER) 4. O NVEL DE INSTRUMENTAO: IMPLEMENTAO 4.1 FONTES DE INFORMAO E DE CDIGO 4.2 USO DO PROTOCOLO SNMP EM JAVA: UMA API E UM GERENTE 5. O NVEL DE APLICAO 5.1 APLICAES E PLATAFORMAS DE GERNCIA 5.2 GERNCIA DE CONFIGURAO 5.3 GERNCIA DE FALTAS

5.4 GERNCIA DE DESEMPENHO 5.5 REMOTE MONITORING (RMON) 5.6 GERNCIA DE HOSPEDEIROS 5.7 GERNCIA DE APLICAES

INTRODUO GERNCIA DE REDES DE COMPUTADORES


A NECESSIDADE DE GERNCIA
AS REDES ESTO FICANDO CADA VEZ MAIS IMPORTANTES PARA AS EMPRESAS NO SO MAIS INFRA-ESTRUTURA DISPENSVEL: SO DE MISSO CRTICA (NO PODEM PARAR!) AS REDES SO CADA VEZ MAIORES ATINGEM MAIS GENTE NA EMPRESA ATINGEM MAIS LUGARES FSICOS DA EMPRESA ATINGEM MAIS PARCEIROS DA EMPRESA ATINGEM AT OS CLIENTES DA EMPRESA AS REDES SO CADA VEZ MAIS HETEROGNEAS MESCLAGEM DE TECNOLOGIAS MESCLAGEM DE FORNECEDORES AS TECNOLOGIAS SO CADA VEZ MAIS COMPLEXAS EXEMPLO: PARA SUPORTAR SERVIOS QUE NO SEJAM BEST-EFFORT (VDEO CONFERNCIA, ...) A FALTA DE PESSOAL QUALIFICADO CONTINUA RESULTADO: PRECISAMOS DE BOAS SOLUES PARA GERENCIAR AS REDES GERNCIA = TUDO QUE NECESSRIO PARA MANTER AS REDES FUNCIONANDO BEM CINCO REAS DA GERNCIA (EM ORDEM DE IMPORTNCIA)

O QUE GERNCIA?

GERNCIA DE CONFIGURAO
RESPONSVEL PELA DESCOBERTA, MANUTENO E MONITORAO DE MUDANAS ESTRUTURA FSICA E LGICA DA REDE DEVE-SE LEMBRAR QUE A REDE MUITO DINMICA: HAVER CONSTANTES "MOVES, ADDS AND CHANGES" (MAC) FUNES BSICAS: COLETA DE INFORMAES DE CONFIGURAO DESCOBRIMENTO DE ELEMENTOS DESCOBRIMENTO DA INTERCONECTIVIDADE ENTRE ELEMENTOS GERAO DE EVENTOS EMISSO DE EVENTOS QUANDO RECURSOS SO ADICIONADOS OU REMOVIDOS PERMITE MANTER UM INVENTRIO ATUALIZADO ATRIBUIO DE VALORES INICIAIS AOS PARMETROS DOS ELEMENTOS GERENCIADOS REGISTRO DE INFORMAES REGISTRO DAS INFORMAES DE CONFIGURAO, PERMITINDO A EMISSO DE RELATRIOS FEITO A PARTIR DA INFORMAO COLETADAS NAS 3 FUNES ANTERIORES ALTERAO DE CONFIGURAO DOS ELEMENTOS GERENCIADOS PARA CORRIGIR FALHA OU PROBLEMA DE SEGURANA OU REDIMENSIONAR OU MUDAR A ALOCAO DE RECURSOS PARA MELHORAR O DESEMPENHO V-SE PORTANTO QUE H RELAO ENTRE AS VRIAS REAS INCIO E ENCERRAMENTO DE OPERAO DOS ELEMENTOS GERENCIADOS

GERNCIA DE FALTAS
RESPONSVEL PELA DETECO, ISOLAMENTO E CONSERTO DE FALHAS NA REDE DETECO DE FALTAS

MANUTENO E MONITORAO DO ESTADO DE CADA UM DOS ELEMENTOS GERENCIADOS PERCEPO DE QUE EST HAVENDO UM PROBLEMA ISOLAO DE FALHAS UMA FALTA PODE GERAR UMA FALHA USO DE TCNICAS PARA DIAGNOSTICAR A LOCALIZAO E RAZO DA FALHA TCNICAS PODEM USAR CORRELAO DE EVENTOS, TESTES DE DIAGNSTICOS, ... ANTECIPAO DE FALHAS MONITORAO DE INDICADORES QUE POSSAM PREVER A OCORRNCIA DE FALHAS TAXAS CRESCENTES DE ERRO, ATRASOS DE TRANSMISSO USO DE LIMIARES (THRESHOLD) PARA GERAR ALARMES SUPERVISO DE ALARMES INTERFACE DO USURIO INDICA QUAIS ELEMENTOS ESTO FUNCIONANDO, QUAIS ESTO FUNCIONANDO PARCIALMENTE E QUAIS ESTO FORA DE OPERAO INCLUI NVEIS DE SEVERIDADE PODE INDICAR POSSVEIS CAUSAS PODE AVISAR VISUALMENTE, COM EMAIL, PAGER, ... AES NECESSRIAS AO RESTABELECIMENTO DOS ELEMENTOS COM PROBLEMAS AES PODE SER SUGERIDAS AUTOMATICAMENTE TESTES PARA PERMITIR A VERIFICAO DO FUNCIONAMENTO DE RECURSOS DA REDE EM CONDIES NORMAIS OU ARTIFICIAIS EXEMPLOS: TESTES DE ECO, DE CONECTIVIDADE PROV REGISTRO DE OCORRNCIAS E EMISSO DE RELATRIOS PARA ANLISE

GERNCIA DE DESEMPENHO
RESPONSVEL PELA MONITORAO DE DESEMPENHO, A ANLISE DESSE DESEMPENHO E PLANEJAMENTO DE CAPACIDADE SELEO DE INDICADORES DE DESEMPENHO O DESEMPENHO CORRENTE DA REDE DEVE SE BASEAR EM INDICADORES TAIS COMO ATRASO, VAZO, DISPONIBILIDADE, UTILIZAO, TAXA DE ERROS, ETC. MONITORAO DE DESEMPENHO MONITORA OS INDICADORES DE DESEMPENHO BASELINE (COMPORTAMENTO NORMAL) PODE SER ESTABELECIDO LIMIARES PODEM SER DEFINIDOS PARA GERAR EVENTOS OU ALARMES MANTM REGISTROS HISTRICOS PARA PERMITIR A ANLISE E PLANEJAMENTO FUTUROS ANLISE DE DESEMPENHO E PLANEJAMENTO DE CAPACIDADE ALTERAO DO MODO DE OPERAO EXEMPLO: PASSAR DE UM SEGMENTO COMPARTILHADO PARA UMA REDE COMUTADA

GERNCIA DE SEGURANA
RESPONSVEL PELA PROTEO DOS ELEMENTOS DA REDE, MONITORANDO E DETECTANDO VIOLAES DA POLTICA DE SEGURANA ESTABELECIDA PREOCUPA-SE COM A PROTEO DOS ELEMENTOS DA REDE DEVE APOIAR A POLTICA DE SEGURANA DA EMPRESA CRIAO E MANUTENO DE SERVIOS DE SEGURANA PROV MECANISMOS PARA CRIAR, REMOVER E CONTROLAR OS SERVIOS DE SEGURANA MONITORAO DOS SERVIOS DE SEGURANA PODE DISPARAR ALARMES AO DETECTAR VIOLAES DE SEGURANA MANUTENO DE LOGS DE SEGURANA PARA DETECTAR VIOLAES NO BVIAS MANUALMENTE (OU COM PROGRAMAS BATCH AUTOMTICOS)

GERNCIA DE CONTABILIDADE
RESPONSVEL PELA CONTABILIZAO E VERIFICAO DE LIMITES DA UTILIZAO DE RECURSOS DA REDE, COM A DIVISO DE CONTAS FEITA POR USURIOS OU GRUPOS DE USURIOS. COLETA DE INFORMAES DE UTILIZAO

MONITORA QUAIS RECURSOS E QUANTO DESSES RECURSOS ESTO SENDO UTILIZADOS POR QUE ENTIDADE ESTABELECIMENTO DE COTAS DE UTILIZAO LIMITES DE USO DE RECURSOS POR USURIO OU GRUPO DE USURIOS ESTABELECIMENTO DE ESCALAS DE TARIFAO PARA DIVIDIR O CUSTO ENTRE USURIOS OU DEPARTAMENTOS DE UMA EMPRESA AS INFORMAES PODEM SER UTILIZADAS APENAS PARA ESTATSTICAS APLICAO DAS TARIFAS E FATURAMENTO OS 4 COMPONENTES DA ARQUITERURA DE GERNCIA OS ELEMENTOS GERENCIADOS DEVEM POSSUIR UM SOFTWARE ESPECIAL PARA PERMITIR SUA GERNCIA O SOFTWARE CHAMA-SE DE AGENTE AS ESTAES DE GERNCIA NORMALMENTE CENTRALIZADAS PARA FACILITAR A GERNCIA FREQUENTEMENTE S TEM UMA O SOFTWARE QUE CONVERSA DIRETAMENTE COM OS AGENTES NOS ELEMENTOS GERENCIADOS CHAMADO DE GERENTE POSSUEM FUNES AUTOMTICAS DE GERNCIA (EX. POLL REGULAR DOS AGENTES) PODE OBTER INFORMAO DE GERNCIA PRESENTE NOS AGENTES PODEM ALTERAR ESTA INFORMAO POSSUEM INTERFACE COM O USURIO PARA FACILITAR A GERNCIA VEREMOS DETALHES LOGO ADIANTE PROTOCOLO DE GERNCIA USADO ENTRE GERENTE E AGENTES PARA TROCAR INFORMAO DE GERNCIA PERMITE OPERAES DE MONITORAMENTO (READ) E OPERAES DE CONTROLE (WRITE) INFORMAO DE GERNCIA DEFINE OS DADOS QUE PODEM SER REFERENCIADOS EM OPERAES DO PROTOCOLO EXEMPLOS: TAXA DE ERRO, STATUS DE UMA LINHA DE COMUNICAO, ETC. A VISO FSICA DA REDE GERENCIADA

ARQUITETURA GERAL DE UMA SOLUO DE GERNCIA

A GERNCIA DE REDE NA ARQUITETURA RM-OSI DA ISO

ESTRUTURA DE UMA ESTAO DE GERNCIA DE REDES

OFERECE UMA VISO DA REDE NUM PONTO CENTRALIZADO

NORMALMENTE CONSTRUDA COM UMA PLATAFORMA E APLICAES SOBRE ESTA PLATAFORMA DE GERNCIA O "SISTEMA OPERACIONAL" DA GERNCIA OFERECE FUNES BSICAS DE GERNCIA (COMUNS A MUITAS APLICAES) OFERECE UM AMBIENTE PARA O DESENVOLVIMENTO E A INTEGRAO DE APLICAES SOBRE AS PLATAFORMAS ESTO AS DIVERSAS APLICAES USADAS PELOS OPERADORES

A PLATAFORMA DEVE PROVER SERVIOS BSICOS PARA AS APLICAES QUE A USAM

EXEMPLOS DE PLATAFORMAS OPENVIEW DA HP SUNNET MANAGER DA SUN MICROSYSTEMS NETVIEW DA IBM SPECTRUM DA CABLETRON CA-UNICENTER DA COMPUTER ASSOCIATES PRECISA DE MUITAS APLICAES PORQUE NO H COMO TER UMA NICA APLICAOZONA DE GERNCIA A DIFICULDADE DE FAZER APLICAES SIGNIFICA QUE FORNECEDORES SE ESPECIALIZAM EXEMPLOS DE APLICAES DE GERNCIA FUNCIONALIDADE APLICAO FABRICANTE GERNCIA DE DESEMPENHO NETCLARITY LANQUEST SPECTRUM'S ALARM GERNCIA DE FALTAS CABLETRON MANAGERS MANIPULAO DE ALARMES TRAP EXPLODER EMPIRE TECHNOLOGIES GERNCIA DE SEGURANA BOKS SECURIX GERNCIA DE BENS ASSETVIEW HP CONFIGURAO NETBUILDER 3COM CONFIGURAO CISCO WORKS CISCO

DEMONSTRAES DE SOLUES DE GERNCIA


GERNCIA AD HOC C:> ping rtbbdsc.campus-ii.ufpb.br Disparando contra rtbbdsc.campus-ii.ufpb.br [150.165.13.61] com 32 bytes de dados: Resposta de 150.165.13.61: bytes=32 tempo=553ms Resposta de 150.165.13.61: bytes=32 tempo=458ms Resposta de 150.165.13.61: bytes=32 tempo=512ms Resposta de 150.165.13.61: bytes=32 tempo=393ms Estatsticas do Ping para 150.165.13.61: Pacotes: Enviados=4, Recebidos=4, Perdidos=0 (0%) Tempos aproximados de ida e volta em milissegundos: Mnimo = 393ms, Mximo=553ms, Mdia=479ms traceroute www.playboy.com Rastreando a rota para www.playboy.com [206.251.29.10] com no mximo 30 saltos: 1 2 3 4 145 142 153 220 ms ms ms ms 140 138 143 226 ms ms ms ms 136 136 147 220 ms ms ms ms 200.241.195.28 cgnet2.cgnet.com.br [200.241.195.30] cgnet-S4-4-dist01.rce.embratel.net.br [200.249.241.13] ebt-A11-0-0-3-dist01.rjo.embratel.net.br [200.244.40.118]

5 201 ms 196 ms 190 ms ebt-F5-0-0-core01.rjo.embratel.net.br [200.255.197.33] 6 346 ms 345 ms 346 ms 204.189.136.137 7 * 387 ms 366 ms core1-fddi-0.NewYork.cw.net [204.70.2.17] 8 365 ms 328 ms 413 ms core1-hssi-3.WestOrange.cw.net [204.70.10.14] 9 403 ms 391 ms 430 ms core2.Sacramento.cw.net [204.70.4.49] 10 439 ms 523 ms 449 ms border8-fddi-0.Sacramento.cw.net [204.70.164.67] 11 610 ms 634 ms 639 ms globalcenter.Sacramento.cw.net [204.70.123.6] 12 612 ms 574 ms 593 ms pos4-3-155M.cr1.SNV.globalcenter.net [206.132.150.29] 13 * 688 ms 654 ms pos6-0-0-155M.hr2.SNV.globalcenter.net [206.251.0.109] 14 638 ms 630 ms 635 ms www.playboy.com [206.251.29.10] Rastreamento completo. RESULTADO DISSO: TCNICA DA PORTA ABERTA GERENCIAMENTO REATIVO (POR INTERRUPO) NO TEM GERENCIAMENTO PR-ATIVO NO TEM ESCALA O QUE FAZER QUANDO ALGUM FALA "A REDE EST LENTA!"? GERNCIA MANUAL COM INSTRUMENTAO SNMP SNMP O PROTOCOLO DE GERNCIA MAIS USADO NO MUNDO USA OS COMANDOS SNMPGET E SNMPWALK DA CARNEGIE-MELLON UNIVERSITY (CMU) PARA OBTER DADOS DE GERNCIA EXEMPLO: ALGUM RECLAMA QUE NO CONSEGUE NAVEGAR NA INTERNET O ROTEADOR EST NO AR? snmpget rtbbdsc.ufpb.br <senha> system.sysUpTime.0 system.sysuptime = Timeticks: (836503909) 96 days, 19:37:19 A LINHA DE COMUNICAO PARA A INTERNET EST NO AR? interfaces.ifTable.ifEntry.ifOperStatus.1 = up(1) VAMOS VER O NMERO DE ERROS interfaces.ifTable.ifEntry.ifInErrors.1 = 220153 (ESPERA 5 SEGUNDOS) interfaces.ifTable.ifEntry.ifInErrors.1 = 220364 MUITOS ERROS!! (211 EM 5 SEGUNDOS) VAMOS AVISAR O RESPONSVEL, PASSANDO A INFORMAO CORRETA system.sysContact.0 = "Fernando Barros" system.sysName.0 = "fw.xpto.com.br" system.sysLocation.0 = "Sala 202" system.sysDescr.0 = "CISCO ROUTER ABC, MODEL XYZ, VER. 11.0" COMO AGUENTAR 1000 DISPOSITIVOS COM ESSA TCNICA??? GERNCIA AUTOMTICA WEBMANAGER APLICAO DESENVOLVIDA NA UFPb POR JACQUES E PETER GERNCIA AUTOMTICA DO FUTURO (PRXIMO!) WBEM DA FREERANGE

O NVEL DE INSTRUMENTAO: MODELO DE INFORMAO PADRES NO MUNDO DA GERNCIA


INTERNET-STANDARD NETWORK MANAGEMENT FRAMEWORK
TAMBM CHAMADO "GERNCIA SNMP" DEVIDO AO PROTOCOLO PRINCIPAL: SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) USADO EM PRATICAMENTE TODO O MUNDO DA GERNCIA MENOS COMPLEXO DO QUE OUTRAS ALTERNATIVAS E, POR ISSO MESMO, APARECEU PRIMEIRO E DE DIFUNDIU LIO: "ROUGH CONSENSUS AND WORKING CODE" MELHOR DO QUE UM MONTE DE COMITS AXIOMA FUNDAMENTAL: O IMPACTO DE ADICIONAR GERNCIA DE REDE AOS ELEMENTOS GERENCIADOS DEVE SER MNIMO, REFLETINDO UM MENOR DENOMINADOR COMUM RESULTADO: A SOLUO BSICA DE GERNCIA (INSTRUMENTAO) E O PROTOCOLO SNMP (VERSO 1) SO MUITO SIMPLES

DMTF

RESULTADO: A COMPLEXIDADE EST NAS POUCAS NMSs (NETWORK MANAGEMENT STATIONS) E NO NOS MILHARES DE ELEMENTOS GERENCIADOS FRAMEWORK (VERSO 1) BASEADO EM TRS DOCUMENTOS STRUCTURE OF MANAGEMENT INFORMATION (SMI) - RFC 1155 A LINGUAGEM USADA PARA ESPECIFICAR A INFORMAO GERENCIADA MANAGEMENT INFORMATION BASE (MIB) PRINCIPAL - RFC 1156 DEFINE AS VARIVEIS DE GERNCIA QUE TODO ELEMENTO GERENCIADO DEVE TER OUTRAS MIBs EXISTEM PARA FINS PARTICULARES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) - RFC 1157 O PROTOCOLO USADO ENTRE GERENTE E AGENTE PARA A GERNCIA, PRINCIPALMENTE TROCANDO VALORES DE VARIVEIS DE GERNCIA MODELO BSICO OPERACIONAL: "TRAP-BASED POLLING" TRAPS SO EVENTOS COMUNICADOS DO AGENTE PARA O GERENTE POLLINGS SO CONSULTAS PERIDICAS FEITAS PELO GERENTE AOS AGENTES DESKTOP MANAGEMENT TASK FORCE LIDERADO PELA MICROSOFT FEITO PARA GERENCIAR PCs NA MESA MODELO DE INFORMAO ORIENTADO A OBJETO CIM = COMMON INFORMATION MODEL VEIO DO MUNDO OSI DA ISO DEMOROU MUITO PARA SER FEITO E FOI ADOTADO MUITO POUCO S NO MUNDO DAS TELECOMUNICAES, JUNTO COM TMN USA MIBs TAMBM PROTOCOLO CMIP MUITO MAIS COMPLEXO DO QUE SNMP CMIP = COMMON MANAGEMENT INFORMATION PROTOCOL DEFINE TAMBM DE SERVIO DE GERNCIA (CMIS) CMIS = COMMON MANAGEMENT INFORMATION SERVICE UMA TENTATIVA DE RESGATE FOI FEITA COM CMOT CMOT = CMIP OVER TCP/IP NO SER DISCUTIDO NESTE CURSO DEVIDO A SUA POUCA UTILIZAO ESPECIALMENTE FEITO PARA GERENCIAR REDES DE TELECOMUNICAES (TELEFNICAS, BASICAMENTE) DESENVOLVIDO PELA CCITT (HOJE ITU-T) BASTANTE USADO ENRE AS OPERADORAS DE TELECOMUNICAES INCIPIENTE NO BRASIL TMN UMA REDE PARALELA PARA GERENCIAR A REDE PRINCIPAL INTERCONECTA SISTEMAS DE SUPORTE OPERAO (OPERATIONS SYSTEMS) FEITO PARA GERENCIAR: A PRPRIA TMN REDES DE TELEFONIA, INCLUINDO TELEFONIA MVEL TERMINAIS DE TRANSMISSO (MULTIPLEXADORES, EQUIPAMENTOS SDH , ...) SISTEMAS DE TRANSMISSO ANALGICOS E DIGITAIS PABX INFRA-ESTRUTURA (MDULOS DE TESTES, SISTEMAS DE ENERGIA, ...) ETC. USA PROTOCOLOS OSI

ARQUITETURA OSI DE GERENCIAMENTO


TELECOMMUNICATIONS MANAGEMENT NETWORK (TMN)

ARQUITETURA DA SOLUO SNMP


USA O MODELO FETCH-STORE DE VARIVEIS DE GERNCIA MANTIDAS NOS AGENTES MUITO SIMPLES MAS PODEROSO AES ESPECIAIS SO EFEITOS COLATERIAIS DE OPERAES STORE EXEMPLOS: LINK UP, LINK DOWN TRS VERSES: SNMPv1, SNMPv2, SNMPv3 PRIMITIVAS BSICAS (SNMPv1) GET - OBTER O VALOR DE UMA VARIVEL

GET-NEXT - PERMITE CAMINHAR NAS VARIVEIS PARA CAMINHAR EM TABELAS DE TAMANHO DESCONHECIDO; OU QUANDO NO SE SABE QUE VARIVEIS SO SUPORTADAS PELO AGENTE SET - ALTERAR O VALOR DE UMA VARIVEL TRAP - INFORMAR EVENTOS EXTRAORDINRIOS DO AGENTE PARA O GERENTE MODELO BSICO: TRAP-DIRECTED POLLING ONDE SNMP SE INSERE NA PILHA TCP/IP:

O MODELO CLIENTE-SERVIDOR DO SNMP:

A SEGURANA SNMP
BASEADA EM UMA SENHA APENAS (COMMUNITY NAME) UM DOS MOTIVOS DA GERNCIA INCOMPLETA DE REDES COM SNMP SET POUCO USADO PARA CONTROLAR DISPOSITIVOS MUITOS FABRICANTES NEM IMPLEMENTAM SET! UM AGENTE PODE IMPLEMENTAR VRIAS COMUNIDADES CADA COMUNIDADE D ACESSO A UMA "MIB VIEW" DEFINIDA LOCALMENTE CADA COMUNIDADE PODE TER CERTOS DIREITOS DE ACESSO (DEFINIDOS LOCALMENTE) DUAS COMUNIDADES COMUMENTE IMPLEMENTADAS: READ COMMUNITY WRITE COMMUNITY

OBJETOS, INSTNCIAS E MIBs


MODELO ESTRUTURADO EM RVORE
PARA IDENTIFICAR AS VARIVEIS DE GERNCIA RVORE USADA DEVIDO AO NMERO DE VARIVEIS CADA RGO DE PADRONIZAO INTERNACIONAL TEM SEU ESPAO DENTRO DA ESTRUTURA CADA NODO DA RVORE POSSUI UM RTULO RTULO = DESCRIO TEXTUAL + NMERO O TOPO DA RVORE MOSTRADO ABAIXO (SNMPv1)

OBJETOS, INSTNCIAS E MIBs - 2


OBJETOS E INSTNCIAS
CADA NODO DA RVORE AGRUPA UM CONJUNTO DE OBJETOS RELACIONADOS "OBJETO" NO USADO NO SENTIDO DA ORIANTEO A OBJETO OS OBJETOS DESCREVEM A INFORMAO MANTIDA NOS AGENTES UMA INSTNCIA DE UM OBJETO (UMA VARIVEL) O QUE REALMENTE MANIPULADO PELO PROTOCOLO OBJETOS PODEM SER DE DOIS TIPOS BSICOS: SIMPLES (ESCALARES) UMA LINHA DE UMA TABELA SE HOUVER VRIAS INSTNCIAS, A TABELA TER VRIAS LINHAS S H TABELAS BI-DIMENSIONAIS CONTENDO OBJETOS SIMPLES IDENTIFICAO DE UM OBJETO iso.org.dod.internet.mgmt.mib-2.system.sysDescr 1.3.6.1.2.1.1.1 IDENTIFICAO DE UMA VARIVEL SIMPLES iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 1.3.6.1.2.1.1.1.0 LINHAS DE TABELAS SO IDENTIFICADAS UNICAMENTE ATRAVS DE UMA (OU MAIS) COLUNAS COM CONTEDO NICO A "CHAVE" DA TABELA

OBJETOS, INSTNCIAS E MIBs - 3


OBJETOS E INSTNCIAS
EXEMPLO: A TABELA DE INTERFACES DE REDE SE CHAMA iso.org.dod.internet.mgmt.mib2.interfaces.ifTable A LINHA SE CHAMA ifEntry E CONTM VRIOS OBJETOS, ENTRE OS QUAIS ifIndex E ifDescr CADA INTERFACE TEM UM ifIndex NICO (1, 2, ...) A DESCRIO DA PRIMEIRA INTERFACE SERIA: iso.org.dod.internet.mgmt.mib2.interfaces.ifTable.ifEntry.ifDescr.1 EXEMPLO:

UMA CONEXO TCP IDENTIFICADA POR 4 COLUNAS DA TABELA tcpConnTable: tcpConnLocalAddress (DIGAMOS 89.1.1.42) tcpConnLocalPort (DIGAMOS 21) tcpConnRemAddress (DIGAMOS 10.0.0.51) tcpConnRemPort (DIGAMOS 2059) O VALOR DA COLUNA DE ESTADO DESSA CONEXO TERIA IDENTIFICADOR: 1.3.6.1.2.1.6.13.1.1.89.1.1.42.21.10.0.0.51.2059 ESSES IDENDIFICADORES (OBJECT IDENTIFIERS - OIDs) SO USADOS NOS COMANDOS GET, GETNEXT, SET, TRAP

OBJETOS, INSTNCIAS E MIBs - 4


MIBs
UM "MDULO MIB" UM AGRUPAMENTO DE OBJETOS RELACIONADOS H UMA MIB PADRO (mib-2) QUE TODOS OS AGENTES DEVEM SUPORTAR MIBs SO CONHECIDAS PELOS AGENTES E PELO GERENTE O GERENTE NO SABE EXATAMENTE QUE MIBs SO SUPORTADAS POR UM DETERMINADO AGENTE AGENTES NORMALMENTE SUPORTAM MAIS MIBs, DEPENDENDO DO TIPO DE EQUIPAMENTO OU SOFTWARE QUE ELES SO: MIB DE REPETIDORES MIB DE ROTEADORES MIB ETHERNET MIB ATM MIB DE MONITORAO REMOTA (RMON) MIB DE DNS MIB DE SERVIDOR WEB E MAIS VRIAS DEZENAS DE MIBs FREQUENTEMENTE, AGENTES SUPORTAM MIBs PROPRIETRIAS EMBAIXO DE iso.org.dod.internet.private.enterprises

A MIB-2

A mib-2 TEM MUDADO DE SNMPv1 PARA SNMPv2 DESCREVEMOS A VERSO ORIGINAL (MAIS USADA)

A MIB-2
GRUPO system (RFC 1907)
DESCRIO DO DISPOSITIVO (sysDescr)

NOME DO DISPOSITIVO (sysName) IDENTIFICAO DO AGENTE (sysObjectID) DEVERIA IDENTIFICAR O HARDWARE, SOFTWARE, RECURSOS DO AGENTE NA PRTICA, UM OID DIFERENTE DADO A CADA VERSO DE CADA PRODUTO H QUANTO TEMPO O AGENTE EST NO AR (sysUpTime) LOCALIZAO FSICA DO DISPOSITIVO (sysLocation) PESSOA RESPONSVEL PELO ELEMENTO (sysContact) SERVIOS OFERECIDOS PELO DISPOSITIVO (sysServices) USA UM BIT PARA CADA CAMADA OSI NO SNMPv2, FOI MOVIDO PARA A MIB SNMPv2-MIB QUANTIDADE DE INTERFACES (ifNumber) A TABELA DE INTERFACES (ifTable.ifEntry) DESCRIO DA INTERFACE (ifDescr) TIPO DA INTERFACE (ifType) VELOCIDADE DE TRANSMISSO (ifSpeed) ENDEREO FSICO DO MEIO (ifPhysAddress) CONTADOR DE BYTES NA ENTRADA (ifInOctets) UM VALOR NICO DE CONTADOR NO D INFORMAO PRECISA PEGAR DOIS VALORES E CALCULAR A DIFERENA CONTADOR DE BYTES NA SADA (ifOutOctets) CONTADOR DE ERROS NA ENTRADA (ifInErrors) CONTADOR DE ERROS NA SADA (ifOutErrors) EM SNMPv2, FOI SUBSTITUIDA PELA IF-MIB

GRUPO interfaces (RFC 1573)

A MIB-2
GRUPO at (ADDRESS TRANSLATION - RFC 1213) GRUPO ip (RFC 1573, RFC 1354) GRUPO icmp (RFC 1573, RFC 1354)
VRIOS CONTADORES MENSAGENS ENVIADAS E RECEBIDAS, CONTADOR POR TIPO, COM E SEM ERRO, ETC. EM SNMPv2, FOI MOVIDA PARA A IP-MIB E A IP-FORWARDING-MIB IDENTIFICADOR DO ALGORITMO DE RETRANSMISSO NMERO MXIMO DE CONEXES SIMULTNEAS PERMITIDAS NMERO DE SEGMENTOS ENVIADOS E RECEBIDOS TABELA DE CONEXES ETC. EM SNMPv2, FOI MOVIDA PARA A TCP-MIB VRIOS CONTADORES, ENDEREOS, MAPEAMENTO DE ENDEREOS, ROTAS, ETC. EM SNMPv2, FOI MOVIDA PARA A IP-MIB E A IP-FORWARDING-MIB NO MAIS USADO S TEM VALOR HISTRICO

GRUPO tcp (RFC 1354)

A MIB-2
GRUPO udp (RFC 1354)
DATAGRAMAS DESTINADOS A PORTAS DESCONHECIDAS CONTADORES DE DATAGRAMAS ENTRANDO E SAINDO ETC. EM SNMPv2, FOI MOVIDA PARA A UDP-MIB VRIAS INFORMAES (CONTADORES, ETC.) SOBRE O PROTOCOLO SNMP EM SNMPv2, FOI MOVIDA PARA A SNMPv2-MIB

GRUPO snmp (RFC 1907)

MIB-2: WALK NUM AGENTE


FEITO COM O PACOTE CMU-SNMP NUMA ESTAO SUN
system.sysDescr.0 = "Sun SPARCstation Solaris2. CheckPoint FireWall-1 Version 2.1" system.sysObjectID.0 = OID: enterprises.1919.1.1 system.sysUpTime.0 = Timeticks: (836503909) 96 days, 19:37:19 system.sysContact.0 = "Fernando Barros" system.sysName.0 = "fw.xpto.com.br" system.sysLocation.0 = "Sala 202" system.sysServices.0 = 72 interfaces.ifNumber.0 = 3 interfaces.ifTable.ifEntry.ifIndex.1 = 1 interfaces.ifTable.ifEntry.ifIndex.2 = 2 interfaces.ifTable.ifEntry.ifIndex.3 = 3 interfaces.ifTable.ifEntry.ifDescr.1 = "lo0" Hex: 6C 6F 30 interfaces.ifTable.ifEntry.ifDescr.2 = "le0" Hex: 6C 65 30 interfaces.ifTable.ifEntry.ifDescr.3 = "le1" Hex: 6C 65 31 interfaces.ifTable.ifEntry.ifType.1 = softwareLoopback(24) interfaces.ifTable.ifEntry.ifType.2 = ethernet-csmacd(6) interfaces.ifTable.ifEntry.ifType.3 = ethernet-csmacd(6) interfaces.ifTable.ifEntry.ifMtu.1 = 8232 interfaces.ifTable.ifEntry.ifMtu.2 = 1500 interfaces.ifTable.ifEntry.ifMtu.3 = 1500 interfaces.ifTable.ifEntry.ifSpeed.1 = Gauge: 10000000 interfaces.ifTable.ifEntry.ifSpeed.2 = Gauge: 10000000 interfaces.ifTable.ifEntry.ifSpeed.3 = Gauge: 10000000 interfaces.ifTable.ifEntry.ifPhysAddress.1 = "" interfaces.ifTable.ifEntry.ifPhysAddress.2 = Hex: 08 00 20 7E 88 2B interfaces.ifTable.ifEntry.ifPhysAddress.3 = Hex: 08 00 20 7E 88 2B interfaces.ifTable.ifEntry.ifAdminStatus.1 = up(1) interfaces.ifTable.ifEntry.ifAdminStatus.2 = up(1) interfaces.ifTable.ifEntry.ifAdminStatus.3 = up(1) interfaces.ifTable.ifEntry.ifOperStatus.1 = up(1) interfaces.ifTable.ifEntry.ifOperStatus.2 = up(1) interfaces.ifTable.ifEntry.ifOperStatus.3 = up(1) interfaces.ifTable.ifEntry.ifLastChange.1 = Timeticks: (0) 0:00:00 interfaces.ifTable.ifEntry.ifLastChange.2 = Timeticks: (0) 0:00:00 interfaces.ifTable.ifEntry.ifLastChange.3 = Timeticks: (0) 0:00:00 interfaces.ifTable.ifEntry.ifInOctets.1 = 610783 interfaces.ifTable.ifEntry.ifInOctets.2 = 99903685 interfaces.ifTable.ifEntry.ifInOctets.3 = 94029823 interfaces.ifTable.ifEntry.ifInUcastPkts.1 = 0 interfaces.ifTable.ifEntry.ifInUcastPkts.2 = 0 interfaces.ifTable.ifEntry.ifInUcastPkts.3 = 0 interfaces.ifTable.ifEntry.ifInNUcastPkts.1 = 0 interfaces.ifTable.ifEntry.ifInNUcastPkts.2 = 0 interfaces.ifTable.ifEntry.ifInNUcastPkts.3 = 0 interfaces.ifTable.ifEntry.ifInDiscards.1 = 0 interfaces.ifTable.ifEntry.ifInDiscards.2 = 0 interfaces.ifTable.ifEntry.ifInDiscards.3 = 0 interfaces.ifTable.ifEntry.ifInErrors.1 = 0 interfaces.ifTable.ifEntry.ifInErrors.2 = 0 interfaces.ifTable.ifEntry.ifInErrors.3 = 0

MIB-2: WALK NUM AGENTE


interfaces.ifTable.ifEntry.ifInUnknownProtos.1 = 0 interfaces.ifTable.ifEntry.ifInUnknownProtos.2 = 0 interfaces.ifTable.ifEntry.ifInUnknownProtos.3 = 0 interfaces.ifTable.ifEntry.ifOutOctets.1 = 610783 interfaces.ifTable.ifEntry.ifOutOctets.2 = 98517639 interfaces.ifTable.ifEntry.ifOutOctets.3 = 88755644 interfaces.ifTable.ifEntry.ifOutUcastPkts.1 = 0 interfaces.ifTable.ifEntry.ifOutUcastPkts.2 = 0 interfaces.ifTable.ifEntry.ifOutUcastPkts.3 = 0

interfaces.ifTable.ifEntry.ifOutNUcastPkts.1 = 0 interfaces.ifTable.ifEntry.ifOutNUcastPkts.2 = 0 interfaces.ifTable.ifEntry.ifOutNUcastPkts.3 = 0 interfaces.ifTable.ifEntry.ifOutDiscards.1 = 0 interfaces.ifTable.ifEntry.ifOutDiscards.2 = 0 interfaces.ifTable.ifEntry.ifOutDiscards.3 = 0 interfaces.ifTable.ifEntry.ifOutErrors.1 = 0 interfaces.ifTable.ifEntry.ifOutErrors.2 = 5422 interfaces.ifTable.ifEntry.ifOutErrors.3 = 8 interfaces.ifTable.ifEntry.ifOutQLen.1 = Gauge: 0 interfaces.ifTable.ifEntry.ifOutQLen.2 = Gauge: 0 interfaces.ifTable.ifEntry.ifOutQLen.3 = Gauge: 0 interfaces.ifTable.ifEntry.ifSpecific.1 = OID: .ccitt.nullOID interfaces.ifTable.ifEntry.ifSpecific.2 = OID: .ccitt.nullOID interfaces.ifTable.ifEntry.ifSpecific.3 = OID: .ccitt.nullOID ip.ipForwarding.0 = forwarding(1) ip.ipDefaultTTL.0 = 255 ip.ipInReceives.0 = 189046788 ip.ipInHdrErrors.0 = 241 ip.ipInAddrErrors.0 = 0 ip.ipForwDatagrams.0 = 186087726 ip.ipInUnknownProtos.0 = 0 ip.ipInDiscards.0 = 783 ip.ipInDelivers.0 = 1384691 ip.ipOutRequests.0 = 904804 ip.ipOutDiscards.0 = 0 ip.ipOutNoRoutes.0 = 0 ip.ipReasmTimeout.0 = 60 ip.ipReasmReqds.0 = 1624 ip.ipReasmOKs.0 = 1624 ip.ipReasmFails.0 = 0 ip.ipFragOKs.0 = 4 ip.ipFragFails.0 = 0 ip.ipFragCreates.0 = 22 ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1 ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.200.252.241.2 = IpAddress: 200.252.241.2 ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.200.252.242.53 = IpAddress: 200.252.242.53 ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = 1 ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.200.252.241.2 = 3 ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.200.252.242.53 = 2 ip.ipAddrTable.ipAddrEntry.ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0 ip.ipAddrTable.ipAddrEntry.ipAdEntNetMask.200.252.241.2 = IpAddress: 255.255.255.248 ip.ipAddrTable.ipAddrEntry.ipAdEntNetMask.200.252.242.53 = IpAddress: 255.255.255.128 ip.ipAddrTable.ipAddrEntry.ipAdEntBcastAddr.127.0.0.1 = 0 ip.ipAddrTable.ipAddrEntry.ipAdEntBcastAddr.200.252.241.2 = 1 ip.ipAddrTable.ipAddrEntry.ipAdEntBcastAddr.200.252.242.53 = 1

MIB-2: WALK NUM AGENTE


icmp.icmpInMsgs.0 = 61390 icmp.icmpInErrors.0 = 0 icmp.icmpInDestUnreachs.0 = 27 icmp.icmpInTimeExcds.0 = 57101 icmp.icmpInParmProbs.0 = 0 icmp.icmpInSrcQuenchs.0 = 0 icmp.icmpInRedirects.0 = 0 icmp.icmpInEchos.0 = 4208 icmp.icmpInEchoReps.0 = 54 icmp.icmpInTimestamps.0 = 0 icmp.icmpInTimestampReps.0 = 0 icmp.icmpInAddrMasks.0 = 0 icmp.icmpInAddrMaskReps.0 = 0 icmp.icmpOutMsgs.0 = 182290 icmp.icmpOutErrors.0 = 0 icmp.icmpOutDestUnreachs.0 = 90030

icmp.icmpOutTimeExcds.0 = 87547 icmp.icmpOutParmProbs.0 = 0 icmp.icmpOutSrcQuenchs.0 = 0 icmp.icmpOutRedirects.0 = 505 icmp.icmpOutEchos.0 = 0 icmp.icmpOutEchoReps.0 = 4208 icmp.icmpOutTimestamps.0 = 0 icmp.icmpOutTimestampReps.0 = 0 icmp.icmpOutAddrMasks.0 = 0 icmp.icmpOutAddrMaskReps.0 = 0 tcp.tcpRtoAlgorithm.0 = vanj(4) tcp.tcpRtoMin.0 = 200 tcp.tcpRtoMax.0 = 60000 tcp.tcpMaxConn.0 = -1 tcp.tcpActiveOpens.0 = 9892 tcp.tcpPassiveOpens.0 = 3575 tcp.tcpAttemptFails.0 = 175 tcp.tcpEstabResets.0 = 55 tcp.tcpCurrEstab.0 = Gauge: 2 tcp.tcpInSegs.0 = 145450 tcp.tcpOutSegs.0 = 108150 tcp.tcpRetransSegs.0 = 11268 ... tcp.tcpConnTable.tcpConnEntry.tcpConnState.127.0.0.1.32773.127.0.0.1.33692 = established(5) ... tcp.tcpConnTable.tcpConnEntry.tcpConnLocalAddress.127.0.0.1.32773.127.0.0.1 .33692 = IpAddress: 127.0.0.1 ... tcp.tcpConnTable.tcpConnEntry.tcpConnLocalPort.127.0.0.1.32773.127.0.0.1. 33692 = 32773 ... tcp.tcpConnTable.tcpConnEntry.tcpConnRemAddress.127.0.0.1.32773.127.0.0.1. 33692 = IpAddress: 127.0.0.1 ... tcp.tcpConnTable.tcpConnEntry.tcpConnRemPort.127.0.0.1.32773.127.0.0.1. 33692 = 33692 ... udp.udpInDatagrams.0 = 1246911 udp.udpNoPorts.0 = 1246911 udp.udpInErrors.0 = 0 udp.udpOutDatagrams.0 = 638087

COMO ESCREVER UMA MIB


EXEMPLO DE UMA MIB
RFC1213-MIB (MIB-2 QUE TODO AGENTE SNMPv1 TEM) SNMPv2-MIB (MIB QUE TODO AGENTE SNMPv2 TEM)

STRUCTURE OF MANAGEMENT INFORMATION (SMI)


LINGUAGEM USADA PARA ESCREVER MIBs
BASEADA NA ABSTRACT SYNTAX NOTATION ONE (ASN.1) UMA LINGUAGEM DA OSI/ISO APENAS UM PEQUENO SUBCONJUNTO DE ASN.1 USADO VRIAS MACROS SO DEFINIDAS (EM ASN.1) PARA SIMPLIFICAR A ESCRITA DE MIBs DESCREVEREMOS A SMI DO SNMPv1 (RFC1155) DEPOIS, TRATAREMOS DAS DIFERENAS NO SMIv2 (RFC1902) COMO A INFORMAO DE GERNCIA AGRUPADA E NOMEADA AS OPERAES PERMITIDAS

SMI DESCREVE:

OS TIPOS DE DADOS PERMITIDOS A SINTAXE PARA ESPECIFICAR MIBs

SMI - 2
A MIB NO ESPECIFICA COMO A REALIZAO (IMPLEMENTAO) DOS RECURSOS ALGUNS OBJETOS S TM UMA INSTNCIA E OUTROS TM VRIAS INSTNCIAS TABELAS SO USADAS PARA AGRUPAR OBJETOS SEMELHANTES A IDENTIDADE DE UM OBJETO E UMA INSTNCIA FORMAM UMA VARIVEL SNMP SMI O "META-SCHEMA" DO BANCO DE DADOS A ABORDAGEM SEMELHANTE AO MODELO RELACIONAL

SMI: IDENTIFICADORES DE OBJETOS (OIDs)


OBJETOS SO IDENTIFICADOS UNICAMENTE ATRAVS DE UM OID
SEQUNCIA DE INTEIROS NO NEGATIVOS ORGANIZADOS HIERARQUICAMENTE NICOS NO TEMPO E NO ESPAO

PARA FACILITAR A LEITURA, UM NOME TEXTUAL ASSOCIADO A CADA COMPONENTE DA SEQUNCIA DO OID
O LTIMO NOME UMA FORMA CURTA DE REFERENCIAR O OBJETO UNICIDADE GLOBAL ATRAVS DE USO DE PREFIXOS (sys, if, tcp, ...) EXEMPLO: sysDescr { iso org(3) dod(6) internet(1) } OU 1.3.6.1 { internet 4 } OU 1.3.6.1.4 { tcp 4 } OU 1.3.6.1.2.1.6.4 O PRIMEIRO NOME DEVE SER NICO NO CONTEXTO ONDE USADO NO H FORMA CURTA QUANDO USANDO A NOTAO NUMRICA

SINTAXE PARA ESPECIFICAR O VALOR DE UM OID


SMI: IDENTIFICADORES DE OBJETOS (OIDs) - 2


OIDs PODEM REPRESENTAR QUALQUER COISA, NO APENAS OBJETOS
EXEMPLO: IDENTIFICADOR DE PRODUTO (sysObjectID)

SMI: IDENTIFICADORES DE OBJETOS (OIDs) - 3


OIDs IMPORTANTES
mib-2 experimental USADO PARA EXPERINCIAS AINDA NO CONCLUSIVAS DOS GRUPOS DE TRABALHO DA IETF EMPRESAS DEFINEM SUAS MIBs PROPRIETRIAS ABAIXO DE enterprises NMEROS DE EMPRESAS PODEM SER OBTIDAS DA IANA A EMPRESA DECIDE O QUE FAZER NA SUA RVORE DAREMOS DICAS FRENTE

SMI: MDULOS MIB


A MIB SNMP DEFINIDA POR UM CONJUNTO DE MDULOS MIB
"A" MIB SNMP CONSISTE DE VRIAS MIBs DEFINIDAS EM DOCUMENTOS SEPARADOS FRONTEIRAS ENTRE MIBs NO APARECEM NA OPERAO DO PROTOCOLO A PALAVRA "MIB" NORMALMENTE USADA PARA SIGNIFICAR UMA MIB ESPECFICA, NO A MIB CONCEITUAL GLOBAL OS NOMES DEVEM SER NICOS NUM MDULO PARA MIBs PADRO, OS NOMES DEVEM SER NICOS GLOBALMENTE SE NOMES DE MDULOS FOREM NICOS E NOMES DENTRO DE UM MDULO TAMBM, NO H CONFUSO INICIAM COM LETRA MAISCULA PODEM USAR LETRAS, NMEROS E HIFEN NO PODEM TERMINAR COM HIFEN HIFEN NO PODE SER SEGUIDO DE HIFEN NO H RESTRIO DE TAMANHO MAS COMPILADORES E SOFTWARE DE NMS PODEM IMPOR LIMITES

MDULOS SO UM MECANISMO DE ESCOPO DE NOMES


REGRAS DE FORMAO DE NOMES DE MDULOS


SMI: MDULOS MIB - 2


O QUE UM MDULO CONTM
PONTOS DE REGISTRO NA RVORE DE OIDs OBJETOS GERENCIADOS VALORES PARA OIDs TRAPS SEQUNCIAS (PARA DEFINIR TABELAS) CONVENES TEXTUAIS NOVAS MACROS EM ASN.1 NOVOS TIPOS ETIQUETADOS EM ASN.1 UM TIPO ETIQUETADO UM TIPO NOVO QUE AFETA A CODIFICAO BER J QUE AFETAM A CODIFICAO, AS ETIQUETAS DEVEM SER CONHECIDAS POR AMBOS OS LADOS (DEVEM FAZER PARTE DO PADRO) TIPOS ETIQUETADOS SO DEFINIDOS NA SMI, NUNCA NUMA MIB VEREMOS DETALHES FRENTE

O QUE UM MDULO NO PODE CONTER

SINTAXE DA DEFINIO DE UM MDULO

Sintaxe: <mib> = <module>... <module> = <ModName> "DEFINITIONS" "::=" "BEGIN" [ "IMPORTS" <importList>... ";" ] [ <smiItem>... ] [ <textConvItem>... ] { <oidItem> | <objectItem> | <seqItem> | <trapItem> }... "END" <importList> = <importItem> [ "," <importItem> ]... "FROM" <ImportModName> Onde <ModName> o nome de um mdulo MIB; <smiItem> uma definio de itne SMI tais como tipos sintticos, as marcos OBJECT-TYPE e TRAP-TYPE; <importItem> um item definido em outro mdulo MIB; <ImportModName> o nome de ou outro mdulo MIB previamente definido; <textConvItem> a definio da conveno textual; <oidItem> a definio de um object identifier; <objectItem> a definio de um item com a macro OBJECT-TYPE; <seqItem> a definio de uma sequncia; e <trapItem> a definio de um item com a macro TRAP-TYPE.

SMI: MDULOS MIB - 3


SINTAXE DA DEFINIO DE UM MDULO
NOMES PODEM SER IMPORTADOS DE MDULOS DEFINIDOS ANTERIORMENTE CONVENES TEXTUAIS SO UM MECANISMO PARA ESTENDER OS TIPOS SINTTICOS SEM ADICIONAR UM NOVO TIPO PORQUE UM NOVO TIPO IMPLICA NUMA NOVA CODIFICAO DO PROTOCOLO, E O PROTOCOLO DEVE SER MUDADO MUITO RARAMENTE ITENS OBJECT IDENTIFIER SO: PONTOS DE REGISTRO NA RVORE DE OIDs VALORES DE ITENS COM A SINTAXE OBJECT IDENTIFIER GRUPOS DE OBJETOS SNMP A MACRO OBJECT-TYPE USADA PARA DEFINIR TABELAS, LINHAS, OBJETOS SIMPLES E COLUNARES SEQUNCIAS SO USADAS PARA DEFINIR TABELAS CONCEITUAIS A MACRO TRAP-TYPE USADA PARA DEFINIR TRAPS COMENTRIOS INICIAM COM -- E TERMINAM COM -- OU NO FIM DA LINHA

SMI: A ESPECIFICAO DE UM MDULO


A POSIO DE OBJETOS DA RVORE DE OIDs DEVE SER DETERMINADA ANTES DE ESCREVER UM MDULO MIB
QUANDO UMA MIB PUBLICADA, ITENS NO PODEM MUDAR PODEM FICAR OBSOLETOS OU PODEM SER RECRIADOS COM OUTROS OIDs EMPRESAS PODEM CRIAR UM GALHO PRIVADO experimental E MUDAR AS MIBs AT QUE SEJAM PUBLICADAS EM OUTRO LOCAL DA RVORE UM NOME NICO ESCOLHIDO PARA O MDULO IMPORTAES SO FEITAS PARA OS PONTOS DE REGISTRO DOS OBJETOS OS TIPOS SINTTICOS USADOS NO MDULO PARA AS MACROS OBJECT-TYPE E TRAP-TYPE EXEMPLO EXAMPLE-MIB DEFINITIONS ::= BEGIN -- A MIB is always written in English -- Copyright notice -- MIB Descriptions -- Some or all the the following IMPORTS... IMPORTS enterprises, Counter, Gauge, TimeTicks, IpAddress FROM RFC1155-SMI DisplayString, PhysAddress FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1515; -- Some or all of the following: -- Textual Conventions -- Registration points -- Groups -- SNMP managed Objects -- SNMP traps END

FORMATO BSICO DO MDULO


SMI: IDENTIFICADORES DE OBJETOS


OBJECT IDENTIFIER USADO PARA
PONTOS DE REGISTRO DE ALTO NVEL NA RVORE GRUPOS DE OBJETOS VALOR PARA ITENS COM A SINTAXE OBJECT IDENTIFIER COMO PARA NOMES DE MDULOS MAS INICIANDO COM LETRA MINSCULA ORGANIZAM OBJETOS EM RVORE EXEMPLO: system SO USADOS COMO UNIDADE DE CONFORMIDADE GRUPOS PODEM SER DE IMPLEMENTAO OBRIGATRIA OU OPCIONAL QUANDO SO OBRIGATRIOS, TODOS OS SUB-OBJETOS DEVEM SER SUPORTADOS QUANDO SO OPCIONAIS, PODEM SER IMPLEMENTADOS COMPLETAMENTE OU NO IMPLEMENTADOS

REGRAS PARA NOMES GRUPOS

EXEMPLOS
system OBJECT IDENTIFIER ::= { mib-2 1 }

SMI: DEFINIO DE OBJETOS GERENCIADOS


TRS TIPOS DE OBJETOS PODEM SER DEFINIDOS USANDO A MACRO OBJECT-TYPE
TABELAS LINHAS DE TABELAS

Onde:

OBJETOS FOLHA (SIMPLES E COLUNARES) OS NOMES SO COMO PARA NOMES DE MDULOS MAS DEVEM INICIAR COM LETRA MINSCULA <objectItem> = <objectName> "OBJECT-TYPE" "SYNTAX" <syntax> "ACCESS" <access> "STATUS" <status> [ "DESCRIPTION" <description> ] [ "REFERENCE" <reference> ] [ "INDEX" "{" <indexItems>"}" ] [ "DEFVAL" "{" <defaultValue>"}" ] "::=" "{" <parent> <number>"}" <objectName> = <tableName> | <rowName> | <leafName> <syntax> = { "SEQUENCE" "OF"<SequenceName> } | <SequenceName> | <leafSyntax> <objectName> o nome do item sendo definido; <parent> o nome do item que contem este na arvore de OIDs; <number> o valor do ltimo componente do item sendo definido; e Valores para <access>, <status>, <leafSyntax>, etc. sero definidos depois.

OBJETOS DO TIPO TABELA


UMA TABELA CONSISTE DE LINHAS O PROTOCOLO SNMP NO PERMITE MANIPULAR TABELAS OU LINHAS, APENAS ITENS INDIVIDUAIS DAS COLUNAS (ITENS COLUNARES) PORTANTO, AS TABELAS SO "CONCEITUAIS" A SINTAXE SEQUENCE OF <SEQUNCIA> POR CONVENO, O NOME DE TABELAS USA O SUFIXO Table POR CONVENO, O NOME DA SEQUNCIA ASSOCIADA O PREFIXO DO NOME DA TABELA (SEM Table) INICIANDO COM LETRA MAISCULA (IDENTIFICANDO UM TIPO) E COM O SUFIXO Entry EXEMPLO: PARA A TABELA ifTable, A SEQUNCIA SERIA DO TIPO IfEntry O VALOR DE ACCESS DEVE SER not-accessible, J QUE SNMP NO MANIPULA TABELAS (DIRETAMENTE)

OBJETOS DO TIPO TABELA


A SINTAXE DE DEFINIO DE OBJETOS GERENCIADOS SEGUE UMA MIB CONSISTE DE TAIS DEFINIES, EM GRANDE PARTE <tableName> "OBJECT-TYPE" "SYNTAX" "SEQUENCE" "OF" <SequenceName> "ACCESS" "not-accessible" "STATUS" <status> [ "DESCRIPTION" <description> ] [ "REFERENCE" <reference> ] "::=" "{" <parent> <number>"}" <tableName> = <name>"Table" <SequenceName> = <Name>"Entry" Onde: <name> o prefixo da tabela sendo definida; <Name> o prefixo da sequncia associada; <parent> o nome do item que contem este diretamente na arvore de OIDs; <number> o valor do ltimo componente do item sendo definido; e Valores para <status>, <description>, etc. so definidos depois. Exemplo: ifTable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory ::= { interfaces 2 }

OBJETOS DO TIPO LINHA


UMA LINHA CONSISTE DE COLUNAS O PROTOCOLO SNMP NO MANIPULA COLUNAS DIRETAMENTE MAS GET E GET-NEXT PODEM SER USADOS PARA ACESSAR TODAS AS COLUNAS DE UMA DETERMINADA LINHA DE UMA NICA VEZ POR CONVENO, O NOME DA LINHA O NOME DA TABELA COM Table SUBSTITUIDO POR Entry O TIPO SINTTICO DA LINHA DEVE SER A SEQUNCIA USADA PARA DEFINIR A TABELA O VALOR DE OID PARA O OBJETO LINHA DEVE SER O OID DA TABELA COM A ADIO DE 1 A CLUSULA INDEX ESPECIFICA COMO IDENTIFICAR INSTNCIAS DA LINHA UNICAMENTE VIDE DETALHES FRENTE

OBJETOS DO TIPO LINHA


A SINTAXE DE DEFINIO DE OBJETOS DO TIPO LINHA SEGUE <rowName> "OBJECT-TYPE" "SYNTAX" <SequenceName> "ACCESS" "not-accessible" "STATUS" <status> [ "DESCRIPTION" <description> ] [ "REFERENCE" <reference> ] "INDEX" "{" <indexItems> "}" "::=" "{" <tableName> 1 "}" <rowName> = <name>"Entry" <SequenceName> = <Name>"Entry" <tableName> = <name>"Table" <indexItems> = <indexItem> [ ","<indexItem> ]...

Onde: <name> o prefixo da linha sendo definida e o prefixo da tabela associada; <Name> o prefixo da sequncia associada; <indexItem> o nome de um item na sequncia para a linha (ou o nome de um tipo sinttico); e Valores para <status>, <description>, etc. sero definidos depois. Exemplo: ifEntry OBJECT-TYPE SYNTAX IfEntry ACCESS not-accessible STATUS mandatory INDEX { ifIndex } ::= { ifTable 1 }

DEFINIES DE SEQUNCIA
UMA SEQUNCIA DEFINE AS COLUNAS DA LINHA O NOME DA SEQUNCIA INICIA COM LETRA MAISCULA NORMALMENTE, OS ITENS DA SEQUNCIA SO FILHOS DO OBJETO LINHA MAS QUANDO SE ESTENDE UMA TABELA, ALGUNS DOS OBJETOS COLUNARES DA TABELA EXISTENTE PODEM SER ADICIONADOS NOVA SEQUNCIA ALM DO NOME, A SINTAXE DE CADA OBJETO COLUNAR DEVE SER DEFINIDA NORMALMENTE UM RESUMO DA SINTAXE TOTAL DO ITEM NO PRECISA DE TAMANHO, FAIXA, ENUMERAES DE INTEIROS UMA SEQUNCIA PODE SER USADA APENAS PARA UMA TABELA E UMA LINHA UMA SEQUNCIA NO PODE SER IMPORTADA DE OUTRO MDULO

DEFINIES DE SEQUNCIA
A SINTAXE SEGUE: <seqItem> = <SequenceName> "::=""SEQUENCE" "{" <columnItem> <leafSyntax>

{ "," <columnItem> <leafSyntax> }... "}" <SyntaxName> = <Name>"Entry" Onde: <Name> o prefixo da sequ6encia sendo definida; <columnItem> o nome de um item da sequncia; e <leafSyntax> a sintaxe simplificada do item. Exemplo: IpAddrEntry ::= SEQUENCE { ipAdEntAddr IpAddress, ipAdEntIfIndex INTEGER, ipAdEntNetMask IpAddress, ipAdEntBcastAddr INTEGER, ipAdEntReasmMaxSize INTEGER }

OBJETOS FOLHA
O MENOR OBJETO DE AGRUPAMENTO UM OBJETO FOLHA MAIS UMA INSTNCIA FORMAM UMA VARIVEL SNMP VARIVEIS SO OPERANDOS DO PROTOCOLO PODEM SER SIMPLES EX. O NMERO DE INTERFACES DE UM DISPOSITIVO S TM UMA INSTNCIA A INSTNCIA TEM OID COM COMPONENTE FINAL 0 OBJETOS SIMPLES NORMALMENTE TM O MESMO PREFIXO DO GRUPO AO QUAL PERTENCEM

OBJETOS FOLHA
PODEM SER COLUNARES ORGANIZADOS EM TABELAS CONCEITUAIS PODE HAVER VRIAS INSTNCIAS EX. A VELOCIDADE DE UMA INTERFACE A INSTNCIA FORMADA ATRAVS DO OID DO OBJETO COLUNAR MAIS O VALOR DA CLUSULA INDEX DA LINHA CORRESPONDENTE OBJETOS COLUNARES NORMALMENTE TM O MESMO PREFIXO DA LINHA A SINTAXE SEGUE <leafName> "OBJECT-TYPE" "SYNTAX" <leafSyntax> "ACCESS" <access> "STATUS" <status> [ "DESCRIPTION" <description> ] [ "REFERENCE" <reference> ] [ "DEFVAL" "{" <defaultValue>"}" ] "::=" "{" <parent> <number>"}" <leafName> o nome do objeto folha sendo definido; <parent> o nome do item que contem este na rvore de OIDs (ou uma linha ou um grupo); <number> o valor do ltimo componente do item sendo definido; e Valores para <leafSyntax>, <access>, <status>, etc. sero definidos depois.

Onde:

Exemplos: sysUpTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory ::= { system 2 }

ipAdEntAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory ::= { ipAddrEntry 1 }

CONVENES TEXTUAIS
USADAS PARA ESPECIFICAR SEMNTICA ADICIONAL A UM TIPO SINTTICO EXISTENTE A NICA FORMA DE "ESTENDER" OS TIPOS SINTTICOS DA SMI DUAS CONVENES TEXTUAIS SO DEFINIDAS DisplayString (CARACTERES ASCII IMPRIMVEIS) PhysAddress AMBAS SO BASEADAS EM OCTET STRING NENHUMA CODIFICAO NOVA DE TIPOS NECESSRIA AS RESTRIES SO DESCRITAS EM COMENTRIOS ANEXADOS CONVENO TEXTUAL A SINTAXE SEGUE: <textConvItem> = <textConvName> "::=" <leafSyntax> <textConvName> o nome da conveno textual sendo definida; e <leafSyntax> qualquer tipo sinttico. Exemplos: DisplayString ::= OCTET STRING (SIZE(0..255)) Status ::= INTEGER { enabled(1), disabled(2) }

Onde:

VALORES PARA SYNTAX


PARA TABELAS, SEQUENCE OF <NomeDeSequncia> PARA OBJETO DO TIPO LINHA, <NomeDeSequncia> PARA FOLHAS, NO PODE USAR UMA SEQUNCIA ANS.1 PERMITE, MAS NO SMI A SINTAXE SEGUE: <leafSyntax> = { "INTEGER" [ <range> | <enums> ] } | { "OCTET" "STRING" [ <size> ] } | { "OBJECT" "IDENTIFIER" } | { <smiApplType> } | { <textConvName> [ <range> | <size> ] } <smiApplType> = "NetworkAddress" | "IpAddress" | "Counter" | "Gauge" | "TimeTicks" | "Opaque" <range> = "(" <lower> ".." <higher> ")" <enums> = "{" <enumItem> [ "," <enumItem> ]... "}" <enumItem> = <enumName> "(" <enumValue> ")" <size> = "(" "SIZE" "(" <smallest> [ ".." <largest>] ")" ")" <lower> and <higher> podem ser inteiros positivos ou negativos, strings de bits constantes, ou constantes hexstring; <enumName> inicia com letra minuscula seguida de um nmero arbitrrio de letras, dgitos, e hifen. <enumValue> um inteiro positivo, constante bitstring ou hexstring que no tenha valor zero <smallest> e <largest> podem ser inteiros no negativos, constantes bitstring ou hexstring. INTEGER 32 BITS PODEM ESPECIFICAR UMA FAIXA SYNTAX INTEGER (0..65535) SYNTAX INTEGER (0..'ffff'h) SYNTAX INTEGER (0..'ff'H)

Onde:

VALORES PARA SYNTAX


<enums> CASO ESPECIAL DE INTEGER NO PODE USAR ZERO OU NEGATIVO VARIVEIS S PODEM TER OS VALORES ESPECIFICADOS DEVERIA TER UMA OPO "other" MAS MUITAS MIBs NO USAM A DESCRIO DEVERIA EXPLICAR VALORES NO BVIOS SYNTAX INTEGER { gateway(1), host(2) } SYNTAX INTEGER { other(1), invalid(2), direct(3), indirect(4) } OCTET STRING STRING DE BYTES COM INFORMAO BINRIA PODE TER UM TAMANHO SYNTAX OCTET STRING (SIZE (0..9)) tamanho varivel SYNTAX OCTET STRING tamanho varivel SYNTAX OCTET STRING (SIZE (6)) tamanho fixo DisplayString CONVENO TEXTUAL UM OCTET STRING COM CARACTERES ASCII IMPRIMVEIS DEVE TER UM TAMANHO MAS FREQUENTEMENTE OMITIDO SYNTAX DisplayString (SIZE (0..255))

VALORES PARA SYNTAX


PhysAddress CONVENO TEXTUAL UM OCTET STRING ONDE OS BYTES REPRESENTAM UM ENDEREO FSICO EM "NETWORK ORDER" (BIG-ENDIAN) SYNTAX PhysAddress (SIZE (6)) OBJECT IDENTIFIER UM VALOR DE OID SYNTAX OBJECT IDENTIFIER NetworkAddress S ENDEREOS IP SO SUPORTADOS TIPO DISCONTINUADO: NO USE IpAddress OCTET STRING DE 4 BYTES EM "NETWORK ORDER" Counter INTEIRO NO NEGATIVO QUE CONTA AT 232-1 E VOLTA PARA ZERO NO PODE TER FAIXA VALOR ABSOLUTO NO SIGNIFICA NADA PRECISA DE 2 VALORES E USAR A DIFERENA Gauge INTEIRO NO NEGATIVO QUE PODE AUMENTAR OU DIMINUIR MAS RETORNA 232-1 COMO VALOR MXIMO NO PODE TER FAIXA EXEMPLO: ifOutQLen

VALORES PARA SYNTAX


TimeTick INTEIRO NO NEGATIVO QUE CONTA CENTSIMOS DE SEGUNDOS DESDE UM MARCO DE TEMPO (EPOCH) O MARCO DE TEMPO DEVE SER ESPECIFICADO NA DESCRIO NO PODE TER FAIXA Opaque USADOS EM MIBs PRIVADAS PARA REPRESENTAR UM VALOR QUALQUER QUANDO NO TEM OUTRO DISPONVEL NO DEVE SER USADO MAIS read-only read-write

VALORES PARA ACCESS


write-only not-accessible

NECESSRIO PARA TABELAS E LINHAS

VALORES PARA STATUS


mandatory SE UMA IMPLEMENTAO NO SUPORTA O OBJETO, ELA "NON-CONFORMANT" PARA ESTA MIB optional "optional" NO DEVE SER USADO OS CRIADORES DE SNMP ADMITEM QUE FOI UM ERRO GRUPOS INTEIROS PODEM SER OPCIONAIS MAS NO OBJETOS INDIVIDUAIS COMENTRIOS INDICAM OS GRUPOS OBRIGATRIOS E OPCIONAIS obsolete INDICA QUE O OBJETO NO DEVE SER USADO MAIS deprecated INDICA QUE O OBJETO PODE SER USADO MAS VAI DESAPARECER COM TEMPO STRING ENTRE ASPAS DUPLAS PODE TER VRIAS LINHAS DESCREVE A SEMNTICA DO OBJETO AJUDA OS ESCRITORES DE GERENTES E AGENTES SERVE DE HELP PARA O OPERADOR QUANDO FAZ MIB BROWSING STRING DE DESCRIO PARA APONTAR UM OUTRO LUGAR (OBJETO, DOCUMENTO) QUE DESCREVE O MESMO OBJETO OU DO QUAL O OBJETO DEPENDE

VALORES PARA DESCRIPTION


VALORES PARA REFERENCE

VALORES PARA INDEX


S PARA OBJETO DO TIPO LINHA LISTA AS COLUNAS QUE SERVEM DE ESPECIFICADORES DE INSTNCIAS PARA OBJETOS COLUNARES A ORDEM DOS ITENS INDICA COMO A INSTNCIA MONTADA A DESCRIO DEVE INFORMAR A SEMNTICA DOS ITENS DO INDEX USADO COMO DICA PARA A IMPLEMENTAO DE AGENTES PARA A CRIAO DE LINHAS USANDO SET E QUANDO O SET NO ESPECIFICA TODOS OS VALORES DAS COLUNAS S DEVE SER USADO PARA OBJETOS COLUNARES QUE NO PARTICIPAM DO INDEX

VALORES PARA DEFVAL

CONSIDERAES PARA INSTNCIAS


PARA OBJETOS SIMPLES QUE NO ESTO EM TABELA iso org dod internet mgmt mib system sysDescr (instance) 1 3 6 1 2 1 1 1 0 ou 1.3.6.1.2.1.1.1.0 ou sysDescr.0 PARA OBJETOS QUE ESTO EM TABELA, USAR OS ITENS DE INDEX COMO SEGUE CODIFICAO DA INSTNCIA UM NICO COMPONENTE USADO

TIPO SINTTICO INTEGER

STRING DE TAMANHO N COMPONENTES SO USADOS, UM PARA CADA BYTE DO STRING. O TIPO FIXO DEVE INDICAR O TAMANHO (VIA CONVENO TEXTUAL OU NO) STRING DE TAMANHO N+1 COMPONENTES SO USADOS: O TAMANHO EM BYTES SEGUIDO DOS VARIVEL BYTES, UM POR COMPONENTE IpAddress IDENTIFICADOR OBJETO 4 COMPONENTES SO USADOS: CADA BYTE DO ENDEREO EM "NETWORK ORDER" DE N+1 COMPONENTES SO USADOS: O NMERO DE COMPONENTES NO VALOR DO OID SEGUIDO DOS COMPONENTES DO VALOR DO OID

NetworkAddress

CINCO COMPONENTES SO USADOS. O PRIMEIRO COMPONENTE TEM VALOR 1 PARA INDICAR UM ENDEREO IP. SEGUE COMO IpAddress

REGRAS PARA A DEFINIO DE OBJETOS


COLOCAR OBJETOS EM GRUPOS LGICOS HIERRQUICOS UM GRUPO COMPLETO PODE SER DESIGNADO COMO OPCIONAL OU OBRIGATRIO O COMPONENTE ZERO (0) NO PODE SER USADO PARA UM OBJETO O OID DE UM OBJETO DO TIPO LINHA PARA UMA TABELA DEVE ESTAR UM NVEL ABAIXO DA TABELA E DEVE TER O LTIMO COMPONENTE IGUAL A 1 NO DEVE HAVER IRMOS PARA ESTE OBJETO LINHA OS OBJETOS COLUNARES DEVEM ESTAR UM NVEL ABAIXO DO OBJETO LINHA EM SNMP, OBJETOS AGREGADOS SO DEFINIDOS COMO TABELAS UMA OU MAIS COLUNAS SO DESIGNADAS COMO NDICES DAS LINHAS NO PODE TER TABELAS DENTRO DE TABELAS PARA SIMULAR TABELAS ANINHADAS, ELEVE O NVEL DA OUTRA TABELA AO NVEL DA PRIMEIRA, E COLUNAS QUE SO NDICES DA TABELA ORIGINAL PODEM SER ADICIONADAS TABELA NOVA COM OUTRO NOME OS NDICES DA NOVA TABELA SERO OS NDICES DA TABELA ORIGINAL (RENOMEADOS) MAIS OS NDICES NATURAIS DA NOVA TABELA

REGRAS PARA A DEFINIO DE OBJETOS


TABELAS QUE PERMITEM A CRIAO E REMOO DE LINHAS (DISCUTIDAS FRENTE) DEVEM TER UMA COLUNA xxxType OU xxxStatus QUE UMA ENUMERAO POR CONVENO, O PRIMEIRO VALOR DEVE SER other OU valid E O SEGUNDO VALOR DEVERIA SER invalid PARA REMOVER UMA LINHA, COLOCAR invalid NESTA VARIVEL UMA NOVA LINHA CRIADA COM UMA NICA OPERAO SET AS VARIVEIS DO SET SO AS COLUNAS OBRIGATRIAS A CLUSULA DESCRIPTION DEVE DESCREVER A SEMNTICA DA CRIAO E REMOO A CLUSULA DESCRIPTION DEVE SER USADA PARA CADA OBJETO FOLHA PARA DESCREVER SUA FUNO E SEU USO TODOS OS NOMES DE UM MDULO MIB DEVEM SER NICOS NOMES DE OBJETOS INICIAM COM LETRA MINSCULA NOMES DE OBJETOS QUE SO CONTADORES DEVEM TERMINAR COM "s" (PLURAL) OBJETOS QUE SO STRINGS IMPRIMVEIS DEVEM USAR A CONVENO TEXTUAL DisplayString OBJETOS QUE CONTM INFORMAO BINRIA DEVEM USAR OCTET STRING ENDEREO FSICOS DEVEM USAR PhysAddress E NO OCTET STRING

REGRAS PARA A DEFINIO DE OBJETOS


OBJETOS DEVEM SER PROJETADOS PARA A IDEMPOTNCIA SNMP USA UDP E O GERENTE PODE DUPLICAR O PEDIDO SE NO HOUVER RESPOSTA APS UM TIMEOUT O NMERO DE COLUNAS DE UMA TABELA DEVE SER PEQUENO O SUFICIENTE PARA QUE UMA LINHA INTEIRA POSSA SER RECUPERADA COM UMA NICA OPERAO GET

REGRAS GERAIS PARA O PROJETO DE MIBs


INFORMAO DEMAIS CRIA TANTO PROBLEMA QUANTO INFORMAO INSUFICIENTE INICIE LENTAMENTE E S INCLUA OBJETOS IMPORTANTES PARA A GERNCIA INICIE COM OS OBJETOS QUE SO IMPORTANTES PARA A GERNCIA DE CONFIGURAO E FALTAS (AS DUAS REAS MAIS IMPORTANTES) LEMBRE QUE A SEGURANA DO SNMPv1 E SNMPv2 FRACA NO DEPENDA DEMAIS NO CONTROLE REMOTO USANDO SET NO COLOQUE OBJETOS PARA "GUARDAR LUGAR" PARA ADIES FUTURAS CADA OBJETO DEVE SER USADO DE FATO EVITE REDUNDNCIA NO DEFINA OBJETOS QUE PODEM FACILMENTE SER CALCULADOS COM O VALOR DE OUTROS USE DIAGRAMAS CASE (VIDE FRENTE) PARA MOSTRAR A RELAO ENTRE CONTADORES

ESCOLHA OBJETOS GENRICOS QUE PODERO SER USADOS EM OUTROS PRODUTOS SEES CRTICAS DE CDIGO NO DEVEM SER INSTRUMENTADAS DEMAIS APS COLOCAR INSTRUMENTAO SNMP NUM DISPOSITIVO, ESTE DEVE AINDA FUNCIONAR BEM NO SEU PAPEL ORIGINAL

DIAGRAMAS CASE
MOSTRAM VISUALMENTE A RELAO ENTRE CONTADORES

SMI: TRAPS
USADOS PELO AGENTE PARA INDICAR UM EVENTO EXTRAORDINRIO PARA O GERENTE
SINTAXE FRACA EM SNMPv1 NO USA OIDs PARA IDENTIFICAR TRAPS USA NUMERAO "FLAT" COM 6 EVENTOS MECANISMO DE EXTENSO QUANDO O VALOR DO CAMPO DE TRAP enterpriseSpecific(6) NESTE CASO, O VALOR DO TRAP E O CAMPO enterprise SO USADOS CONJUNTAMENTE PARA IDENTIFICAR O TRAP NINGUM USA ESTE MECANISMO MUDANAS GRANDES EM SNMPv2 USADO PARA DEFINIR TRAPS SINTAXE SEGUE: <trapItem> = <trapName> "TRAP-TYPE" "ENTERPRISE" <oidName> [ "VARIABLES" "{" <varName>["," <varName>]... "}" ] [ "DESCRIPTION" <description> ] [ "REFERENCE" <reference> ] "::=" <value> <trapName> o nome do trap sendo definido; <oidName> pode ser "snmp" ou o valor a retornar no campo "enterprise"; <value> o valor do trap retornado em um dos campos "generic-trap" ou "specific-trap"; e Valores para <varName>, <description>, e <reference> sero definidos depois.

A MACRO TRAP-TYPE

Onde:

VALORES PARA ENTERPRISE


DETERMINA O VALOR A RETORNAR NO CAMPO enterprise DA PDU TRAP DO PROTOCOLO SNMP SE O VALOR ESPECIFICADO FOR "snmp", USA-SE O VALOR DE sysObjectID DO AGENTE QUE GEROU O TRAP O TRAP DO TIPO snmp-generic COM OUTRO VALOR, ESTE DEVE SER RETORNADO NA PDU O TRAP DO TIPO enterprise-specific OPCIONAL INDICA QUAIS OBJETOS INTERESSANTES DEVEM SER RETORNADOS NO TRAP DESCRIPTION DEVE INDICAR QUE INSTNCIAS RETORNAR O AGENTE PODE RETORNAR MAIS VARIVEIS AT UM MXIMO DE 484 BYTES O GERENTE DEVE ESTAR PRONTO PARA RECEBER QUAISQUER VARIVEIS, NO S AQUELAS ESPECIFICAS NA CLUSULA VARIABLES PROV TODA A SEMNTICA NECESSRIA IMPLEMENTAO COMO PARA OBJECT-TYPE

VALORES PARA VARIABLES


VALORES PARA DESCRIPTION VALORES PARA REFERENCE


VALORES PARA TRAP-TYPE


SE FOR ENTERPRISE snmp, O VALOR DEVE ESTAR ENTRE 0 E 5 (GENERIC TRAP) O CAMPO GENERIC-TRAP DA PDU CONTM ESTE VALOR O CAMPO SPECIFIC-TRAP DA PDU CONTM ZERO CASO CONTRRO, UM ENTERPRISE-SPECIFIC TRAP O CAMPO GENERIC-TRAP DA PDU CONTM enterpriseSpecific(6) O CAMPO SPECIFIC-TRAP DA PDU CONTM ESTE VALOR EXEMPLOS SEGUEM: coldStart TRAP-TYPE ENTERPRISE snmp ::= 0 fooTrap TRAP-TYPE ENTERPRISE foo ::= 45 coldStart um generic trap; e fooTrap um enterprise-specific trap.

Onde

CONSIDERAES PARA TRAPS


TRAPS NO SO CONFIRMADOS (PODEM NO SER RECEBIDOS) E NO TM IDENTIFICAO NICA (NO TEM CAMPO REQUEST-ID NA PDU) AGENTE NO SABE SE O GERENTE RECEBEU O TRAP GERENTE NO SABE SE O TRAP UMA DUPLICATA NO H FORMA DE GARANTIR A RECEPO DO TRAP

DICAS PARA CRIAR MIBs PROPRIETRIAS


POR QUE CRIAR UMA MIB PROPRIETRIA?
MIBs SNMP PADRO OFERECEM POUCOS OBJETOS PARA CONTROLAR DISPOSITIVOS DEVIDO FRACA SEGURANA DO SNMP (v1 E v2) PARA MONITORAR/CONTROLAR CARACTERSTICAS ESPECFICAS DOS DISPOSITIVOS FABRICANTE PARA ESTENDER AS MIBs PADRO E AUMENTAR A MONITORAO E CONTROLE DO

DEVE ADICIONAR NO GALHO enterprises.nomeDaEmpresa COMO ORGANIZAR A RVORE PROPRIETRIA?


CADA FABRICANTE ORGANIZA COMO QUISER A LINHA DE PRODUTOS DO FABRICANTE AFETA A ORGANIZAO DA RVORE UMA FORMA DE ORGANIZAO USA 4 GALHOS

UM GALHO PARA REGISTRO DE OIDs DE PRODUTOS PARA sysObjectID UM GALHO EXPERIMENTAL PARA EXPERIMENTOS, DEMOS EM FEIRAS, ETC. UM GALHO PARA ESTENDER MIBs PADRO PODE DUPLICAR A RVORE mib-2 (SHADOW TREE) UM GALHO PARA MIBs PROPRIETRIAS ORGANIZADAS POR LINHA DE PRODUTO.

SMIv2
DESCREVEMOS AS MUDANAS PRINCIPAIS NA SMIv2 COMPARADA COM SNMv1 DESCRITA ACIMA H TRS TIPOS DE MDULOS
MDULOS MIB DEFINEM OBJETOS GERENCIADOS COMPLIANCE STATEMENTS DESCREVEM OS REQUISITOS DOS NODOS GERENCIADOS COM RESPEITO A UMA OU MAIS MIBs VER FRENTE CAPABILITY STATEMENTS DESCREVEM QUO BEM UM NODO GERENCIADO PARTICULAR IMPLEMENTA OS OBJETOS DE UMA OU MAIS MIBs VER FRENTE

A NOVA RVORE DO SNMPv2

MDULOS SO MELHOR IDENTIFICADOS


EXEMPLO snmpMIB MODULE-ENTITY LAST-UPDATED "9303040000Z" ORGANIZATION "IETF SNMPv2 Working Group" CONTACT-INFO " Marshall T. Rose Postal: Dover Beach CONsulting, Inc. 420 Whisman Court Mountain View, CA 94043-2186 US Tel: +1 415 968 1052

Fax: +1 415 968 2510 E-mail: mrose@dbc.mtview.ca.us" DESCRIPTION "The MIB nodule for SNMPv2 entities." ::= { snmpModules 1 } OBSERVE QUE MDULOS SO IDENTIFICADOS COM iso.org.dod.internet.snmpV2.snmpModules (1.3.6.1.6.3) TAMBM PODE CONTER REVISES COM DATA E DESCRIO

OIDs

TAMBM

EM

sysObjectID MELHOR DEFINIDOS


OIDs DE PRODUTOS PODEM SER DEFINIDOS COM A MACRO OBJECT-IDENTITY router2522 OBJECT-ODENTITY STATUS current DESCRIPTION "The authoritative identity of the model 2522 router." :: = { routers 1 }

DEFINIES DE OBJETOS GERENCIADOS MUDARAM UM POUCO


UNITS DESCREVEM AS UNIDADES DO OBJETO USADO PARA O GERENTE MELHOR APRESENTAR A INFORMAO EM GRFICOS, ETC. ACCESS VIROU MAX-ACCESS read-create (PODE LER, CRIAR, GRAVAR) read-write (NO PODE SER CRIADO) read-only (S LEITURA) accessible-for-notify (PODE USAR EM TRAPS APENAS: S AGENTE ACESSA) not-accessible (COMO ANTES) STATUS MUDOU UM POUCO NO TEM mandatory E optional S TEM current, deprecated, obsolete INDEX MUDOU UM POUCO EM STRINGS DE TAMANHO VARIVEL USADOS PARA FORMAR INSTNCIAS E COM O USO DE INDEX {IMPLIED ...}, NO PRECISA DO PRIMEIRO BYTE (PARA FORAR A RDEM LEXICOGRFICA A FAZER MAIS SENTIDO) SEM IMPLIED, UM STRING MENOR VIRIA SEMPRE ANTES DE UM MAIOR CLUSULA AUGMENTS PARA CRIAR UMA TABELA QUE UMA EXTENSO DE OUTRA TABELA DEVE SEMPRE HAVER UMA LINHA NA NOVA TABELA PARA CADA LINHA NA ANTIGA SE NO HOUVER, MELHOR USAR O MECANISMO ANTIGO COM INDEX

DEFINIES DE OBJETOS GERENCIADOS MUDARAM UM POUCO


A CLUSULA SYNTAX MUDOU PODE USAR BITS SYNTAX BITS { readable(0), writable(1), creatable(2) } CODIFICADOS COMO OCTET STRING VRIOS TIPOS ETIQUETADOS NOVOS Counter32 Gauge32 Counter64 (SE Counter32 CAUSAR WRAP-AROUND EM MENOS E 1 HORA) Unsigned32 (COMO Gauge32)

TEXTUAL CONVENTIONS FORMALIZADAS

EXEMPLO DisplayString ::= TEXTUAL-CONVENTION DISPLAY-HINT "255a" STATUS current DESCRIPTION "Represents textual information taken from the NVT ASCII character set, as defined in pages 4, 10-11 of RFC 854. To summarize RFC 854, the NVT ASCII repertoire specifies:

- the use of character codes 0-127 (decimal) - the graphics characters (32-126) are interpreted as US ASCII - NUL, LF, CR, BEL, BS, HT,VT and FF have the special meanings specified in RFC 854 - the other 25 codes have no standard interpretation - the sequence 'CR LF' means newline - the sequence 'CR NUL' means carriage-return - an 'LF' not preceded by a 'CR' means moving to the same column on the next line. - the sequence 'CR x' for any x other than LF or NUL is illegal. (Note that this also means that a string may end with either 'CR LF' or 'CR NUL', but not with CR.) Any object defined using this syntax may not exceed 255 characters in length." SYNTAX OCTET STRING (SIZE (0..255))

VRIAS TEXTUAL CONVENTIONS PR-DEFINIDAS NO MDULO SNMPv2TC


DisplayString PhysAddress MacAddress TruthValue TestAndIncr OCTET STRING (SIZE(0..255)) OCTET STRING OCTET STRING (SIZE(6)) INTEGER { true(1), false(2) } INTEGER (0..2147483647) UM SEMFORO PARA SINCRONIZAR APLICAES DE GERNCIA AO FAZER SET, SE O VALOR DADO FOR IGUAL AO VALOR ATUAL: OK E O VALOR INCREMENTADO SENO RETORNA ERRO NO SET

TimeInterval INTEGER (0..2147483647) PARA MEDIR A DIFERENA ENTRE TimeTicks) DateAndTime PARA ESPECIFICAR UMA DATA/HORA E VRIAS OUTRAS CONVENES TEXTUAIS ...

DEFINIO DE TRAPS MUDOU


FINALMENTE, OS TRAPS TM OID IDENTIFICAES DE TRAPS SO HIERRQUICAS TRS TRAPS FORAM DEFINIDOS coldStart warmStart (OBJETOS NO MUDARO DE VALOR COM EXCEO DE sysUpTime E CONTADORES) authenticationFailure EXEMPLO linkUp NOTIFICATION-TYPE OBJECTS { ifIndex } STATUS current DESCRIPTION "A linkUp trap signifies that the SNMPv2 entity, acting in an agent role, recognizes that one of the communication links has come up." ::= { snmpTraps 4 }

EXEMPLO DE COMPLIANCE STATEMENT


USA O CONCEITO DE GRUPO DE OBJETOS DEFINIDOS FORMALMENTE snmpCommunityGroup OBJECT-GROUP

OBJECTS { snmpInBadCommunityNames, snmpInBadCommunityUses } STATUS current DESCRIPTION "A collection of objects providing basic instrumentation of an SNMPv2 entity which supports community-based communication." ::= { snmpMIBGroups 2 } snmpBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the SNMPv2 entities which implement the SNMPv2 MIB." MODULE -- this module MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup, snmpBasicNotificationsGroup } GROUP snmpCommunityGroup DESCRIPTION "The snmpCommunity group is mandatory only for those SNMPv2 entities which support community-based authentication." ::= { snmpMIBCompliances 1 } A RVORE AQUI LOCALIZA PONTOS CHAVES DA RVORE PARA O EXEMPLO ACIMA

CAPABILITY STATEMENT
DETALHA COMO UM AGENTE ESPECFICO SE COMPORTA EXEMPLO exampleAgent AGENT_CAPABILITIES PRODUCT-RELEASE "ACME Agent release 1.1 for Windows NT" STATUS current DESCRIPTION "..." SUPPORTS IF-MIB INCLUDES {ifGeneralGroup } VARIATION ifAdminStatus DESCRIPTION "Unable to set test mode on Windows NT." SUPPORTS IP-MIB INCLUDES {ipGroup, icmpGroup } VARIATION ipDefaultTTL SYNTAX INTEGER (255..255) DESCRIPTION "Hardwired in Windows NT." VARIATION ipInAddrErrors ACCESS not-implemented DESCRIPTION "Information not available on Windows NT." VARIATION ipRouteType SYNTAX INTEGER { direct(3), indirect(4) } WRITE-SYNTAX INTEGER{ invalid(2), direct(3), indirect(4) } DESCRIPTION "Information limited on Windows NT." SUPPORTS TCP-MIB INCLUDES { tcpGroup } VARIATION tcpConnState ACCESS read-only DESCRIPTION "Unable to set this on Windows NT." ::= { acme-agents 1 }

O NVEL DE INSTRUMENTAO MODELO OPERACIONAL: O PROTOCOLO SNMP ITERAES DE PROTOCOLO


AS ITERAES CONSISTEM GERALMENTE DE UM PEDIDO SEGUIDO DE UMA RESPOSTA AS PROTOCOL DATA UNITS (PDUs) (SNMPv2)
TODAS AS PDUs TM O MESMO FORMATO MESMO QUE CERTOS CAMPOS NO SEJAM USADOS OS CAMPOS: O TIPO PEDIDOS: GET, GET-NEXT, GET-BULK MODIFICAES: SET RESPOSTAS: RESPONSE TRAP MANAGER-TO-MANAGER: INFORM REQUEST-ID PARA A APLICAO ASSOCIAR RESPOSTAS A PEDIDOS ERROR-STATUS SE NO ZERO, INDICA UM ERRO E QUE AS VARIABLE BINDINGS DEVEM SER IGNORADAS S USADO EM RESPOSTAS ERROR-INDEX SE NO ZERO, INDICA QUAL VARIVEL EST EM ERRO S USADO EM RESPOSTAS VARIABLE-BINDINGS LISTA DE VARIVEIS COM UM NOME E UM VALOR

QUATRO POSSIBILIDADES PARA UM PEDIDO


RESPOSTA SEM ERRO OU EXCEO RESPOSTA COM UMA OU MAIS EXCEES RESPOSTA COM ERRO TIMEOUT PEDIDO VAI CONTENDO: UM REQUEST-ID NICO ERROR-STATUS E ERROR-INDEX IGUAIS A ZERO ZERO OU MAIS VARIABLE BINDINGS COM AS VARIVEIS CONTENDO O VALOR unSpecified SE A OPERAO NO FOR TRAP, A RESPOSTA VEM COM O MESMO REQUEST-ID ERRO-STATUS = 0 OS MESMOS VARIABLE BINDINGS COM OS VALORES CORRETOS PREENCHIDOS SE A OPERAO NO FOR DE ACESSO, OS VARIABLE BINDINGS VOLTAM COM OS MESMOS VALORES DE VARIVEIS

REPOSTA SEM ERRO

REPOSTA COM EXCEO


O VALOR DE QUALQUER UMA (OU MAIS) DAS VARIVEIS PODE CONTER: noSuchObject (VARIVEL NO IMPLEMENTADA PELO AGENTE) noSuchInstance (A INSTNCIA PEDIDA NO EXISTE) endOfMIBView (COM GET-NEXT, SIGNIFICA QUE NO TEM MAIS INFORMAO) NO SNMPv1, NO TEM EXCEO OS CASOS ACIMA GERAM O ERRO noSuchInstance ERROS SE APLICAM OPERAO INTEIRA

REPOSTA COM ERRO

OS ERROS POSSVEIS SO: tooBig (A REPOSTA NO CABE NA PDU DE RESPOSTA) genErr (ERRO GERAL NO ESPECIFICADO INDICANDO QUE O PEDIDO NO FOI PROCESSADO) TEM OUTROS ERROS POSSVEIS PARA SET VER ADIANTE

DETALHES ADICIONAIS PARA A OPERAO GET-NEXT


OIDs SO CONSIDERADAS ORDENADAS LEXICOGRAFICAMENTE ALGUNS AGENTES TM BUGS! GET-NEXT RETORNA A PRXIMA INSTNCIA get-next( {sysDescr, unSpecified} ) RETORNA sysDescr.0 E SEU VALOR OBSERVE QUE PODE-SE FAZER GET-NEXT DE UM OBJETO OU DE UMA INSTNCIA GET-NEXT PODE SER USADO PARA VER SE UM DETERMINADO OBJETO SUPORTADO PELO AGENTE A OPERAO DE ENCAMINHAMENTO (TRAVERSAL, WALK) RESULTA DA APLICAO REPETIDA DE GET-NEXT COM O VALOR RETORNADO PELO GET-NEXT ANTERIOR AO CAMINHAR NUMA TABELA, CADA INSTNCIA DA PRIMEIRA COLUNA RETORNADA, DEPOIS DA SEGUNDA COLUNA, ETC. GET-NEXT PODE CONTER VRIAS VARIVEIS: get-next( {ipRouteDest, unSpecified} ) --> ipRouteDest.0.0.0.0 (supe rota default instalada) get-next( {ipRouteDest.0.0.0.0, unSpecified} ) --> ipRouteDest.192.33.4.0 get-next( {ipRouteDest.192.33.4.0, unSpecified} ) --> ipRouteIfIndex.0.0.0.0 get-next( {ipRouteDest, unSpecified} {ipRouteIfIndex, unSpecified} {ipRouteNextHop, unSpecified}) --> ipRouteDest.0.0.0.0 ipRouteIfIndex.0.0.0.0 ipRouteNextHop.0.0.0.0

DETALHES ADICIONAIS PARA A OPERAO GET-BULK


EQUIVALENTE A VRIOS GET-NEXT EXISTE POR RAZES DE EFICINCIA (S NO SNMPv2) APROXIMADAMENTE 10 VEZES MAIS EFICIENTE PARA VARRER GRANDES TABELAS OS CAMPOS: request-id non-repeaters (NMERO DE VARIVEIS A RECUPERAR UMA NICA VEZ) max-repetitions (NMERO MXIMO QUE OUTRAS VARIVEIS SERO RETORNADAS) variable-bindings (INICIAM COM AS VARIVEIS non-repeaters) GET-BULK PODE TERMINAR ANTES DE PREENCHER TUDO QUE FOI PEDIDO GARANTE NO RETORNAR tooBig EXEMPLO get-bulk [non-repeaters = 1, max-repetitions = 2] ({sysUpTime, unSpecified} {ipNetToMediaPhysAddress, unSpecified} {ipNetToMediaType, unSpecified}) --> ({sysUpTime.0, 123456}, {ipNetToMediaPhysAddress.1.9.2.3.4, "000010543210"}, {ipNetToMediaType.1.9.2.3.4, dynamic}, {ipNetToMediaPhysAddress.1.10.0.0.51, "000010012345"}, {ipNetToMediaType.1.1.10.0.0.51, static})

DETALHES ADICIONAIS PARA A OPERAO SET


A OPERAO ATMICA

SE RETORNAR OK, TODAS AS VARIVEIS FORAM MODIFICADAS O AGENTE TEM QUE USAR UM ALGORITMO TWO-PHASE COMMIT OU ALGO SEMELHANTE PARA GARANTIR A SEMNTICA DE ATOMICIDADE NO PRIMEIRO PASSO, O AGENTE PODE VERIFICAR QUE: A VARIVEL EXISTE O AGENTE PODE MODIFICAR INSTNCIAS DO OBJETO O VALOR SINTATICAMENTE CORRETO SE A VARIVEL NO EXISTE, O AGENTE PODE CRIAR INSTNCIAS DO OBJETO OS NOMES E VALORES SO SEMANTICAMENTE CORRETOS E CONSISTENTES COM OUTROS VALORES NO PEDIDO TODOS OS RECURSOS NECESSRIOS PARA FAZER A MUDANA SO TRAVVEIS

DETALHES ADICIONAIS PARA A OPERAO SET


SNMPv1 NO RETORNAVA UMA INDICAO DO TIPO DE ERRO QUE OCORREU, MAS SNMPv2 PODE RETORNAR: ERROS PERMANENTES noAccess (VARIVEL NO EXISTE) noCreation notWritable ERROS DE PROGRAMAO wrongType (TIPO ASN.1 ERRADO) wrongLength wrongEncoding (CODIFICAO ASN.1 ERRADA) wrongValue (FORA DE FAIXA) ERROS TRANSIENTES inconsistentName (NO PODE CRIAR POR RAZES DE CONSISTNCIA COM OUTROS OBJETOS GERENCIADOS NO AGENTE) inconsistentValue resourceUnavailable (NO PODE RESERVAR UM RECURSO) NO SEGUNDO PASSO, PODE TER MAIS DOIS ERROS (GRAVES!): commitFailed (AS MUDANAS FORAM DESFEITAS) undoFailed (AS MUDANAS NO FORAM DESFEITAS) FINALMENTE: CUIDADO COM IDEM POTNCIA!

DETALHES ADICIONAIS PARA A OPERAO SET: CRIAO E REMOO DE LINHAS CONCEITUAIS


TEM UMA CONVENO TEXTUAL (RowStatus) QUE AJUDA A GERENCIAR ISSO TEM MUITOS DETALHES PARA USO CORRETO E APRESENTAMOS APENAS OS PRINCIPAIS RowStatus ::= TEXTUAL-CONVENTION ... SYNTAX INTEGER { -- two state/action values, may be read or written active(1), notInService(2), -- a state value, may only be read notReady(3), -- three action values, may only be written createAndGo(4), createAndWait(5), destroy(6) }

DUAS FORMAS DE CRIAR UMA LINHA


ONE SHOT O GERENTE FAZ UM GET COM AS COLUNAS OBRIGATRIAS (NDICES) E COLOCA createAndGo NA COLUNA status QUANDO A LINHA ESTIVER OK, O AGENTE AUTOMATICAMENTE COLOCA active NO STATUS

NEGOCIADO (PARA FAZER A CRIAO EM PARTES) O AGENTE NO OBRIGADO A ACEITAR CRIAR AS LINHAS DESTA FORMA O GERENTE COLOCA createAndWait NA COLUNA status DA INSTNCIA A SER CRIADA O AGENTE COLOCA notReady NO status O GERENTE VAI USANDO SET (OU QUALQUER OUTRA OPERAO) AT TERMINAR DE CRIAR A COLUNA QUANDO O AGENTE COLOCAR O VALOR DO status EM notInService, ELE INDICA QUE J TEM COLUNAS SUFICIENTES E QUE A LINHA PODE SER USADA (ELA EXISTE NO DISPOSITIVO, NO S NA REPRESENTAO MIB) O GERENTE COLOCA active NO status PARA DESTRUIR UMA COLUNA, O GERENTE COLOCA destroy NO status

DETALHES ADICIONAIS PARA A OPERAO TRAP


NO SNMPv1, A PDU DIFERENTE NO SNMPv2, A PDU IDNTICA S DEMAIS OS PRIMEIROS DOIS BINDINGS SO SEMPRE: (NAME=sysUpTime.0; VALOR=TEMPO LOCAL DE GERAO DO TRAP) (NAME=snmpTrapOID.0; VALOR=IDENTIFICAO DO TRAP) EXEMPLO, com O TRAP linkUp MOSTRADO ANTERIORMENTE, SE A INTERFACE #7 ENTRAR NO AR 0.06 SEGUNDOS DEPOIS QUE O AGENTE ENTRAR NO AR, OS VARIABLE BINDINGS SERIAM: { sysUpTime.0, 6 } { snmpTrapOID.0, linkUp }, { ifIndex.7, 7 } PARA COMUNICAO GERENTE-A-GERENTE PARA GANHAR ESCALABILIDADE SNMP NUNCA FOI FELIZ NESSA REA MUITO POUCO USADO

DETALHES ADICIONAIS PARA A OPERAO INFORM


TRANSPORT MAPPINGS
ENVOLVE A CAMADA DE TRANSPORTE, ENDEREAMENTO E CODIFICAO DE MENSAGENS

MAPPING PARA UDP


AGENTES ESCUTAM NA PORTA UDP 161 AGENTES ENVIAM TRAPS PARA A PORTA UDP 162 MENSAGENS DE PELO MENOS 1472 BYTES DEVEM SER ACEITAS POR QUALQUER ENTIDADE DE PROTOCOLO

BASIC ENCODING RULES (BER)


COMO SERIALIZAR OS TIPOS DE DADOS DA ASN.1? O ALGORITMO PRODUZ UMA CODIFICAO COMPACTA MAS USA CAMPOS DE TAMANHO VARIVEL O QUE COMPLICA O CDIGO O NICO PROTOCOLO DA FAMLIA TCP/IP QUE FAZ ISSO! SE FOI UMA BOA IDIA OU NO GERA CONTROVRSIA AT HOJE PARA ENTENDER AS REGRAS, LEMBRE QUE UM TIPO COMPLEXO EM ASN.1 NADA MAIS DO QUE UMA COLEO DE TIPOS MENOS COMPLEXOS A DECOMPOSIO GRADUAL CHEGA EVENTUALMENTE A TIPOS SIMPLES COMO INTEGER CADA TIPO ASN.1 CODIFICADO COM 3 CAMPOS: UM TAG QUE INDICA O TIPO ASN.1 UM TAMANHO QUE ESPECIFICA O TAMANHO DA CODIFICAO QUE SEGUE UM VALOR

CADA UM DESSES CAMPOS DE TAMANHO VARIVEL!

ORDEM DOS BITS


O BIT MAIS SIGNIFICATIVO DE UM BYTE VAI PARA A REDE PRIMEIRO (BIG-ENDIAN)

REPRESENTAO NUMRICA
QUALQUER NMERO COM SINAL REPRESENTADO EM COMPLEMENTO DE DOIS, MAS COM O NMERO MNIMO DE BYTES POSSVEL NUNCA H SEQUNCIA INICIAL DE 9 OU MAIS BITS 0 OU 1 QUALQUER NMERO SEM SINAL REPRESENTADO NORMALMENTE EM BINRIO COM O NMERO MNIMO DE BYTES NA DISCUSSO DE SMI, NO FALAMOS DE TAGS ASN.1 CADA TIPO ASN.1 TEM UM TAG DE UMA DAS SEGUINTES CLASSES: UNIVERSAL (PARA TIPOS DE DADOS BEM CONHECIDOS TAIS COMO INTEGER, OCTET STRING, OBJECT IDENTIFIER) APPLICATION-WIDE (PARA TIPOS DEFINIDOS NUM MDULO ASN.1 ESPECFICO TAIS COMO Counter32) CONTEXT-SPECIFIC (PARA USO EM TIPOS CONSTRUDOS COMO SEQUENCE) PRIVATE-USE, PARA USO CONSENSUAL ENTRE PARTES

O CAMPO TAG

O CAMPO TAG
O TAG TAMBM TEM UM NMERO NICO NA SUA CLASSE, POR EXEMPLO: Counter32 [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) ASN.1 TEM TIPOS SIMPLES E CONSTRUDOS (COMO SEQUENCE) COMBINANDO TUDO ISSO, A CODIFICAO DO TAG COMO SEGUE:

OBSERVE QUE AO ESCREVER UMA MIB, NO SE PODE CRIAR NOVOS TIPOS ETIQUETADOS PORQUE ELES AFETAM A CODIFICAO E FAZEM PORTANTO PARTE DO PADRO QUE AMBOS OS LADOS DEVEM CONHECER NS POBRES MORTAIS NO PODEMOS ALTERAR O PADRO INTRODUZINDO UMA NOVA CODIFICAO

O CAMPO TAG
COMO S TEM 5 BITS PARA O NMERO DO TAG, O VALOR CODIFICADO DIRETAMENTE SE FOR MENOR QUE 31 SE FOR MAIOR OU IGUAL A 31, USA-SE 11111 NESTE LUGAR E OS PRXIMOS BYTES CONTM O NMERO DO TAG CADA OCTETO USA 7 BITS PARA FORMAR O NMERO DO TAG, COM O PRIMEIRO BIT DE CADA OCTETO SENDO 1 (E 0 PARA O LTIMO)

O CAMPO TAMANHO
SE O TAMANHO FOR MENOR QUE 128, USA-SE UM NICO BYTE:

SE O TAMANHO FOR MAIOR OU IGUAL A 128, USA-SE UM BYTE DIZENDO QUANTOS BYTES SEGUEM PARA CODIFICAR O TAMANHO TODOS OS BYTES SEGUINTES SO CONCATENADOS PARA DAR O TAMANHO

VAMOS PASSAR PARA O CAMPO VALOR O TIPO SIMPLES INTEGER


USA COMPLEMENTO DE 2 NO TEM SEQUNCIA INICIAL DE 9 OU MAIS 0s OU 1s EXEMPLO: O INTEIRO 100

O TIPO SIMPLES OCTET STRING


ZERO OU MAIS BYTES DE VALOR EXEMPLO PARA "anon"

O TIPO SIMPLES BITS


CODIFICADO COMO COMO OCTET STRING EXEMPLO: '101'B

O TIPO SIMPLES NULL


TAG ESPECIAL E TAMANHO 0

O TIPO SIMPLES OBJECT IDENTIFIER


TAG UNIVERSAL 6 PRIMEIROS 2 COMPONENTES (a.b) SO JUNTADOS NO PRIMEIRO BYTE COM 40a+b ESTRANHEZAS DA ISO! EXEMPLO: 1.0.8571.5.1

OS TIPOS CONSTRUDOS SEQUENCE E SEQUENCE OF


USA A FORMA CONSTRUCTED (F = 1 NO TAG) BASTA GERAR O TAG E TAMANHO E CODIFICAR CADA ELEMENTO UM APS O OUTRO EXEMPLO DE UMA SEQUNCIA COM 2 ELEMENTOS

OS TIPOS ETIQUETADOS
SMI USA TIPOS ETIQUETADOS PARA REPRESENTAR VRIAS COISAS, POR EXEMPLO: TODAS AS PDUs SO DO MESMO TIPO (PDU) MAS COM TAGS DIFERENTES (O QUE PERMITE DIFERENCIA-LAS) TAGS TAMBM SO USADOS EM OUTROS PONTOS DA SMI TEM DOIS TIPOS DE TAGS: IMPLICIT E NO IMPLICIT EXEMPLO DE TAG IMPLICIT: NovoTipo ::= [tag] IMPLICIT TipoOriginal

BASTA COdIFICAR COMO TipoOriginal MAS COM O NOVO TAG EXEMPLO DE TAG NO IMPLICIT NovoTipo ::= [tag] TipoOriginal CODIFICA O TipoOriginal NUM ENVELOPE COM OUTRO TAG EXEMPLO PARA NovoTipo ::= [APPLICATION 7] TipoOriginal

UM EXEMPLO COMPLETO DE CODIFICAO BER


PRECISAREMOS ENTENDER PRIMEIRO COMO UMA MENSAGEM DO PROTOCOLO FORMADA Message ::= SEQUENCE { version INTEGER { snmpV1(0), current(1) }, community OCTET STRING, data PDUs } PDUs ::= CHOICE { get-request [0] IMPLICIT PDU, get-next-request [1] IMPLICIT PDU, response [2] IMPLICIT PDU, set-request [3] IMPLICIT PDU, -- tag [4] is obsolete get-bulk-request [5] IMPLICIT PDU, inform-request [6] IMPLICIT PDU, trap [7] IMPLICIT PDU } max-bindings INTEGER ::= 2147483647 PDU ::= SEQUENCE { request-id Integer32, error-status INTEGER { noError(0), tooBig(1), ... }, error-index INTEGER (0..max-bindings), variable-bindings VarBindList } VarBindList ::= SEQUENCE (SIZE(0..max-bindings)) OF VarBind VarBind ::= SEQUENCE { name ObjectName, CHOICE { value ObjectSyntax, unSpecified NULL, noSuchObject [0] IMPLICIT NULL, noSuchInstance [1] IMPLICIT NULL, endOfMibView [2] IMPLICIT NULL } }

UM EXEMPLO COMPLETO DE CODIFICAO BER - 2


SUPE A SEGUINTE MENSAGEM (UM RESPONSE SNMP)

example MSG ::= { version 0, community "public", response { request-id 17, error-status noError, error-index 0, variable-bindings { { name 1.3.6.1.2.1.1.1.0 value "unix" } } } } CONCEITUALMENTE, PODEMOS TRADUZIR ISSO PARA OS TIPOS SIMPLES E CONSTRUDOS DA ASN.1: { 0, "public", [2] { 17, 0, 0, { { 1.3.6.1.2.1.1.1.0 "unix" } } } ESTA FORMA PERMITE VISUALIZAR MELHOR O QUE DEVE SER CODIFICADO }

UM EXEMPLO COMPLETO DE CODIFICAO BER - 3


VAMOS CODIFICAR UMA SEQUNCIA E OS PRIMEIROS DOIS ELEMENTOS (VERSO E COMMUNITY): OBSERVE QUE O TAMANHO TOTAL J DEVE SER CONHECIDO POR ISSO, IMPLEMENTAES FREQUENTEMENTE CODIFICAM AO CONTRRIO E INVERTEM NO FIM

UM EXEMPLO COMPLETO DE CODIFICAO BER - 4


AGORA, VAMOS CODIFICAR UM TIPO PDU DO TIPO RESPONSE DEFINIDO NO MDULO SNMPv2-SMI ISTO UM TIPO ETIQUETADO [2] COM A PALAVRA IMPLICIT PORTANTO, VAMOS CODIFICAR O TIPO ORIGINAL (PDU) PDU UMA SEQUNCIA, MAS USAREMOS O NOVO TAG (2) INICIAMOS GERANDO O TAG E TAMANHO S SABEMOS O TAMANHO NO FIM MAS AQUI J COLOCAMOS O VALOR 29

EM SEGUIDA, COLOCAMOS OS CAMPOS request-id, error-status e error-index QUE SO TODOS INTEIROS

UM EXEMPLO COMPLETO DE CODIFICAO BER - 5


FINALMENTE, TEMOS AS VARIABLE BINDINGS UM VALOR DO TIPO SEQUENCE OF E PODEMOS INICIAR GERANDO OS CAMPOS DE TAG E TAMANHO

CADA ELEMENTO (S TEM UM) UM VALOR DO TIPO VarBind QUE UMA SEQUNCIA PRIMEIRO GERA O TAG E TAMANHO

O PRIMEIRO COMPONENTE DA SEQUNCIA CONTM UM OBJECT IDENTIFIER (1.3.6.1.2.1.1.1.0)

UM EXEMPLO COMPLETO DE CODIFICAO BER - 6


O SEGUNDO COMPONENTE DA SEQUNCIA UM ObjectValue (QUE OCTET STRING)

OS 44 BYTES FINAIS GERADOS SO OS SEGUINTES (EM HEXADECIMAL): 30 2a 02 01 00 04 06 70 a2 1d 02 02 02 30

75 62 6c 69 63 01 11 01 00 01 00 12 30 10

06 08 2b 06 01 02 01 01 01 00 04 04 75 6e 69 78

O NVEL DE INSTRUMENTAO CONSIDERAES DE IMPLEMENTAO FONTES DE INFORMAO E CDIGO


UNIX
MUITAS IMPLEMENTAES DISPONVEIS GRATIS INCLUI AGENTES, GERENTES, COMPILADORES, ETC. COMPILADOR MAIS USADO SMICNG VER LISTA AQUI IMPLEMENTAO COMPLETA COMENTADA DE AGENTE E GERENTE SNMPv1 NO LIVRO DE COMER (INTERNETWORKING WITH TCP/IP - VOL II)

JAVA
JAVA DYNAMIC MANAGEMENT KIT (JDMK) DA SUN INCLUI JAVA MANAGEMENT EXTENSIONS (JMX; EX-JMAPI) VERSO VELHA DA JMAPI (MAS GRTIS) EST AQUI

FONTES DE INFORMAO E CDIGO


WINDOWS
MICROSOFT TEM DOIS PACOTES MANAGEMENT API (MGMTAPI) WINSNMP AMBAS AS SOLUES ESCONDEM O TRATAMENTO DE: PROTOCOLO SNMP ASN.1 BASIC ENCODING RULES MANAGEMENT API PARA WINDOWS 95 (PARCIALMENTE) E WINDOWS NT (>= 3.1) TEM UM COMPILADOR DE MIBs (MIBCC.EXE) QUE GERA UM ARQUIVO (MIB.BIN) CONSULTADO PELA BIBLIOTECA PERMITE CRIAR "EXTENSION AGENTS" ATRAVS DO "EXTENDIBLE AGENT" EXTENSION AGENT UMA DLL CRIADA PELO DESENVOLVEDOR PARA DAR SUPORTE A UMA NOVA MIB S PARA WINDOWS NT WINSNMP APENAS PARA WINDOWS NT 5.0 A VERSO 1.1a S TEM SUPORTE PARA GERENTES A VERSO 2.0 PERMITE DESENVOLVER AGENTES SUPORTA SNMPv1 E SNMPv2 E CONVERTE AUTOMATICAMENTE DE SNMPv2 PARA SNMPv1 USANDO AS REGRAS DA RFC1908

USO DO PROTOCOLO SNMP EM JAVA: UMA API E UM GERENTE


LEMBRE QUE JMAPI FOI SUBSTITUIDO POR JMX E QUE A API JMX PODER SER UM POUCO DIFERENTE EXEMPLOS E DOCUMENTAO AQUI ACOMPANHE O EXEMPLO getExample.java ENQUANTO L A INFORMAO ABAIXO AS CLASSES E MTODOS DISCUTIDOS AQUI SO APENAS AQUELES QUE APARECEM NO EXEMPLO CONSULTE A DOCUMENTAO PARA DETALHES

INICIALIZAO E FINALIZAO
SnmpMain SnmpSession initializeSNMP() INICIALIZA OS SERVIDORES NECESSRIOS PARA A OPERAO DO PACOTE CRIA, CONTROLE E GERENCIA UM OU MAIS PEDIDOS setDefaultPeer(SnmpPeer) SE TODOS OS PEDIDOS SE COMUNICAREM COM O MESMO PAR (O OUTRO LADO), O PAR PODE SER ESPECIFICADO AQUI PARA ELIMINAR O PARMETRO "PEER" NOS PEDIDOS snmpGet(SnmpPeer, SnmpHandlerIf, SnmpVarbindList) O SnmpHandlerIf PODE INDICAR UM HANDLER CONTENDO MTODOS DE CALLBACK QUANDO O GET ASSNCRONO snmpGetNext(SnmpPeer, SnmpHandlerIf, SnmpVarbindList) destroySession() DESTROI PEDIDOS PENDENTES E PRA A SESSO

SnmpPeer

CRIA UM OBJETO QUE REPRESENTA O PAR O CONSTRUTOR FORNECER O NOME (DNS OU IP) DO PAR COMO STRING setSnmpParam(SnmpParameters) ASSOCIA PARMETROS A UM OBJETO PAR PARMETROS PODEM SER: ENDEREO IP, PORTA, NOME DE COMUNIDADE READ E WRITE, VALORES DE RETRY E TIMEOUT, ETC.)

SnmpParameters O CONSTRUTOR ACEITA, POR EXEMPLO, OS NOMES DE COMUNIDADES "READ" E "WRITE" COMO PARMETROS O OBJETO RESULTADO USADO COM SnmpPeer.setSnmpParam EXEMPLO DE INICIALIZAO E FINALIZAO

SnmpSession session = new SnmpSession("Uma instncia de sesso"); SnmpPeer agentInfo = new SnmpPeer("cpsw.campus-ii.ufpb.br"); // comunidades read e write SnmpParameters param = new SnmpParameters("ufpbnet", "naosei"); // associa os parametros ao agente agentInfo.setSnmpParam(param); session.setDefaultPeer(agentInfo); ... // faz pedidos, trata respostas session.destroySession();

CRIAO DE VARIABLE BINDINGS LIST


SnmpVar REPRESENTA UMA VARIVEL MIB (OID E VALOR) O CONSTRUTOR FORNECE O NOME DO OBJETO (EX. sysDescr) addInstance(...) TRANSFORMA A OID DE UM OBJETO NUMA OID DE INSTNCIA (CONCATENANDO UM INTEIRO, ARRAY DE INTEIROS OU UM STRING) SnmpVarbindList CRIA UMA VARIABLE BINDINGS LIST A PARTIR DE UMA OU MAIS VARIVEIS (SnmpVar) addVariable(SnmpVar) ADICIONA UMA NOVA VARIVEL A UMA VARIABLE BINDINGS LIST EXEMPLO DE CRIAO DE VARIABLE BINDINGS LIST

SnmpVar aOctetVar = new SnmpVar("sysDescr"); aOctetVar.addInstance(0); SnmpVarbindList varBindList = new SnmpVarbindList(); varBindList.addVariable(aOctetVar);

FAZENDO UM PEDIDO GET


SnmpSession CRIA, CONTROLE E GERENCIA UM OU MAIS PEDIDOS snmpGet(SnmpPeer, SnmpHandlerIf, SnmpVarbindList) O SnmpHandlerIf PODE INDICAR UM HANDLER CONTENDO MTODOS DE CALLBACK QUANDO O GET ASSNCRONO snmpGetNext(SnmpPeer, SnmpHandlerIf, SnmpVarbindList)

SnmpRequest CRIA UM PEDIDO PARA USO POSTERIOR COM GET, GET-NEXT, GET-BULK OU SET A CLASSE CONTROLAR O TRATAMENTO DO PEDIDO (RETRY, TIMEOUTS, PROCESSAMENTO DE RESPOSTAS) O USURIO AVISADO DO TRATAMENTO ATRAVS DE MTODOS CALLBACK ESPECIFICADOS PELO USURIO UMA SUBCLASSE SnmpPollRequest PODE FAZER PEDIDOS REGULARES AUTOMATICAMENTE A QUEBRA DA VARIABLE BINDINGS LIST EM PEDIDOS SER AUTOMATICAMENTE FEITA PELO PACOTE PODE-SE AINDA INFORMAR COMO SITUAES DE ERRO DEVEM SER TRATADAS REQUEST IDs NECESSRIAS PARA CASAR PEDIDOS COM RESPOSTAS SO AUTOMATICAMENTE ESCOLHIDOS

waitForCompletion(long) PARA O PROGRAMA OPERAR SINCRONAMENTE COM O PEDIDO getErrorStatus() RETORNA O STATUS ASSOCIADO AO PEDIDO getErrorIndex() RETORNA O INDEX DO ERRO ASSOCIADO AO PEDIDO EXEMPLO DE PEDIDO GET

SnmpRequest umPedido = session.snmpGet(agentInfo, null, varBindList); boolean terminou = umPedido.waitForCompletion((long) 10000); // verifica timeout para o pedido if(!terminou) { System.out.println("timeout no pedido"); System.exit(0); } int errorStatus = umPedido.getErrorStatus(); if (errorStatus != SnmpStatusEnums.snmpRspNoError) { System.out.print("Error Status = "); System.out.println(SnmpDebug.snmpErrorToString(errorStatus)); System.out.print("Error Index = "); System.out.println(umPedido.getErrorIndex()); System.exit(0); }

ANALIZANDO A RESPOSTA
SnmpRequest getResponseVbList RETORNA A VARIABLE BINDINGS LIST QUE EST NA RESPOSTA ASSOCIADA AO PEDIDO EXEMPLO DE ANLISE (SIMPLES) DA RESPOSTA

SnmpVarbindList resultadoVBList = umPedido.getResponseVbList(); System.out.println("resultado = " + resultVBList);

INTRODUZINDO NOVOS OIDs NA MIB CONHECIDA PELO PACOTE


O PACOTE J CONHECE ALGUNS OIDs (MAPEAMENTO NOME DE/PARA OID) TEM UM SUPORTE MUITO INCIPIENTE PARA O TRATAMENTO DE MIBs NO PODE ACESSAR TODOS OS ATRIBUTOS DE UM OBJETO (SYNTAX, ACCESS, DESCRIPTION, ...) NO TEM COMPILADOR MIB COMPILADOR TRANSFORMA O TEXTO DA MIB NUMA REPRESENTAO TIL PARA ALGUM PACOTE PODE SER REPRESENTAO BINRIA EM ARQUIVO PARA CARGA POR UMA APLICAO PODE SER ESQUELETO DE CDIGO PARA DEFINIR A MIB NUMA CERTA LINGUAGEM TEM ALGUNS MTODOS QUE AJUDAM UM POUCO MibStore MANTM UM BANCO DE DADOS DE OBJETOS ATRIBUTOS MANTIDOS: NOME OID (UM STRING COM NMEROS SEPARADOS POR PONTO) O TIPO SMI DA VARIVEL

loadMib(String[][]) CARREGA UMA LISTA DE DEFINIES DE OBJETOS NA MIB EM MEMRIA O ARRAY BI-DIMENSIONAL CONTM UMA LINHA PARA CADA OBJETO A LINHA CONTM 3 ATRIBUTOS: NOME, OID E TIPO, ONDE TIPO PODE SER: I = Integer C = Counter T = TimeTicks G = Gauge S = Octet String O = Object ID IP = IP Address

EXEMPLO DE EXTENSO MIB

String mibSupplement [] [] = { { "ifNumber", ".1.3.6.1.2.1.2.1", "I" }, { "ifOutOctets", ".1.3.6.1.2.1.2.2.1.16", "C"} }; MibStore.loadMib(mibSupplement);

MANIPULAO DA VARIABLE BINDINGS LIST


SnmpVarbindList indexOfOid(SnmpVar) ACHA O NDICE DA VARIVEL INDICADA NA VARIABLE BINDINGS LIST DA RESPOSTA getSnmpVarAt(int) RETORNA A VARIVEL PRESENTE NA RESPOSTA NO NDICE INDICADO SnmpVar getIntegerValue() RETORNA O VALOR DE UMA VARIVEL COMO UM INTEIRO EXEMPLO DA MANIPULAO DA VARIABLE BINDINGS LIST varBindList = new SnmpVarbindList(); SnmpVar ifNumber = new SnmpVar("ifNumber"); ifNumber.addInstance(0); varBindList.addVariable(ifNumber); umPedido = session.snmpGet(agentInfo, null, varBindList); completed = umPedido.waitForCompletion((long) 10000); if(!completed) { ... } errorStatus = umPedido.getErrorStatus(); if (errorStatus != SnmpStatusEnums.snmpRspNoError) { ... } int nmeroDeInterfaces = 0; resultVBList = umPedido.getResponseVbList(); // achar a SnmpVar na varbind list resultante int vBIndex = resultVBList.indexOfOid(ifNumber); SnmpVar ifNumberResult = resultVBList.getSnmpVarAt(vBIndex); nmeroDeInterfaces = ifNumberResult.getIntegerValue();

FAZENDO E TRATANDO UM PEDIDO GET-NEXT


SnmpVar SnmpVar.getOid() RETORNA O SnmpOid ASSOCIADO VARIVEL SnmpVar.getOctet()

SnmpOctet SnmpCounter32 SnmpOid

RETORNA UM OBJETO DO TIPO SnmpOctet PARA O VALOR ASSOCIADO VARIVEL SnmpVar.getCounter32() RETORNA UM OBJETO DO TIPO SnmpCounter32 PARA O VALOR ASSOCIADO VARIVEL ARMAZENA UM VALOR DO TIPO SMI "OCTET STRING" ARMAZENA UM VALOR DO TIPO SMIv2 "Counter32" (OU SMIV1 Counter)

UMA CLASSE QUE CONSTROI E MANIPULA IDENTIFICADORES DE OBJETOS isASubset(SnmpOid) IDENTIFICA SE O OID DADO NO PARMETRO UM SUBCONJUNTO DE this SnmpVarbindList getVarbindEnumeration() UMA ENUMERAO QUE PERMITE VARRER A LISTA DE VARIVEIS SEM CONHECER A ESTRUTURA INTERNA (UM ITERADOR) cloneWithoutValue() UM "DEEP CLONING" DE UMA VARIABLE BINDINGS LIST (SEM CLONAR OS OBJETOS-VALOR) EXEMPLO DO USO DE GET-NEXT varBindList = new SnmpVarbindList(); varBindList.addVariable("ifIndex"); SnmpVar ifDescr = new SnmpVar("ifDescr"); SnmpVar ifOutOctets = new SnmpVar("ifOutOctets"); // Os OIDs seguintes sero usados depois // para pegar SnmpVars especficos da varbind list resultante // OIDs para ifDescr e ifOutOctetsOid sem instncia SnmpOid ifDescrOid = ifDescr.getOid(); SnmpOid ifOutOctetsOid = ifOutOctets.getOid(); // preprae a varbind list do pedido varBindList.addVariable(ifDescr); varBindList.addVariable(ifOutOctets); SnmpOctet descr; SnmpCounter32 enviados; for(int i = 0; i < nmeroDeInterfaces; i++) { // manda pedido get-next umPedido = session.snmpGetNext(agentInfo, null, varBindList); if(!umPedido.waitForCompletion((long) 10000)) { System.out.println("timeout no pedido"); System.exit(0); } // verifica se tudo ok errorStatus = umPedido.getErrorStatus(); if(errorStatus != SnmpStatusEnums.snmpRspNoError) { System.out.print("Error Status = "); System.out.println(SnmpDebug.snmpErrorToString(errorStatus)); System.out.print("Error Index = "); System.out.println(umPedido.getErrorIndex()); break; } resultVBList = umPedido.getResponseVbList(); // Agora, pega os SnmpVars que deseja na resposta enviados = null;

descr = null; // itera na varbind list for(Enumeration enum = resultVBList.getVarbindEnumeration(); enum.hasMoreElements();) { SnmpVar umaVar = (SnmpVar) enum.nextElement(); if(umaVar.getOid().isASubset(ifDescrOid) ){ // se houve casamento ate ifDescrOid, entao umaVar // uma instncia de ifDescrOid descr = umaVar.getOctet(); } else if(umaVar.getOid().isASubset(ifOutOctetsOid) ) { enviados = umaVar.getCounter32(); } } //imprime a informao desejada if (descr != null && enviados != null) { System.out.println("interface: " + descr + " octets enviados = " + enviados); } // cria o prximo pedido get-next varBindList = resultVBList.cloneWithoutValue();

O NVEL DE APLICAO
CONTEDO DO CAPTULO: APLICAES E PLATAFORMAS DE GERNCIA ALGUMAS MIBs IMPORTANTES GERNCIA DE CONFIGURAO GERNCIA DE FALTA GERNCIA DE DESEMPENHO MONITORAO REMOTA (RMON) GERNCIA DE HOSPEDEIROS GERNCIA DE APLICAES

APLICAES E PLATAFORMAS DE GERNCIA GERNCIA DE REDE E GERNCIA DE SISTEMA


UMA REDE CORPORATIVA NO CONSISTE APENAS DA INFRA-ESTRUTURA DE REDE

TUDO TEM QUE FUNCIONAR, NO APENAS A INFRA-ESTRUTURA DE REDE

A GERNCIA DE REDE: ELEMENTOS GERENCIADOS: ROTEADORES PONTES SWITCHES HUBS REPETIDORES CABEAMENTO MODEMS SERVIDORES DE TERMINAIS MULTIPLEXADORES ENLACES SNCRONOS PRIVADOS ENLACES FRAME RELAY CONEXES ATM ETC. TAREFAS TPICAS DE GERENCIAMENTO DESSES ELEMENTOS CONFIGURAO DE DISPOSITIVOS ADMINISTRAO DE ENDEREOS IP SERVIOS DE DIRETRIO MONITORAO DE TRFEGO DIAGNSTICO DE FALTAS TRATAMENTO DE ALARMES RESTAURAO DE SERVIO ANLISE DE DADOS E RELATRIOS TROUBLE TICKETING SEGURANA DE REDE INVENTRIO A GERNCIA DE SISTEMAS ELEMENTOS GERENCIADOS: SERVIDORES DE ARQUIVOS

SERVIDORES DE IMPRESSO SERVIDORES DE BANCO DE DADOS SERVIDORES DE APLICAO ESTAES DE TRABALHO BANCOS DE DADOS SISTEMAS OPERACIONAIS CORREIO ELETRNICO APLICAES (SHRINK-WRAPPED, IN-HOUSE, ETC.) TAREFAS TPICAS DE GERENCIAMENTO DESSES ELEMENTOS AUTOMAO DE CONSOLE MONITORAO DE DESEMPENHO DIAGNSTICO DE FALTAS INVENTRIO DISTRIBUIO DE SOFTWARE CONTROLE DE LICENAS DE SOFTWARE ADMINISTRAO DE USURIOS (CONTAS)

TROUBLE TICKETING GERNCIA DE ARMAZENAMENTO BACKUP GERNCIA DE SPOOL SEGURANA DE SISTEMA

AS REAS DE GERNCIA
A CLASSIFICAO ACIMA MOSTRA DUAS DIMENSES PARA CADA DIMENSO, PODEMOS SUB-DIVIDIR EM 5 REAS (CLASSIFICAO ISO): GERNCIA DE CONFIGURAO GERNCIA DE FALTAS GERNCIA DE DESEMPENHO GERNCIA DE SEGURANA GERNCIA DE CONTABILIDADE NESTA LISTA, AS REAS DA ISO ESTO EM ORDEM DE IMPORTNCIA PARA O USURIO J VIMOS ALGUNS DETALHES DE CADA REA ANTES E VEREMOS MAIS DETALHES FRENTE

APLICAES DE GERNCIA
LISTAMOS ABAIXO ALGUMAS APLICAES TPICAS DE UM AMBIENTE DE GERNCIA O PROPSITO MOSTRAR A VARIEDADE (E COMPLEXIDADE!) DAS APLICAES DE GERNCIA NECESSRIAS NUMA SOLUO DE GERNCIA COMPLETA TAMBM MOSTRA COMO A FUNCIONALIDADE TIPICAMENTE JUNTADA EM APLICAES NENHUMA APLICAO DE GERNCIA FAZ TUDO! POLLING SNMP E MIB BROWSING TRATAMENTO DE TRAPS AUTODESCOBRIMENTO E AUTOTOPOLOGIA TRATAMENTO DE EVENTOS (RECEPO, FILTRAGEM, CORRELAO) E ALARMES AUTOMAO DE DIAGNSTICO (SISTEMAS ESPECIALISTAS) TOUBLE TICKETING, HELP DESK CONFIGURAO DE DISPOSITIVOS DE REDE MONITORAO E ANLISE DE TRFEGO ANLISE ESTATSTICA, TRENDING, EMISSO DE RELATRIOS INVENTRIO, GERNCIA DA PLANTA BAIXA DE CABEAMENTO PLANEJAMENTO DE CAPACIDADE, PROJETO DE REDE GERNCIA DE ESTAES CLIENTES (PCs) AUTOMAO DE CONSOLE, CONSOLIDAO DE MENSAGENS PARA O OPERADOR GERNCIA DE BANCOS DE DADOS GERNCIA DE APLICAES GERNCIA DE CONFIGURAO E CONTROLE DE MUDANA GERNCIA DE HOSPEDEIRO (GERNCIA DE WORKLOAD, ARMAZENAMENTO, BACKUP, CONTAS DE USURIOS, ...) GERNCIA DE IMPRESSO (SPOOL)

DISTRIBUIO DE SOFTWARE, GERNCIA DE LICENAS CONTABILIDADE DE RECURSOS E FATURAMENTO GERNCIA DE SEGURANA

PLATAFORMAS DE GERNCIA
FRAMEWORK DE GERENCIAMENTO FRAMEWORK UMA SOLUO QUASE PRONTA PARA RESOLVER UM PROBLEMA DE UM CERTO DOMNIO E QUE PODE SER ADEQUADO A UMA SOLUO PARTICULAR ATRAVS DO FORNECIMENTO (OU REDEFINIO) DE CERTOS MDULOS

BASEADO NO HOLLYWOOD PRINCIPLE: "DON'T CALL US, WE'LL CALL YOU" CAPTURA AS COISAS COMUNS QUE QUALQUER APLICAO DE GERNCIA QUER PERMITE INTEGRAR AS VRIAS APLICAES DE GERNCIA AS APLICAES PODEM SE INTEGRAR MELHOR SE USAREM A API DA PLATAFORMA PORTANTO, A PLATAFORMA TAMBM UM AMBIENTE DE DESENVOLVIMENTO ARQUITETURA GERAL DE UMA PLATAFORMA DE GERNCIA

OBSERVE OS SEGUINTES COMPONENTES/CARACTERSTICAS:

A PLATAFORMA EXECUTA NUMA NETWORK MANAGEMENT STATION (NMS) A NMS ACESSADA ATRAVS DE ESTAES DE DISPLAY AS VEZES, DIZ-SE QUE A NMS UM "SERVIDOR DE GERENCIAMENTO" E AS ESTAES DE DISPLAY SO "ESTAES DE GERNCIA"

VRIAS OPES DE ARQUITETURA GRFICA (SISTEMA DE JANELAS, LOOK-ANDFEEL) PODE EXISTIR AS APLICAES DE GERNCIA SE "PLUGAM" NA PLATAFORMA UMA API (APPLICATION PROGRAMMING INTERFACE) PERMITE QUE AS APLICAES ACESSEM OS RECURSOS INTERNOS DA PLATAFORMA (EXEMPLO: BANCO DE DADOS DE TOPOLOGIA) A PLATAFORMA TRATA DE COMUNICAO DE BAIXO NVEL A PLATAFORMA MONITORA (FAZ POLLING E RECEBE TRAPS) A PLATAFORMA PODE SUPORTAR VRIOS PROTOCOLO DE GERNCIA PADRONIZADOS OU NO-PADRONIZADOS, USANDO GATEWAYS A PLATAFORMA MANTM VRIOS BANCOS DE DADOS DE ELEMENTOS GERENCIADOS E TOPOLOGIA DE USURIOS DE POLTICAS DE GERNCIA (REGRAS DE GERNCIA) DE LOG DE EVENTOS DE SCRIPTS DE AUTOMAO EX.: CARGA DE PARMETROS DE UM ROTEADOR DE HELP DE MIBs AS FUNES PRINCIPAIS DE UMA PLATAFORMA LEVANTAMENTO DA TOPOLOGIA DA REDE ELABORAO DE MAPAS DE REDE DANDO VRIAS VISES DA REDE (FSICA, CONECTIVIDADE, DEPARTAMENTAL, ...) NOTIFICAES DE ALARME SO FREQUENTEMENTE FEITAS NO MAPA COM UM CDIGO DE COR CARGA E MANIPULAO DE MIBs BROWSING DE MIBs TRATAMENTO DE EVENTOS EVENTOS SO GERADOS COM TRAPS OU VIA POLLING PODENDO INCLUIR FILTRAGEM, CORRELAO, TRANSFORMAO EM ALARMES INCLUI AVISOS AO USURIO (SONOROS, VISUAIS, EMAIL, PAGER, ...) O DIAGNSTICO DE FALHAS (ISOLAO) FREQUENTEMENTE FEITO PELAS APLICAES ADICIONAIS LOG TOTAL DE EVENTOS INTERESSANTES GERAO DE RELATRIOS HELP INTEGRADO INTERFACE VIA EMULAO DE TERMINAL (TELNET) GERNCIA PELA "PORTA DOS FUNDOS" FREQUENTEMENTE USADO DEVIDO FRACA SEGURANA DO SNMP EMPRESAS FREQUENTEMENTE DESABILITAM A OPERAO "SET" DO SNMP INTEGRAO DAS APLICAES (VIDE FRENTE) VISO LGICA DE UMA PLATAFORMA COM APLICAES

INTEGRAO DAS APLICAES PLATAFORMA

NECESSIDADE DE TER INTEGRAO SEAMLESS ("SEM COSTURAS")

H ENORMES DIFERENAS DE NVEL DE INTEGRAO ENTRE APLICAES E A PLATAFORMA VRIAS FORMAS DE INTEGRAO SEGUEM INTERFACE DO USURIO A APLICAO POSSUI O MESMO TIPO DE INTERFAEC QUE A PLATAFORMA COM LOOK-AND-FEEL SIMILAR (EX. MOTIF, WINDOWS, ...) INTEGRAO PELO MENU A APLICAO PODE SER EXECUTADA A PARTIR DO MENU DA PLATAFORMA HELP O HELP DA APLICAO EST INTEGRADO COM O HELP DA PLATAFORMA NAVEGAO NICA, NDICE INTERGADO, ... TOPOLOGIA A APLICAO ACESSA O BD DE OBEJTOS E TOPOLOGIA MANTIDA PELA PLATAFORMA EVITA DUPLICAO MUITAS APLICAES FAZEM SEU PRPRIO DISCOVERY IMAGINE CADASTRAR 500 ELEMENTOS NA PLATAFORMA E EM 3 APLICAES DIFERENTES!! BASE DE DADOS A APLICAO USA O BD DA PLATAFORMA PARA ARMAZENAR SEUS PRPRIOS DADOS

EVITA DUPLICAO E PERMITE ACESSO A DADOS VIA SQL PROVAVELMENTE PERMITE MELHORES RELATRIOS COM FERRAMENTAS MAIS PODEROSAS DE GERAO DE RELATRIOS MIB AS MIBs NECESSRIAS PARA A APLICAO SO CARREGADAS PELA PLATAFORMA E DISPONIBILIZADAS PARA A APLICAO COMUNICAO A APLICAO USA A PLATAFORMA PARA ACESSAR OS ELEMENTOS GERENCIADOS POLL SNMP, ATENDIMENTO A TRAPS, ETC. EVITA POLL DUPLICADO AOS ELEMENTOS EVENTOS OS EVENTOS GERADOS PELA APLICAO PODEM SER MANIPULADOS PELA PLATAFORMA INSTALAO A APLICAO POSSUI UM PROCESSO DE INSTALAO COMPATVEL COM A INSTALAO DA PLATAFORMA PROCESSOS A APLICAO EST INTEGRADA COM OS PROCESSOS QUE EXECUTAM A PLATAFORMA POR EXEMPLO, AO ENCERRAR A PLATAFORMA, A APLICAO TAMBM ENCERRADA DIAGNSTICO (TRACING/LOGGING) A APLICAO PROV A PLATAFORMA DE INFORMAES DE DIAGNSTICO A RESPEITO DE CONDIES INESPERADAS PODE-SE ASSIM MANTER UMA NICA BASE DE DADOS DE INFORMAES DE DIAGNSTICO LOCALIZAO DE ARQUIVOS A APLICAO SEGUE AS NORMAS DA PLATAFORMA PRAA DAR NOMES AOS ARQUIVOS E EVITAR CONFLITOS DE NOMES COM A PLATAFORMA E COM OUTRAS APLICAES AS GRANDES PLATAFORMAS OPEN VIEW (HEWLETT PACKARD) NETVIEW (IBM) TIVOLI (IBM) SUNNET MANAGER (SUN MICROSYSTEMS) SPECTRUM (CABLETRON) CA-UNICENTER (COMPUTER ASSOCIATES)

GERNCIA DISTRIBUDA
FALTA DE ESCALA NA SOLUO CENTRALIZADAS APRESENTADA AT AGORA TRFEGO DEMAIS INDO PARA A NMS GARGALO DE COMUNICAO EVENTOS DEMAIS A SEREM TRATADOS PELA NMS GARGALO DE PROCESSADOR FALTA DE MOBILIDADE NA CONSOLE NO PROBLEMA SE USAR INTERFACE WEB NMERO LIMITADO DE USURIOS PODEM EXECUTAR SIMULTANEAMENTE SOLUES INCIPIENTES AINDA VEREMOS ALGUMAS NUM CAPTULO FRENTE

GERNCIA

A NICA SOLUO (PARCIAL) MADURA O USO DE REMOTE MONITORING PROBES (SONDAS DE MONITORAO REMOTA)

ALGUMAS MIBs IMPORTANTES


A LISTA COMPLETA DE MIBs DE GERNCIA ESTA AQUI FALAREMOS DO CONTEDO DE ALGUMAS DESSAS MIBs E DE SUA UTILIDADE PARA O GERENCIAMENTO ADIANTE

SNMPv1

RFC 1213 1157 1155

Ttulo Status Management Information Base for Network Management of TCP/IP-based standard internets: MIB-II A Simple Network Management Protocol (SNMP) standard Structure and Identification of Management Information for TCP/IP-based standard Internets Ttulo Status Coexistence between Version 1 and Version 2 of the Internet-standard Network draft Management Framework Management Information Base for Version 2 of the Simple Network draft Management Protocol (SNMPv2) Transport Mappings for Version 2 of the Simple Network Management Protocol draft (SNMPv2) Protocol Operations for Version 2 of the Simple Network Management Protocol draft (SNMPv2) Conformance Statements for Version 2 of the Simple Network Management draft Protocol (SNMPv2) Textual Conventions for Version 2 of the Simple Network Management Protocol draft (SNMPv2) Structure of Management Information for Version 2 of the Simple Network draft Management Protocol (SNMPv2) Introduction to Community-based SNMPv2 experimental Ttulo Status View-based Access Control Model (VACM) for the Simple Network Management proposed Protocol (SNMP) User-based Security Model (USM) for version 3 of the Simple Network proposed Management Protocol (SNMPv3) SNMPv3 Applications proposed Message Processing and Dispatching for the Simple Network Management Protocol proposed (SNMP) An Architecture for Describing SNMP Management Frameworks proposed Ttulo Status IP Forwarding Table MIB proposed Remote Network Monitoring Management Information Base Version 2 using proposed SMIv2 SNMPv2 Management Information Base for the Internet Protocol using SMIv2 proposed Remote Network Monitoring Management Information Base draft Management Information Base for Network Management of TCP/IP-based standard internets: MIB-II Ttulo Status Definitions of Managed Objects for ATM Management proposed Definitions of Managed Objects for the Ethernet-like Interface Types proposed Definitions of Managed Objects for Classical IP and ARP Over ATM Using proposed SMIv2 (IPOA-MIB) The Interfaces Group MIB using SMIv2 proposed Definitions of Managed Objects for IEEE 802.3 Repeater Devices using SMIv2 proposed Definitions of Managed Objects for Bridges draft Ttulo Status Mail Monitoring MIB proposed Relational Database Management System (RDBMS) Management Information proposed Base (MIB) using SMIv2 DNS Resolver MIB Extensions proposed DNS Server MIB Extensions proposed Host Resources MIB proposed

SNMPv2
RFC 1908 1907 1906 1905 1904 1903 1902 1901

SNMPv3
RFC 2275 2274 2273 2272 2271

Network
RFC 2096 2021 2011 1757 1213

Transmission
RFC 2515 2358 2320 2233 2108 1493

Application
RFC 2249 1697 1612 1611 1514

GERNCIA DE CONFIGURAO
CONTEDO GERNCIA DE TOPOLOGIA GERNCIA DE DISPOSITIVOS GERNCIA DE TOPOLOGIA H VRIOS TIPOS DE TOPOLOGIA VISO DE CONECTIVIDADE FSICA (TOPOLOGIA FSICA): INDICA QUEM EST FISICAMENTE CONECTADO A QUEM NESTA VISO DE TOPOLOGIA, GOSTARAMOS DE IR MAIS LONGE AINDA E VER OS DOMNIOS DE COLISO (ISTO , ONDE H SEGMENTOS COMPARTILHADOS E ONDE H SWITCHING) VISO DE CONECTIVIDADE LGICA: ENXERGAR APENAS AS CONEXES ENTRE ENDEREOS IP (ISTO , ONDE H ROTEAMENTO) PORTANTO, ESTE TIPO DE TOPOLOGIA EVIDENCIA OS DOMNIOS DE BROADCAST E ONDE H ROTEADORES PARA CRUZAR DE UM DOMNIO DE BROADCAST PARA OUTRO ESTA VISO NO MOSTRA HUBS, PONTES E SWITCHES DOMNIOS DE BROADCAST PODEM SER FSICOS (AGRUPAMENTO FSICO VIA HUB/PONTE/SWITCH) OU LGICOS (LANs VIRTUAIS - VLANs) VISO ADMINISTRATIVA (OU DEPARTAMENTAL): AGRUPAMENTO DOS DISPOSITIVOS DE REDE DE ACORDO COM UM AGRUPAMENTO ADMINISTRATIVO, SEM RELAO COM ASPECTOS DE CONECTIVIDADE FSICA OU LGICA VISO DE SERVIOS: EVIDENCIA OS DISPOSITIVOS DE REDE UTILIZADOS PELOS VRIOS SERVIOS (EXEMPLO: EMAIL) DESTA FORMA, SE O EMAIL DEIXAR DE FUNCIONAR, PODE-SE DIAGNOSTICAR P PROBLEMA MAIS RAPIDAMENTE MESMO ENTRE AS PRIMEIRAS 2 VISES, TEM MUITA DIFERENA DEVIDO A EQUIPAMENTOS TRANSPARENTES (HBS, PONTES, SWITCHES) LANS VIRTUAIS (VLANs OU DOMNIOS DE BROADCAST CONFIGURVEIS) PORT SWITCHING HUBS NO TEM "SWITCHING", APESAR DO NOME HUBS COM SEGMENTAO CONFIGURVEL EQUIVALENTE A DOMNIO DE COLISO CONFIGURVEL MESNOS POPULARES HOJE DEVIDO A QUEDA DE PREO DE SWITCHES GOSTARAMOS DE LEVANTAR AS TOPOLOGIAS DE FORMA AUTOMTICA MUITO IMPORTANTE PARA UMA SOLUO DE GERNCIA, J QUE ENTRAR COM TODA ESTA INFORMAO MANUALMENTE E MANT-LA ATUALIZADA DIFCIL OU IMPOSSVEL PARA REDES GRANDES, IMPOSSVEL. BASTA PENSAR QUE NUMA REDE GRANDE, H DEZENAS DE MUDANAS DIRIAS DE TOPOLOGIA E ELAS NO SO SEQUER INFORMADAS AO "PESSOAL DE GERNCIA" HOJE, A VISO DE CONECTIVIDADE LGICA PODE SER LEVANTADA A CONECTIVIDADE FSICA TAMBM, MAS DEPENDENDO DE TER DISPOSITIVOS GERENCIVEIS EM TODO LUGAR, MESMO NOS DISPOSITIVOS NORMALMENTE TRANSPARENTES (HUBS, SWITCHES) OS OUTROS TIPOS DE CONECTIVIDADE DEVEM SER INFORMADAS (CONFIGURADAS) MANUALMENTE FALAREMOS ABAIXO DE ALGUNS ALGORITMOS PARA: O DESCOBRIMENTO DE DISPOSITIVOS O DESCOBRIMENTO DA TOPOLOGIA LGICA (CONECTIVIDADE LGICA) O RESULTADO ARMAZENADO NUM BANCO DE DADOS, NORMALMENTE PELA ESTAO DE GERNCIA H DUAS FORMAS BSICAS DE DESCOBRIR DISPOSITIVOS E TOPOLOGIA FORMA ATIVA, ONDE A NMS ENVIA INFORMAO NA REDE PARA DESCOBRIR INFORMAO DESCOBRIMENTO MAIS VELOZ MAS COM MAIOR INTERFERNCIA A FORMA PASSIVA EM QUE A NMS (OU OUTROS DISPOSITIVOS) ESCUTA A REDE DE FORMA PASSIVA E DESCOBRE DISPOSITIVOS SEM CARREGAR A REDE COM TRFEGO ADICIONAL VRIOS PROTOCOLOS PODEM SER USADOS PARA DESCOBRIR DISPOSITIVOS E TOPOLOGIA: ARP (ADDRESS RESOLUTION PROTOCOL)

ICMP (INTERNET CONTROL MESSAGE PROTOCOL) RIP (ROUTING INFORMATION PROTOCOL) DNS (DOMAINS NAME SERVICE) SNMP (SIMPLE NETWORK MANAGEMENT PROTOCOL) 1. MONITORAO PASSIVA DE PACOTES ARP INTERFACE TEM QUE ENTRAR EM MODO PROMSCUO ESCUTA TODOS OS PACOTES ARP E CONSTROI UMA LISTA DE ENDEREOS MAC/IP S FUNCIONA PARA SUB-REDES CONECTADAS DIRETAMENTE ESTAO QUE ESCUTA 2. MONITORAO ATIVA DE PACOTES ARP ENVIA PACOTES IP USANDO UDP PARA UMA PORTA SEM UTILIZAO PROVVEL E MONITORA O ARP QUE SA E A RESPOSTA ARP PODE MONITORAR TAMBM O PACOTE DE ERRO (PORT UNREACHABLE) QUE VOLTA LIMITA A GERAO A MAIS OU MENOS 4 PACOTES/SEG. PARA NO CARREGAR A REDE DEMAIS S FUNCIONA PARA SUB-REDES CONECTADAS DIRETAMENTE ESTAO QUE ESCUTA 3. SCAN SEQUENCIAL DE ENDEREOS IP COM PACOTE ICMP ECHO PARA UMA REDE CLASSE B, VAI GERAR: 65000 ECHOS, 65000 RESPOSTAS, 65000 PACOTES ARPs (EM BROADCAST!), 65000 RESPOSTAS ARP O QUE MATA O BROADCAST DE ARP MUITO USADO, APESAR DA CARGA 4. BROADCAST DE UM PACOTE ICMP ECHO

USA DIRECTED BROADCAST (ENVIO PARA UMA REDE REMOTA PEDINDO BROADCAST) PARECE BOM SE O ESPAO DE ENDEREAMENTO GRANDE (CLASS A, B) MAS TEM POUCOS DISPOSITIVOS NA REDE PODE GERAR MUITO TRFEGO E MUITAS COLISES NAS PESPOSTAS POR ISSO, NO SUPORTADO EM TODO LUGAR PORQUE MUITOS ROTEADORES DESLIGAM O BROADCAST PARA EVITAR GRANDE TRFEGO PODE CRIAR BROADCAST STORMS DEVIDO A MS IMPLEMENTAES DE IP (BROADCAST DE BROADCAST, ...) 5. PEDIDO ICMP PARA OBTER MSCARA DE SUBREDE AJUDA A DETERMINAR A ESTRUTURA DA REDE PODE AJUDAR A DETECTAR UM PROBLEMA COMUM: MSCARAS DE SUBREDE ERRADAS EM INTERFACES DA MESMA REDE 6. PACOTE ICMP ECHO COM TIME-TO-LIVE CRESCENTE TCNICA USADA POR TRACEROUTE EXECELENTE PARA DESCOBRIR ROTAS E PORTANTO ROTEADORES MANDA O PACOTE PARA ALGUNS ENDEREOS DA REDE REMOTA, NO TODOS PORQUE O ROTEAMENTO VAI SER IGUAL 7. ESCUTA BROADCASTS DO PROTOCOLO RIP OS PACOTES RIP CONTM TABELAS DE ROTEAMENTO E, PORTANTO, ENDEREOS DE REDE E DE ROTEADORES 8. EXAMINAR MAPAS DNS PARA DESCOBRIR MQUINAS IMPORTANTES E ROTEADORES USA ZONE TRANSFERS HOJE, ZONE TRANSFERS SO FREQUENTEMENTE DESABILITADO POR MOTIVOS DE SEGURANA 9. BROADCAST DE PACOTE SNMP TEMPESTADE DE RESPOSTAS PODE ENGARGALAR A REDE QUEM NO TEM AGENTE SNMP NO DESCOBERTO 10. USANDO SNMP, EXAMINAR A CACHE ARP DOS ROTEADORES FAZ PARTE DA MIB S PODE SER FEITO QUANDO OS ROTEADORES SO DECOBERTOS (VER ADIANTE) 11: USANDO SNMP, APROVEITAR A MONITORAO PASSIVA DE RMON VEREMOS RMON ADIANTE RMON MANTM INFORMAO SOBRE TUDO QUE V PASSANDO NA REDE E MANTM TABELAS QUE DIZEM QUE ENDEREOS EXISTEM (INCLUINDO MAC, IP) ESTE O MTODO PREFERIDO MAS AINDA NO TEM IMPLANTAO DE RMON EM ESCALA SUFICIENTE PARA DECOBRIR TUDO

SOLUO TPICA: TCNICA 3: PING SEQUENCIAL PARA DESCOBRIR DISPOSITIVOS UM POUCO DE AJUDA MANUAL PARA INICIAR (EX.: REDES DE INTERESSE) TCNICA 6: TRACEROUTE DE CADA DISPOSITIVO DESCOBERTO PARA DESCOBRIR ROTEADORES TCNICA 5: DESCOBRE MSCARA DE CADA INTERFACE DE ROTEADORES DESCOBERTA ACIMA TCNICA 2 (SEGUNDA PARTE): MANDA ECHO PARA UDP PORTA NO USADA (PROVAVELMENTE) E ANOTA O ENDEREO IP DA MENSAGEM QUE VOLTA (PARA DESCOBRIR A INTERFACE REMOTA NA QUAL O REPLY SAIU E, ASSIM, DESCOBRIR MULTIHOMED HOSTS) IDENTIFICA REDES ATRAVS DAS CLASSES IP DESCOBERTAS IDENTIFICA SUB-REDES ATRAVS DE MSCARAS DE SUBREDE TCNICA 10: VERIFICA CACHE ARP DE ROTEADORES PARA DESCOBRIR NOVOS DISPOSITIVOS COM TEMPO SEM FAZER UM DESCOBRIMENTO TOTAL DESCOBRIMENTO DA TOPOLOGIA FSICA VER LIVRO "HOW TO MANAGE YOUR NETWORK USING SNMP: THE NETWORK MANAGEMENT PRACTICUM", PGINA 308 BASEADO NO SNMP E DEPENDE PORTANTO DE TER AGENTES SNMP NOS HUBS, PONTES E SWITCHES DEPENDE DAS MIBS DE REPETIDORES (HUBS) E PONTES H UMA MIB DE DESCOBRIMENTO SENDO ELABORADA PELA IETF MAS PARECE QUE O TRABALHO PAROU NO FINAL DE 1998 DEVIDO A UMA PATENTE DA IBM SEGUEM RESULTADOS DE "DESCOBRIR" A INTERNET: OBTIDO DAQUI: http://www.caida.org/Tools/Skitter COMECE AQUI: hopdistance.htm

APS DESCOBRIR OS DISPOSITIVOS E A TOPOLOGIA, QUEREMOS TRAAR UM MAPA QUE MOSTRE OS RESULTADOS E EVIDENCIE A CONECTIVIDADE COMUM QUERER MOSTRAR APENAS OS DISPOSITIVOS MAIS IMPORTANTES PARA O USURIO COMO DESCOBRIR O QUE E IMPORTANTE? HEURSTICAS: ipForwarding = 1 (gateway ou roteador) ifNumber > 2 sysObject IDENTIFICA O DISPOSITIVO COMO SWITCH OU ROTEADOR OU SERVIDOR ipOutRequests/sec > 100 etc., etc. O OPERADOR DA REDE AINDA TEM QUE AJUDAR PARA JUNTAR OS DISPOSITIVOS DO MAPA NAS VISES MAIS TEIS PARA ELE O MXIMO QUE O SOFTWARE DE DESCOBRIMENTO PODE FAZER AGRUPAR EM SUBREDES IP ALM DO DESCOBRIMENTO DE TOPOLOGIA, A GERNCIA DE TOPOLOGIA TAMBM ENVOLVE:

DEFINIO DE LANS VIRTUAIS (VLANs) PARA FACILIAR MOVES, ADDS, CHANGES CONFIGURAO DE SPANNING TREE (ESCOLHER A RAIZ DA RVORE, POR EXEMPLO) VEREMOS MAIS SOBRE ISSO ADIANTE CONFIGURAO DE DISPOSITIVOS A CONFIGURAO DE DISPOSITIVOS DEVE BASEAR-SE EM IMAGENS QUE REPRESENTEM OS DISPOSITIVOS FSICOS FIELMENTE

PODE-SE CONFIGURAR GRAFICAMENTE: STATUS DE CADA PORTA ENDEREOS MAC E/OU IP ASSOCIADOS S PORTAS ATRIBUTOS DE PORTAS OU DO DISPOSITIVO FAZER UM RESET REMOTO, ETC. PARA ROTEADORES, PODE-SE CONFIGURAR O TIPO DE ROTEAMENTO (IP, IPX, APPLETALK), REGRAS DE FILTRAGEM, SE FAZ BRIDGING TAMBM OU NO, ETC. BASELINING AS CONFIGURAES DE DISPOSITIVOS DEVEM SER GUARDADOS EM ARQUIVOS (FORMANDO O BASELINE) DE FORMA A: PERMITIR CONFIGURAR UM OU MAIS DISPOSITIVOS SEMELHANTES A PARTIR DE UM ARQUIVO DE BASELINE ARMAZENADO VERIFICAR SE A CONFIGURAO DA REDE INTEIRA EST DE ACORDO COM O BASELINE RECONFIGURAR A REDE PARCIAL OU TOTALMENTE A PARTIR DO BASELINE EM CASO DE PROBLEMA A CONFIGURAO DE DISPOSITIVOS PERMITE AINDA: INSTALAR NOVAS VERSES DO SOFTWARE DE CONTROLE, INCLUINDO AGENTES PERMITE FAZER UPDATE EM BULK (VRIOS DISPOSITIVOS) PERMITE FAZER UPDATE ESCALONADO ( NOITE) PERMITE FAZER UPDATE AUTOMTICO (SEM ATENDIMENTO HUMANO) NORMALMENTE USA TFTP (TRIVIAL FILE TRANSFER PROTOCOL) RASTREAR O HISTRICO DE TODOS OS UPGRADES E MUDANAS DE CONFIGURAO DOS DISPOSITIVOS FREQUENTEMENTE FEITO A PARTIR DE UM SOFTWARE DE COTROLE DE INVENTRIO QUE PODE CONTROLAR TAMBM OS CONTRATOS DE MANUTENO, ETC. A PLANTA BAIXA DE CABEAMENTO, INCLUINDO LAYOUT DOS PRDIOS, ETC.

GERNCIA DE FALTAS
A GERNCIA DE FALTAS PODE SER DIVIDIDA NAS SEGUINTES TAREFAS BSICAS:

COLETA DE DADOS E DETECO DE FALTAS MANUTENO E MONITORAO DO ESTADO DE CADA UM DOS ELEMENTOS GERENCIADOS PERCEPO DE QUE EST HAVENDO UM PROBLEMA PODE INCLUIR A ANTECIPAO DE FALHAS MONITORAO DE INDICADORES QUE POSSAM PREVER A OCORRNCIA DE FALHAS TAXAS CRESCENTES DE ERRO, ATRASOS DE TRANSMISSO USO DE LIMIARES (THRESHOLD) PARA GERAR ALARMES DIAGNSTICO DE PROBLEMAS UMA FALTA PODE GERAR UMA FALHA USAMOS OS 2 TERMOS DE FORMA INTERCAMBIVEL USO DE TCNICAS PARA DIAGNOSTICAR A LOCALIZAO E RAZO DA FALHA TCNICAS PODEM USAR CORRELAO DE EVENTOS, TESTES DE DIAGNSTICOS, ... USO DE SISTEMAS ESPECIALISTAS SOLUES EMERGENCIAIS PARA NO DEIXAR A REDE PARADA PODE NECESSITAR DE TESTES ADICIONAIS PARA PERMITIR A VERIFICAO DO FUNCIONAMENTO DE RECURSOS DA REDE EM CONDIES NORMAIS OU ARTIFICIAIS

TAMBM CHAMADO DE ISOLAO DE FALHAS

EXEMPLOS: TESTES DE ECO, DE CONECTIVIDADE RESOLUO DE PROBLEMAS AES NECESSRIAS AO RESTABELECIMENTO DOS ELEMENTOS COM PROBLEMAS AES PODE SER SUGERIDAS AUTOMATICAMENTE USO DE SISTEMAS ESPECIALISTAS NOTIFICAO E TRACKING

TAMBM CHAMADO SUPERVISO DE ALARMES INTERFACE DO USURIO INDICA QUAIS ELEMENTOS ESTO FUNCIONANDO, QUAIS ESTO FUNCIONANDO PARCIALMENTE E QUAIS ESTO FORA DE OPERAO INCLUI NVEIS DE SEVERIDADE PODE INDICAR POSSVEIS CAUSAS PODE AVISAR VISUALMENTE, COM EMAIL, PAGER, ... PROV REGISTRO DE OCORRNCIAS E EMISSO DE RELATRIOS PARA ANLISE SOBRE EVENTOS E ALARMES EVENTOS SO MOMENTOS "INTERESSANTES" DE ATIVIDADE NA REDE PODEM REPRESENTAR FALHAS OU NO PODEM SER IMPORTANTES OU NO UMA FALHA PODE DESENCADEAR MUITOS EVENTOS

QUEREMOS LEVAR PROBLEMAS (E NO EVENTOS INDIVIDUAIS) ATENO DO OPERADOR ATRAVS DE ALARMES DEVE PORTANTO HAVER FILTRAGEM DE EVENTOS PARA GERAR ALARMES NA REALIDADE, PODE HAVER VRIOS TIPOS DE FILTROS FILTROS BASEADOS EM THRESHOLDS PARA GERAR EVENTOS A PARTIR DE MEDIES FILTROS DE AGRUPAMENTO PARA CORRELACIONAR EVENTOS ENTRE SI E DESCOBRIR CAUSAS COMUNS (PROBLEMAS) FILTROS DE PRIORIDADE ASSOCIAM UMA CRITICALIDADE A PROBLEMAS (E O ALARME CORRESPONDENTE) A AO A SER FEITA POR UMA ALARME CONFIGURVEL MUDAR O MAPA DA REDE ENVIAR UM EMAIL MANDAR UMA MENSAGEM PARA UM PAGER ETC. VER O RESULTADO NA FIGURA ABAIXO

USO DE LIMIARES (THRESHOLDS) LIMIARES SO APLICADOS A VARIVEIS DE MIB QUE TENHAM VALOR NUMRICO AS VEZES, DEVE-SE VERIFICAR VALORES ABSOLUTOS DE CONTADORES EXEMPLO: ifInErrors, ifOutErrors, ... AS VEZES, PREFERVEL USAR PERCENTUAIS EXEMPLO: ifInOctets, ifOutOctets, ... VALORES DE LIMIARES SO AJUSTADOS APS DESCOBRIR O COMPORTAMENTO "NORMAL" DO SISTEMA UM LIMIAR PODE TER UM VALOR DE "RE-ARMAO"

INTRODUZ HISTERESE PARA EVITAR MLTIPLOS EVENTOS QUANDO O VALOR OSCILA A REDOR DO LIMIAR

TROUBLE TICKETING USADO PARA CONTROLAR PROBLEMAS E ACOMPANHAR SUA SOLUO UM TROUBLE TICKET PODE SER ABERTO POR UM USURIO OU AUTOMATICAMENTE PELA PLATAFORMA OU ALGUMA APLICAO DEPENDE DA POLTICA IMPLANTADA NORMALMENTE APLICAES DE TROUBLE TICKETING PERMITEM RELATRIOS SOFISTICADOS

SISTEMAS DE TOUBLE TICKETING PODEM SE INTEGRADOS A UM SISTEMA DE HELP DESK GERNCIA DE FALTAS PARA INTERFACES USANDO A MIB-2 A MONITORAO DE INTERFACES PODE SER USADA PARA DETECTAR CONDIES DE 3 TIPOS DIFERENTES: PROBLEMAS: UMA CONDIO QUE NECESSITA DA ATENO DO OPERADOR PODE USAR UM LIMIAR DE ZERO PARA SEMPRE CHAMAR A ATENO DO OPERADOR CONDIES NO USUAIS: PODEM OCORRER COM BAIXA FREQUNCIA MAS PODEM SE TORNAR UM PROBLEMA SE A FREQUNCIA AUMENTAR CONDIES NORMAIS DE CARGA (WORKLOAD): PARA CONTABILIZAR A ATIVIDADE NORMAL DE UMA INTERFACE PODE TAMBM DETECTAR PROBLEMAS DE EXCESSO DE CARGA O QUE OLHAR? ifOperStatus NO IGUAL A ifAdminStatus INDICA UM PROBLEMA ifLastChange INDICA QUANDO A INTERFACE MUDOU DE ESTADO ifInErrors E ifOutErrors PODEM SER USADOS PARA CALCULAR TAXAS DE ERROS AS TAXAS DE ERROS DEVEM SER BAIXAS E MUITO MENORES DO QUE AS TAXAS DE ENTRADA E SADA DE PACOTES ifInDiscards E ifOutDiscards INDICAM PACOTES JOGADOS FORA (DESCARTADOS) DEVIDO A LIMITAES DE RECURSOS (MEMRIA, POR EXEMPLO) AS TAXAS DE DESCARTE DEVEM SER PEQUENAS E MUITO MENORES DO QUE AS TAXAS DE ENTRADA E SADA DE PACOTES ifInUcastPkts E ifInNUcastPkts INDICAM PACOTES DE ENTRADA COM UNICAST E NOUNICAST (NORMALMENTE BROADCAST) IDEM PARA ifOutUcastPkts E ifOutNUcastPkts AS TAXAS DE BROADCAST DEVEM SER MUITO PEQUENAS (AT UNS 2% DA CAPACIDADE) NA IF-MIB (VERSO EXPANDIDA DO GRUPO interfaces - VER RFC 2233), TEM CONTADORES SEPARADOS PARA BROADCAST E UNICAST ifInUnknownProtos SEMPRE INDICA UM PROBLEMA

ipForwDatagrams DEVE SER ZERO NUM HOST ipInAddrErrors INDICA UM ENDEREO ERRADO (EXEMPLO: DE UMA OUTRA SUBREDE) QUE NO DEVERIA TER CHEGADO NESTA INTERFACE: INDICA UM PROBLEMA ipOutNoRoutes INDICA DATAGRAMAS JOGADOS FORA DEVIDO AUSNCIA DE ROTA POSSVEL: INDICA UM ERRO ipInHdrErrors INDICA UMA CONDIO NO USUAL MAS NO NECESSARIAMENTE UM PROBLEMA A IF-MIB (RFC 2233) PERMITE GERAR UM TRAP QUANDO O ENLACE MUDA DE ESTADO GERNCIA DE FALTAS PARA REDES ETHERNET EXISTEM TRS MIBs PARA IEEE 802.3

RFC 2108 PARA REPETIDORES (UM REPETIDOR DE MLTIPLAS PORTAS CHAMADO DE CONCENTRADOR OU HUB) AS VARIVEIS SO rptr... RFC 2358 PARA A INFORMAO DE "ETHERNET-LIKE INTERFACE TYPES" (ETHERLIKE-MIB) AS VARIVEIS SO dot3... RFC 2239 PARA A INFORMAO DE MEDIA ATTACHMENT UNIT (MAU) BAIXO NVEL PARA DIFERENCIAR 10BASET, 10BASE5, ..., TIPOS DE CONECTORES, BASEBAND VERSUS BROADBAND, ETC. USO DAS VARIVEIS DA ETHERLIKE-MIB ifErrors E ifOutErrors INDICAM ERROS SE AUMENTAREM, PODE-SE INVESTIGAR OS ERROS COM MAIS CUIDADO ERROS DE ENTRADA (RECEPO): DESCRIO USO PARA DETECTAR FALTAS

VARIVEL

dot3StatsAlignmentErr QUADRO NO RECONHECIDO POR PROBLEMA NO LOCAL ors NO TER NMERO INTEIRO DE BYTES dot3StatsFCSErrors QUADRO RECONHECIDO MAS COM FRAME CHECK SEQUENCE (CHECKSUM) ERRADO CONDIO NO USUAL: DEVE SER MUITO PEQUENO. SE NO FOR, TEM UM PROBLEMA NO LOCAL ERRO NO LOCAL: SOFTWARE REMOTO COM PROBLEMAS PROBLEMA LOCAL: FALHA NA PLACA DE REDE PROBLEMA LOCAL: FALHA NA PLACA DE REDE

dot3StatsFrameTooLo QUADRO MAIOR QUE O MAIOR ngs QUADRO POSSVEL dot3StatsInternalMacR QUADRO NO RECEBIDO POR ERRO eceiveErrors INTERNO DA CAMADA MAC ERRO NO TESTE ESPECIAL DE dot3StatsSQETestErro INTERFACE CHAMADO "SIGNAL rs QUALITY ERROR"

USO DAS VARIVEIS DA ETHERLIKE-MIB (CONTINUAO) CONTADORES DE SADA (TRANSMISSO): DESCRIO USO PARA DETECTAR FALTAS AQUI S CONTAMOS AS COLISES DESTA INTERFACE O SOMATRIO DE COLISES DEVE SER <= 2% DO TRFEGO DESTA INTERFACE

VARIVEL

dot3StatsSingleCollisi QUADROS RETRANSMITIDOS COM SE HOUVER COLISES DEMAIS NA onFrames SUCESSO APS UMA NICA COLISO REDE TODA, O TRFEGO EST ALTO DEMAIS SE HOUVER COLISES DEMAIS DE UMA NICA INTERFACE, A INTERFACE EST COM PROBLEMA

dot3StatsMultiplesColl QUADROS RETRANSMITIDOS COM VER COLISES ACIMA isionFrames SUCESSO APS MAIS DE UMA COLISO QUADROS QUE NO FORAM dot3StatsDefferedTran TRANSMITIDOS DE PRIMEIRA PORQUE CONDIO NO USUAL smissions O MEIO ESTAVA OCUPADO QUADROS COM COLISO DETECTADA REDE LONGA DEMAIS OU ALGUMA dot3StatsLateCollision DEPOIS DO TEMPO MXIMO POSSVEL PLACA NO DETECTA COLISES s PARA UMA REDE OPERANDO ADEQUADAMENTE ADEQUADAMENTE QUADROS QUE NO FORAM dot3StatsExcessiveCol TRANSMITIDOS POR TEREM SOFRIDO VER COLISES ACIMA lisions MAIS DO QUE 16 COLISES dot3StatsInternalMacT QUADROS NO TRANSMITIDOS POR ransmitErrors ERRO INTERNO DA CAMADA MAC PROBLEMA LOCAL: FALHA NA PLACA DE REDE

dot3StatsCarrierSense PROBLEMA LOCAL: CONEXO FROUXA ERROS DE DETECO DE PORTADORA Errors COM O MEIO UMA TABELA DE FREQUNCIAS DE COLISES COM 3 COLUNAS: 2 DE NDICE E A FREQUNCIA DE COLISO VER COLISES ACIMA DOS QUADROS. OS NDICES SO O ifIndex DA INTERFACE E O NMERO POSSVEL DE COLISES (0 A 15)

dot3CollTable

USO DAS VARIVEIS DE REPETIDORES DEVIDO EXISTNCIA FREQUENTE DE REPETIDORES EXPANSVEIS (STACKABLE HUBS), A MIBS IDENTIFICA: UM REPETIDOR, QUE CONTM ... VRIOS GRUPOS, QYE CONTM ... VRIAS PORTAS rptrTotalPartionedPorts: INDICA QUANTAS PORTAS ESTO AUTO-PARTICIONADA ISTO , REMOVIDAS DA REDE PELO PRPRIO HUB DEVIDO A EXCESSO DE COLISES OU UMA COLISO COM DURAO ACIMA DO PERMITIDO PODE SER DEVIDO A QUEBRA NO CABO, CONECTOR RUIM, ETC. rptrPortAdminStatus E rptrPortOperStatus: COMO ifAdminStatus E ifOperStatus rptrPortAutoPartitionedState: INDICA SE ESTA PORTA EST AUTO-PARTICIONADA rptrMonitorPortAutoPartitions CONTA AS TRANSIES DE AUTO-PARTICIONAMENTO E PODE INDICAR UM PROBLEMA INTERMITENTE rptrMonitorGroupTotalErrors E rptrMonitorPortTotalErrors EXISTEM PARA FACILITAR O POLLING FAZ POLL DE MENOS VARIVEIS E INVESTIGA COM MAIS CUIDADO SE HOUVER MUITOS ERROS rptrReset PODE SER USADO PARA CAUSAR UM RESET NO EQUIPAMENTO

GERNCIA DE DESEMPENHO
SISTEMAS DE FILAS UM SISTEMA SIMPLES DE FILAS CONSISTE DE UM SERVIDOR ONDE CHEGAM FREGUESES, FORMANDO UMA FILA A FILA SE FORMA DEVIDO NATUREZA PROBABILSTICA DE DUAS VARIVEIS O TEMPO ENTRE CHEGADAS DE FREGUESES, E O TEMPO DE SERVIO (PARA ATENDER UM FREGUS) SISTEMA REGIDO PELAS LEIS DOS PROCESSOS ESTOCSTICOS

EXEMPLOS BANCO SUPERMERCADO ENLACE DE COMUNICAO DE DADOS NA FIGURA ACIMA: A MDIA DA TAXA DE SERVIO TOMANDO O EXEMPLO DE UM ENLACE DE COMUNICAO DE DADOS USANDO COMUTAO DE PACOTES OS FREGUESES SO PACOTES (OU QUADROS, ETC., DEPENDENDO DA CAMADA) O SERVIDOR O CANAL DE TRANSMISSO

A MDIA DA TAXA DE CHEGADA

A FILA SE FORMA PORQUE NOVOS PACOTES PODEM CHEGAR ENQUANTO UM QUADRO EST SENDO TRANSMITIDO COMO CARACTERIZAR E ? TEM VRIAS FORMAS, DESDE QUE AS UNIDADES SEJAM IGUAIS EXEMPLO: SE EXPRESSARMOS E EM BITS POR SEGUNDO, ENTO:

= C/L C = CAPACIDADE DO CANAL EM BITS POR SEGUNDO L = TAMAMHO MDIO DE UM PACOTE EM BITS O QUE DETERMINA O DESEMPENHO DA FILA SO BASICAMENTE OS PROCESSOS ESTOCSTICOS QUE REGEM A ENTRADA E O SERVIO E PRINCIPALMENTE A UTILIZAO DO SERVIDOR ( = /) A UTILIZAO PODE SER VISTA COMO O PERCENTUAL DE OCUPAO DO SERVIDOR UM NMERO ENTRE 0 E 1 A UTILIZAO INSTANTNEA VARIA COM TEMPO

= NMERO DE PACOTES/SEGUNDO

O QUE MAIS IMPORTANTE DISSO SO AS TAXAS MDIAS ( E )

A UTILIZAO MDIA

PODEMOS JUNTAR VRIAS FILAS E FORMAR UMA REDE DE FILAS EXEMPLO: PARA MODELAR UMA REDE DE COMPUTADORES EXERCCIO: QUAL SERIA A REDE DE FILAS PARA A SEGUINTE REDE DE COMPUTADORES, SE O CRCULOS REPRESENTAM PONTOS DE ENTRADA E SADA DE TRFEGO E AS INHAS REPRESENTAM ENLACES DE COMUNICAO FULL-DUPLEX?

MEDIDAS DE DESEMPENHO DE INTERESSE VAZO (C BITS POR SEGUNDO) TEMPO DE RESPOSTA PODE SER NUM NICO ENLACE MAS NORMALMENTE FIM-A-FIM COMO CARACTERIZAR O TEMPO DE REPOSTA?

TEM TRS COMPONENTES PRINCIPAIS: T = W + TT + TL TEMPO DE ESPERA EM FILA TEMPO DE SERVIO QUE CONSISTE DE:

TEMPO DE TRANSMISSO TEMPO DE LATNCIA COMO ESTIMAR CADA COMPONENTE? O TEMPO DE LATNCIA TEM BASICAMENTE A VER COM A DISTNCIA SUPE-SE, POR EXEMPLO, QUE O SINAL TRAFEGA A 80% DA VELOCIDADE DA LUZ (300.000 KM/SEG), OU 240.000 KM/SEG OU ENTRE 10 E 15 MILISSEGUNDOS ENTRE RECIFE E SO PAULO NORMALMENTE DESPREZVEL MAS PODE SER DOMINANTE PARA UM ENLACE DE SATLITE (1/4 DE SEG. IDA E VOLTA) O TEMPO DE TRANSMISSO O TEMPO QUE OS BITS TEM QUE FICAR NO MEIO AT TERMINAR A TRANSMISSO TT = TAMANHO MDIO DO PACOTE EM BITS / CAPACIDADE DO ENLACE EM BITS POR SEGUNDO O TEMPO EM FILA MAIS DIFCIL DE ESTIMAR, MAS PODE-SE USAR O SEGUINTE VALOR APROXIMADO:

W = 1/(1-) RESULTADO FINAL: UM GRFICO APROXIMADO DO TEMPO DE RESPOSTA (T) SEGUE ABAIXO

ESTE GRFICO EXIBE UM "JOELHO"

COM UTILIZAO MENOR QUE O JOELHO (UNS 70%), O DESEMPENHO MDIO E A VARIABILIDADE DO SERVIO SO BONS COM UTILIZAO MENOR, A MDIA E A VARIABILIDADE FICAM BEM PIORES

RESULTADO

UMA REGRA BSICA DA AVALIAO DE DESEMPENHO QUE A UTILIZAO DE QUALQUER RECURSO COMPARTILHADO DEVE FICAR ABAIXO DO JOELHO DA CURVA DE DESEMPENHO

OBSERVE QUE PARA CERTAS TECNOLOGIAS COMO ETHERNET, AS COLISES NOS FAZEM PERDER CAPACIDADE E, PORTANTO, NO PODEMOS PASSAR DE UNS 50% (SE FOR UM MEIO COMPARTILHADO) UMA SEGUNDA REGRA BSICA DA AVALIAO DE DESEMPENHO QUE UM MAU DESEMPENHO INDICA ALGUM GARGALO NUM LUGAR LOCALIZADO E NO, EM GERAL, UM PROBLEMA GENERALIZADO DE DESEMPENHO DEVE-SE LOCALIZAR O GARGALO PODEMOS TAMBM RELACIONAR O TEMPO MDIO DE RESPOSTA (OU DE ESPERA) COM A TAMANHO DA FILA ATRAVS DA LEI DE LITTLE: N = W = /(1-) ONDE N = TAMANHO MDIO DA FILA OUTRAS MEDIDAS DE DESEMPENHO: CONFIABILIDADE PODE SER CONSIDERADO COMO SENDO DISPONIBILIDADE (% DISPONVEL) 95%: PARA TESTES OU PROTTIPOS (438 HORAS/ANO DE DOWNTIME)

99,5%: BAIXA DISPONIBILIDADE (44 HORAS/ANO DE DOWNTIME) 99,95%: BOA DISPONIBILIDADE (4 HORAS/ANO DE DOWNTIME) 99,98%: ALTA DISPONIBILIDADE (2 HORAS/ANO DE DOWNTIME) 99,99%: LIMITE SUPERIOR ATUALMENTE (50 MINUTOS/ANO DE DOWNTIME) OU PODE SER RECUPERABILIDADE DUAS MEDIDAS MEAN TIME BETWEEN FAILURE (MTBF) MEAN TIME TO REPAIR (MTTR) DISPONIBILIDADE = MTTR/(MTTR+MTBF) PRIMEIRA FACETA DA GERNCIA DE DESEMPENHO: DESCOBRINDO PROBLEMAS A GERNCIA DE DESEMPENHO POSSUI VRIAS FACETAS UMA DELAS PRESTAR ATENO S MEDIDAS DE DESEMPENHO E ALERTAR QUANDO ALGO NO VAI BEM ISSO PODE SER FEITO DA SEGUINTE FORMA

ADQUIRE UM BASELINE DE DESEMPENHO COMPORTAMENTO NORMAL PARA O DESEMPENHO

DESCREVENDO

QUE

ISTO , AS VRIAS MEDIDAS ESCOLHIDAS PARA RETRATAR O DESEMPENHO DA REDE ISSO FEITO AO LONGO DE ALGUMAS SEMANAS DE OPERAO AJUSTA-SE THRESHOLDS ACIMA DOS VALORES NORMAIS PARA GERAR EVENTOS QUANDO O DESEMPENHO CRUZAR OS LIMIARES TIPICAMENTE TEM 2 LIMIARES: ADVERTNCIA E CRTICO SEGUNDA FACETA DA GERNCIA DE DESEMPENHO: PLANEJAMENTO DE CAPACIDADE CONSISTE EM OBSERVAR O DESEMPENHO COM TEMPO E: ANALISAR TENDNCIAS BALANCEAR A CARGA DA REDE ENTRE RECURSOS PLANEJAMENTO DE EXPANSES (OU MUDANAS) DE CONFIGURAO DA REDE IMPLICA EM GUARDAR DADOS HISTRICOS DE MEDIDAS DE DESEMPENHO DADOS JOGADOS FORA DEPOIS DE UM TEMPO MAS NO OS "EVENTOS" (GUARDA "PARA SEMPRE") QUE ESTATSTICAS DE DESEMPENHO INTERESSAM? PARA INTERFACES UTILIZAO DOS ENLACES, POR HORA PODE INCLUIR DISTRIBUIO DE FREQUNCIA COM HISTOGRAMA (0-20%, 20%-60%, 60%-100%) UTILIZAO DAS INTERFACES, POR PROTOCOLO QUALIDADE DOS ENLACES, POR HORA FRAO DE ERROS NA ENTRADA E NA SADA NMERO TOTAL DE ERROS DISPONIBILIDADE PIORES INTERFACES, DIARIAMENTE PARA ROTEADORES UTILIZAO DE CPU UTILIZAO DE MEMRIA DISPONIBILIDADE TAXA DE DESCARTE TAXA TOTAL DE PACOTES CHAVEADOS POR SEGUNDO PARA LANS ETHERNET COLISES DEVEM FICAR EM, NO MXIMO, 3% ALGUNS ADMINISTRADORES TOLERAM AT 5% PARA HOSTS (NO QUE DIZ RESPEITO REDE APENAS, POR ENQUANTO) TAXA DE RETRANSMISSO TCP EXERCCIO MOSTRE COMO USAR SNMP PARA OBTER AS MEDIDAS DE DESEMPENHO DISCUTIDAS ACIMA OBSERVE QUE NENHUMA MEDIDA ACIMA NOS FORNECE TEMPO DE RESPOSTA SNMP NO FORNECE ISSO POIS NO MEDE NADA FIM-A-FIM PODE USAR PING E/OU TRACEROUTE E/OU PATHCHAR PARA OBTER ESSES VALORES AINDA TEREMOS MUITO A FALAR SOBRE COMO OBTER MEDIDAS DE DESEMPENHO QUANDO FALARMOS DE RMON (REMOTE MONITORING) ADIANTE DIFERENAS ENTRE GERENCIAMENTO DE LANs E WANs LEI BSICA: "O GARGALO DE DESEMPENHO A WAN" O MOTIVO PODE SER VISTO NA SEGUINTE TABELA COMPARATIVA ENTRE LANs E WANs PORTANTO, PARA DESEMPENHO, OLHO NA WAN! LAN PRINCIPALMENTE COMUTADA USURIOS ESTO NO MESMO LUGAR FSICO CABEAO PRIVADA EQUIPAMENTOS DOMINAM O CUSTO ALTA VELOCIDADE LARGURA DE BANDA VONTADE WAN PRINCIPALMENTE ROTEADA USURIOS GEOGRAFICAMENTE DISPERSOS USO DE SERVIO DE TELES CUSTO DOMINADO POR ENLACES BAIXA VELOCIDADE LARGURA DE BANDA LIMITADA

LARGURA DE BANDA BARATA TEMPO DE RESPOSTA RPIDO

LARGURA DE BANDA CARA TEMPO DE RESPOSTA MAIS LENTO

TCNICAS DE CONSERVAO DE LARGURA DE BANDA DEVIDO CRITICALIDADE DA WAN NO QUE DIZ RESPEITO AO DESEMPENHO, BONS ROTEADORES NOS AJUDAM A CONSERVAR LARGURA DE BANDA ALGUMAS TCNICAS SO MENCIONADAS ABAIXO O ROTEADOR NO PROPAGA BROADCAST PARA A WAN (UFA!) ROTEADORES SUPORTAM VRIOS PROTOCOLOS DE ROTEAMENTO DE FORMA AO ADMINISTRADOR PODER ESCOLHER UM DELES EM FUNO DE SUAS NECESSIDADES UMA FORMA DE ESCOLHER DE LEVAR A QUANTIDADE DE TRFEGO GERADO PELO PROTOCOLO EXEMPLO: RIP GERA MAIS TRFEGO QUE OSPF ROTEADORES PODE USAR BANDWIDTH-ON-DEMAND QUANDO UM ENLACE CONGESTIONA UM ENLACE DISCADO PODE SER USADO PARA DAR MAIS LARGURA DE BANDA A GENERALIZAO DISSO USANDO VRIAS TECNOLOGIAS PARA FORMAR UM NICO ENLACE "BANDWIDTH AGGREGATION"

USANDO "MULTILINK PPP", PODE-SE COMBINAR: ENLACES PRIVADOS, ENLACES TELEFNICOS COMUTADOS (POTS), ISDN, ...) O ROTEADOR PODE USAR COMPRESSO DE DADOS

O ROTEADOR PODE PRIORIZAR CERTO TRFEGO EXEMPLO: PRIORIDADE PARA TRFEGO INTERATIVO TELNET O ROTEADOR PODE FORNECER GARANTIAS DE LARGURA DE BANDA PARA CERTO TRFEGO ATRAVS DA RESERVA DE CERTA LARGURA DE BANDA POR PROTOCOLO SE ALGUM PROTOCOLO NO USA SUA BANDA, ELA PODE SER TEMPORARIAMENTE ALOCADA PARA OUTRO PROTOCOLO

PERMITE OFERECER MELHORES GARANTIAS DE DESEMPENHO PARA TRFEGO INTERATIVO OU TRANSACIONAL O ROTEADOR PODE IMPLEMENTAR "EQUIDADE ENTRE SESSES" PARA EQUILIBRAR A LARGURA

DE BANDA RECEBIDA POR CADA SESSO DE UM PROTOCOLO UMA EXTENSO DA TCNICA DE RESERVA POR PROTOCOLO (ACIMA) O ROTEADOR PODE IMPLEMENTAR MULTICAST

UMA NICA CPIA DA INFORMAO ENVIADA PARA MLTIPLOS DESTINOS NUMA "RVORE DE ENTREGA" EST SE TORNANDO EXTREMAMENTE IMPORTANTE HOJE EM DIA O ROTEADOR PODE IMPLEMENTAR O PROTOCOLO RSVP PARA RESERVAR RECURSOS E GARANTIR

(OU QUASE) A QUALIDADE DO SERVIO (QoS)

REMOTE MONITORING (RMON)


O APARECIMENTO DE RMON O EVENTO MAIS SIGNIFICATIVO NO MUNDO SNMP DESDE A INVENO DO PRPRIO SNMP QUAIS SO OS PROBLEMAS COM SNMP QUE LEVARAM AO APARECIMENTO DE RMON? O POLLING CENTRALIZADO A PARTIR DE UMA ESTAO DE GERNCIA NO TEM ESCALA O TRFEGO DE GERNCIA PODE PIORAR A SITUAO DA REDE, ESPECIALMENTE EM ENLACES WAN O TRABALHO INTEIRO EST SENDO FEITO PELA ESTAO DE GERNCIA, IMPONDO UM LIMITE SUPERIOR NO NMERO DE SEGMENTOS DE REDE MONITORADOS AS MIBs EXISTENTES S FORNECEM INFORMAO SOBRE EQUIPAMENTOS INDIVIDUAIS E NO SOBRE SEGMENTOS INTEIROS EXEMPLO: DIFCIL OBTER UMA MATRIZ DE TRFEGO ENTRE ORIGEMDESTINO A MONITORAO PRA QUANDO H UMA QUEBRA DE CONECTIVIDADE ENTRE A ESTAO DE GERNCIA E PARTES REMOTAS DA REDE SOLUO QUE RMON TRAZ:

DISTRIBUIR AS RESPONSABVILIDADES DE FORMA A COLOCAR INTELIGNCIA NUMA SONDA REMOTA (REMOTE PROBE) PARA MONITORAR SEGMENTOS DE REDE POR ENQUANTO, BASTA IMAGINAR UM PROBE PERMANENTEMENTE LOCALIZADO NUM SEGMENTO COMPARTILHADO DE REDE E MONITORANDO-O EM MODO PROMSCUO O PROBE SABE TUDO QUE PASSA NO SEGMENTO DE REDE VEREMOS O QUE FAZER COM SWITCHES DEPOIS O PROBE PODE SER STANDALONE OU ESTAR EMBUTIDO EM OUTRO EQUIPAMENTO (HUB, SWITCH, ROTEADOR) OU AT EM NETWORK INTERFACE CARDS (NIC - OU PLACAS DE REDE) A ESTAO DE GERNCIA ACESSA O PROBE PARA OBTER INFORMAO MASTIGADA A INFORMAO MASTIGADA APRESENTADA SOB FORMA DE UMA MIB PORTANTO, RMON FORNECE O EMBRIO DE UMA SOLUO DE GERNCIA DISTRIBUDA QUANDO RMON FOI INVENTADA, OS SEGUINTES OBJETIVOS DE PROJETO FORAM LEVADOS EM CONSIDERAO OPERAO OFF-LINE UM MONITOR (PROBE) DEVE COLETAR INFORMAO SOBRE FALTAS, DESEMPENHO E CONFIGURAO MESMO QUANDO NO EST SENDO ACESSADO POR UM GERENTE AS ESTATSTICAS SO ACUMULADAS PARA ACESSO FUTURO PELO GERENTE O PROBE PODE TENTAR AVISAR O GERENTE (VIA TRAP) SE HOUVER UM EVENTO EXCEPCIONAL O PROBE DEVE PODER DETECTAR CONDIES DE ERRO E REPORT-LAS PARA TANTO, O PROBE DEVE SER ALTAMENTE CONFIGURVEL (PARA INDICAR O QUE MONITORAR, O QUE VERIFICAR, QUE AO TOMAR QUANDO H UMA CONDIO EXCEPCIONAL, ETC.) PARA REPORTAR UMA CONDIO DE ERRO, NO E SUFICIENTE ENVIAR UM TRAP O TRAP PODE SER PERDIDO DEVE HAVER MECANISMO DE LOG PARA QUE A ESTAO DE GERNCIA EXAMINE EVENTOS QUE OCORRERAM NO PASSADO E LOGADOS PELO PROBE O PROBE DEVE PODER FAZER CERTOS TIPOS DE ANLISE NOS DADOS COLETADOS EXEMPLO: ORDENAR OS HOSTS DO SEGMENTO POR ORDEM DE TRFEGO, ERRO, ETC. DEATA FORMA, A ESTAO DE GERNCIA NO TEM QUE PEGAR TODOS OS DADOS E ANALIS-LOS: BASTA PEGAR OS DADOS MAIS IMPORTANTES O PROBE DEVE SER CONTROLVEL POR MAIS DE UM GERENTE PODE HAVER MAIS DE UM GERENTE POR MOTIVOS DE CONFIABILIDADE, POR TEREM FUNCIONALIDADES DIFERENTES, POR ATENDEREM A UNIDADES DIFERENTES DE UMA ORGANIZAO, ETC.

PARA CONTROLAR UM PROBE, A MIB (DO AGENTE DENTRO DO PROBE) TEM VRIAS TABELAS DE CONTROLE E SETAR VARIVEIS NESTAS TABELAS AFETA A OPERAO DO PROBE AS TABELAS CONTM UMA VARIVEL PARA CONTER O NOME DO GERENTE QUE CONTROLA ("POSSUI") UMA LINHA DA TABELA APENAS ESTE GERENTE PODE ALTERAR A LINHA (MUDAR A CONFIGURAO) A MIB RMON RFC 1757 (EXTENSO PARA TOKEN RING NA RFC 1513) CONTM 10 GRUPO OPCIONAIS

O GRUPO statistics MANTM ESTATSTICAS DE UTILIZAO E DE ERROS PARA CADA SEGMENTO MONITORADO PELO PROBE O PROBE PODE TER MAIS DE UMA INTERFACE E SE CONECTAR A MAIS DE UM SEGMENTO DE REDE E MONITORAR CADA UM DELES H UMA TABELA CONTENDO BASICAMENTE CONTADORES PARA O SEGMENTO INTEIRO SE APLICA A UM SEGMENTO ETHERNET EXTENSO PARA TOKEN RING NA RFC 1513 CONTM O QUE J TEM NA MIB-2 E NA ETHER-LIKE MIB (dot3Stats) MAS CONTA PARA O SEGMENTO INTEIRO OS CONTADORES DA TABELA statistics etherStatsDropEvents: NMERO DE VEZES QUE PACOTES DEIXARAM DE SER TRATADOS PELO PROBE DEVIDO FALTA DE RECURSOS etherStatsOctets: NMERO DE BYTES RECEBIDOS INCLUINDO PACOTES ERRADOS etherStatsPkts: NMERO DE PACOTES (QUADROS) RECEBIDOS INCLUINDO PACOTES NORMAIS, PACOTES ERRADOS, PACOTES DE DE BROADCAST E DE MULTICAST etherStatsBroadcastPkts: NMERO DE PACOTES DE BROADCAST etherStatsMulticastPkts: NMERO DE PACOTES DE MULTICAST etherStatsCRCAlignErrors: NMERO DE PACOTES RECEBIDOS COM TAMANHO CORRETO (ENTRE 64 E 1518 BYTES) MAS COM ERRO DE CRC OU DE ENQUADRAMENTO (NMERO DE BITS NO MLTIPLO DE 8) etherStatsUndersizePkts: NMERO DE PACOTES BEM FORMADOS MAS MENORES QUE 64 BYTES etherStatsOversizePkts: NMERO DE PACOTES BEM FORMADOS MAS MAIORES QUE 1518 BYTES etherStatsFragments: NMERO DE PACOTES MENORES QUE 64 BYTES E COM ERROS DE CRC OU DE ENQUADRAMENTO (RESULTADOS DE COLISO, PROVAVELMENTE) etherStatsJabbers: NMERO DE PACOTES MAIORES QUE 1518 BYTES E COM ERROS DE CRC OU DE ENQUADRAMENTO etherStatsCollisions: NMERO TOTAL DE COLISES

etherStatsPkts64Octets: NMERO DE PACOTES COM TAMANHO 64 BYTES etherStatsPkts65to127Octets: NMERO DE PACOTES COM TAMANHO ENTRE 65 E 127 BYTES etherStatsPkts128to255Octets: NMERO DE PACOTES COM TAMANHO ENTRE 128 E 255 BYTES etherStatsPkts256to511Octets: NMERO DE PACOTES COM TAMANHO ENTRE 256 E 511 BYTES etherStatsPkts512to1023Octets: NMERO DE PACOTES COM TAMANHO ENTRE 512 E 1023 BYTES etherStatsPkts1024to1518Octets: NMERO DE PACOTES COM TAMANHO ENTRE 1024 E 1518 BYTES O CONTROLE DA TABELA: PODE-SE PEDIR PARA MONITORAR UMA DETERMINADA INTERFACE (CRIANDO UMA LINHA PARA ELA) PODE-SE INFORMAR O NOME DO GERENTE QUE "POSSUI" ESTA LINHA DE CONTROLE O GRUPO history PERMITE REGISTRAR AMOSTRAS ESTATSTICAS PERIDICAS DE INFORMAES DO GRUPO statistics A TABELA DE CONTROLE DESTE GRUPO PERMITE DEFINIR FUNES DE AMOSTRAGEM A TABELA DE DADOS, TAMBM DESTE GRUPO, CONTM AS AMOSTRAS UMA FUNO DE AMOSTRAGEM DEFINIDA POR: UMA INTERFACE A SER MONITORADA (historyControlDataSource) O INTERVALO DE AMOSTRAGEM EM SEGUNDOS (ENTRE 1 E 3600). O DEFAULT 1800 (30 MINUTOS) (historyControlInterval) O NMERO DE AMOSTRAS QUE SER QUER GUARDAR DO PASSADO (historyControlBucketsRequested) O NMERO DE AMOSTRAS QUE REALMENTE SO AGUARDADAS (historyControlBucketsGranted) PODE SER MENOR DO QUE O QUE FOI PEDIDO DEVIDO A LIMITAES DE RECURSOS

APS CONFIGURAR UMA FUNO DE AMOSTRAGEM (OU MAIS), A TABELA DE DADOS DO GRUPO CONTER AT historyControlBucketsGranted DE TODOS OS CONTADORES DO GRUPO statistics (MENOS OS TAMANHOS DE PACOTES) ESTE BUFFER DE AMOSTRAGEM CIRCULAR (AS LTIMAS historyControlBucketsGranted AMOSTRAS SO GUARDADAS)

ALM DO MAIS, A TABELA DE DADOS CONTM UMA COLUNA PARA A UTILIZAO DO MEIO (etherHistoryUtilization) A UTILIZAO EXTREMAMENTE TIL PARA VER SE H SOBRECARGA (CONGESTO) NO MEIO TIPICAMENTE, CONSIDERA-SE UMA UTILIZAO DE 50% COMO LIMITE ACEITVEL NUM SEGMENTO ETHERNET COMPARTILHADO NUM TOKEN RING OU SEGMENTO ETHERNET NO COMPARTILHADO, PODE SER MAIS: AT UNS 75-80% A UTILIZAO CALCULADA COMO SEGUE: U = [(PACKETS X (96 + 64) + BYTES X 8) / (INTERVALO X 10.000.000)] X 100% O MOTIVO QUE CADA QUADRO PRECEDIDO DE UM PREMBULO DE SINCRONIZAO DE 64 BITS E DEVE HAVER PELO MENOS 96 BITS ENTRE QUADROS (INTERFRAME GAP) O GRUPO host CONTM CONTADORES PARA VRIOS TIPOS DE TRFEGO PARA/DE OS HOSTS DO SEGMENTO O PROBE APRENDE QUEM SO OS HOSTS DO SEGMENTO ESCUTANDO O MEIO E OBSERVANDO OS ENDEREOS MAC ORIGEM E DESTINO PARA CADA HOST, O PROBE MANTM: PACOTES ENTRANDO E SAINDO BYTES ENTRANDO E SAINDO PACOTES EM ERRO GERADOS PELO HOST PACOTES DE BROADCAST GERADOS PELO HOST PACOTES DE MULTICAST GERADOS PELO HOST O GRUPO hostTopN CONTM ESTATSTICAS DE HOSTS ORDENADAS POR ALGUM PARMETRO UMA DAS 7 VARIVEIS DO GRUPO host PODE SER USADA PARA ORDENAR A TABELA

O TAMANHO DA TABELA (O NMERO DE HOSTS) E O INTERVALO DE AMOSTRAGEM PODEM SER CONFIGURADOS A TABELA ORDENADA CONTM: O ENDEREO MAC DO HOST EM QUESTO (hostTopNAddress) O VALOR DO LTIMO DELTA (TAMANHO DA MUDANA NA LTIMA AMOSTRA) DA VARIVEL SELECIONADA (hostTopNRate) A TABELA EST ORDENADA POR VALOR DESTA VARIVEL O GRUPO matrix CONTM INFORMAO DE UTILIZAO E DE ERRO EM FORMA DE MATRIZ PARA CADA PAR DE ENDEREOS MAC PARA CADA PAR, A TABELA DE DADOS MANTM: UM CONTADOR DE PACOTES UM CONTADOR DE BYTES UM CONTADOR DE ERROS NA REALIDADE, H DUAS TABELAS ORIGEM-DESTINO (matrixSDTable) PARA SABER O TRFEGO DE UM HOSTS PARA TODOS OS DEMAIS DESTINO-ORIGEM (matrixDSTable) PARA SABER O TRFEGO DE TODOS OS HOSTS PARA UM DETERMINADO HOST O GRUPO alarm

PERMITE ESTABELECER UM INTERVALO DE AMOSTRAGEM E LIMIARES ASSOCIADOS A QUALQUER COUNTER OU INTEGER MANTIDOS PELO PROBE O QUE DEVE SER CONFIGURADO NA TABELA DE CONTROLE: UM INTERVALO DE AMOSTRAGEM UMA VARIVEL SER MONITORADA DOIS LIMIARES (PARA CRIAR HISTERESE) O TIPO DE LIMIAR (ABSOLUTO OU DELTA) QUANDO GERAR UM EVENTO (CHAMADO "ALARME" PELO RMON) AO CRUZAR UM DOS LIMIARES, OU O OUTRO, OU AMBOS UM INDICE DENTRO DA TABELA DE EVENTOS (A SER DISCUTIDA ADIANTE) DIZENDO QUE AO TOMAR PODE SER LOGAR O EVENTO E/OU GERAR UM TRAP

O GRUPO event DESCREVE TODOS OS EVENTOS QUE O PROBE PODE GERAR UM EVENTO PODE SER GERADO COMO SEGUE: PELO CRUZAMENTO DE UM LIMIAR (GRUPO alarm) COMO RESULTADO DE UM FILTRO (VER GRUPO filter ADIANTE) A DESCRIO DE UM EVENTO INDICA UMA AO A SER FEITA

O GRUPO filter PERMITE QUE O MONITOR OBSERVE PACOTES QUE ATENDAM A CERTAS CARACTERSTICAS PERMITE PORTANTO QUE O PROBE SE TORNE UM "ANALISADOR REMOTO DE PROTOCOLOS" PARA TODOS OS PACOTES QUE ATENDAM (OU QUE NO ATENDAM) A UMA CERTA CONDIO, O PROBE PODE: ADQUIRIR ESTATSTICAS SOBRE OS PACOTES FILTRADOS CAPTURAR OS PACOTES FILTRADOS (VER ADIANTE) UM FILTRO PODE SER DEFINIDO PARA: EXAMINAR QUALQUER COMBINAO DE BITS EM QUALQUER LUGAR DE UM PACOTE (DATA FILTER) FILTRAR PACOTES COM DETERMINADA CONDIO DE ERRO (TAMANHO, CRC, ENQUADRAMENTO) (STATUS FILTER)

PODE SER LOGAR O EVENTO NA logTable (COM TIMESTAMP E DESCRIO) PODE GERAR UM TRAP SNMP

VRIOS FILTROS SO COMBINADOS NUM CANAL (CHANNEL)

UM PACOTE SATISFAZ O CANAL (PASSOU PELO CANAL) SE PASSAR POR QUALQUER UM DOS FILTROS ASSOCIADOS AO CANAL UM PACOTE QUE PASSOU PELO CANAL DISPARA UM EVENTO (DO GRUPO event) O GRUPO capture PERMITE CAPTURAR E ARMAZENAR PARCIAL OU TOTALMENTE PACOTES QUE FORAM FILTRADOS EM ALGUM CANAL COMPLETA PORTANTO A FUNO DO PROBE COMO "ANALISADOR REMOTO DE PROTOCOLOS" AO DEFINIR, NA TABELA DE CONTROLE, UMA LINHA QUE SE REFIRA A ALGUM CANAL DE FILTRAGEM, O PROBE PASSA A ARMAZENAR PACOTES NA TABELA DE DADOS DO GRUPO O NMERO TOTAL DE BYTES DISPONVEIS NO BUFFER DE SALVAMENTO, O NMERO DE BYTES A SALVAR POR PACOTE, QUAIS BYTES SALVAR, E VRIOS OUTROS PARMETROS SO CONFIGURVEIS NA TABELA DE CONTROLE A TABELA DE DADOS CONTM OS PACOTES SALVOS E PODE SER ACESSADA PELA ESTAO DE GERNCIA REALITY CHECK: MUITOS PROBES DO MERCADO FORAM TESTADOS E ALGUNS PERDEM MUITOS PACOTES QUE DEVERIAM SER CAPTURADOS (DEVIDO A PROBLEMAS DE DESEPENHO DO PROBE) A VANTAGEM BSICA DO RMON PERMITE QUE UMA PESSOA DE SUPORTE A REDE POSSA SUPORTAR MAIS SEGMENTOS DE REDE ONDE E COMO USAR RMON NUM SEGMENTO COMPARTILHADO IDEALMENTE, CADA SEGMENTO COMPARTILHADO TERIA UM PROBE RMON DEVIDO AO CUSTO ELEVADO, FREQUENTE USAR PROBES RMON APENAS EM: BACKBONES POR QUE AFETAM MUITA GENTE PERMITE DETECTAR PROBLEMAS QUE AFETAM O CAMPUS INTEIRO PERMITE MONITORAR TRFEGO QUE CRUZA GRUPOS DE TRABALHO E, ASSIM, MELHOR DEFINIR OS GRUPOS DE TRABALHO SEGMENTOS COM SERVIDORES CRTICOS SEGMENTOS DE GRUPOS DE TRABALHO CRTICOS

ISTO , CRTICOS PARA O BUSINESS DA EMPRESA PARA EMERGNCIAS, PROBES PORTTEIS PODEM SER USADOS E LOCALIZADOS TEMPORARIAMENTE NUM SEGMENTO ONDE E COMO USAR RMON COM SWITCHES PARA ADQUIRIR ESTATSTICAS SOBRE TODOS OS QUADROS QUE PASSAM NA REDE, O PROBE RMON OPERA EM MODO PROMSCUO E DEPENDE DO BROADCAST FSICO (DE CAMADA 1) PARA ESCUTAR TUDO ISSO NO POSSVEL NUMA SWITCH ONDE QUADROS TRAFEGAM APENAS NAS PORTAS NECESSRIAS (COM EXEO DA OPERAO DE FLOODING) COMO FAZER ENTO PARA RMON FUNCIONAR EM AMBIENTES COMUTADOS? A SOLUO BVIA DE A SWITCH TER PROBES EMBUTIDOS ESCUTANDO EM CADA PORTA NO FUNCIONA HOJE (EM 1999) DEVIDO A PROBLEMAS DE DESEMPENHO NENHUMA SWITCH CAPAZ DE ACOMPANHAR O TRFEGO EM TODAS AS PORTAS A 100 Mbps (FAST ETHERNET), E MUITO MENOS A 1 Gbps E ADQUIRIR AS ESTATSTICAS RMON ESTE PROBLEMA DE DESEMPENHO A RAZO PRINCIPAL QUE EXPLICA POR QUE

SWITCHES DE PRIMEIRA GERAO NO TINHAM PROBES RMON EMBUTIDOS DISCUTIMOS AS ALTERNATIVAS POSSVEIS ABAIXO PRIMEIRA ALTERNATIVA: PROBE RMON NA PLACA DE REDE (NIC) E NO NA SWITCH SEGUNDA ALTERNATIVA: GRUPOS RMON BSICOS PARA CADA PORTA DA SWITCH A SWITCH CONSEGUE ACOMPANHAR O TRFEGO E FORNECER OS GRUPOS statistics, history, alarms E events ESTA FUNCIONALIDADE BSICA E DEVE SER SEMPRE EXIGIDA EM QUALQUER SWITCH NO DEGRADA O DESEMPENHO DA SWITCH TERCEIRA ALTERNATIVA: ROVING EMBEDDED PROBES OU "PROBES EMBUTIDOS ERRANTES" UM PROBE COMPLETO (COM TODOS OS GRUPOS RMON) EST INCLUDO NA SWITCH MAS PODE ADQUIRIR ESTATSTICAS APENAS PARA UMA PORTA (OU UM PEQUENO GRUPO DE PORTAS) A PORTA (OU GRUPO) SENDO MONITORADO CONFIGURVEL AO DETECTAR ALGUMA ANOMALIA NUMA PORTA ATRAVS DOS GRUPOS BSICOS, O ROVING PROBE PODE SER DIRECIONADO PARA ESTA PORTA QUARTA ALTERNATIVA: ESPELHAMENTO DE PORTA A SWITCH POSSUI UMA PORTA PARA DIAGNSTICOS E O TRFEGO DE QUALQUER PORTA PODE SER ESPELHADO NESTA PORTA DE DIAGNSTICOS UM PROBE EXTERNO COMPLETO PODE MONITORAR A PORTA ESPELHO A DESVANTAGEM BSICA EST CLARA: O PROBE DEVE SER FISICAMENTE CONECTADO PORTA ESPELHO QUANDO NECESSRIO A ALTERNATIVA PODE SER USADA NUMA PORTA DE ALTA VELOCIDADE, J QUE NO AFETA O DESEMPENHO DA SWITCH QUINTA ALTERNATIVA: MONITORAO COOPERATIVA USAR PROBES ESPECIALIZADOS EM LUGARES ESTRATGICOS DIFERENTES EXEMPLO: FAZER FILTRAGEM E CAPTURA DE PACOTES EM SWITCHES QUE FICAM NA PERIFERIA, PERTO DE ONDE O TRFEGO GERADO E RECEBIDO MANTER ESTATSTICAS DE TRFEGO (HISTORY, MATRIX, HOST, HOSTTOPN) NOS SWITCHES CENTRAIS QUE OBSERVAM A ATIVIDADE NO BACKBONE E OS PADRES DE TRFEGO

RMON2 RMON (CHAMADO RMON1) TEM LIMITAES: NO PODE ENXERGAR A ORIGEM E O DESTINO VERDADEIROS DOS PACOTES PORQUE OPERA NO NVEL DE ENLACE DE FORMA GERAL, RMON1 NO ENXERGA ALM DO SEGMENTO NO QUAL EST CONECTADO RMON2 (RFC 2021) FOI CRIADO PARA PROVER ESTATSTICAS PARA AS CAMADAS 3 A 7 DE PROTOCOLOS QUALQUER CAMADA ACIMA DE "REDE" CHAMADA UMA CAMADA DE "APLICAO", O QUE NO SIGNIFICA QUE SEJA DA CAMADA 7

NO DESCREVEREMOS RMON2 EM DETALHES OS GRUPOS DA MIB RMON2 SO: PROTOCLO DIRECTORY: INFORMA QUAIS PROTOCOLOS (IP, TCP, SMTP, ETC.) O PROBE CONHECE PROTOCOL DISTRIBUTION: ESTATSTICAS AGREGADAS SOBRE O TRFEGO GERADO POR CADA PROTOCOLO EM CADA SEGMENTO DE REDE ADDRESS MAP: MANTM A CORRESPONDNCIA ENTRE ENDEREOS IP, ENDEREOS MAC E PORTAS NETWORK-LAYER HOST: ESTATSTICAS SOBRE O TRFEGO QUE ENTRA E SAI DOS HOSTS, BASEADO NO ENDEREO DE REDE NETWORK-LAYER MATRIX: ESTATSTICAS SOBRE O TRFEGO ENTRE PARES DE HOSTS, BASEADO NO ENDEREO DE REDE INCLUI TopN DA MATRIZ APPLICATION-LAYER HOST: ESTATSTICAS SOBRE O TRFEGO QUE ENTRA E SAI DOS HOSTS, BASEADO NO ENDEREO DE APLICAO APPLICATION-LAYER MATRIX: ESTATSTICAS SOBRE O TRFEGO ENTRE PARES DE HOSTS, BASEADO NO ENDEREO DE APLICAO INCLUI TopN DA MATRIZ USER HISTORY COLLECTION: ADQUIRE AMOSTRAS DE VARIVEIS INDICADAS PELO USURIO NAS FREQUNCIAS DESEJADAS QUALQUER VARIVEL DE QUALQUER MIB! PROBE CONFIGURATION: DEFINE PARMETROS DE CONFIGURAO DO PROBE INCLUI DESTINO DE TRAPS

INCLUI CONFIGURAO DE LINHAS SERIAIS PARA ACESSO OUT-OF-BAND PELA ESTAO DE GERNCIA UTILIZAO DE PROBES RMON1/RMON2 PARA SOLUCIONAR PROBLEMAS CONCRETOS SEGUE UMA DESCRIO DE VRIOS "CASOS" RESOLVIDOS COM RMON [FALTA TAMBM ACHAR E DESCREVER UMA BOA APLICAO RMON DISPONVEL COMERCIALMENTE] CASO 1:

PROBLEMA: O GERENTE DE REDE NUMA GRANDE EMPRESA EST COM PROBLEMAS COM OS USURIOS FINAIS. USURIOS NA DIVISO DE ENGENHARIA ESTO RODANDO SIMULAES E UTILIZAM A REDE CORPORATIVA. AS SIMULAES PODEM RODAR DURANTE DIAS E PRECISAM DE UM CONJUNTO COMPLEXO DE CONEXES CLIENTE/SERVIDOR QUE DEVEM RODAR A VELOCIDADE MXIMA DURANTE TODA A SIMULAO. A PARTIR DE UM CERTO MOMENTO, AS SIMULAES COMEARAM A

DEMORAR DUAS VEZES MAIS E A DIVISO DE ENGENHARIA EST CULPANDO A FALTA DE BANDA PASSANTE NA REDE E QUER QUE A REDE ETHERNET DE 10 Mbps MIGRE PARA 100Mbps OU MAIS

METODOLOGIA: O GERENTE DE REDE COLETOU "HISTRIAS" DOS PROBES RMON COLOCADOS EM CERTOS LUGARES DA REDE DE ENGENHARIA. ELE ENTO PRODUZIU GRFICOS MOSTRANDO UTILIZAO E IDENTIFICANDO OS HOSTS QUE MAIS "FALAM" NA REDE SOLUO: O GERENTE DE REDE APRESENTOU SEUS GRFICOS E MOSTROU QUE A UTILIZAO DA REDE NUNCA ULTRAPASSA 10%. PORM, QUEM MAIS FALA NA REDE DA ENGENHARIA UM TERMINAL-X QUE RODA UM SCREEN SAVER EXTREMAMENTE ELABORADO A PARTIR DE UMA ESTAO DE TRABALHO LOCAL. O SCREEN SAVER O CULPADO PELA LENTIDO DA SIMULAO. A DIVISO DE ENGENHARIA DEIXOU DE RECLAMAR. CASO 2:

PROBLEMA: UM USURIO FINAL NUMA GRANDE EMPRESA FARMACUTICA EST RECLAMANDO SOBRE UM TEMPO DE RESPOSTAS ANORMALMENTE LENTO QUANDO ACESSA SEUS DADOS DE PESQUISA. A EMPRESA ONDE ELE TRABALHA TEM SERVIDORES NOVELL NUMA REDE LOCAL COMUTADA. METODOLOGIA: OS SWITCHES TM UM ROVING PROBE EMBUTIDO COM SUPORTE TOTAL A RMON (TODOS OS GRUPOS) PARA UMA PORTA QUALQUER DO SWITCH. USANDO ESTE ROVING PROBE, UM FILTRO COM CAPTURA DE PACOTES FOI CONFIGURADO PARA CAPTURAR TODO O TRFEGO ENTRE O PC DO USURIO E O RESTO DA REDE. SOLUO: A PARTIR DOS DADOS COLETADOS, FICOU CLARO QUE PARA CADA ACESSO AO SERVIDOR, HAVIA FREQUENTEMENTE MLTIPLAS RESPOSTAS DO SERVIDOR. eSTA ANLISE INDICOU QUEDEVERIA HAVER UM PROBLEMA COM O PC OU A PLACA DE REDE OU COM O CABO. UMA INSPEO VISUAL REVELOU QUE O CABO RJ-45 CONECTANDO O PC AO SWITCH ESTAVA DESGASTADO E A COMUNICAO ENTRE O PC E TODOS OS HOSTS ESTAVA MUITO INTERMITENTE.UM NOVO CABO RJ-45 RESOLVEU O PROBLEMA. CASO 3:

PROBLEMA: UM GOVERNO MUNICIPAL TEM SOFRIDO PROBLEMAS DE TEMPO DE RESPOSTA CRESCENTE NA SUA REDE. USURIOS COMEAM A RELATAR PROBLEMAS COM O ACESSO AOS SERVIDORES UNIX VIA TCP/IP. DEPOIS DE UMA HORA, MAIS OU MENOS, O USURIOS COMEAM A RELATAR PROBLEMAS COM TEMPO DE RESPOSTA ENVOLVENDO OUTROS PROTOCOLOS E SERVIDORES. EVENTUALEMENTE, DECIDE-SE REBOOTAR OS SERVIDORES. OS PROBE\LEMAS DESAPARECEM POR UM TEMPO MAS VOLTANDO, MAIS RAPIDAMENTE AINDA.

METODOLOGIA: O GERENTE DE REDE DECIDIU INSTRUMENTAR SUAS REDE COM VRIOS PROBES RMON. IMEDIATAMENTE, DESCOBRIU QUE A TAXA DE BROADCAST CRESCIAM AT 40% DO TRFEGO TOTAL DA REDE. TENDO VISTO ISSO, ELE CONFIGUROU FILTROS PARA CAPTURAR PACOTES DE BROADCAST. a ANLISE DOS PACOTES CAPTURADOS REVELOU QUE VRIOS DOS SERVIDORES ESTAVAM ENVIANDO PEDIDOS ARP A TAXAS ANORMALMENTE ALTAS. COLOCANDO FILTROS PARA CAPTURAR ALGUMAS CONVERSAS CLIENTE/SERVIDOR, ELE DESCOBRIU QUE CADA PEDIDO DO CLIENTE ESTAVA SENDO REPONDIDO PELOS SERVIDORES NO COM UMA RESPOSTA MAS COM UM PEDIDO ARP. SOLUO: O GERENTE DE REDE ENTENDEU QUE OS SERVIDORES ESTAVAM PERDENDO A INFORMAO DA CACHE ARP ASSIM QUE A INFORMAO ERA DESCOBERTA (ISTO , A CACHE ARP ESTAVA SENDO ESVAZIADA IMEDIATAMENTE). VERIFICANDO A CONFIGURAO DOS SERVIDORES, FOI DESCOBERTO QUE O VALOR DE TIMEOUT DA CACHE ARP TINHA SIDO ESTABELECIDA EM MILISSEGUNDOS, EM VEZ DE MINUTOS. o ACERTO DO VALOR RESOLVEU O PROBLEMA COMPLETAMENTE. CASO 4:

PROBLEMA: UMA GRANDE EMPRESA DE PETRLEO CONSTRUI UMA GRANDE REDE CORPORATIVA ROTEADA COM MUITAS ROTAS ALTERNATIVAS. O BACKBONE CONSISTE DE ENLACES WAN CONECTADOS EM MALHA PERMITINDO AT 3 CAMINHOS ALTERNATIVOS PARA O TRFEGO. PERIODICAMENTE, NUMA CERTA HORA DO DIA, USURIOS REMOTOS LIGAM PARA O HELP DESK REPORTANDO SRIOS PROBLEMAS DE COMUNICAO COM O CENTRO DE PROCESSAMENTO DE DADOS. MONTAGENS NFS SO PERDIDAS E CONEXES CAEM. TCNICOS PROCURAM O PROBLEMA MAS ELE SOME SOZINHO DEPOIS DE UMA HORA.

METODOLOGIA: APS COLOCAR PROBES RMON NAS REDES LOCAIS PRINCIPAIS CONECTADAS WAN, O GERENTE DE REDE DECIDIU ESTABELECER UM BASELINE PARA ESSAS REDES. VRIOS LIMIARES "APERTADOS" FORAM ESTABELECIDOS PARA GERAR EVENTOS COM QUALQUER PEQUENO DESVIO DE COMPORTAMENTO DE TRFEGO (EM PACOTES POR SEGUNDO). DURANTE UM PERODO PROBLEMTICO, O PROBE DE UMA REDE LOCAL COMEOU A GERAR EVENTOS. O PROBE REPORTOU QUE O TRFEGO ESTAVA 10 A 12 VEZES ACIMA DO NORMAL E QUE A UTILIZAO PASSAVA DE 70%. OS DOIS HOSTS COM MAIOR TRFEGO (TOP 2 TALKERS) ERAM PORTAS DO ROTEADOR ENTRE A LAN E A WAN. UMA CAPTURA DE PACOTES DESTE TRFEGO MOSTROU QUE A MAIOR PARTE DO TRFEGO TINHA ORIGEM E DESTINO FORA DA LAN. SOLUO: DESCOBRIU-SE QUE UM DOS ROTEADORES DA WAN ESTAVA CALCULANDO SUA TABELA DE ROTAS DE FORMA ERRADA MAS APENAS DURANTE VERIFICAES PERIDICAS FEITAS POR UM TCNICO DURANTE CERTO HORRIO DO DIA. EM VEZ DE ROTEAR TRFEGO DENTRO DA MALHA WAN, O TRFEGO ERA DESVIADO PARA A LAN ONDE SERIA ROTEADO DE VOLTA PARA A WAN ATRAVS DE OUTRA ROTA. A LAN TINHA SE TORNADO PARTE DO BACKBONE CORPORATIVO DURANTE UMA HORA AT QUE O ROTEADOR PROBLEMTICO VOLTASSE AO COMPORTAMENTO NORMAL. UM PROTOCOLO DE ROTEAMENTO DIFERENTE FOI IMPLANTADO E A LISTA DE CONTROLE DE ACESSO DO ROTEADOR FOI MODIFICADA PARA REMOVER O IMPACTO DAS ATIVIDADES DO TCNICO. CASO 5:

PROBLEMA: UM GRANDE FABRICANTE DE TURBINAS DE AVIO IMPLANTOU A REDE ACIMAPARA SEUS ENGENHEIROS DE CAD/CAM QUE ESTO TRABALHANDO NUM NOVO PROJETO DE TURBINA. O SEGMENTO ETHERNET TEM MLTIPLOS USURIOS E MLTIPLOS SERVIDORES NUM NICO DOMNIO DE COLISO. A MONITORAO CONTNUA DO TRFEGO COM UM PROBE RMON MOSTRA QUE A UTILIZAO DO SEGMENTO J EST PASSANDO DOS LIMITES ACEITVEIS (FREQUENTEMENTE ACIMA DE 50%) E EST AFETANDO O TRABALHO DOS ENGENHEIROS. METODOLOGIA: O TIME DE SUPORTE DE REDE DECIDIU TROCAR O HUB POR UM SWITCH. TAMBM DECIDIRAM SEGMENTAR OS USURIOS DE ACORDO COM OS PROTOCOLOS E OS SERVIDORES USADOS. SOLUO: UM PROBE RMON2 MONITORANDO O SEGMENTO DURANTE VRIAS SEMANAS MOSTRA QUE SISTEMAS ESTO SENDO USADOS POR QUE USURIOS USANDO QUE PROTOCOLOS. COM ESTA INFORMAO, AS VLANs DA SWITCH PODEM SER CONFIGURADOS.

GERNCIA DE HOSPEDEIROS
TIPOS DE HOSPEDEIROS DOIS TIPOS DE HOSPEDEIROS SERVIDORES ESTAES CLIENTES H GRANDE DIFERENA NO GERENCIAMENTO DOS DOIS TIPOS SO POUCOS SERVIDORES MAS CADA UM TEM GRANDE IMPORTNCIA, POIS OFERECE UM SERVIO PARA VRIOS USURIOS SO MUITAS ESTES CLIENTES.CADA UMA MENOS IMPORTANTE, MAS GERENCIAR TODAS APRESENTA DIFICULDADES DEVIDO ESCALA VEREMOS ALGUNS DETALHES DO GERENCIAMENTO DE ESTAES CLIENTES NO PRXIMO CAPTULO QUANDO FALARMOS DE DESKTOP MANAGEMENT INTERFACE (DMI) DA DESKTOP

MANAGEMENT TASK FORCE (DMTF) O QUE QUEREMOS GERENCIAR NUM HOSPEDEIRO SERVIDOR? MUITO DIFERENTE DE DISPOSITIVOS DE REDE PORQUE UM HOSPEDEIRO TEM MUITO MAIS "INTELIGNCIA" E MUITO MAIS VERSTIL A GERNCIA DE SISTEMAS MUITO MAIS ABRANGENTE DO QUE A GERNCIA DE REDE DIVIDIREMOS A DISCUSSO EM REAS DE GERENCIAMENTO OBJETOS GERENCIADOS ATRIBUTOS DOS OBJETOS GERENCIADOS FUNES DE GERENCIAMENTO DESEJADAS MTRICAS EXPOSTAS EM RELATRIOS REA DE OBJETOS ATRIBUTOS DOS FUNES MTRICAS/RELAT GERENCIAMENTO GERENCIADOS OBJETOS RIOS NODOS SISTEMAS UNIX HOME DO HOST MONITORAO DE UTILIZAO DA SISTEMAS NT RELEASE STATUS CPU PERIFRICOS MODELO MONITORAO DE FABRICANTE DESEMPENHO NMERO DE SRIE LIMIARES NA UTILIZAO DA CPU EXEMPLO: 90% DURANTE 5 MINUTOS COM REARM DE 80% DIAGNSTICO DE PROBLEMAS ACOMPANHAMENT O DE PROBLEMAS ACOMPANHAMENT O DE UTILIZAO DE RECURSOS COM CONTABILIDADE/F ATURAMENTO AUDITORIA DE SEGURANA ESCALONAMENTO DE TAREFAS E BALANCEAMENTO DE CARGA LOG DE PROBLEMAS USURIOS E USURIOS USURIO ADICIONAR E ESPAO GRUPOS GRUPOS DE NOME DE LOGIN REMOVER CONSUMIDO USURIOS SENHA USURIOS E LOGINS FEITOS LOGIN GRUPOS HABILITADO MUDANA DE UID ATRIBUTOS DIRETRIO DE QUOTAS CASA PERMISSES SHELL GRUPOS NOME SALA FSICA FONES QUOTA DE ESPAO EM DISCO GRUPO NOME GID MEMBROS KERNEL DRIVERS VERSO E RECONFIGURAO PROCESSOS ATIVOS DISPOSITIVOS RELEASE DO KERNEL UTILIZAO DE PROCESSOS DRIVERS IMPLANTAO DE MEMRIA

DISCOS

SOFTWARE INSTALADO

SPOOLING

INTERFACES DE

PARMETROS DO UM NOVO KERNEL FSICA E VIRTUAL KERNEL MUDANA DE HIT RATE DA (TAMANHO DE PRIORIDADE DE CACHE TABELAS, ...) PROCESSOS SUBSISTEMAS MATAR PARMETROS DE PROCESSOS DISPOSITIVOS TAMANHO DE PROCESSOS QUANTIDADE DE CPU POR PROCESSO PARTIES SWAP MONITORAO DE UTILIZAO DE SISTEMAS DE CAPACIDADE UTILIZAO DE CADA UNIDADE ARQUIVOS ESPAO RECURSOS FSICA CONFIGURAO USADO/LIVRE (ESPAO LIVRE) UTILIZAO DE DE DISCOS TIPO (ARQUIVO, BACKUPS CADA UNIDADE DIRETRIOS PARTIO) GERNCIA DE LGICA EXPORTADOS DISPOSITIVO ESPAO UTILIZAO DE DIRETRIOS SISTEMA DE LIMIARES NA CADA MONTADOS ARQUIVOS UTILIZAO DO CONTROLADORA PARTIO DE DISPOSITIVO ESPAO EM SWAP TAXA DE I/O PARA SWAP PARTIO EXEMPLO: 75% CADA UNIDADE PONTOS DE DURANTE 5 FSICA/LGICA/CO MONTAGEM MINUTOS COM NTROLADORA (LOCAL E REMOTO) REARM DE 65% I/O DE DISCO PERMISSES DE MONITORAO DE DEVIDO EXPORTAO STATUS GERNCIA DE CAPACIDADE MONITORAO DE MEMRIA ESPAO DESEMPENHO SWAP-IN E SWAPUSADO/LIVRE LIMIARES NA OUT ESPAO MNIMO UTILIZAO DOS LIVRE DISCOS NOMES DE EXEMPLO: 90% ARQUIVOS DURANTE 10 LONGOS/CURTOS MINUTOS COM PRIORIDADE NA REARM DE 80% VERIFICAO DO DIAGNSTICO DE SISTEMA DE PROBLEMAS ARQUIVOS ACOMPANHAMENT O DE PROBLEMAS ACOMPANHAMENT O DE UTILIZAO DE RECURSOS COM CONTABILIDADE/F ATURAMENTO PRODUTO NOME GERENCIAMENTO INFORMAO DE INSTALADO OPES DE DE LICENAS CADASTRO INSTALAO INSTALAO DE OPES DE NOVO SOFTWARE REMOO DESINSTALAO DIRETRIO DE DE SOFTWARE INSTALAO SUBPRODUTOS INSTALADOS PROTOCOLO DE IMPRESSORAS GERNCIA DE RELATRIOS DE SPOOL FSICAS IMPRESSORAS PROBLEMAS SPOOLER LOCAL IMPRESSORAS ACOMPANHAMENT SPOOLER REMOTO LGICAS O DE STATUS (DESTINOS) DISTRIBUIO DE ARQUIVOS DE RELATRIOS ACESSO PARMETROS DE CONFIGURAO PLACAS DE REDE TIPO ACOMPANHAMENT TAXA DE I/O EM

REDE

O DE TRFEGO PACOTES E ACOMPANHAMENT BYTES/SEG O DE TAXAS DE TAXA DE ERROS ERROS A IMPORTNCIA DA AUTOMAO (SCRIPTS) NA GERNCIA DE SISTEMAS A IMPORTNCIA DE EXAMINAR ARQUIVOS DE LOG

VELOCIDADE ENDEREO IP ENDEREO MAC

CERTOS PRODUTOS (CHAMADOS WATCHDOGS) PROCURAM PADRES ARQUIVOS DE LOG E GERAM EVENTOS PARA PLATAFORMAS DE GERNCIA O MUNDO SNMP E A GERNCIA DE HOSPEDEIROS E SISTEMAS A GERNCIA DE SISTEMAS NORMALMENTE FEITA SEM USAR SNMP SNMP CHEGOU TARDE A ESTA REA

EM

O MUNDO SNMP DEFINIU A HOST RESOURCE MIB (RFC 1514) PARA ESTE PROPSITO DESCREVEMOS ESTA MIB RAPIDAMENTE AGORA SYSTEM GROUP DATA DO SISTEMA DISPOSITIVO E PARMETROS DE BOOT NMERO DE USURIOS LOGADOS NMERO DE PROCESSOS EXECUTANDO NMERO MXIMO DE PROCESSOS STORAGE GROUP QUANTIDADE DE MEMRIA PRINCIPAL TABELA DE DISPOSITIVOS DE ARMAZENAMENTO TIPOS DE DISPOSIVITIVOS (FIXED DISK, REMOVABLE DISK, CD, FLOPPY, RAM DISK, ...) DESCRIO UNIDADES DE ALOCAO TAMANHO UNIDADES DE ALOCAO USADAS FALHAS DE ALOCAO DEVICE GROUP TABELA DE DISPOSITIVOS TIPO (IMPRESSORA, PROCESSADOR, ...) DESCRIO STATUS (RUNNING, WARNING, TESTING, DOWN, UNKNOWN) NMERO DE ERROS TABELA DE PROCESSADORES UTILIZAO (%) DURANTE O LTIMO MINUTO TABELA DE PLACAS DE REDE TABELA DE IMPRESSORAS STATUS (IDLE, PRINTING, WARMUP, ...) ESTADO DE ERRO DETECTADO: UM BIT CADA PARA: LOW PAPER NO PAPER LOW TONER NO TONER DOOR OPEN JAMMED OFFLINE SERVICE REQUESTED TABELA DE DISCOS E DE PARTIES TABELA DE SISTEMAS DE ARQUIVOS (LOCAIS OU REMOTOS) TIPO PONTO DE MONTAGEM (LOCAL E REMOTO) TIPO PERMISSES DE ACESSO SE BOOTVEL OU NO DATAS DE BACKUP PARCIAL E COMPLETO RUNNING SOFTWARE GROUP INCLUI UMA DESCRIO DO SOFTWARE CARREGADO EM MEMRIA (FSICA OU VIRTUAL) E PRONTO PARA RODAR

INCLUI SISTEMA OPERACIONAL, DRIVERS, APLICAES VARIVEIS DA TABELA NOME DO SOFTWARE PATH DO ARQUIVO EXECUTVEL PARMETROS DE EXECUO TIPO (OPERATING SYSTEM, DRIVER, APPLICATION, UNKNOWN) STATUS RUNNING RUNNABLE NOT RUNNABLE (SLEEPING) INVALID (NO CARREGADO) RUNNING SOFTWARE PERFORMANCE GROUP PARA CADA PROCESSO: O NMERO DE CENTI-SEGUNDOS DE CPU OBTIDOS PELO PROCESSO A QUANTIDADE DE MEMRIA REAL ALOCADA AO PROCESSO INSTALLED SOFTWARE GROUP UMA TABELA TEM UMA ENTRADA PARA CADA SOFTWARE INSTALADO TABELA INCLUI NOME DO SOFWTARE TIPO (OPERATING SYSTEM, DRIVER, APPLICATION) DATA DE INSTALAO

GERNCIA DE APLICAES
O PROPSITO DAS TECNOLOGIAS DE INFORMTICA DE EXECUTAR APLICAES AS APLICAES PRECISAM DE RECURSOS PARA FUNCIONAREM ARQUIVOS EXECUTVEIS ARQUIVOS COMUNICAO ENTRE PROCESOS CONEXES DE REDE ETC. IMPORTANTE PODER CONFIGURAR APLICAES DETECTAR FALHAS NAS APLICAES MONITORAR O DESEMPENHO DE APLICAES CONTROLAR A APLICAO AO LONGO DE SUA VIDA A GERNCIA DE APLICAES GERALMENTE FEITA COM SOFTWARE ESPECIALIZADO QUE FREQUENTEMENTE FAZ PARTE DO SOFTWARE DA APLICAO H ESFOROS DE ELABORAO DE MIBs PARA PODER USAR SNMP PARA MONITORAR E CONTROLAR APLICAES REQUISITOS PARA A GERNCIA DE APLICAES GERNCIA DE DESEMPENHO MONITORAO DA QUALIDADE DE SERVIO OBTIDO MONITORAO DE TEMPO DE RESPOSTA MONITORAO DE VAZO DE INFORMAO NAS CONEXES MONITORAO DA TAXA DE ERROS SOFRIDA MONITORAO DE RECURSOS UTILIZADOS CPU MEMRIA REAL MEMRIA VIRTUAL PLANEJAMENTO DE CAPACIDADE QUE RECURSOS A APLICAO NECESSITAR NO FUTURO OBTENO DE BASELINES DE DESEMPENHO GERNCIA DE FALTAS MONITORAO DE DISPONIBILIDADE MONITORAO DO STATUS (RODANDO, ESPERANDO, ...) GERAO DE EVENTOS NA DETECO DE PROBLEMAS GERNCIA DE CONTABILIDADE DEFINIO DA UNIDADE DE TRABALHO (TRANSAO, TEMPO, ...) MONITORAO DA UTILIZAO DE RECURSOS

GERNCIA DE CONFIGURAO DISTRIBUIO INSTALAO DESINSTALAO BASELINES DE CONFIGURAO CONTROLE OPERACIONAL PARAR, SUSPENDER, RESTAURAR, RECONFIGURAR CADASTRO DE SOFTWARE INSTALADO CADASTRO DE SOFTWARE EXECUTANDO (PROCESSOS) FORMAS DE GERENCIAR A APLICAO SEM INSTRUMENTAO USANDO COMANDOS DO SISTEMA OPERACIONAL PARA UTILIZADOS, STATUS, DE PROCESSOS, ETC.

VER

RECURSOS

USANDO COMANDOS DO SISTEMA OPERACIONAL OU APLICAES WATCHDOG PARA EXAMINAR ARQUIVOS (DE LOG, P. EX.) MANTIDOS PELA APLICAO COM INSTRUMENTAO DA APLICAO PERMITE UMA GERNCIA MAIS EFICAZ MIBs PARA A GERNCIA DE APLICAES ARQUITETURA GERAL

AS MIBs PRINCIPAIS ENVOLVIDAS: HOST RESOURCE MIB (RFC 1514) PARA GERENCIAR O HOSPEDEIRO COMO UM TODO SYSTEM-LEVEL APPLICATION MIB (RFC 2287) PARA GERENCIAR A APLICAO SEM INSTRUMENTAO APENAS ATRAVS DE INFORMAO DO SISTEMA OPERACIONAL (SOBRE A APLICAO) APPLICATION MIB (AINDA NO SAIU COMO RFC [AGOSTO 1999]) GERNCIA GERAL DE APLICAES, SUPONDO INSTRUMENTAO DA APLICAO NETWORK SERVICES MONITORING MIB (RFC 2248) GERNCIA GERAL DE APLICAES QUE USAM A REDE

ISTO , CRIAM "ASSOCIAES" OU CONEXES MIB GENRICA DO TIPO DE APLICAO PARA GERENCIAR UMA APLICAO ESPECFICA (DIGAMOS UM SERVIDOR WWW), PRECISAMOS DE INFORMAO MAIS ESPECFICA DO QUE TEM NAS OUTRAS MIBs EXISTEM ESFOROS PARA CRIAR MIBs PARA VRIAS APLICAES ESPECFICAS DNS SERVER MIB (RFC 1611) DNS RESOLVERr MIB (RFC 1612) RELATIONAL DATABASE MANAGEMENT SYSTEM MIB (RFC 1697) MAIL MONITORING MIB (RFC 2249) WWW SERVICES MIB (RFC 2594) DIRECTORY SERVER MONITORING MIB (RFC 2605) MIB ESPECFICA DE PRODUTO MIBs PROPRIETRIAS EXISTEM PARA APLICAES COMO PARA DISPOSITIVOS DE REDE AINDA H RELATIVAMENTE POUCO SUPORTE PARA ESSAS MIBs NO EST CLARO QUE A GERNCIA DE APLICAES SER FEITA COM SNMP PARA ENCERRAR A DISCUSSO, APRESENTAMOS BREVEMENTE 2 MIBs SYSAPPL-MIB (RFC 2287) WWW-MIB (RFC 2594)

SYSAPPL-MIB SUPORTA GERNCIA DE: CONFIGURAO FALTAS DESEMPENHO NO ESPECFICA DE UMA APLICAO PARTICULAR UMA APLICAO UMA COLEO DE ARQUIVOS EXECUTVEIS E OUTROS ARQUIVOS INSTALADOS E EXECUTANDO NUM COMPUTADOR HOSPEDEIRO A MIB NO SUPE INSTRUMENTAO DA APLICAO A INFORMAO DEVE SER DESCOBERTA ATRAVS DO SISTEMA OPERACIONAL NO REQUER MODIFICAO S APLICAES QUALQUER APLICAO PODE SER (PARCIALMENTE) GERENCIADA ESTA MIB NO SUFICIENTE SOZINHA PARA A GERNCIA DA APLICAO AS OUTRAS MIBs MAIS ESPECFICAS PODERO REFERENCIAR AS MIBs MAIS GENRICAS A MIB MODELA: A APLICAO COMO UM TODO OS ELEMENTOS ESTTICOS (ARQUIVOS) INDIVIDUAIS QUE FORMAM A APLICAO OS ELEMENTOS DINMICOS (PROCESSOS) INDIVIDUAIS QUE FORMAM A APLICAO OS GRUPOS DA MIB SO: SYSTEM APPLICATION INSTALLED GROUP SYSTEM APPLICATION RUN GROUP SYSTEM APPLICATION MAP GROUP SYSTEM APPLICATION INSTALLED GROUP MODELAGEM ESTTICA PERMITE SABER: QUE PACOTES DE APLICAO ESTO INSTALADOS (sysApplInstallPkgTable) FABRICANTE NOME DO PRODUTO VERSO NMERO DE SRIE DATA DE INSTALAO LOCAL (DIRETRIO) DE INSTALAO QUE ELEMENTOS (ARQUIVOS) COMPEM CADA PACOTE (sysApplInstallElmtTable) NOME DO ELEMENTO TIPO NON-EXECUTABLE OPERATING SYSTEM DEVICE DRIVER

APPLICATION DATA DE INSTALAO DIRETRIO DE INSTALAO TAMANHO DO ARQUIVO DEPOIS DA INSTALAO TAMANHO ATUAL DO ARQUIVO PAPEL DO ELEMENTO (UM BIT PARA CADA PAPEL ABAIXO) EXECUTVEL EXCLUSIVE (UMA CPIA) PRIMARY (S UM ELEMENTO PODE SER O PRINCIPAL) REQUIRED (DEVE ESTAR RODANDO PARA QUE A APLICAO ESTEJA OK) DEPENDENT (S PODE ESTAR RODANDO SE OS PRIMARY ESTIVEREM) SYSTEM APPLICATION RUN GROUP MODELA A APLICAO QUANDO EST EXECUTANDO OU DEPOIS QUE J EXECUTOU MODELAGEM DE COMPORTAMENTO DINMICO AS TABELAS: APLICAES QUE ESTO RODANDO (sysApplRunTable) DATA E HORA QUE INICIOU STATUS (RUNNING, RUNNABLE, WAITING, EXITING, OTHER) APLICAES QUE RODARAM NO PASSADO (sysApplPastRunTable) DATA E HORA QUE INICIOU E TERMINOU STATUS DE TRMIMO (COMPLETE, FAILED, OTHER) ELEMENTOS (PROCESSOS) DE APLICAES QUE ESTO RODANDO (sysApplElmtRunTable) CONTM UMA LINHA DA TABELA PARA CADA PROCESSO EM EXISTNCIA NO SISTEMA OPERACIONAL NDICES APONTANDO PARA AS OUTRAS TABELAS (INSTALLED GROUP) HORA QUE PROCESSO INICIOU STATUS NOME DO ARQUIVO EXECUTVEL PARMETROS DE EXECUO TEMPO DE CPU MEMRIA REAL ALOCADA NMERO DE ARQUIVOS ABERTOS NOME DO DONO DO PROCESSO ELEMENTOS (PROCESSOS) DE APLICAES QUE RODARAM NO PASSADO (sysApplElmtPastRunTable) AS LINHAS DA TABELA ANTERIOR QUE CORRESPONDEREM A APLICAES IDENTIFICADAS SO MOVIDAS PARA C QUANDO O PROCESSO TERMINA SYSTEM APPLICATION MAP GROUP MAPEIA "PROCESS IDS" PARA REFERNCIAS S TABELAS DA APLICAO IDENTIFICA A APLICAO (PACOTE) E O ELEMENTO DO PACOTE WWW-MIB MIB PARA SERVIDORES WWW OS GRUPOS SO: INFORMAO DE SERVIOS ESTATSTICAS DE PROTOCOLOS ESTATSTICAS DE DOCUMENTOS INFORMAO DE SERVIOS TABELA NICA DESCREVENDO TODOS OS SERVIOS WWW GERENCIADOS PELO AGENTE DESCRIO PESSOA DE CONTATO PROTOCOLO (OID DA IANA PARA PROTOCOLOS BEM CONHECIDOS) NOME DNS (FULLY QUALIFIED DOMAIN NAME DO SERVIO) TIPO (SERVER, CLIENTE, PROXY, CACHING PROXY, OTHER) STATUS DOWN RUNNING HALTED CONGESTED

RESTARTING DATA/HORA DE INCIO DATA/HORA QUE SERVIO ENTROU NO ESTADO (STATUS) ATUAL ESTATSTICAS DE PROTOCOLOS ESTATSTICAS SOBRE O TRFEGO RECEBIDO OU ENVIADO PO UM SERVIO WWW OS CONTADORES ESTO ORGANIZADOS EM 5 TABELAS wwwSummaryTable: SUMRIO DO TRFEGO E OPERAO DE PROTOCOLO POR SERVIO WWW (PARA TODOS OS TIPOS DE PEDIDOS REQUESTS/RESPONSES IN/OUT BYTES IN/OUT wwwRequestInTable: CADA TIPO DE PEDIDO ENTRANDO CONTADO INDIVIDUALMENTE OS TIPOS DE PEDIDOS DEPENDEM DO PROTOCOLO wwwRequestOutTable: CADA TIPO DE PEDIDO SAINDO CONTADO INDIVIDUALMENTE wwwResponseInTable: CADA TIPO DE RESPOSTA ENTRANDO CONTADO INDIVIDUALMENTE wwwResponseOutTable: CADA TIPO DE RESPOSTA SAINDO CONTADO INDIVIDUALMENTE ESTATSTICAS DE DOCUMENTOS CONTM INFORMAO SOBRE OS DOCUMENTOS QUE FORAM ACESSADOS NO PASSADO QUATRO TIPOS DE ESTATSTICAS DETALHES DAS LTIMAS N TENTATIVAS DE MANIPULAR DOCUMENTOS NOME DO DOCUMENTO DATA/HORA TIPO DE PEDIDO TIPO DE RESPOSTA NMERO DE BYTES OS N DOCUMENTOS MAIS MANIPULADOS (ORDENADOS) NOME DO DOCUMENTO NMERO DE ACESSOS NMERO DE BYTES TRANSFERIDOS OS N DOCUMENTOS QUE MAIS GERARAM TRFEGO (ORDENADOS) ESTATSTICAS SUMARIZADAS

You might also like