SNMP

O **protocolo SNMP** (do inglés *Simple Network Management Protocol* - Protocolo de Xestión Simple de Rede) é un protocolo de xestión típica de redes TCP/IP, da capa de aplicación que facilita o intercambio de información entre os dispositivos de rede. Está construído acima do UDP. O SNMP posibilita aos administradores de rede xestionar o desempeño da rede, atopar e resolver problemas de rede, e planear o crecemento desta.

O software de xestión de redes segue o modelo cliente-servidor convencional: unha aplicación 'cliente' na máquina do xestor e unha aplicación 'servidora' no dispositivo de rede a analizar. Para evitar confusión con outras aplicacións de rede, os sistema de xestión de rede evitan os termos 'cliente' e 'servidor'. En vez diso, usan "xestor" para a aplicación cliente e "axente" para a aplicación servidora que corre no dispositivo de rede.

## Xestión de redes 
O xestor de rede é a entidade responsábel do monitorización e control dos sistemas de hardware e software que compoñen a rede, e o seu traballo consiste en detectar e corrixir problemas que causen ineficiencia (ou imposibilidade) na comunicación e eliminar as condicións que poderán levar a que o problema volte a xurdir.

A xestión dunha rede pode non ser simple dada a heteroxeneidade en termos de hardware e software, de compoñentes da rede, por veces incompatíbeis. As fallas intermitentes, se non foren detectadas, poden afectar o desempeño da rede. Un software de xestión de rede permite ao xestor monitorizar e controlar os compoñentes da súa rede.

## O SNMP e o ASN.1 
O SNMP é un protocolo padrón usado para xestión de redes, que define os formatos dos pedidos que o *xestor* envía para o *axente* e os formatos das respostas que o *axente* retorna, así como o significado exacto de cada pedido e resposta. Unha mensaxe SNMP codifícase cun padrón especificado en ASN.1(do inglés: *Abstract Syntax Notation.1*).

O ASN.1 permite a transferencia eficiente de información, independizando a definición da información da linguaxe e hardware utilizados.

## Comandos do SNMP 
O SNMP non define un gran número de comandos, no canto diso define dúas operacións básicas:
* *fetch*, para obter un valor dun dispositivo
* *store*, para colocar un valor nun dispositivo

O comando que especifica unha operación de *fetch* ou *store* debe especificar o nome do obxecto, que é único.

Podemos definir obxectos. No caso dun contador de erros de CRC e unha vez que o SNMP non inclúe comandos específicos para facer *reset* do contador, unha forma simple é colocar cero no contador. Un xestor fai o *fetch* de valores para determinar o estado do dispositivo. As operacións que controlan o dispositivo son definidas como efectos secundarios de *store* (colocar valores) en obxectos.

Especifica (na versión 1) catro unidades de dados do protocolo (*PDU*):
# **GET**, usado para obter unha información de xestión.
# **GETNEXT**, usado iterativamente para obter secuencias de información de xestión
# **SET**, usado para facer unha petición de mudanza no subsistema xestionado.
# **TRAP**, usado para reportar un evento asíncrono que ocorreu no subsistema xestionado.

## Nomes de obxectos e MIB 
Todos os obxectos accedidos polo SNMP deben ser definidos e atribuídos un nome único. Alén diso, o *xestor* e o *axente* deben acordar os nomes e significados das operacións *fetch* e *store*. O conxunto de todos os obxectos SNMP é colectivamente coñecido como MIB (do inglés: *Management Information Base*). O estándar SNMP non define o MIB, mais apenas o formato e o tipo de codificación das mensaxes. A especificación das variábeis MIB, así como o significado das operacións *fetch* e *store* en cada variábel, especifícanse por un standard propio.

A definición dos obxectos do MIB faise co esquema de nomes do ASN.1, o cal atribúe a cada obxecto un prefixo longo que garante a unicidade do nome, a cada nome é atribuído un número enteiro. O SNMP tampouco especifica un conxunto de variábeis, e que a definición de obxectos é independente do protocolo de comunicación, permite criar novos conxuntos de variábeis MIB, definidos como standards, para novos dispositivos ou novos protocolos. Por iso, criáronse moitos conxuntos de variábeis MIB que corresponden a protocolos como UDP, IP, ARP, así como variábeis MIB para hardware de rede como Ethernet ou FDDI, ou para dispositivos tales como bridges, switches ou impresoras.

## SNMPv2 e SNMPv3 
A versión 2 do SNMP é unha evolución do protocolo inicial. O SNMPv2 ofrece unha boa cantidade de melloras en relación ao SNMPv1, incluíndo operacións adicionais do protocolo, mellora na performance, seguranza, confidencialidade e comunicacións xestor-paraxestor. A estandarización dunha nova versión do SNMP - o SNMPv3 aínda está en desenvolvemento, definido nos RFC 3411 -RFC 3418.

Na práctica, as implementacións do SNMP ofrecen soporte para as múltiplas versións (RFC 3584), tipicamente SNMPv1, SNMPv2c e SNMPv3.

## Véxase tamén 
### Outros artigos
* ASN.1