Redes: é hora de relembrar o protocolo de gestão de rede SNMP
Tal como o nome sugere, o SNMP (Simple Network Management Protocol) é um protocolo usado para gestão de equipamentos. Com o SNMP é possível saber várias informações sobre o estado do equipamento e tráfego. Sabia mais sobre este protocolo.
Como referido, o SNMP é um protocolo de rede, que funciona na camada de aplicação do modelo OSI, amplamente utilizado para gestão e monitorização de dispositivos de rede. Foi projetado para permitir que administradores de rede monitorizem o status e a performance de dispositivos como routers, switches, servidores, impressoras, entre outros.
Atualmente existem três versões do SNMP, sendo que o SNMPv1 oferece um mecanismo de segurança básico, baseado em comunidades. O SNMPv2, mais concretamente a revisão SNMPv2, tem também como mecanismo de segurança "comunidades", mas tal foi melhorado, comparativamente ao SNMPv1. Com o SNMPv3, descrito no RFC 3410, foram incluídos mecanismos ao nível da segurança e controlo de acesso.
O SNMP define vários tipos de mensagens ou PDU (Protocol Data Units):
- GetRequest, GetNextRequest, GetBulkRequest
- permitem obter o registo seguinte de uma lista, ou um bloco de registos, respetivamente;
- SetRequest
- para modificar um ou mais objetos num dispositivo gerido;
- InformRequest
- mensagem gerada e transmitida por uma entidade gestora, com o objetivo de notificar outra entidade gestora;
- Trap
- mensagem gerada e transmitida pelo agente, para alertar a entidade gestora de um evento;
- ResponsePDU
- enviadas pelos agentes como resposta às mensagens da entidade gestora
MIB (Management Information Base) - a "base de dados" de objetos do dispositivo
A MIB de um dispositivo de rede consiste num ficheiro ASCII com a descrição dos objetos geridos nesse dispositivo.
Para identificação única, o IETF adotou um sistema de nomeação hierárquico desenvolvido pela ISO que faz parte da hierarquia de nomeação ASN.1 (Abstract Syntax Notation One), tal como apresentado na figura seguinte.
A definição de cada objeto é realizada através de um identificador (OID) único sob forma numérica ou literal. Considerando, por exemplo, que pretendemos aceder ao objeto sysUpTime, este pode ser invocado com o nome .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime ou então simplesmente pelo identificador numérico .1.3.6.1.2.1.1.3.
Destaque para a MIB-II, que está definida no RFC1213, e que possui vários objetos bastante usados para gestão de redes:
- system (1.3.6.1.2.1.1) – inclui vários objetos com informação do dispositivo e de quem o gere (ex. uptime do dispositivo);
- interface (1.3.6.1.2.1.2) – informação relativa às interfaces do dispositivo (ex. pacotes enviados e recebido);
- ip (1.3.6.1.2.1.4) – informação sobre o encaminhamento IP;
- icmp (1.3.6.1.2.1.5) – informação protocolar ICMP;
- tcp (1.3.6.1.2.1.6) – informação protocolar TCP;
- udp (1.3.6.1.2.1.5) – informação sobre o protocolo UDP;
- egp (1.3.6.1.2.1.8) – informação protocolar EGP;
- snmp (1.3.6.1.2.1.11) – informação sobre desempenho do SNMP no dispositivo gerido;
Por exemplo, dentro de system (.1.3.6.1.2.1.1.3) estão ainda disponíveis os objetos:
- .1.3.6.1.2.1.1.3.1 – SysDescr
- .1.3.6.1.2.1.1.3.2 – SysObjectID
- .1.3.6.1.2.1.1.3.3 – UpTime
- .1.3.6.1.2.1.1.3.4 – SysContact
- .1.3.6.1.2.1.1.3.5 – SysName
- .1.3.6.1.2.1.1.3.6 – SysLocation
- .1.3.6.1.2.1.1.3.7 – SysServices
Referências
Para fabricantes sem MIBs podem criar vocês os MIBs.