Seção: Tutoriais Banda Larga

 

SNMP: Protocolo

 

Comandos e Mensagens

 

O SNMP é um protocolo orientado a pacotes, e possui em sua estrutura cabeçalho, dados e informações de verificação do pacote. Esse pacote é denominado Protocol Data Unit (PDU) e na versão 1 possui os seguintes pacotes:

 

Tabela 2: Comandos do Protocolo PDU

Get Request Usado para solicitar o valor de uma ou mais variáveis da MIB.
Get-next Request Usado para solicitar os valores de um conjunto seqüencial de variáveis da MIB. Geralmente é usado para solicitar valores de uma tabela da MIB. Após a solicitação do primeiro valor usando o comando Get, os valores seguintes são solicitados usando este comando.
Set Request Usado para atribuir um valor a uma variável da MIB.
Get Rresponse Usado para enviar resposta aos comandos Get, Get-next e Set.
Trap Usado para enviar informações de alarme ou eventos significativos.

 

 

A figura a seguir apresenta o fluxo de mensagens com base no modelo manager - agent apresentado.

 

Figura 5: Fluxo de mensagens do SNMP

 

Nesses modelo ocorrem as seguintes interações:

  • O manager envia um comando Get ou Get-next para solicitar uma ou mais variáveis e o agent responde com um Get-response enviando a informação solicitada, caso o dispositivo seja gerenciável.
  • O manager envia um comando Set para alterar uma ou mais variáveis e o agent responde com um Get Response confirmando a alteração, caso esta seja permitida.
  • O agent envia um Trap para o manager quando um evento ou alarme ocorre.

As mensagens do SNMP possuem o seguinte formato geral:

 

0 Conjunto de
Dispositivos
Gerenciáveis
Comandos e Respostas do SNMP
version community SNMP PDU

 

 

Os formatos dos comandos e respostas dos pacotes PDU são os seguintes:

 

Get Request [0], Get-next Request [1], Set Request [3]

0, 1, 3 número da solicitação 0 0 lista de variáveis da MIB solicitadas
PDU type request id error-status error-index variables

 

 

Get Response [2]

2 número da solicitação erro
(se houver)
complemento
(se houver)
lista de variáveis da MIB enviadas
PDU type request id error-status error-index variables

 

 

Trap [4]

4 tipo de objeto endereço
do agente
tipo de trap genérico tipo de trap específico hora do trap lista de variáveis da MIB relacionadas
PDU type enterprise agent-addr generic-trap specific-trap time-trap variables

 

 

Para cada um dos tipos de PDU's são enviadas informações relativas à MIB do dispositivo de rede. Nos pacotes Get Request e Get-next Request a lista de variáveis contém apenas a identificação das variáveis solicitadas. Nos pacotes Get Response, Set Request e Trap a lista de variáveis contém a identificação e os valores das variáveis.

 

O agent analisa cada uma das identificações de variáveis recebidas de acordo com a sua MIB para verificar se o objeto informado é gerenciável ou alterável (no caso do comando Set Request).

 

O manager usa a sua cópia local da MIB do dispositivo de rede para apresentar a identificação da variável e para interpretar os seus valores.

 

Modelo em Camadas

 

No modelo de redes que utilizam o TCP/IP, o SNMP é considerado um protocolo de aplicação tanto no sistema de gerência da rede como nos dispositivos propriamente ditos.

 

Para este tipo de arquitetura aplica-se o seguinte modelo de camadas desenvolvido para o TCP/IP:

 

Figura 6: Modelo de camadas desenvolvido para o TCP/IP

 

Nota-se que o SNMP utiliza os pacotes do tipo UDP para envio de suas mensagens. Por sua vez, os pacotes UDP utilizam os pacotes IP para efetuar o transporte de pacotes entre o manager, no sistema de gerência, e o agent, nos dispositivos de rede. A figura a seguir apresenta o pacote IP resultante.

 

Datagrama IP
  Datagrama UDP
    Mensagem SNMP
IP Header UDP Header version community SNMP PDU

 

Desta forma, no modelo manager - agent a troca de informações entre o sistema de gerência e os dispositivos de rede usando o protocolo SNMP nas redes TCP/IP ocorre conforme mostra a figura a seguir:

 

Figura 7: Troca de informações do protocolo SNMP nas redes TCP/IP