Operação e gerenciamento

O SNMP opera na camada de aplicação do Modelo OSI. O gerente SNMP envia requisições por meio de qualquer porta disponível para a porta 161 no agente, cuja resposta chega de volta a porta de onde originou-se a requisição. Notificações, no entanto, chegam ao gerente exclusivamente pela porta 162 e são geradas por qualquer porta disponível no agente.

A comunicação entre agentes e gerentes em uma rede SNMP é baseada nas especificações das chamadas "unidades de dados de protocolo" (Protocol Data Unit - PDU). A primeira versão do SNMP - SNMPv1, definiu cinco PDUs núcleo, sendo outras duas acrescidas ao protocolo na segunda versão e mantidas no terceiro.

O pacote SNMPv2

Todas as PDUs SNMPv2 seguem a seguinte estrutura:

SNMPv2

Figura 3.1 - Diagrama básico de um PDU do SNMPv2

Comandos

GetRequest

O comando GetRequest é uma requisição do gerente ao agente para que o valor de uma variável ou uma lista de variáveis seja retornado. As variáveis-alvo são especificadas no campo Enlace de variáveis. O agente então retorna a requisição com uma mensagem do tipo Response, com os valores correntes das variáveis requisitadas.

SetRequest

Este comando define um novo valor de uma variável ou de uma lista de variáveis. Novamente, uma resposta do tipo Response chega ao gerente com os valores correntes das variáveis em questão.

GetNextRequest

Um comando do gerente para solicitar variáveis disponíveis. Quando um comando deste tipo é recebido pelo agente, a resposta Response ao gerente incrementa o OID do objeto, expondo o valor da variável seguinte. Dessa forma, o MIB completo de um agente pode ser recuperado iterativamente se GetNextRequest for emitido com OID=0.

GetBulkRequest

Este comando é uma versão otimizada de GetNextRequest. Introduzido na SNMPv2, é um comando de múltiplas chamadas de GetNextRequest.

Response

Este termo não indica propriamente um comando, e sim uma mensagem de resposta contendo valores de variáveis como resposta a uma solicitação ou confirmação de uma mudança pelo gerente.

Trap

Dispositivos gerenciados podem enviar notificações SNMP para seus gerentes quando certos eventos ocorrem. Um exemplo de notificação importante que um SNM deve receber seria de uma falha em algum dos roteadores. Trap é exatamente um dos dois tipos de notificação que o SNMP suporta. O envio de uma mensagem Trap permite que um agente notifique o sistema de gerenciamento para a ocorrência de qualquer evento relevante em qualquer instante de tempo.

trap

Figura 3.2 - Trap

Fonte: [6]

No entanto, não há qualquer confirmação por parte do gerente do recebimento da Trap.

InformRequest

Um gerente SNMP que recebe uma notificação InformRequest retorna ao agente emissor uma Response reconhecendo o recebimento de sua notificação.

trap2

informrequest

Figura 3.3 - InformRequest

Fonte: [6]