SNMP Simple Network Management Protocol



Documentos relacionados
Gestão de Redes e Sistemas Distribuídos

SNMP Simple Network Management Protocol

Gerência de Redes de Computadores - SNMPv1 & SNMPv2c

Gerência de Redes e Serviços de Comunicação Multimídia

Protocolo de Gerenciamento SNMPv1, MIB-2 e RMON

3. O protocolo SNMP 1

The Simple Network Management Protocol, version 1

3. O protocolo SNMP. Managed system. Management system. resources. management application. MIB objects. SNMP manager UDP IP. IP link.

Centro Universitário Fundação Santo André. Disciplina Redes de Computadores. Módulo 08

Centro Universitário Fundação Santo André. Disciplina Redes de Computadores. Módulo 08

Redes de computadores e a Internet. Capítulo 9. Gerenciamento de rede by Pearson Education

Redes de Computadores

Gerenciamento de Redes - Evolução. Gerenciamento de Rede. Gerenciamento de Rede NOC NOC

Gerência e Segurança de Redes

Introdução PROGRAMA A. FUNDAMENTOS & ARQUITECTURAS DE GESTÃO Apresentação da motivação para a normalização. Principais arquitecturas normalizadas

Gestão de redes e SNMP. Laboratório de Redes 2008/2009

Redes de Computadores

Redes de Computadores

SNMPv2. As Limitações do SNMPv1

Capítulo 9 Gerenciamento de rede

Universidade Católica do Salvador CURSO DE BACHARELADO EM INFORMÁTICA

MIB (Management Information Base) Objetos Gerenciados Um objeto gerenciado é a visão abstrata.

Gerência de Redes Padrões de Gerenciamento

Registo de resultados 1:

Redes de Computadores II

Lista 3 Exercícios de Gestão de Redes

Protocolos de gerência. Gerenciamento TCP/IP SNMP. Informações de gerência. Gerenciamento TCP/IP. Limitações de SNMP

GERENCIAMENTO DE REDES DE COMPUTADORES

Monitorização da Rede. Simple Network Management Protocol (SNMP).

Redes de Computadores

Administração de Redes 2015/16. Simple Network Management Protocol (SNMP)

Gestão de uma Infra-Estrutura de Rede Wi-Fi com recurso ao SNMP

Gestão de Redes e Sistemas Distribuídos

BASES DE INFORMAÇÃO DE GERENCIAMENTO. Prof. José Augusto Suruagy Monteiro

Integração de Gerências SNMP em. um Ambiente Distribuído

RMON Remote Network Monitoring

Este tutorial apresenta os conceitos básicos e as características do protocolo SNMP.

Rede de Computadores II

Capítulo 9. Gerenciamento de rede

ANEMONA: UMA LINGUAGEM DE CONFIGURAÇÃO PARA APLICAÇÕES DE MONITORAÇÃO DE REDES

Anderson Alves de Albuquerque

SNMP Simple Network Management Protocol Informações de Gerenciamento e MIBs

Network Management. João Neves, 2009

Capítulo 9: Gerenciamento de Redes

Universidade Tuiuti do Paraná Faculdade de Ciências Exatas. Tecnologia de Análise e Desenvolvimento de Sistemas. TCP/IP x ISO/OSI

Revisão Gerenciar consiste em supervisionar e controlar seu funcionamento para que ele satisfaça aos requisitos tanto dos seus usuários quanto dos

GESTÃO DE SISTEMAS E REDES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP)

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Objetivo Geral - Apender conceitos, protocolos e técnicas na gerencia de redes

Gerenciamento da rede ATM. Prof. José Marcos C. Brito

Prof. Marcelo Cunha Parte 5

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

REDES DE COMPUTADORES. Analise de Redes

Protótipo de Software de Gerência SNMP Para o Ambiente Windows NT

Capítulo 1 PROTOCOLOS FUNDAMENTAIS DA INTERNET

GESTÃO Falhas Contabilidade Configuração Desempenho Segurança. FALHAS Determinar a falha Isolar a falha da rede Reconfigurar a rede Corrigir a falha

Gerência de Redes de Computadores SNMP. Prof. Alex Furtunato

Desafios de Gerência e Segurança de Redes

Redes de Computadores. Revisões

Gerência de Redes de Computadores SNMP. Prof. Alex Furtunato

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Gerenciamento de Redes

Administração e Gerência de Redes Aula 2 Sistema de Gerência de Redes

Gerência de Redes. 1. Introdução

Action.NET. SNMP Manager Communication Protocol. Manual de Referência

7.1 Modelo TCP / IP Departamento de Engenharia, Electrónica, Telecomunicações e Computadores Redes de Computadores

The Management Information

Administração de Redes I (LI) Ano, Semestre: 2, 1

Gerenciamento de Equipamentos Usando o Protocolo SNMP

IMPLEMENTAÇÃO DE UMA MIB SNMP PARA PABX INTELBRÁS

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

UNIVERSIDADE CATÓLICA DO SALVADOR TELEPROCESSAMENTO E REDES PROF: MARCO ANTÔNIO CÂMARA ALUNO: ANDREI GALVÃO DO NASCIMENTO

Modelo TCP / IP. História da família TCP/IP Modelo utilizado pela família TCP/IP Comparação com o modelo OSI

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP).

Modelos de Camadas. Professor Leonardo Larback

Protocolos, DNS, DHCP, Ethereal e comandos em Linux

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Redes de Computadores. Mário Aquino Yahoo Groups: prof_marioaquino

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP).

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Arquitetura TCP/IP. Parte VI Entrega de pacotes sem conexão (IP) Fabrízzio Alphonsus A. M. N. Soares

TCP/IP. Luís Moreira 2014/2015 Módulo 8 - IMEI

Curso de extensão em Administração de redes com GNU/Linux

Transcrição:

SNMP SNMP Simple Network Management Protocol Baseado nos acetatos existentes em: www.simpleweb.com Copyright 2001 by Aiko Pras Estes acetatos podem ser usados com fins educacionais 1

GESTÃO DE REDES: APROXIMAÇÃO AD-HOC SISTEMA LOCAL - EXEMPLOS: PING TRACEROUTE NETSTAT... SISTEMA REMOTO TELNET / RLOGIN (COMMAND LINE INTERFACE - CLI) INTERFACE WEB EXEMPLOS COM INTERFACE WEB: PING TRACEROUTE WHOIS NTOP... 2

GESTÃO DE REDES: NORMAS INTERNET INTERNET ENGINEERING TASK FORCE (IETF) OPERATIONS AND MANAGEMENT AREA SNMP ISO ISO-IEC/JTC 1/WG 4 OSI CMIP-CMIS ITU-T SG IV TMN Outros DMTF TM FORUM OMG IEEE... 3

CARACTERISTICAS IETF A GESTÃO DEVE SER SIMPLES APROXIMAÇÃO ORIENTADA ÀS VARIÁVEIS A TROCA DE INFORMAÇÃO NÃO É FIÁVEL ISO A GESTÃO DEVE SER POTENTE APROXIMAÇÃO ORIENTADA AOS OBJECTOS A TROCA DE INFORMAÇÃO DEVE SER REALIZADA DE FORMA FIÁVEL TMN DEFINE APENAS A ARQUITECTURA DE GESTÃO OS PROTOCOLOS ACTUAIS SÃO OS DA OSI GESTÃO FORA DE BANDA 4

HISTÓRIA SNMP OSI TMN 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 5

PORQUÊ O SUCESSO DO SNMP? AS NORMAS PODEM SER OBTIDAS DE GRAÇA AS NORMAS ESTÃO DISPONÍVEIS EM SERVIDORES FTP E WWW EM FORMATO ELECTRÓNICO DESENVOLVIMENTO RÁPIDO DAS NORMAS OS PROTÓTIPOS DEVEM DEMONSTRAR A NECESSIDADE E A POSSIBILIDADE DE IMPLEMENTAÇÃO DAS NORMAS 6

NORMALIZAÇÃO IETF WORKING DOCUMENT implementation experience must be obtained PROPOSED STANDARD after a maximum of 2 years HISTORICAL several independent implementations must interwork DRAFT STANDARD after a maximum of 4 years HISTORICAL FULL STANDARD 7

NORMALIZAÇÃO ISO WORKING DOCUMENT nobody implements! COMMITTEE DRAFT TECHNICAL REPORT still nobody implements!! DRAFT INTERNATIONAL STANDARD TECHNICAL REPORT FULL STANDARD 8

standard proposed standard full standard HISTÓRIA DO SNMP proposed standard implementation experience standard SGMP SNMP SNMP security SMP SNMPv2 (parties) SNMPv2 (community) SNMPv3 draft draft proposed standard draft standard CMOT HEMS/HEMP historic 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 9

VANTAGENS DO SNMP UBIQUIDADE PCs e CRAYs (supercomputadores) A INCLUSÃO DA GESTÃO NÃO DEVE SER DISPENDIOSA CÓDIGO PEQUENO FUNCIONALIDADE LIMITADA SÃO POSSÍVEIS EXTENSÕES À GESTÃO NOVAS MIBs A GESTÃO DEVE SER ROBUSTA TRANSPORTE CONNECTIONLESS 10

ESTRUTURA DO SNMP MANAGER AGENT Management Application MIB SNMP PDUs CONNECTIONLESS TRANSPORT SERVICE PROVIDER UDP 11

MODELO UTILIZADO PELO SNMP Entidades a gerir Agente de gestão SNMP Estação gestora SNMP Agente proxy Outro protocolo Entidades a gerir MIB 12

PRINCÍPIO DE OPERAÇÃO MANAGER SNMP AGENTS MIB 13

PRINCÍPIO DE OPERAÇÃO MANAGER POLLING TRAPS AGENTS MIB 14

PRINCÍPIO DE OPERAÇÃO MANAGER GET / SET TRAP AGENTS MIB 15

PRINCÍPIO DE OPERAÇÃO MANAGER AGENTS TABLES VARIABLES 16

NORMAS SMI STRUCTURE OF MANAGEMENT INFORMATION RFC 1155 MIB-II MANAGEMENT INFORMATION BASE RFC 1213 EXISTE UM GRANDE NÚMERO DE MIBs ADICIONAIS SNMP SIMPLE NETWORK MANAGEMENT PROTOCOL RFC 1157 O NOME (SNMP) É UTILIZADO NUM SENTIDO MAIS GERAL NOVAS VERSÕES: SNMPv2 & SNMPv3 17

SMI STRUCTURE OF MANAGEMENT INFORMATION RFC 1155: SMIv1 RFC 1212: CONCISE MIB DEFINITIONS RFC 2578: SMIv2 RFC 2579: TEXTUAL CONVENTIONS TORNA A DEFINIÇÃO DAS (NOVAS) MIBs MAIS FÁCIL 18

SMI O SMI DEFINE AS REGRAS PARA DESCREVER A INFORMAÇÃO DE GESTÃO O SMI É DEFINIDO UTILIZANDO O ASN.1 O SMI VAI NA TERCEIRA GERAÇÃO SMIv1, SMIv2 e SMIng 19

SMI A INFORMAÇÃO DE GESTÃO NOS SISTEMAS A GERIR DEVE SER REPRESENTADA COMO: ESCALARES TABELAS (= MATRIZES BI-DIMENSIONAIS DE ESCALARES) O PROTOCOLO SNMP SÓ PODE TROCAR (LISTAS DE) ESCALARES DEFINIDA EM TERMOS DE CONSTRUTORES ASN.1 20

RFC1155-SMI DEFINITIONS ::= BEGIN DEFINIÇÃO DA SMIv1-1 EXPORTS -- EVERYTHING internet, directory, mgmt, experimental, private, enterprises, OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax, ApplicationSyntax, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks, Opaque; -- the path to the root internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } directory OBJECT IDENTIFIER ::= { internet 1 } mgmt OBJECT IDENTIFIER ::= { internet 2 } experimental OBJECT IDENTIFIER ::= { internet 3 } private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECT IDENTIFIER ::= { private 1 } -- definition of object types OBJECT-TYPE MACRO ::= BEGIN TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax) "ACCESS" Access "STATUS" Status VALUE NOTATION ::= value (VALUE ObjectName) Access ::= "read-only" "read-write" "write-only" "not-accessible" Status ::= "mandatory" "optional" "obsolete" END 21

DEFINIÇÃO DA SMIv1-2 -- names of objects in the MIB ObjectName ::= OBJECT IDENTIFIER -- syntax of objects in the MIB ObjectSyntax ::= CHOICE { simple SimpleSyntax, -- note that simple SEQUENCEs are not directly -- mentioned here to keep things simple (i.e., -- prevent mis-use). However, application-wide -- types which are IMPLICITly encoded simple -- SEQUENCEs may appear in the following CHOICE application-wide ApplicationSyntax } 22

SimpleSyntax ::= CHOICE { number INTEGER, string OCTET STRING, object OBJECT IDENTIFIER, empty NULL } ApplicationSyntax ::= CHOICE { address NetworkAddress, counter Counter, gauge Gauge, ticks TimeTicks, arbitrary Opaque -- other application-wide types, as they are -- defined, will be added here } DEFINIÇÃO DA SMIv1-3 23

DEFINIÇÃO DA SMIv1-4 -- application-wide types NetworkAddress ::= CHOICE { internet IpAddress } IpAddress ::= [APPLICATION 0] -- in network-byte order IMPLICIT OCTET STRING (SIZE (4)) Counter ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) Gauge ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295) Opaque ::= [APPLICATION 4] -- arbitrary ASN.1 value, IMPLICIT OCTET STRING -- "double-wrapped" END 24

SMI: TIPOS DE DADOS PARA OS ESCALARES SIMPLE TYPES: SMIv1 INTEGER OCTET STRING OBJECT IDENTIFIER SMIv2 INTEGER OCTET STRING OBJECT IDENTIFIER - Integer32 APPLICATION-WIDE TYPES: PSEUDO TYPES: - Gauge Counter - TimeTicks IpAddress Opaque NetworkAddress - Unsigned32 Gauge32 Counter32 Counter64 TimeTicks IpAddress Opaque - BITS 25

EXEMPLO DE OBJECTOS ESCALARES MANAGED OBJECT INSTANCES address name uptime SNMP MANAGER AGENT 26

IDENTIFICAÇÃO DOS OBJECTOS INTRODUÇÃO ÀS ÁRVORES DE NOMES NEW-MIB: 1 address (1) info (2) 130.89.16.2 name (1) uptime (2) printer-1 123456 AS FOLHAS DA ÁRVORE REPRESENTAM OS OBJECTOS GERIDOS OS NÓS EXISTEM PARA EFEITO DE CRIAR IDENTIFICAÇÕES ÚNICAS PARA OS OBJECTOS 27

IDENTIFICAÇÃO DOS OBJECTOS address Object ID = 1.1 Object Instance = 1.1.0 Value of Instance = 130.89.16.2 info Object ID = 1.2 NEW-MIB: 1 name Object ID = 1.2.1 Object Instance = 1.2.1.0 Value of Instance = printer-1 uptime Object ID = 1.2.2 Alternativa: Object ID = NEW-MIB info uptime Object Instance = 1.2.2.0 Value of Instance = 123456 address (1) info (2) 130.89.16.2 name (1) uptime (2) printer-1 123456 28

IDENTIFICAÇÃO DOS OBJECTOS : MIBs root ccitt (0) iso (1) joint-iso-ccitt (2) stnd (0) reg-auth (1) mb (2) org (3) dod (6) internet (1) directory (1) mngt (2) experimental (3) private (4) security (5) snmpv2 (6) mib-2 (1) enterprises (1) snmpdomains (1) snmpproxys (2) snmpmodules (3) 29

DEFINIÇÃO DO TIPO DOS OBJECTOS (Versão 2) OBJECT-TYPE: SYNTAX MAX-ACCESS STATUS DESCRIPTION INTEGER OCTET STRING OBJECT IDENTIFIER BITS IpAddress Integer32 Counter32 Counter64 Gauge32 TimeTicks Opaque New Type read-only read-write read-create accessible-for-notify not-accessible current deprecated obsolete "" 30

DEFINIÇÃO DO TIPO DOS OBJECTOS - EXEMPLO -- Definição de address address OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The Internet address of this system" ::= {NEW-MIB 1} 31

DEFINIÇÃO DE OBJECTOS QUE NÃO SÃO FOLHAS Name OBJECT IDENTIFIER ::= {...} EXEMPLO: info OBJECT IDENTIFIER ::= {NEW-MIB 2} CONSTRUCÇÃO ALTERNATIVA: OBJECT IDENTITY EXEMPLO: info STATUS DESCRIPTION ::= {NEW-MIB 2} OBJECT-IDENTITY current "The node under which future scalar objects should be registered" 32

DEFINIÇÃO DE UMA MIB NEW-MIB DEFINITIONS ::= BEGIN declaração das importações END definição da identidade do módulo definição de todos os objectos dos nós e das folhas definição dos requisitos da implementação 33

IMPORTAÇÃO DUMA DECLARAÇÃO - EXEMPLO IMPORTS MODULE-IDENTITY, OBJECT-TYPE, TimeTicks, enterprises FROM SNMPv2-SMI; 34

IDENTIFICAÇÃO DUM MÓDULO O SNMPv2 INTRODUZ O CONCEITO DE MÓDULO DE INFORMAÇÃO, QUE ESPECIFICAM UM GRUPO DE DEFINIÇÕES RELACIONADAS. SÃO UTILIZADOS TRÊS TIPOS DE MÓDULOS DE INFORMAÇÃO: 1. MÓDULOS MIB, QUE CONTÊM DEFINIÇÕES DE OBJECTOS DE GESTÃO ENTRELACIONADOS, FAZENDO USO DAS MACRO OBJECT-TYPE E NOTIFICATION-TYPE 2. DECLARAÇÕES DE COMPLIANCE PARA OS MÓDULOS MIB, QUE FAZEM USO DE MACROS MODULE-COMPLIANCE E OBJECT-GROUP 3. DECLARAÇÕES DE CAPABILITY PARA IMPLEMENTAÇÕES DE AGENTES QUE UTILIZAM AS MACROS AGENT-CAPABILITIES. 35

IDENTIFICAÇÃO DUM MÓDULO MODULE-IDENTITY MACRO ::= BEGIN TYPE NOTATION ::= LAST UPDATED value(update UTCTime) ORGANIZATION Text CONTACT-INFO Text DESCRIPTION Text RevisionPart VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER) RevisionPart ::= Revisions empty Revisions ::= Revision Revisions Revision Revision ::= REVISION value(update UTCTime) DESCRIPTION Text -- uses the NVT ASCII character set Text ::= string END 36

IDENTIFICAÇÃO DUM MÓDULO - EXEMPLO newmibmodule MODULE-IDENTITY LAST-UPDATED "200104041200Z" ORGANIZATION "UT-TMG" CONTACT-INFO " TSS University of Twente POBox 217 7500 AE Enschede The Netherlands Email: simpleweb@simpleweb.org " DESCRIPTION "Experimental MIB for demo purposes" ::= { enterprises ut(785) 7 } 37

IDENTIFICAÇÃO DUM MÓDULO A MACRO OBJECT-IDENTITY É UTILIZADA PARA DOCUMENTAR OS OBJECTOS UTILIZADOS NUMA MIB OBJECT-IDENTITY MACRO ::= BEGIN TYPE NOTATION ::= STATUS Status DESCRIPTION Text ReferPart VALUE NOTATION ::= value(value OBJECT IDENTIFIER) Status ::= current obsolete ReferPart ::= REFERENCE Text empty Text ::= string END 38

TABELAS EXEMPLO: TABELA DE ROUTING DO NÓ 1 destination next 2 2 2 3 5 7 3 2 2 1 5 7 9 8 3 8 9 3 3 PARA SE ACEDER A CADA UMA DAS ENTRADAS INDIVIDUAIS DA TABELA CADA ENTRADA DEVE TER UMA IDENTIFICAÇÃO 39

REFERÊNCIAS DAS ENTRADAS NAS TABELAS - I POSSIBILIDADE 1 (NÃO É UTILIZADA PELO SNMP): USAR NÚMEROS DE LINHA NEW-MIB: 1 address (1) info (2) routetable (3) 130.89.16.2 name (1) uptime (2) dest(1) next(2) printer-1 123456 this is row 5 2 2 3 3 5 2 7 2 8 3 9 3 EXEMPLO: O VALOR DE NEW-MIB routetable next 5 IS 3 40

REFERÊNCIAS DAS ENTRADAS NAS TABELAS - II POSSIBILIDADE 2 (UTILIZADA PELO SNMP): INTRODUZIR UMA COLUNA DE ÍNDICE NEW-MIB: 1 address (1) info (2) routetable (3) 130.89.16.2 name (1) uptime (2) dest(1) next(2) printer-1 123456 2 2 3 3 5 2 7 2 8 3 9 3 EXEMPLO: O VALOR DE NEW-MIB routetable next 5 IS 2 41

INDEXAÇÃO DE TABELAS ) routetable (3) ESQUEMA GERAL uptime (2) 123456 X.C.I OID of Table Column number Index value EXEMPLOS: OID of Table = 1.3 1.3.1.5 => 5 1.3.2.5 => 2 1.3.1.9 => 9 1.3.2.9 => 3 1.3.2.7 => 2 1.3.1.1 => entry does not exist 1.3.2.1 => entry does not exist dest(1) next(2) 2 2 3 3 5 2 7 2 8 3 9 3 42

INDEXAÇÃO DE TABELAS INDICE NÃO-INTEIRO UM INDICE NÃO NECESSITA SER UM INTEIRO routetable (3) dest (1) next (2) 130.89.16.1 130.89.16.1 130.89.16.4 130.89.16.23 130.89.19.121 192.1.23.24 193.22.11.97 130.89.16.4 130.89.16.1 130.89.16.1 130.89.16.4 130.89.16.4 EXEMPLOS: OID of Table = 1.3 1.3.1.130.89.16.23 => 130.89.16.23 1.3.2.130.89.16.23 => 130.89.16.1 1.3.1.193.22.11.97 => 193.22.11.97 1.3.2.193.22.11.97 => 130.89.16.4 1.3.2.130.89.19.121 => 130.89.16.1 43

INDEXAÇÃO DE TABELAS ÍNDICE COM CAMPOS MÚLTIPLOS USO DE MÚLTIPLOS CAMPOS DE INDICE X.C.I1.I2 OID of Table Column number Index value 1 Index value 2 44

EXEMPLO: INDEXAÇÃO DE TABELAS MÚLTIPLOS CAMPOS DE INDÍCE 1 = low costs 2 = high reliability routetable (3) dest (1) policy (2) next (3) 130.89.16.23 1 130.89.16.23 130.89.16.23 130.89.19.121 192.1.23.24 2 1 1 130.89.16.23 130.89.16.1 130.89.16.1 192.1.23.24 193.22.11.97 2 1 130.89.16.4 130.89.16.1 1.3.3.192.1.23.24.1 => 130.89.16.1 1.3.3.192.1.23.24.2 => 130.89.16.4 45

DEFINIÇÃO DE TABELAS -- Definição duma tabela de encaminhamento routetable OBJECT-TYPE SYNTAX SEQUENCE OF routeentry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entity s routing table" ::= {NEW-MIB 3} routeentry SYNTAX MAX-ACCESS STATUS DESCRIPTION INDEX ::= {routetable 1} OBJECT-TYPE RouteEntry not-accessible current "A route to a particular destination" {dest, policy} 46

DEFINIÇÃO DE TABELAS (cont. 1) RouteEntry ::= SEQUENCE { dest ipaddress, policy INTEGER, next ipaddress } 47

DEFINIÇÃO DE TABELAS (cont. 2) dest OBJECT-TYPE SYNTAX ipaddress ACCESS read-only STATUS current DESCRIPTION "The address of a particular destination" ::= {route-entry 1} policy OBJECT-TYPE SYNTAX INTEGER { costs(1) -- lowest delay reliability(2)} -- highest reliability ACCESS read-only STATUS current DESCRIPTION "The routing policy to reach that destination" ::= {route-entry 2} next OBJECT-TYPE SYNTAX ipaddress ACCESS read-write STATUS current DESCRIPTION "The internet address of the next hop" ::= {route-entry 3} 48

DEFINIÇÃO DE NOVOS TIPOS CONVENÇÕES TEXTUAIS PARA REFINAR A SEMÂNTICA DOS TIPOS EXISTENTES EXEMPLO: RunState ::= TEXTUAL CONVENTION STATUS current DESCRIPTION "..." SYNTAX INTEGER{ running(1) runable(2) waiting(3) exiting(4)} 49

MIBs MANAGEMENT INFORMATION BASES CONTÊM OS OBJECTOS GERIDOS (VARIÁVEIS) QUE REPRESENTAM OS RECURSOS DUM SISTEMA E QUE PODEM SER MONITORIZADOS E MODIFICADOS POR UM GESTOR (REMOTO) PARA CONTROLAR O COMPORTAMENTO DESSE SISTEMA SNMP MIB MANAGER AGENT 50

DEFINIÇÃO DA MIB E INSTÂNCIA DA MIB A DEFINIÇÃO DA MIB DEVE SER CONHECIDA POR: OS IMPLEMENTADORES DO SISTEMA A GERIR O GESTOR A MIB É INSTANCIADA NO SISTEMA GERIDO 51

MODULARIDADE OS OBJECTOS GERIDOS DUM SISTEMA SÃO USUALMENTE DEFINIDOS EM MÚLTIPLAS DEFINIÇÕES DA MIB MÓDULOS MÓDULOS DIFERENTES PODEM SER DEFINIDOS POR EQUIPAS DIFERENTES A FUNCIONALIDADE DA GESTÃO PODE SER EXTENDIDA GRADUALMENTE DIFERENTES TIPOS DE SISTEMAS PODEM SUPORTAR DIFERENTES TIPOS DE MÓDULOS OS VENDEDORES PODEM EXTENDER A FUNCIONALIDADE DA GESTÃO ATRAVÉS DE MIBs PROPRIETÁRIAS 52

MIBs DE HARDWARE HOST RESOURCES MIB MODEM MIB PRINTER MIB 53

802.3 802.5 FDDI ATM ADSL SONET... WWW MAIL DNS X.500 RDBMS SNMP... MIBs DE PROTOCOLOS APPLICATION TRANSPORT TCP UDP NETWORK OSPF BGP EGP TRANSMISSION IP INTERFACES ICMP ARP... 54

802.3 802.5 FDDI ATM ADSL SONET... WWW MAIL DNS X.500 RDBMS SNMP... MIBs DE PROTOCOLOS - EXEMPLO: MIB-II APPLICATION TRANSPORT TCP UDP NETWORK OSPF BGP EGP TRANSMISSION IP INTERFACES ICMP ARP... 55

NOMEAÇÃO DAS MIBs root ccitt (0) iso (1) joint-iso-ccitt (2) stnd (0) reg-auth (1) mb (2) org (3) dod (6) internet (1) directory (1) mngt (2) experimental (3) private (4) security (5) snmpv2 (6) mib-2 (1) system (1) interfaces (2)... transmission (10) snmp (11) ospf (14) bgp (15)...... ethernet (6) token ring (9) fddi (15) adsl (94)... 56

RELAÇÃO ENTRE MIBs - 1 INTERFACE STATISTICS IP, TCP & UDP STATISTICS SNMP STATISTICS HOST JOB COUNTS HOST FILE SYSTEM INFORMATION MIB-II HOST REPEATER BRIDGE RMON x x x x x LINK TESTING x x NETWORK TRAFFIC STATISTICS x x x TABLE WITH ALL MAC ADDRESSES x x STATISTICS PER HOST x x 57

RELAÇÃO ENTRE MIBs - 2 MIB-II HOST REPEATER BRIDGE RMON HISTORICAL STATISTICS SPANNING TREE PERFORMANCE WIDE AREA LINK PERFORMANCE TRESHOLDS FOR ANY VARIABLE CONFIGURABLE STATISTICS TRAFFIC MATRIX WITH ALL NODES HOST TOP N INFORMATION PACKET / PROTOCOL ANALYSIS DISTRIBUTED LOGGING x x x x x x x x x 58

MIB-II DEFINE AS VARIÁVEIS PARA GERIR A PILHA DE PROTOCOLOS TCP/IP 170 VARIÁVEIS RFC 1213 SMIv1 MELHORIAS DA MIB-I RFC 1156 Copyright 2001 by Aiko Pras These sheets may be used for educational purposes 59

CRITÉRIOS DE DESENHO ESSENCIAL PARA A GESTÃO DE FALHAS OU CONFIGURAÇÃO APENAS OBJECTOS DE CONTROLO FRACOS PEQUENO NÚMEROS DE OBJECTOS EVITAR REDUNDÂNCIA EVIDÊNCIA DE UTILIDADE NÃO PERTURBAR A OPERAÇÃO NORMAL SEM PORMENORES ESPECÍFICOS DE IMPLEMENTAÇÃO 60

ESTRUTURA MIB-II SYSTEM (1) AT (3) ICMP (5) UDP (7) TRANSMISSION (10) INTERFACES (2) IP (4) TCP (6) EGP (8) SNMP (11) 61

SNMP GRUPOS DA MIB-II NA PILHA DE PROTOCOLOS SYSTEM TCP UDP IP ICMP EGP AT INTERFACES TRANSMISSION 62

NOVAS VERSÕES SYSTEM GROUP => SNMPv2 MIB (RFC 1907) INTERFACES (IF) GROUP => IF-MIB (RFC 2863) ADDRESS TRANSLATION (AT) GROUP => DEPRECATED IP & ICMP GROUPS => IP-MIB (RFC 2011) TCP GROUP => TCP-MIB (RFC 2012) UDP GROUP => UDP-MIB (RFC 2013) EGP GROUP => OUTDATED (BGP) TRANSMISSION GROUP => IS PLACEHOLDER SNMP GROUP => SNMPv2 MIB (RFC 1907) 63

ADDRESS TRANSLATION GROUP at (3) attable (1) DEPRECATED STATUS 64

atifindex atphysaddress attable atnetaddress 1 2 aa.bb.cc.dd ee.ff.gg.hh n ww.xx.yy.zz 65

EGP GROUP EGP (8) egpinmsgs (1) egpinerrors (2) egpoutmsgs (3) egpouterrors (4) egpneightable (5) egpas (6) 66

TRANSMISSION GROUP transmission (10) 802.4 (8) 802.5 (9) FDDI (15) DS1/E1 (18) RS-232 (33) X.25 (38) LAPD (16) DS3/E3 (30) Par.Printer (34) SONET (39) 67

MIB SNMPv2 RFC 1907 STANDARD PROPOSTO GRUPO SYSTEM GRUPO SNMP SNMP MIBObjects GROUP snmptrap snmptraps snmpset (snmpsetserialno) Copyright 2001 by Aiko Pras These sheets may be used for educational purposes 68

GRUPO SYSTEM system (1) sysdescr (1) sysuptime (3) sysname (5) sysservices (7) sysortable (9) sysobjectid (2) syscontact (4) syslocation (6) sysorlastchange (8) 69

GRUPO ORIGINAL SYSTEM (MIB-II) system (1) sysdescr (1) sysuptime (3) sysname (5) sysservices (7) sysobjectid (2) syscontact (4) syslocation (6) 70

sysservices 0 x 0 0 x x x x physical layer (e.g. repeaters) data-link layer (e.g. bridges) internet layer (e.g. IP routers) end-to-end (e.g. IP Hosts) application (e.g. nfs-servers) 71

EXEMPLO sysdescr: sysobjectid: sysuptime: syscontact: sysname: syslocation: sysservices: "Cisco Gateway" 1.3.6.1.4.1.9.1.1 37153422 (4 days, 7 h, 12 min, 14.22 s) "helpdesk@cs.utwente.nl" "utic01.cs.utwente.nl" "near logica meeting room" 6 (bridge and router functions) 72

PROTOCOLO SNMP MANAGER SNMP MESSAGES AGENT MIB UDP UDP IP IP LINK LINK 73

RESUMO DOS PDUs manager agent manager agent get MIB getnext MIB response response manager agent manager agent set MIB trap response 74

ESTRUTURA DA MENSAGEM & PDU variable bindings: NAME 1 VALUE 1 NAME 2 VALUE 2 NAME n VALUE n SNMP PDU: REQUEST ID PDU TYPE * ERROR VARIABLE BINDINGS STATUS ERROR INDEX SNMP message: VERSION COMMUNITY SNMP PDU 75

CONTROLO DOS AGENTES SOBRE OS GESTORES 1. Serviço de autenticação: O agente pode desejar limitar o acesso à MIB apenas a estações de gestão autorizadas. 2. Política de acessos: O agente pode querer dar diferentes privilégios de acesso a estações de gestão diferentes. 3. Serviço por procuração: Um agente pode actuar em beneficio de outras estações a gerir. Isso pode envolver a implementação dum serviço de autenticação e/ou uma política de acessos aos outros sistemas a gerir. 76

POLITICA DE ACESSO SNMP Tipo de acesso definido na MIB Modo de acesso SNMP READ-ONLY READ-WRITE read-only get e trap get e trap read-write get e trap get, set e trap write-only get e trap get, set e trap not-accessible indisponível indisponível 77

POLITICA DE ACESSO SNMP SNMP access policy SNMP community (community name) SNMP community profile SNMP agent Set of SNMP managers SNMP MIB view SNMP access mode 78

RFC1157- DEFINIÇÕES SNMP RFC1157-SNMP DEFINITIONS ::= BEGIN IMPORTS ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks FROM RFC1155-SMI; -- top-level message Message ::= SEQUENCE { version -- version-1 for this RFC INTEGER { version-1(0) }, community -- community name OCTET STRING, data -- e.g., PDUs if trivial authentication is being used ANY } 79

RFC1157- DEFINIÇÕES SNMP -- protocol data units PDUs ::= CHOICE { get-request GetRequest-PDU, get-next-request GetNextRequest-PDU, get-response GetResponse-PDU, set-request SetRequest-PDU, trap Trap-PDU } -- PDUs GetRequest-PDU ::= [0] IMPLICIT PDU GetNextRequest-PDU ::= [1] IMPLICIT PDU GetResponse-PDU ::= [2] IMPLICIT PDU SetRequest-PDU ::= [3] IMPLICIT PDU 80

RFC1157- DEFINIÇÕES SNMP PDU ::= SEQUENCE { request-id INTEGER, error-status -- sometimes ignored INTEGER { noerror(0), toobig(1), nosuchname(2), badvalue(3), readonly(4), generr(5) }, error-index -- sometimes ignored INTEGER, variable-bindings -- values are sometimes ignored VarBindList } 81

RFC1157- DEFINIÇÕES SNMP Trap-PDU ::= [4] IMPLICIT SEQUENCE { enterprise -- type of object generating trap OBJECT IDENTIFIER, agent-addr -- address of object generating NetworkAddress, -- trap generic-trap -- generic trap type INTEGER { coldstart(0), warmstart(1), linkdown(2), linkup(3), authenticationfailure(4), egpneighborloss(5), enterprisespecific(6) }, specific-trap -- specific code, present even } -- variable bindings VarBind ::= SEQUENCE { name value } VarBindList ::= SEQUENCE OF VarBind END time-stamp INTEGER, -- if generic-trap is not enterprisespecific -- time elapsed between the last TimeTicks, -- (re)initialization of the network entity and -- the generation of the trap variable-bindings -- "interesting" information VarBindList ObjectName, ObjectSyntax 82

GET manager get agent MIB response PARA PEDIR O VALOR DE UMA OU MAIS VARIÁVEIS ERROS POSSÍVEIS: nosuchname O objecto não existe / O objecto não é uma folha toobig O resultado não cabe num PDU response generr Todas as outras causas 83

EXEMPLO - MIB 1 address (1) info (2) route-table (3) 130.89.16.2 name (1) uptime (2) route-entry (1) printer-1 123456 dest(1) policy(2) next(3) 2 1 2 2 3 1 3 1 5 7 9 5 5 7 1 2 1 2 3 2 8 8 1 3 3 9 1 2 84

EXEMPLOS - GET get(1.1.0) response(1.1.0 => 130.89.16.2) get(1.2.0) response(error-status = nosuchname) get(1.1) response(error-status = nosuchname) get(1.1.0; 1.2.2.0) response(1.1.0 => 130.89.16.2; 1.2.2.0 => 123456) get(1.3.1.3.5.1) response(1.3.1.3.5.1 => 2) get(1.3.1.1.5.1) response(1.3.1.1.5.1 => 5) get(1.3.1.1.5.1, 1.3.1.2.5.1, 1.3.1.3.5.1) response(1.3.1.1.5.1 => 5, 1.3.1.2.5.1 => 1, 1.3.1.3.5.1 => 2) 85

SET manager set agent MIB response PARA ATRIBUIR UM VALOR A UMA INSTÂNCIA DUM OBJECTO PARA CRIAR NOVAS INSTÂNCIAS TABLE ROWS O SET REQUEST É ATÓMICO ERROS POSSIVEIS : nosuchname badvalue toobig generr 86

EXEMPLOS - SET set(1.2.1.0 => my-printer) response(noerror; 1.2.1.0 => my-printer) set(1.2.1.0 => my-printer, 1.2.3.0 => 0) response(error-status = nosuchname; error-index = 2) DEVIDO AO SET SER ATÓMICO A INSTÂNCIA DO OBJECTO 1.2.1.0 NÃO É AFECTADO 87

GET-NEXT manager getnext agent MIB response OBTÉM O NOME DA INSTÂNCIA E O VALOR DO PRÓXIMO (NEXT) ELEMENTO DA MIB PARA DESCOBRIR ESTRUTURAS DA MIB PARA OBTER LINHAS DUMA TABELA ERROS POSSÍVEIS : nosuchname (= FIM DA MIB) toobig generr 88

EXEMPLOS - GET-NEXT getnext(1) response(1.1.0 => 130.89.16.2) getnext(1.1.0) response(1.2.1.0 => printer-1) getnext(1.2.1.0) response(1.2.2.0 => 123456) getnext(1.3.1.3.5.1) response(1.3.1.3.5.2 => 3) getnext(1.3.1.1; 1.3.1.2; 1.3.1.3) response(1.3.1.1.2.1 => 2; 1.3.1.2.2.1 => 1; 1.3.1.3.2.1 => 2) getnext(1.3.1.1.2.1; 1.3.1.2.2.1; 1.3.1.3.2.1) response(1.3.1.1.3.1 => 3; 1.3.1.2.3.1 => 1; 1.3.1.3.3.1 => 3) 89

EXEMPLO DE ACESSO A UMA TABELA iproutedest iproutemetric1 iproutenexthop 9.1.2.3 3 99.0.0.3 10.0.0.51 5 89.1.1.42 10.0.0.99 5 89.1.1.42 iproutetable 1.3.6.1.2.1.4.21 iprouteentry 1.3.6.1.2.1.4.21.1 = x iproutedest x.1 iproutemetric1 x.3 iproutenexthop x.7 iproutedest.9.1.2.3 x.1.9.1.2.3 iproutedest.10.0.0.51 x.1.10.0.0.51 iproutedest.10.0.0.99 x.1.10.0.0.99 iproutemetric1.9.1.2.3 x.3.9.1.2.3 iproutemetric1.10.0.0.51 x.3.10.0.0.51 iproutemetric1.10.0.0.99 x.3.10.0.0.99 iproutenexthop.9.1.2.3 x.7.9.1.2.3 iproutenexthop.10.0.0.51 x.7.10.0.0.51 iproutenexthop.10.0.0.99 x.7.10.0.0.99 90

EXEMPLO DE ACESSO A UMA TABELA getnext(iproutedest, iproutmetric1, iproutenexthop) ou seja getnext(1.3.6.1.2.1.4.21.1.1, 1.3.6.1.2.1.4.21.1.3, 1.3.6.1.2.1.4.21.1.7) a resposta do agente deverá ser: response((iproutedest.9.1.2.3 = 9.1.2.3), (iproutemetric1.9.1.2.3 = 3), (iproutenexthop.9.1.2.3 = 99.0.0.3)) O gestor poderá guardar estes valores e ir buscar a segunda linha através da seguinte forma: getnext(iproutedest.9.1.2.3, iproutmetric1.9.1.2.3, iproutenexthop.9.1.2.3) o agente responde: response((iproutedest.10.0.0.51 = 10.0.051), (iproutemetric1.10.0.0.51 = 5), (iproutenexthop.10.0.0.51 = 89.1.1.42)) e, a seguir: getnext(iproutedest.10.0.0.51, iproutmetric1.10.0.0.51, iproutenexthop.10.0.0.51) response((iproutedest.10.0.0.99 = 10.0.0.99), (iproutemetric1.10.0.0.99 = 5), (iproutenexthop.10.0.0.99 = 89.1.1.42)) Como o gestor não sabe a dimensão da tabela irá pedir a próxima linha: getnext(iproutedest.10.0.0.99, iproutmetric1.10.0.0.99, iproutenexthop.10.0.0.99) o agente responde com os objectos que, lexicograficamente, se seguem na VISTA ("view ) da MIB: response((iproutemetric1.9.1.2.3 = 9.1.2.3), (iproutenexthop.9.1.2.3 = 3), (ipnettomediaifindex.1.3 = 1)) 91

ORDENAÇÃO LEXICOGRÁFICA UMA MIB PODE SER CONSIDERADA COMO UMA LISTA ORDENADA INSTANCE ID INSTANCE VALUE 1.1.0 130.89.16.2 1.2.1.0 printer-1 1.2.2.0 123456 1.3.1.1.2.1 2 1.3.1.1.3.1 3 1.3.1.1.5.1 5...... 1.3.1.1.9.1 9 1.3.1.2.2.1 1 1.3.1.2.3.1 1...... 1.3.1.2.9.1 1 1.3.1.3.2.1 2...... 92

TRAP manager agent trap PARA SINALIZAR UM EVENTO A RECEPÇÃO DUM TRAP NÃO É CONFIRMADA (NÃO FIÁVEL) O POLLING CONTINUA NECESSÁRIO OS AGENTES PODEM SER CONFIGURADOS DE FORMA A QUE: NÃO SEJAM TRANSMITIDOS TRAPs OS TRAPs SEJAM TRANSMITIDOS APENAS PARA CERTOS GESTORES 93

TRAPs DEFINIDOS COLDSTART WARMSTART LINKDOWN LINKUP AUTHENTICATION FAILURE EGPNEIGHBOURLOSS ENTERPRISESPECIFICTRAP 94

FORMATO DO TRAP-PDU ENTERPRISE AGENT-ADDRESS GENERIC-TRAP SPECIFIC-TRAP TIME-STAMP VARIABLE-BINDINGS 95

CODIFICAÇÃO DA MENSAGEM SNMP MANAGER ABSTRACT SYNTAX AGENT MIB BER TRANSFER SYNTAX BER UDP UDP IP IP LINK LINK A DESCRIÇÃO DAS MIBs E DO FORMATO DAS MENSAGENS É BASEADO NA SINTAXE DO ASN.1 A CONVERSÃO DA SINTAXE ABSTRACTA PARA A SINTAXE DE TRANSFERÊNCIA É DEFINIDA PELO BASIC ENCODING RULES (BER) 96

BASIC ENCODING RULES CADA VALOR ASN.1 É CODIFICADO COMO UMA OCTET STRING ESTA CODIFICAÇÃO RESULTA NUMA SEQUÊNCIA DE ESTRUTURAS TAG, LENGTH, VALUE (TLV) QUE PODEM TER DIMENSÃO VARIÁVEL tag length value para a rede octeto 8 7 6 5 4 3 2 1 97

CAMPO TAG f primitive (=simple) / constructed (=structured) 0 0 = universal tag 0 1 = application-wide tag 1 0 = (context specific tag) 1 1 = (private tag) Universal tags Application-wide tags BIT PATTERN ASN.1 TYPE BIT PATTERN APPLICATION TYPE 00 0 0 0010 INTEGER 01 0 0 0000 IpAddress 00 0 0 0100 OCTET STRING 01 0 0 0001 Counter32 00 0 0 0110 OBJECT IDENTIFIER 01 0 0 0010 Gauge32 01 0 0 0010 Unsigned32 01 0 0 0011 TimeTicks 01 0 0 0100 Opaque 01 0 0 0110 Counter64 98

EXPANSÃO DO CAMPO TAG class f 1 1 1 1 1 1... 1 0 8 7 6 5 4 3 2 1 8 8 8 99

CLASSES DEFINIDAS NO ASN.1 ASN.1 define 4 classes de tipos: Universal: tipos independentes das aplicações Application-wide: específicos duma aplicação e utilizada por outras normas OSI Context-specific: específicos duma determinada aplicação num determinado contexto Private-use: não definido pela norma ASN.1 100

TIPOS DA CLASSE UNIVERSAL DO ASN.1 (SMIv1) OSI ASN.1 Universal Class Tag ASN.1 Type Internet Universal Class Tag 1 BOOLEAN 2 INTEGER 2 3 BIT STRING 4 OCTET STRING 4 5 NULL 5 6 OBJECT IDENTIFIER 6 7 ObjectDescriptor 8 EXTERNAL 9 REAL 10 ENUMERATED 11 ENCRYPTED 12-15 Reserved for future use 16 SEQUENCE, SEQUENCE OF 17 SET, SET OF 18 NumericString 19 PrintableString 20 TeletexString 21 VideotextString 22 IA5String 23 UTCTime 24 GeneralizedType 25 GraphicsString 26 VisableString 27 GeneralString 28 CharacterString 29 Reserved for future use 16 101

CAMPO LENGTH (COMPRIMENTO) SHORT FORM: 0 LONG FORM: 1 n n (1 n 2) 102

EXEMPLO: INTEIRO 100 00 0 2 1 0 1 1 0 0 1 0 0 class f number length contents (100) Os inteiros são representados no formato complemento para 2 103

EXEMPLO: OCTET STRING IST 00 0 4 3 class f number length 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 "I" "S" "T" 104

EXEMPLO: NULL 00 0 5 0 class f number length 105

EXEMPLO: OID 1.0.8571.5.1 00 0 6 5 0 0 1 0 1 0 0 0 class f number length 40x1+0 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 8571 5 0 0 0 0 0 0 0 1 1 106

SEQUENCE 00 1 16 n class f number length ObjectName tag ObjectName length ObjectName contents ObjectValue tag ObjectValue length ObjectValue contents 107

SEQUENCE OF 00 1 16 n class f number length OtherType tag OtherType length ObjectType contents n octets 108

EXEMPLO DUMA MENSAGEM SNMP Message ::= SEQUENCE { version -- version-1 for this RFC INTEGER {version-1(0)}, community -- community name OCTET STRING, GetResponse-PDU ::= [2] IMPLICIT PDU SEQUENCE { request-id INTEGER, error-status -- sometimes ignored INTEGER { noerror(0), toobig(1), nosuchname(2), badvalue(3), readonly(4), generr(5) }, } } error-index -- sometimes ignored INTEGER, variable-bindings::= SEQUENCE OF SEQUENCE { name } value ObjectName, ObjectSyntax 109

EXEMPLO DUMA MENSAGEM SNMP 1 Message ::= 2 { { 30 2a 3 version version-1, 0, 02 01 00 4 community "public" "public" 04 06 70 75 62 6c 69 63 5 data { 6 get-response { [2] { a2 1d 7 request-id 17, 17, 02 01 11 8 error-status noerror, 0, 02 01 00 9 error-index 0, 0, 02 01 00 10 variable-bindings { { 30 12 11 { { 30 10 12 name 1.3.6.1.2.1.1.1.1.0, 1.3.6.1.2.1.1.1.1.0 06 09 2b 06 01 02 01 01 01 01 00 13 value { 14 simple { 15 string "IST" "IST" 04 03 49 53 54 16 } } 17 } } 18 } } 19 } } 20 } 21 } 22 } 110

SNMPv2 RESUMO: LIMITAÇÕES DO SNMPv1 HISTÓRIA DO SNMPv2 HIERARQUIAS SEGURANÇA OPERAÇÕES DO PROTOCOLO SNMPv2 INDEPENDÊNCIA DO TRANSPORTE RFCs Copyright 2001 by Aiko Pras These sheets may be used for educational purposes 111

LIMITAÇÕES DO SNMPv1 REGRAS NÃO DOCUMENTADAS CÓDIGOS DE ERRO LIMITADOS TIPOS DE DADOS LIMITADOS NOTIFICAÇÕES LIMITADAS EFICIÊNCIA LIMITADA DEPENDÊNCIA DO TRANSPORTE FALTA DE HIERARQUIA FALTA DE SEGURANÇA 112

full standard HISTÓRIA DO SNMPv2 proposed standard proposed standard V2Usec V2*... draft standard draft standard full standard SNMP/SMI v1 SNMP security SMP SMIv2 SNMPv2 parties community SNMPv3 DISMAN 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 113

HIERARQUIAS: IDEIA ORIGINAL MANAGER TO MANAGER (M2M) MIB M inform command M poll M A A A A A APROXIMAÇÃO ATRAVÉS DE MIBs NORMALIZADA FUNCIONALIDADE LIMITADA COMPORTAMENTO EM RUN-TIME DEVE SER DEFINIDA QUANDO DA IMPLEMENTAÇÃO 114

HIERARQUIAS: ESTADO O TRABALHO MUDOU PARA UM GRUPO SEPARADO: DISTRIBUTED MANAGEMENT GROUP (DISMAN) FORAM NORMALIZADAS TRÊS APROXIMAÇÕES: BASEADA EM MIB (EXPRESSÃO, EVENTOS E NOTIFICAÇÃO LOG MIB) BASEADA EM SCRIPTs (SCRIPT E SCHEDULE MIB) BASEADO EM OPERAÇÕES REMOTAS (REMOPS MIB) 115

SEGURANÇA NO SNMPv2: QUE ACONTECEU? ABRIL 1993: PROPOSTA DE NORMA QUATRO EDITORES SEGURANÇA BASEADA EM PARTIES PRIMEIROS PROTÓTIPOS A APARECEREM BREVEMENTE JUNHO 1995: NORMA PROPOSTA REJEITADA POR DOIS DOS EDITORES ORIGINAIS! AGOSTO 1995: ACORDO GERAL DE QUE O MODELO BASEADO EM PARTIES ERA DEMASIADO COMPLEXO! APARECERAM MUITAS NOVAS PROPOSTAS: SNMPv2C: BASEADO EM COMUNIDADES SNMPv2U: BASEADO EM UTILIZADORES... 1997: NOVO GRUPO DE TRABALHO SNMPv3 ERA FORMADO COM NOVOS EDITORES 116

OPERAÇÕES DO PROTOCOLO SNMPv2V get MIB set MIB response response manager agent manager agent getnext MIB trap response MIB manager agent manager agent getbulk MIB inform response response MIB manager agent manager "agent" 117

GET manager get agent MIB response SEMELHANTE AO DO SNMPv1, EXCEPTO PARA AS "EXCEPTIONS" EXCEPÇÕES POSSÍVEIS: nosuchobject nosuchinstance EXCEPÇÕES SÃO CODIFICADAS NOS VARBINDS EXCEPÇÕES NÃO DÃO ORIGEM A INDICAÇÕES DE ERRO E DE ÍNDICE DE ERRO 118

EXEMPLOS GET get(1) response(error-status => noerror, 1.2 => nosuchobject) get(1.1) response(error-status => noerror, 1.2.0 => nosuchinstance) get(1.1.9) response(error-status => noerror, 1.2.0 => nosuchinstance) get(1.2) response(error-status => noerror, 1.4.0 => nosuchobject) get(1.4.0) response(error-status => noerror, 1.4.0 => nosuchobject) get(1.1.0, 1.4.0) response(error-status => noerror, 1.1.0 => 130.89.16.2, 1.4.0 => nosuchobject) 119

GET-NEXT manager getnext agent MIB response SEMELHANTE AO SNMPv1, EXCEPTO NAS "EXCEPÇÕES" POSSÍVEIS EXCEPÇÕES: endofmibview EXEMPLO getnext(1.4.0) response(error-status => noerror, 1.4.0 => endofmibview) 120

GET-BULK manager getbulk agent MIB response NOVO NO SNMPv2 PARA OBTER UM GRANDE NÚMERO DE VARBINDS AUMENTA A EFICIÊNCIA! 121

EFICIÊNCIA DO GETBULK 3300 2910 Source: Steve Waldbusser, Carnegie-Mellon University Figures based on original (party based) SNMPv2 v1 v2 1600 210 195 110 SEM SEGURANÇA COM AUTENTICAÇÃO COM ENCRIPTAÇÃO 122

GET-BULK O PEDIDO getbulk TEM DOIS PARÂMETROS ADICIONAIS: non-repeators max-repetitions OS PRIMEIROS N ELEMENTOS (non-repeators) DA LISTA DE VARBIND SÃO TRATADOS COMO SE A OPERAÇÃO FOSSE UM getnext NORMAL OS PRÓXIMOS ELEMENTOS DA LISTA DE VARBIND SÃO TRATADOS COMO SE A OPERAÇÃO CONSISTISSE NUM NÚMERO (max-repetitions) DE OPERAÇÕES getnext REPETIDAS 123

GET-BULK REQUEST(non-repeaters = N; max-repetitions = M; VariableBinding-1;... ; VariableBinding-N; VariableBinding-(N+1);... ; VariableBinding-(N+R) ) N-TIMES RESPONSE( VariableBinding-1;... ; VariableBinding-N; VariableBinding-(N+1);... ; VariableBinding-(N+R) 1 st LEXICOGRAPHICAL SUCCESSOR 2 nd LEXICOGRAPHICAL SUCCESSOR 3 th LEXICOGRAPHICAL SUCCESSOR VariableBinding-(N+1);... ; VariableBinding-(N+R) VariableBinding-(N+1);... ; VariableBinding-(N+R)... M-TIMES ) M th LEXICOGRAPHICAL SUCCESSOR VariableBinding-(N+1);... ; VariableBinding-(N+R) 124

EXEMPLO GET-BULK getbulk(max-repetitions = 4; 1.1) response( 1.1.0 => 130.89.16.2 1.2.1.0 => printer-1 1.2.2.0 => 123456 1.3.1.1.2.1 => 2 ) getbulk(max-repetitions = 3; 1.3.1.1; 1.3.1.2; 1.3.1.3) response( 1.3.1.1.2.1 => 2; 1.3.1.2.2.1 => 1; 1.3.1.3.2.1 => 2 1.3.1.1.3.1 => 3; 1.3.1.2.3.1 => 1; 1.3.1.3.3.1 => 3 1.3.1.1.5.1 => 5; 1.3.1.2.5.1 => 1; 1.3.1.3.5.1 => 2 ) 125

SET manager set agent MIB response SEMELHANTE AO SNMPv1 CONCEPTUALMENTE POSSUI UM COMMIT EM DUAS FASES: FASE 1: REALIZA VÁRIOS TESTES FASE 2: REALIZA A ACTUALIZAÇÃO PODEM SER DEFINIDOS MUITOS NOVOS CÓDIGOS DE ERROS 126

NOVOS CÓDIGOS DE ERRO PARA O SET SNMPv1 SNMPv2 FASE 1: badvalue badvalue badvalue badvalue badvalue nosuchname nosuchname nosuchname nosuchname generr generr wrongvalue wrongencoding wrongtype wronglength inconsistentvalue noaccess notwritable nocreation inconsistentname resourceunavailable generr FASE 2: generr generr CommitFailed undofailed 127

TRAP manager agent trap MIB SNMPv1: COLD START WARM START LINK DOWN LINK UP AUTHETICATION FAILURE EGP NEIGHBOR LOSS SNMPv2: MIBs PODEM INCLUIR AGORA MACROS DO TIPO NOTIFICAÇÃO PRIMEIROS DOIS VARBINDS: sysuptime E snmptrapoid USA O MESMO FORMATO QUE OS OUTROS PDUs 128

EXEMPLO DE MACRO DO TIPO NOTIFICAÇÃO linkup OBJECTS STATUS DESCRIPTION ::= {snmptraps 4} NOTIFICATION-TYPE {ifindex} current "A linkup trap signifies that the entity has detected that the ifoperstatus object has changed to Up" 129

INFORM manager "agent" inform MIB Response TRAP CONFIRMADO ORIGINALMENTE PARA INFORMAR UM GESTOR DE MAIS ALTO NÍVEL MESMO FORMATO DO PDU TRAP ERRO POSSÍVEL: toobig 130

REPORT manager agent report NOVO PDU PARA SINALIZAR EXCEPÇÕES/ ERROS DO PROTOCOLO NÃO TEM SEMÂNTICA DEFINIDA EM SNMPv2 131

DEPENDÊNCIA DO TRANSPORTE SNMPv1: UDP SNMPv2: UDP CLNS (OSI) DDP (APPLETALK) IPX 132

RFCs SNMPv2 COMMUNICATION MODEL DRAFT STANDARD RFC 1905, RFC1906 SECURITY MODEL - SNMPv2C: COMMUNITY BASED SNMP SAME SECURITY MECHANISMS AS SNMPv1 EXPERIMENTAL STATUS RFC 1901 SECURITY MODEL - SNMPv2U: USER BASED SECURITY (AUTHENTICATION / ENCRYPTION / ACCESS CONTROL) EXPERIMENTAL STATUS RFC 1909, RFC1910 INFORMATION MODEL: STANDARD RFC2578, RFC2579, RFC2580 133

SNMPv2 - SUMÁRIO MODELO DE COMUNICAÇÃO MELHORADO TRAPS TÊM O MESMO FORMATO QUE OUTROS PDUs PDU GET-BULK CÓDIGOS DE ERRO ADICIONAIS PARA O SET DOIS MODELOS DE SEGURANÇA SNMPv2C: BASEADO EM COMUNIDADES SNMPv2U: BASEADO EM UTILIZADORES INDEPENDÊNCIA DA CAMADA DE TRANSPORTE MIB-II DIVIDIDA EM MÓDULOS SEGURANÇA E HIERARQUIAS PARA O SNMPv3 & DISMAN MODELO DE INFORMAÇÃO MELHORADO (SMIv2) TIPOS DE DADOS ADICIONAIS CONVENÇÕES TEXTUAIS E.G. ESTADO DA LINHA NOTIFICAÇÕES 134