A SMI para SNMPv2 é baseado na SMI para SNMP. A SMI SNMPv2 provê especificações mais elaboradas e documentação de objetos gerenciados e MIBs.
O SNMPv2 é dividido em quatro partes:
Definição dos Objetos
Como com a SMI SNMP, definições de objetos na SMI SNMPv2 são usados para descrever objetos gerenciados. A macro OBJECT-TYPE de ANS.1 é usada para conduzir a sintaxe e semântica para todos objetos gerenciados, de forma sistemática.
Tabelas SNMPv2
Como com SNMP, em SNMPv2 operações de gerenciamento são aplicadas somente à objetos escalares. Informações mais complexas podem ser representadas conceitualmente em uma tabela.
Definição de Tabelas: uma tabela tem 0 ou mais linhas, cada qual contendo um ou mais objetos escalares. Em SNMP e SNMPv2, as seguintes convenções são aplicadas:
SEQUENCE OFF <entrada>
SEQUENCE {<tipo1>, ..., <tipoN>}
b) Tabelas que permitem criação e deleção de linha por um administrador.
A macro NOTIFICATION-TYPE é usada para definir a informação enviada por uma entidade SNMPv2 quando um evento excepcional ocorre na entidade. A FIG9.5 mostra a macro NOTIFICATION-TYPE. Um exemplo simples tirado da MIB SNMPv2 é o linkDowntrap.
NOTIFICATION-TYPE MACRO ::= BEGINTYPE NOTATION ::= ObjectsPart
"STATUS" Status
"DESCRIPTION" text
ReferPart
VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER)
ObjectsParts :: = "OBJECTS" "{" | empty
Objects ::= Object | Objects ","Object
Object ::= value (Name ObjectName)
Status ::= "current" | "deprecated" | "obsolete"
ReferPart ::= "REFERENCE" Text | empty
Text ::= """string"""
END
Quando uma entidade SNMPv2 determina que a notificação é para ser enviada, ele consulta a aclTable e acha todas entradas, satisfazendo as seguintes condições:
SNMPv2 introduz o conceito de um módulo de informação que especifica um grupo de definições. Três tipos de módulos de informações são usados:
b) Comandos de submissão para módulos MIB, que usam as macros MODULE-COMPLIANCE e OBJECT-GROUP;
c) Comandos de capacidade para implementação de agentes usando a macro OBJECT-CAPABILITY.
Formatos PDU
Os formatos PDU são mostrados na figura 6.
O GetRequest, GetNextRequest, SetRequest, Trap SNMPv2 e InformRequest PDU tem o mesmo formato que o GetResponse PDU, com os campos error-status e error-index sempre setados para 0.