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.
Todas as PDUs SNMPv2 seguem a seguinte estrutura:
Figura 3.1 - Diagrama básico de um PDU do SNMPv2
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.
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.
Este comando é uma versão otimizada de GetNextRequest. Introduzido na SNMPv2, é um comando de múltiplas chamadas de GetNextRequest.
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.
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.
Figura 3.2 - Trap
Fonte: [6]
No entanto, não há qualquer confirmação por parte do gerente do recebimento da Trap.
Um gerente SNMP que recebe uma notificação InformRequest retorna ao agente emissor uma Response reconhecendo o recebimento de sua notificação.
Figura 3.3 - InformRequest
Fonte: [6]