Capítulo 4 - Simple Network Management Protocol (SNMP)


O SNMP é um protocolo da camada de aplicação designado para facilitar a troca de informações de gerenciamento entre dispositivos de rede. Usando os dados transportados pelo SNMP, os administradores de rede podem gerenciar mais facilmente a performance da rede, encontrar e solucionar problemas e planejar com mais precisão uma possível expansão da rede.

Atualmente, o SNMP é o mais popular protocolo para gerenciamento de diversas redes comerciais como as usadas em universidades, centros de pesquisas e provedores de acesso e de informações. Esta popularização se deve ao fato de que o SNMP é um protocolo relativamente simples, porém suficientemente poderoso para resolver os difíceis problemas apresentados quando tenta-se gerenciar redes heterogêneas.

4.1 - O modelo de gerenciamento da Internet

Como o TCP/IP, o SNMP é um protocolo Internet. Ele é uma parte da arquitetura de gerenciamento da Internet, que é baseada na interação de diversas entidades, como se segue [Case90, Oda94b]:

Com base nesta arquitetura, o SNMP foi construído para minimizar a quantidade e a complexidade das funções necessárias para gerenciar um agente. O paradigma funcional de controle e monitoração do protocolo foi definido de maneira extensiva, para poder absorver mais facilmente novos aspectos das operações de rede e gerenciamento. Além disto, esta arquitetura é totalmente independente da plataforma dos elementos da rede e dos NMS [Case90].

Os processos que implementam as funções de gerenciamento Internet atuam ou como agentes ou como gerentes. Os agentes coletam junto aos dispositivos gerenciados as informações relevantes ao gerenciamento da rede. O gerente, por sua vez, processa essas informações com o objetivo de detectar falhas no funcionamento dos elementos da rede, para que "possam ser tomadas providências no sentido de contornar os problemas que ocorrem como conseqüência das falhas" [Soares97].

Um objeto gerenciado representa um recurso e pode ser visto como uma coleção de variáveis cujo valor pode ser lido ou alterado. Para tanto o gerente envia comandos aos agentes. Para monitorar os dispositivos gerenciados, o gerente solicita ao agente uma leitura no valor das variáveis mantidas por estes dispositivos, através do comando Get, e o agente responde através do comando Response.

Para controlar os dispositivos gerenciados, o gerente modifica o valor das variáveis armazenadas nos dispositivos gerenciados, através do comando Put. Isto pode ser usado para disparar indiretamente a execução de operações nos recursos associados aos objetos gerenciados. Por exemplo, um reboot do elemento de rede pode ser facilmente implementado, basta que o gerente modifique o parâmetro que indica o tempo até uma reinicialização do sistema.


Em alguns casos é necessário que a troca de informações seja em sentido inverso, isto é, o agente tem de passar informações para o gerente. O SNMP define a operação Trap para que um agente informe ao gerente a ocorrência de um evento específico [Cisco96].

4.2 - Definição dos Relacionamentos Administrativos

A arquitetura SNMP admite uma variedade de relacionamentos administrativos entre entidades que participam do protocolo. As entidades residentes nas estações gerenciadas e os elementos de rede que se comunicam com um outro elemento usando SNMP são chamados de entidades de aplicação SNMP. O processo que implementa o SNMP, e portanto suporta as entidades de aplicação SNMP, é chamado protocolo de entidades.

A junção de um agente SNMP com algum conjunto arbitrário de entidades de aplicação SNMP é chamada de comunidade SNMP. Cada comunidade é nomeada através de uma cadeia de octetos.

Uma mensagem SNMP, originada por uma entidade de aplicação SNMP que de fato pertence a comunidade SNMP referenciada pela mensagem, é chamada mensagem SNMP autêntica. O conjunto de regras existentes para que uma mensagem seja identificada como uma mensagem SNMP autêntica para uma comunidade SNMP qualquer é chamado de esquema de autenticação. A implementação de uma função que identifica mensagens autênticas de acordo com um ou mais esquemas de autenticação é chamado serviço de autenticação.

Evidentemente, um efetivo gerenciamento das relações administrativas entre entidades de aplicação SNMP requer que os serviços de autenticação (pelo uso de criptografia ou outra técnica) sejam capazes de identificar mensagens autênticas com um alto grau de confiabilidade.

Para qualquer elemento da rede, um subconjunto de objetos na MIB que pertence a este objeto é chamado de visão da MIB SNMP. Um elemento do conjunto (READ-ONLY, READ-WRITE) é chamado de modo de acesso SNMP.

A junção do modo de acesso SNMP com a visão da MIB é chamada de perfil da comunidade SNMP. O perfil da comunidade SNMP representa um privilégio de acesso específico para variáveis em uma MIB específica. A união da comunidade SNMP com o perfil da comunidade é chamada de política de acesso SNMP. Uma política de acesso representa um perfil de comunidade específico proporcionado por um agente SNMP de uma comunidade para outros membros desta comunidade. Todos os relacionamentos administrativos entre entidades de aplicação SNMP são definidos em termos das políticas de acesso.

Para toda política de acesso SNMP, se o elemento de rede em que o agente SNMP especificado pela comunidade SNMP reside não contém a visão MIB que o perfil especifica, então esta política é chamada política de acesso proxy SNMP. O agente associado com a política de acesso proxy é chamado de agente proxy.

A política proxy é usualmente definida de duas maneiras :

4.3 - Operações SNMP

O SNMP por si só é um protocolo de requisição/resposta simples. Os NMS podem enviar múltiplas requisições sem receber uma resposta. Quatro operações são definidas no SNMP [Cisco96]:

Os pacotes de mensagem do SNMP são divididos em duas partes. A primeira parte contém a versão e o nome comunitário. A segunda parte contém o protocolo de unidade de dados (PDU) do SNMP especificando a operação que será realizada ("Get", "Set" e outros) e a instância de objetos envolvida na operação. A figura 4.1 ilustra o formato das mensagens no SNMP.


Figura 4.1 - Formato das mensagens SNMP

O campo versão é usado para garantir que todos os elementos de uma rede estão rodando softwares baseados na mesma versão do SNMP. O nome comunitário associa um ambiente de acesso para um conjunto de NMS usando o nome comunitário. Um NMS dentro de uma comunidade pode ser dito existente dentro de um mesmo domínio administrativo. Como os dispositivos que não conhecem seu próprio nome comunitário são excluídos das operações do SNMP, então o administrador de redes usa o nome comunitário como uma forma fraca de autenticação.

O PDU do SNMP tem os seguintes campos [Cisco96] :



Sumário | Resumo | Cap. 1 | Cap. 2 | Cap. 3 | Cap. 4 | Cap. 5 | Cap. 6 | Cap. 7
Referências Bibliográficas | Bibliografia Consultada