Introdução • O SNMP (Simple Network Management Protocol) – Padronizado pela Internet Engineering Task Force – IETF • Objetivo: – Disponibilizar uma forma simples e prática de realizar o controle de equipamentos em uma rede de computadores. • Atualmente as pesquisas na área de gerenciamento de redes têm o objetivo de obter da rede seu rendimento máximo. O que é SNMP? • É um protocolo de gerência definido em nível de aplicação, utilizado para obter informações de agentes SNMP • Este protocolo é o centro do desenvolvimento do gerenciamento. • Padrão largamente utilizado com redes TCP/IP e mais recentemente com IPX Funcionamento do SNMP • O SNMP estabelece a comunicação entre as entidades de gerenciamento • A comunicação no protocolo é toda feita através de mensagens, utilizando-se o UDP Entidades SNMP • Gerente • Agente (nós gerenciados) • Objeto Gerenciado Em geral, a aplicação de software gerente não executa no mesmo computador que o agente Gerente SNMP • Responsável pelo monitoramento, relatório e decisões na ocorrência de problemas • Permite a obtenção e o envio de informações de gerenciamento com um ou mais agentes • As informações de gerenciamento podem ser obtidas: – Através das requisições efetuadas pelo gerente ao agente – Envio automático disparado pelo agente a um determinado gerente Agente SNMP • Responsável pelas funções de envio e alteração das informações e pela notificação da ocorrência de eventos específicos ao gerente • Não envia mensagens, apenas responde as mensagens solicitadas pelo gerente – Notifica um evento Objeto Gerenciado • Também chamado de variável • Representa informações estáticas ou dinâmicas • Um conjunto de objetos estão localizados em uma base de informação, denominada Management Information Base - MIB Gerente - Objeto Gerenciado Gerente - Agente • Baseado no modelo TCP/IP MIB • Conjunto de objetos gerenciados que representam vários tipos de informações sobre a configuração da rede – Tabela de roteamento – Lista de conexões TCP aberta • Essa coleção contém informações requeridas pelo sistema gerente • Todas as informações que um sistema gerente pode requerer de um agente pode estar armazenado em várias MIBs • Objetos MIBs podem ser acessados e gerenciados com SNMP através de uma rede sistema gerente MIB • Define os seguintes valores para cada objeto: – – – – Nome e identificador (OID) Tipos de dados Descrição textual dos objetos Array multidimensional, usado para tipos de dados complexos – Permissão de leitura e escrita MIB Identificadores • OIDs – Sequencia de números inteiros – Únicos para cada nó da árvore – Todos os filhos são identificados pelo OIDs do pai adicionado de um inteiro Mensagens SNMP • Get: – Estação de gerenciamento recupera um valor do objeto escalar de um agente • Set: – Estação de gerenciamento atualiza um valor do objeto escalar de um agente • Trap: – Agente envia um objeto escalar não solicitado para uma estação de gerenciamento da rede Mensagens SNMP • GetNext – Retorna o próximo na ordem lexicografica – Objetos escalares – Objetos tabulares (EOC, EOF). Arquitetura do SNMP MIB - MANAGEMENT INFORMATION BASE Banco virtual de informações NOMEAÇÃO DE OBJETOS Como nomear todos os objetos e modelos? ISO Object Identifier tree: Nomeação hierárquica Folhas = objetos gerenciados OBJECT IDENTIFIER (OID) Identifica unicamente cada objeto na MIB internet OBJECT IDENTIFIER : = { iso(1) org(3) dod(6) 1} ou { 1 3 6 1 } ou 1.3.6.1 iso org dod internet mgmt mib-2 tcp tcpConnTable 1 3 6 1 2 1 6 13 ::= { ip 9} Comandos Comando get get-next walk trap set Descrição Solicita o valor de um contador específico ao agente SNMP. Solicita o valor do próximo contador ao agente SNMP. Solicita os valores de todos os contadores de um objeto SNMP. Envia ao sistema de gerenciamento informações sobre situações anormais interceptadas pelo agente SNMP. Instrui o agente para alterar um parâmetro configurável. MIB (Management Information Base) • Cada componente da rede (software ou hardware) recebe um número de identificação numa estrutura hierárquica que contém informações sobre a rede. • Esses componentes (ou objetos SNMP) mantêm seus próprios contadores, organizando-os em estruturas de dados determinados determinadas MIBs. • Esses contadores são identificados pela sua posição na árvore e a nomenclatura para endereçamento parte da raiz, separando cada nível por pontos. • Exemplo de endereço MIB: – .iso.org.dod.internet.mgmt.ip.ipDefaultTTL MIB (Management Information Base) • Esses endereços também podem ser representados de forma numérica: – 1.3.6.1.2.1.4.2 • Empresas que desenvolvem hardware ou software de rede podem se cadastrar na árvore MIB, recebendo um ramo nessa estrutura hierárquica. • A partir daí, essas empresas ficam responsáveis pela administração do seu ramo, podendo criar MIBs específicos para seus produtos. • Por exemplo, a Microsoft teve o número 1.3.6.1.4.1.311. Arquitetura do SNMP • Utiliza uma arquitetura distribuída de sistemas gerentes e agentes, baseado no modelo ClienteServidor – O gerente é o processo cliente – Agente é o processo servidor • O gerente comunica-se com nós gerenciados • Os nós gerenciados provêm informações através do processo agente Comunidade • É uma coleção de host para a administração • Cada agente e gerente pertencem a uma comunidade SNMP • As comunidades são identificadas pelos nomes que são atribuidos a ela • Os nomes das comunidades podem ser utilizadas para garantir autenticação • Senhas compartilhadas pelo gerente Comunidade Comunidade • Os nomes são gerenciados pela configuração das propriedades de segurança do SNMP • Os tipos de permissão que são garantidas – – – – – Nenhuma (trap) Notificação (trap) Apenas leitura (get) Read Create (set) Read write Construção de Mensagem • Cada mensagem SNMP tem o seguinte formato: – Número de versão – Nome da comunidade – Tipo de senha – Dados – uma seqüência de PDUs associada com a solicitação Construção de Mensagem Formato das Trap: • request id – número de seqüência da solicitação • agent address – endereço IP do agente que envia a trap • generic trap id – trap padrão • specific trap id – trap do proprietário • time stamp – “quando” o trap ocorreu desde a inicialização do agente • error index – se não for zero indica erro • Lista de Objects Identifiers(OIDs) and values - OIDs que podem ser relevante para emitir aos gerentes Protocolo SNMP • Cada objeto gerenciado pertence a uma comunidade • Gerentes permitem múltiplas comunidades • A comunidade é definida pelo nome que é um OctetString com 0 to 255 Vantagens do SNMP • Popularidade • Simples – Multiusuário – Extensibilidade • Interoperável • A maior parte do processamento concentrase no gerente Desvantagens do SNMP • • • • • Apresenta falhas de segurança (não é perfeito) Não existe comunicação entre os gerentes Ineficiência na transferência de blocos de dados Não suporta redes muito grandes Protocolo não é muito eficiente – Transmissão de dados desnecessárias • A organização da árvore MIB não é muito eficiente SNMPv2 - Histórico • Suprir as deficiências do SNMP • Garantir segurança • SNMPv2 = SMI + SNMP seguro – O protocolo perdeu sua simplicidade, mas o fato é que essa mudança do SNMP era necessária. – Não foi aceito. SNMPv2 • Melhorias – – – – – – Novos tipos de dados Novas macros Convenções textuais Melhoramento na recuperação de informações Códigos de erros mais precisos Suporte a vários tipos de protocolos de transporte SNMPv2 - Protocolo • Extensão do protocolo SNMP • Define duas novas operações: – GetBulkRequest • Retorna mútiplas linhas em uma tabela • Otimiza o uso do getnextrequest – InformRequest • Permite um gerente enviar informações a outro gerente • Para arquitetura hierárquica e distribuída • GetRequest não é atômico MIB II • Sub–árvore da MIB MIB II • Os objetos podem conter valores do tipo inteiro, string ou uma tabela de valores Conclusões • SNMP é um protocolo simples • A grande chave do seu sucesso é o uso disseminado • É muito rápido (o gerente não precisa fazer o login e estabelecer uma conexão TCP/IP) • Escritos independentes dos dispositivos que ele vai rodar