O SNMP (Simple Network Management Protocol)
O Simple Network Management Protocol - SNMP O que é
O SNMP é uma ferramenta (protocolo) que permite o gerenciamento remoto e local de itens na rede, incluindo servidores, estações de trabalho, roteadores, switches e outros dispositivos gerenciados.
Parte integrante de um grupo de protocolos de acompanhamento da internet
Composição
• Objetivo:
– Disponibilizar uma forma simples e prática de realizar o controle de equipamentos em uma rede de computadores.
– Finalidade : Monitorar dispositivos conectados à rede
• Atualmente as pesquisas na área de gerenciamento de redes têm o objetivo de obter da rede seu rendimento máximo.
• Decisão: implementar SNMP (baseado em SGMP) com vistas
ao CMOT (CMIP over TCP) -> IETF (Internet Engineering
Task Force)
• SNMP
– Para gerenciamento de falhas e configuração;
– Baseado em IP;
• Resultado: SNMP é o padrão de fato no gerenciamento de
redes atualmente
Protocolos
• SNMP (Simple Network Management Protocol)
– Simples porque os recursos gerenciados necessitam de
pouco processamento nas tarefas de gerenciamento;
mínimo de software necessário;
– Tarefas
mais
complexas
de
processamento
e
Protocolos
• SNMP (Simple Network Management Protocol)
– Poucas funções de gerenciamento são pertinentes aos
recursos gerenciados;
– Protocolo não orientado a conexão; nenhuma ação prévia
é necessária no envio de mensagens; nenhuma ação é
necessária após as mensagens terem sido enviadas;
– Consequência: não existe nenhuma garantia que as
mensagens do protocolo chegarão ao destino;
– Na prática, entretanto, a maioria das mensagens são
entregues,
e
aquelas
que
não
são
podem
ser
retransmitidas;
– Robustez: como não existe conexão, nem o gerente nem
o sistema gerenciado necessitam um do outro para
operar
• Para que um recurso possa ser gerenciado, basta criar um
agente SNMP para o recurso;
• O gerenciamento é feito de forma uniforme por um sistema
de gerenciamento;
• A interface de gerenciamento é então a interface do sistema
que interage com os agentes;
• Cada endereço IP pode possuir vários agentes SNMP, mas
de forma geral tem-se apenas um gerente e várias
expansões do mesmo
• Agentes SNMP podem ser encontrados em:
– Hubs mais sofisticados
– Servidores de rede e seus sistemas operacionais
– Placas de rede mais sofisticadas e respectivos hosts
– Dispositivos de rede como pontes, switch’s e roteadores
– Equipamentos de testes como analisadores e monitores
de rede
– No-breaks
– Modens
– Bastidor de modens
– Servidores Web
– Servidores de FTP
– etc, etc e etc
Modelo SNMP
Aplicação de Gerenciamento Recursos Objetos Gerenciados Enlace IP UDP Gerente SNMP Enlace IP UDP Agente SNMP Rede G e t G e t-N e x t Se t Resp o sta T rap Get G e t-N e x t Se t Resp o sta T ra p Mensagens SNMPSistema de Gerenciamento Sistema Gerenciado
SNMP
Local Network Header IP Header UDP Header Mensagem SNMP Local Network Trailer Datagrama UDP Datagrama IPQuadro no nível de enlace SNMP - Aplicação
Apresentação
Sessão
UDP - Transporte
Ports & UDP
•SNMP uses User Datagram Protocol (UDP) as the transport mechanism for SNMP messages
•UDP Port 161 - SNMP Messages
•UDP Port 162 - SNMP Trap Messages
•Como o FTP, o SNMP usa duas portas bem conhecidas para operar:
Como funciona?
Expõe os dados como variáveis
➔ Podem ser lidas ou escritas, por aplicações de gerenciamento
Núcleo do SNMP
▪ Conjunto de operações simples.
▪ Capaz de modificar o estado de algum dispositivo
Arquitetura TCP/IP Camada de Aplicação Camada de Transporte Camada Internet Camada da Interface de Rede TELNET FTP SMTP DNS SNMP Transmission Control Protocol User Datagram Protocol Internet Protocol ARP
Ethernet Token Ring FDDI ICMP
SNMP - Protocolo de Gerenciamento
Pode ser aplicado a diversos sistemas, dispositivos físicos ou até softwares:
➔ Sistemas Unix, Windows;
➔ Impressoras, modem racks, fontes de alimentação;
➔ Banco de dados e servidores web
Fluxo de informação de gestão de rede entre o agente e o gerente:
O protocolo SNMP define duas entidades para o gerenciamento, as quais trocam informações entre si através de requisições do tipo cliente-servidor.
O gerente SNMP (cliente) realiza basicamente duas operações:
- a leitura de valores (GET) para o monitoramento do dispositivo gerenciado - a escrita. (SET) onde for possível efetuar a alteração de valores deste
dispositivo.
Fluxo de informação de gestão de rede entre o agente e o gerente: Para que ocorra:
dois ou mais módulos de softwares são adicionados em cada um desses:
➔ o programa que habilita o transporte da informação de gerenciamento dos
dispositivos
Componentes de Gerenciamento Internet
• Agente e Gerente
• Base de Informação (MIB)
• Protocolo de Comunicação (SNMP)
• Entidades de Gerenciamento
IP UDP SNMP agente Acesso à Sub-rede Entidade de Gerencia MIB Rede Processo de Aplicação Gerente UDP SNMP gerente Acesso à Sub-rede IPPLATAFORMA SNMP API DE PROGRAMAÇÃO APLICAÇÃO AGENTE SNMP AGENTE SNMP MIB MIB
PLATAFORMA SNMP INTEGRADA --> MENOS MÁQUINAS PARA GERENCIAMENTO API DE PROGRAMAÇÃO --> PERMITE A MIGRAÇÃO DE APLICAÇÕES E O
Infraestrutura para Gerenciamento de Redes agente data agente data agente data agente data Elemento gerenciado managing entity data protocolo de gerenciamento
Definições:
Elementos gerenciadoscontêm objetos gerenciados
EXEMPLO: CÁLCULO DO TRÁFEGO MÉDIO NA REDE INÍCIO
RESETA NÚMERO DE PACOTES E MÉDIA
ESPERA 5 MIN.
LEIA NÚMERO DE PACOTES E TAMANHO MÉDIO
LEIA VELOCIDADE DA LINHA
SNMP - Base de Informação
Interoperabilidade entre Sistemas de Gerenciamento de Redes
Visão Comum da Informação de Gerenciamento
Agente Principal
➔ Pedaço de software rodando num componente de rede SNMP
Subagentes
Implementa a funcionalidade de gerenciamento de informações Ex.: camada de ligação da ethernet
Alguns recursos do subagente são:
▪ Recolher a informação a partir de objetos gerenciados
▪ Configurar os parâmetros dos objetos gerenciados
▪ Responder às solicitações dos gestores
Gerente ou Estação de Monitoramento ➔ O componente final da arquitetura SNMP.
Funciona como o equivalente de um cliente na arquitetura cliente-servidor:
➔ Emite pedidos de operações de gestão em nome de um administrador ou
de uma aplicação
Gerenciamento de redes
• Opera através da comunicação entre estações de gerenciamento de
rede e os elementos de rede.
• O elemento de rede pode ser qualquer dispositivo da rede: hosts, roteadores, estações, servidores de terminal, etc.
• As informações do elemento de rede são obtidas através de um programa agente.
Gerenciamento de redes
• O gerenciamento de redes na arquitetura TCP/IP é formado por três módulos:
– SNMP (Simple Network Management Protocol): protocolo de comunicação entre gerentes e agentes. Transporta informações e comandos sobre objetos entre o gerenciador e o elemento gerenciado
– segurança, capacidades administrativas característica nova do
SNMPv1, SNMPv2
A estratégia implícita no SNMP é que o monitoramento do estado da rede num determinado nível de detalhes seja realizado primeiramente por uma lista de informações apropriadas.
A arquitetura SNMP admite uma variedade de relacionamentos administrativos entre entidades que participam no protocolo.
A diferença entre os dois tipos de acesso aos dados da MIB SNMPv1 e SNMPv2 são:
- valores dos status de erros gerados; - geração de códigos de exceção;
- uso do tipo de dado;
Várias ameaças clássicas para protocolos de rede são aplicáveis ao problema de gerenciamento de rede. Algumas dessas ameaças podem ser citadas: Modificação da informação: algumas entidades desautorizadas poderiam alterar mensagens SNMP em trânsito geradas em interesse de um principal autorizado, e efetuar operações de gerência indesejadas como incluir valores falsos nos objetos; Masquerade: operações de gerenciamento não autorizadas por algum usuário podem ser tentadas com a identidade de algum outro usuário que tem autorizações apropriadas;
Divulgação: o perigo de alguém monitorar as trocas e negociações entre agentes e estação de trabalho.
Management Information Base (MIB)
A MIB (Management Information Base) é a base de informações de gerenciamento.
O agente é capaz de responder ao gerente consultas SNMP sobre o conjunto de informações contido na MIB.
Estrutura em árvore contendo as variáveis de gerência de um determinado equipamento, a MIB define para cada variável um identificador único denominado OID (Object Identifier), formado por um inteiro não negativo.
Em princípio, todos os objetos definidos em todos os padrões oficiais podem ser exclusivamente identificados.
Gerenciamento de redes
• O gerenciamento de redes na arquitetura TCP/IP é formado por três módulos:
– MIB (Management Information Base): base de dados distribuída com dados de gerenciamento de rede. Especifica quais variáveis são mantidas pelos elementos de rede. Definição dos próprios objetos
– conjunto de objetos dentro de um Sistema Aberto, onde um objeto gerenciado corresponde à visão abstrata de um recurso real deste sistema.
– MIB-II (RFC 1213) – Implementada por todos os agentes, fornece informação TCP/IP geral de gestão.
Há duas possibilidades de representação da informação (vide figura 2 com árvore de Identificação OID):
Nome do objeto: representação pontuada dos mnemônicos que definem a hierarquia do objeto, sendo de fácil leitura pelas pessoas.
(iso.org.dod.internet.mgmt.mib2.system.sysUpTime);
Identificação do Objeto (Object ID): forma codificada, utilizada pelo protocolo de comunicação
A Hierarquia MIB
➔ Pode ser entendida como uma árvore de raiz anônima
➔ Ramos distribuídos por diferentes organizações
➔ Camada mais alta: se encontram em diferentes organizações
padronizadas
➔ Camada mais baixa: são alocadas em organizações associadas
➔ Essa arquitetura permite gestão em todas as camadas do modelo de
referência OSI
Estrutura em árvore - MIB
Management Information Base (MIB) - Identificação
• Cada nodo possui um identificador (OID)
• O OID de um nodo é composto pelo OID de seu pai mais o
seu próprio identificador relativo
Raiz Nodo(2) Nodo(1) Nodo(1) Objeto(1) Nodo(2) Objeto(2) Nodo(1) Objeto(1)
◼
O nodo raiz da MIB não possui OID
◼
A árvore é percorrida em profundidade começando pelos
• O uso de número nos OIDs dificulta a compreensão de cada
nodo da MIB
• Alternativamente, um OID pode ser substituído por um
nome melhor explicativo: OID Name
– ex.: system = 1.3.6.1.2.1.1
– ex.: sysUpTime = 1.3.6.1.2.1.1.3
• Nas identificações, o OID e o OID Name podem ser
utilizados conjuntamente
– ex.: sysUpTime = system.3
(MIB) - Recursos Envolvidos
• Para executar o gerenciamento, o sistema utiliza várias
fontes de informação em relação às MIBs
– Valores do dado acessado: agente no recurso gerenciado
– Descrição do dado acessado: arquivo de MIB
– Tipo do dado acessado: arquivo de MIB
• O que é um arquivo de MIB? Arquivo que descreve uma
base de dados conceitual informando a descrição de cada
dado, seu tipo e estruturação dentro da árvore
• Normalmente apenas o gerente necessita de um arquivo de
MIB
– O gerente pode não conhece a natureza dos dados
– O arquivo pode ser compilador para que as informações
sejam acessadas mais rapidamente
– Uso de um compilador de MIB pelo gerente
• O agente não precisa se utilizar de um arquivo de MIB
– Ele sempre sabe a natureza dos dados que está
implementando
– Um arquivo de MIB é utilizado pelos agentes quando uma
nova implementação é realizada, mas o arquivo serve
apenas como documentação
• Com freqüência o termo “arquivo MIB” é referenciado
apenas por MIB, o que pode gerar confusão
• Define os seguintes valores para cada objeto:
– Rótulo (Label);
– Object IDentification (OID) por exemplo: 1.3.6.1.4.1.2682.1
– Atributos:
Tipos de dados
Descrição e informações de status
Configuração e estatisticas
– Operações:
• Estrutura
MIB I
• Estrutura
MIB I
• Estrutura
MIB I
MIB I
A Internet está sob o nó DoD
directory (1): contém informações sobre o serviço de diretórios OSI (X.500). mgmt (2): contém informações de gerenciamento de rede . experimental (3): contém os objetos que ainda
estão sendo pesquisados pelo IAB.
MIB I
A Internet está sob o nó DoD
private (4): contém objetos definidos por outras organizações.
MIB II
MIB-II
• Dividida em três sub-árvores
– ccitt (0), administrada pelo CCITT
– iso (1), administrada pela ISO
– joint-iso-ccitt(2), pela ISO e CCITT
• iso(1), org(3), U.S. Departament of Defense: dod(6) e
internet(1)
• Sobre internet temos:
– directory(1): reservado para uso da ISO
– mgmt(2): para gerenciamento genérico
– experimental(3): para experimentações
– private(4)
com
enterprises(1):
para
gerenciamento
• Os objetos da MIB-II são encontrados no OID 1.3.6.1.2.1 ou
mgmt.1 ou mib-2
– system (mib-2.1): descrições gerais do sistema gerenciado
– interfaces (mib-2.2): gerenciamento das interfaces do
sistema
– ip (mib-2.4): para gerenciamento a nível IP
– icmp (mib-2.5): objetos relativos ao protocolo ICMP
– tcp (mib-2.6): para gerenciamento de conexões TCP
– udp (mib-2.7): para gerenciamento de transmissões UDP
– snmp (mib-2.10): para gerenciamento do próprio SNMP
Abaixo da subárvore MIB II estão os objetos usados para obter informações específicas dos dispositivos da rede.
Esses objetos estão divididos em 10 grupos: system (1) – informações básicas do sistema; interfaces (2) – interfaces de rede;
at (3) – tradução de endereços; ip (4) – protocolo ip;
icmp (5) – protocolo icmp; tcp (6) – protocolo tcp; udp (7) – protocolo udp; egp (8) – protocolo egp;
Alguns dos objetos pertencentes aos grupos da MIB II são: Grupo System (1.3.6.1.2.1.1)
– sysDescr (1.3.6.1.2.1.1.1): Descrição textual da unidade. Pode incluir o nome e a versão do hardware, sistema operacional e o programa de rede. – sysUpTime (1.3.6.1.2.1.1.3): Tempo decorrido (em centésimos de segundos) desde a última inicialização do gerenciamento do sistema na rede.
Alguns dos objetos pertencentes aos grupos da MIB II são: Grupo Interfaces (1.3.6.1.2.1.2)
– ifNumber (1.3.6.1.2.1.2.1): Número de interfaces de rede (não importando seu atual estado) presentes neste sistema.
– ifOperStatus (1.3.6.1.2.1.2.2.1.8): Estado atual da interface.
Alguns dos objetos pertencentes aos grupos da MIB II são: Grupo IP (1.3.6.1.2.1.4)
– ipForwarding (1.3.6.1.2.1.4.1): Indica se esta entidade é um gateway.
– ipInReceives (1.3.6.1.2.1.4.3): Número total de datagramas recebidos pelas interfaces, incluindo os recebidos com erro.
Alguns dos objetos pertencentes aos grupos da MIB II são: Grupo ICMP (1.3.6.1.2.1.5)
– icmpInMsgs (1.3.6.1.2.1.5.1): Número total de mensagens ICMP recebidas por esta entidade. Incluindo aquelas com erros.
– icmpOutMsgs (1.3.6.1.2.1.5.14): Número total de mensagens ICMP enviadas por esta entidade. Incluindo aquelas com erros.
Grupo TCP (1.3.6.1.2.1.6)
– tcpMaxConn(1.3.6.2.1.6.4): Número máximo de conexões TCP que esta entidade pode suportar.
– tcpCurrentEstab (1.3.6.2.1.6.9): Número de conexões TCP que estão como estabelecidas ou a esperade fechamento.
– tcpRetransSegs (1.3.6.2.1.6.12): Número total de segmentos
Alguns dos objetos pertencentes aos grupos da MIB II são: Grupo UDP (1.3.6.1.2.1.7)
– udpInDatagrams (1.3.6.1.2.1.7.1): Número total de datagramas UDP entregues aos usuários UDP.
– udpNoPorts (1.3.6.1.2.1.7.2): Número total de datagramas UDP recebidos para os quais não existia aplicação na referida porta.
– udpLocalPort (1.3.6.1.2.1.7.5.1.2): Número da porta do usuário UDP local. Grupo SNMP (1.3.6.1.2.1.11)
– snmpInPkts (1.3.6.1.2.1.11.1): Número total de mensagens recebidas pela entidade SNMP.
– snmpOutPkts (1.3.6.1.2.1.11.2): Número total de mensagens enviadas pela entidade SNMP.
A MIB SNMP V2
Definem objetos que transcrevem o comportamento de uma entidade SNMP V2.
Consiste de cinco grupos:
1 e 2 – Grupos estatísticas SNMP V1 e V2: Coleção de objetos provendo instrumentação básica da entidade.
3 – Grupo Recursos de objeto: coleção de objetos permitindo uma entidade SNMP V2 atuar em uma função de agente para descrever sua configuração dinâmica dos recursos do objeto.
A MIB SNMP V2
Definem objetos que transcrevem o comportamento de uma entidade SNMP V2.
Consiste de cinco grupos:
O requisito principal do SNMPv1 era oferecer uma solução de gerência com baixo custo e simples implementação.
Desta forma, o SNMPv1 apresenta algumas deficiências funcionais, tais como:
- falta de autenticação e mecanismos de privacidade (segurança), - impossibilidade de comunicação entre gerentes, e
O SNMPv2 (RFC 1901, 1996) surgiu para suprir algumas das deficiências do SNMPv1, implementando, além das cinco funções básicas:
- getrequest,
- get-next-request,
- set-request,
- Response, e
- snmpV2-trap (as funções getresponse e trap tiveram seus nomes
modificados, respectivamente para response e snmpV2-trap) – outras novas funções:
- Get-bulk-request: acesso a grandes blocos de informações na MIB;
- Inform-request: permite que um gerente envie informações relevantes
Troca de mensagens no SNMPv1- A figura a seguir ilustra a troca
Dentre as novidades do SNMPv2, destacam-se:
Gerenciamento de redes descentralizadas, permitindo a existência de mais de uma estação gerente e, consequentemente, a troca de informações entre elas;
Possibilidade de transferência de grandes blocos de informação;
Introdução de contadores de 64 bits, possibilitando um melhor monitoramento de variáveis que atingem seus limites rapidamente com contadores de 32 bits;
Melhoria no tratamento de erros das variáveis, definindo-se o estado de sucesso ou erro da operação para cada variável da PDU e não mais para a PDU inteira.
Gerenciamento de redes
• O gerenciamento de redes na arquitetura TCP/IP é formado por três módulos:
– SMI (Structure of Management Information): conjunto comum de estruturas e um esquema de identificação utilizados para referenciar as variáveis na MIB. Linguagem de definição para objetos da MIB. Fornece uma maneira para definir objetos gerenciados
– descreve o cenário no qual a MIB pode ser definida.
– identifica os tipos de dados que podem ser empregados. • escalar e matriz bidimensional.
– especifica como os recursos gerenciados devem ser representados na MIB e como devem ser nomeados.
Abstract Syntax Notation One (ASN.1)
➔ Uma notação padrão e flexível que descreve as estruturas de dados
para:
Representação Codificação Transmissão
Decodificação dos dados
ASN.1 e SNMP
Componentes Básicos do SNMP 1 – Dispositivos Gerenciados
Nó da rede que contém um agente SNMP Reside numa rede gerenciada
2 – Agentes
Módulo do software de gerenciamento de rede Reside num dispositivo gerenciado
3 – Redes de gestão de sistemas(NMS, do inglês Network Management Systems)