O protocolo SNMP (do inglês Simple Network Management Protocol – Protocolo de Gestão Simples de Rede) é um protocolo de gestão tÃpica de redes TCP/IP, da camada de aplicação que facilita o intercâmbio de informação entre os dispositivos de rede. O SNMP possibilita aos administradores de rede gerir o desempenho da rede, encontrar e resolver problemas de rede, e planejar o crescimento desta.
O software de gestão de redes segue o modelo cliente-servidor convencional: uma aplicação ‘cliente’ na máquina do gestor e uma aplicação ‘servidora’ no dispositivo de rede a analisar. Para evitar confusão com outras aplicações de rede, os sistema de gestão de rede evitam os termos ‘cliente’ e ‘servidor’. Em vez disso, usam “gestor” para a aplicação cliente e “agente” para a aplicação servidora que corre no dispositivo de rede.
Aplicação | HTTP, SMTP, FTP, SSH, RTP, Telnet, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping, IPSec,… |
Transporte | TCP, UDP, SCTP, DCCP … |
Rede | IPv4, IPv6, ARP, ICMP, Switch L3 … |
Lógica | Ethernet, 802.11 WiFi, IEEE 802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP, Frame Relay, |
FÃsica | RS-232, EIA-422, RS-449, EIA-485… |
Gestão de redes
O gestor de rede é a entidade responsável pelo monitoramento e controle dos sistemas de hardware e software que compõem a rede, e o seu trabalho consiste em detectar e corrigir problemas que causem ineficiência (ou impossibilidade) na comunicação e eliminar as condições que poderão levar a que o problema volte a surgir.
A gestão de uma rede pode não ser simples dada a heterogeneidade em termos de hardware e software, de componentes da rede, por vezes incompatÃveis. As falhas intermitentes, se não forem detectadas, podem afetar o desempenho da rede. Um software de gestão de rede permite ao gestor monitorar e controlar os componentes da sua rede.
O SNMP e o ASN.1
O SNMP é um protocolo padrão usado para gestão de redes, que define os formatos dos pedidos que o gestor envia para o agente e os formatos das respostas que o agente retorna, assim como o significado exato de cada pedido e resposta. Uma mensagem SNMP é codificada com um padrão designado de ASN.1 (do inglês: Abstract Syntax Notation.1).
O ASN.1 para permitir a transferência de grandes inteiros, sem desperdiçar espaço em cada transferência, usa uma combinação de tamanho e valor para cada objeto a ser transferido….
Comandos do SNMP
O SNMP não define um grande número de comandos, em lugar disso define duas operações básicas:
* fetch, para obter um valor de um dispositivo
* store, para colocar um valor num dispositivo
O comando que especifica uma operação de fetch ou store deve especificar o nome do objeto, que é único.
Podemos definir objetos. No caso de um contador de erros de CRC e uma vez que o SNMP não inclui comandos especÃficos para fazer reset do contador, uma forma simples é colocar zero no contador. Um gestor faz o fetch de valores para determinar o estado do dispositivo. As operações que controlam o dispositivo são definidas como efeitos secundários de store (colocar valores) em objetos.
[[Especifica (na versão 1) quatro unidades de dados do protocolo (PDU):
1. GET, usado para retirar um pedaço de informação de gerenciamento.
2. GETNEXT, usado interativamente para retirar sequências de informação de gerenciamento.
3. SET, usado para fazer uma mudança no subsistema gerido.
4. TRAP, usado para reportar uma notificação ou para outros eventos assÃncronos sobre o subsistema gerido.]]
Nomes de objetos e MIB
Todos os objetos acessados pelo SNMP devem ser definidos e atribuÃdos um nome único. Além disso, o gerente e o agente devem acordar os nomes e significados das operações fetch e store. O conjunto de todos os objetos SNMP é coletivamente conhecido como MIB (do inglês: Management Information Base). O standard SNMP não define o MIB, mas apenas o formato e o tipo de codificação das mensagens. A especificação das variáveis MIB, assim como o significado das operações fetch e store em cada variável, são especificados por um padrão próprio.
A definição dos objetos do MIB é feita com o esquema de nomes do ASN.1, o qual atribui a cada objeto um prefixo longo que garante a unicidade do nome, a cada nome é atribuÃdo um número inteiro. Também, o SNMP não especifica um conjunto de variáveis, e que a definição de objetos é independente do protocolo de comunicação, permite criar novos conjuntos de variáveis MIB, definidos como standards, para novos dispositivos ou novos protocolos. Por isso, foram criados muitos conjuntos de variáveis MIB que correspondem a protocolos como UDP, IP, ARP, assim como variáveis MIB para hardware de rede como Ethernet ou FDDI, ou para dispositivos tais como bridges, switches ou impressoras.
SNMPv2 e SNMPv3
A versão 2 do SNMP é uma evolução do protocolo inicial. O SNMPv2 oferece uma boa quantidade de melhoramentos em relação ao SNMPv1, incluindo operações adicionais do protocolo, melhoria na performance, segurança, confidencialidade e comunicações gestor-para-gestor. A padronização de uma outra versão do SNMP – o SNMPv3 ainda está em desenvolvimento, definido nos RFC 3411 -RFC 3418.
Na prática, as implementações do SNMP oferecem suporte para as múltiplas versões (RFC 3584), tipicamente SNMPv1, SNMPv2c e SNMPv3.
Fonte: http://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol