O protocolo SNMP não é adequado para ambientes de redes corporativas constituídas de diversas redes locais conectadas através de outra de longa distância. Esses enlaces de rede de longa distância, por operarem a taxas de transmissão inferiores às LAN que a interconectam, passam a ter grande parte da sua banda de transmissão ocupada para informações de gerenciamento. Uma solução encontrada para dirimir este problema foi o Remote MONitoring (RMON).
O protocolo RMON [Waldbusser91, Carvalho97], oferece suporte à implementação de um sistema de gerenciamento distribuído. Nele, fica atribuída aos diferentes elementos, tais como estações de trabalho, hubs, switches ou roteadores, das redes locais remotas a função de monitor remoto. Cada elemento RMON tem, então, como tarefas, coletar, analisar, tratar e filtrar informações de gerenciamento da rede e apenas notificar à estação gerente os eventos significativos e situações de erro. No caso de existirem múltiplos gerentes, cada elemento RMON deve determinar quais informações de gerenciamento devem ser encaminhados para cada gerente.
Sendo assim, os objetivos do protocolo RMON são [Carvalho97]
:
Os dispositivos de monitoramento remoto de rede (dispositivos RMON) são instrumentos que existem com o propósito de gerenciar uma rede. Muitas vezes estes dispositivos são dedicados e devotam significativos recursos internos para o propósito de gerenciamento de rede.
Uma organização pode dispor de diversos destes dispositivos, um por segmento de rede, para gerenciar sua rede Internet.
A especificação RMON é uma definição de uma MIB. O objetivo, contudo, é definir padrões de monitoração e interfaces para a comunicação entre agentes/gerentes SNMP.
Os objetivos da implementação de um dispositivo
RMON, são os que se seguem [Waldbusser91] :
Um monitor remoto (dispositivo RMON) pode ser configurado como uma função disponível em um sistema ou como um dispositivo dedicado. Configurado como dispositivo dedicado, o monitor é capaz de efetuar operações mais complexas.
A definição da MIB RMON contém características
que suportam controle extensivo da estação de gerenciamento.
Estas características dividem-se em duas categorias :
Tipicamente, um monitor remoto necessitará ser configurado para coletar dados. A configuração dita o tipo e a forma de dados para serem coletados. A MIB é organizada em grupos funcionais. Cada grupo terá uma ou mais tabelas de controle e uma ou mais tabelas de dados. Uma tabela de controle contém parâmetros que descrevem o dado na tabela de dados, que é somente para leitura. Assim, a estação gerente envia os parâmetros apropriados para configurar o monitor remoto para coletar os dados desejados. Os parâmetros são configurados pela adição de um novo registro na tabela ou alterando uma existente. Desse modo, funções para serem executadas pelo monitor são definidas e implementadas na tabela. Por exemplo, uma tabela controle pode conter objetos que especifiquem a origem do dados coletados, tipos de dados.
Para modificar qualquer parâmetro na tabela de controle
é necessário primeiro invalidar a entrada. Isto
causa a retirada daquela entrada e de todos os registros associados
em tabelas de dados. A estação gerente pode então
criar um novo registro controle com os parâmetros modificados.
O mesmo mecanismo é usado para apenas desabilitar uma coleção
de dados. Quando um registro da tabela de controle é apagado,
os registros das tabelas de dados associadas são apagados,
e os recursos usados pelas registros são recuperados.
O SNMP providencia mecanismos não específicos para
emitir um comando para um agente executar uma ação.
SNMP tem apenas capacidade de ler valores de objetos e setar valores
de objetos com visão MIB. Contudo, isto é possível
para usar o conjunto de operações SNMP para emitir
um comando. Um objeto pode ser usado para representar um comando,
assim que uma ação específica é alcançada
se o objeto é setado para um valor específico. Um
número desses objetos são incluídos na MIB
RMON. Em geral, estes objetos representam estados, e uma ação
é executada se a estação gerente trocar o
estado (pela troca do valor do objeto).
Conforme já citado, um agente RMON pode ser submetido à múltiplos gerentes. A qualquer tempo acessos concorrentes são permitidos para um recurso disponível em um agente. Esta é uma característica potencial para conflitos e pode gerar resultados inesperados. No caso de agentes RMON compartilhados, as seguintes dificuldades podem surgir :
Para proceder com esses problemas, uma combinação
de características de resolução e prevenção
é necessária. Ela pretende que uma simples característica
na MIB RMON suporte estes requerimentos. Associado com cada tabela
de controle está um objeto do tipo registro que identifica
o proprietário de um registro particular da tabela e de
funções associadas. O rótulo proprietário
pode ser usado das seguintes formas:
A especificação sugere que o rótulo proprietário contenha um ou mais desses atributos: endereço IP, nome da estação gerente, nome do gerente de rede, localização ou telefone.
Apesar do rótulo ser proveitoso, é importante ressaltar que o rótulo não tem ação como uma senha ou mecanismo de controle de acesso.
Se múltiplos gerentes de rede tem acesso à tabela de controle, uma maior eficiência pode ser alcançada pelo compartilhamento. Quando uma estação gerente quer utilizar uma certa função no monitor, ela precisa verificar a tabela de controle relevante para ver que função, tem sido definida por outra estação gerente. Neste caso, a estação gerente pode compartilhar a função simplesmente observando os registros de dados read-only associados com a registro de controle. Contudo, a estação gerente que seja proprietária de uma tabela de controle pode modificar ou apagar aquele registro a qualquer hora.
Freqüentemente, um monitor será configurado com um
conjunto padrão de funções que serão
setadas quando ele for inicializado. Os registros controle que
definem estas funções são propriedades do
monitor. Por convenção, cada rótulo relevante
é configurado com uma cadeia de nome "monitor".
Dois padrões básicos de protocolo RMON são especificados : RMON1 e RMON2, funcionalmente complementares.
O RMON1 opera somente na camada Media Access Control (MAC) e, segundo [Carvalho97], "oferece recursos ao administrador da rede para monitorar o tráfego e coletar informações estatísticas da operação de um segmento de rede local, além de realizar o diagnóstico remoto de falhas e erros ocorridos no segmento de rede a partir de funcionalidades de um analisador de protocolo suportadas pelo correspondente elemento RMON."
Porém, segundo [NetScout96], o fato do RMON1 só trabalhar na camada MAC, significa que o este somente apresenta estatísticas para tráfego agregado - porém não apresenta estatísticas para camadas diferentes de várias pilhas de protocolos (ex. IP, FTP, IPX). Isto também significa que, por não serem capazes de monitorar a camada de rede, os dispositivos RMON1 não distinguem o tráfego neste segmento originado através de um roteador, o que é uma grande deficiência. Assim, muitas aplicações usuais como uma medição do tempo de resposta cliente/servidor ou uma provisão de estatística para as sete camadas, não é possível através deste protocolo unicamente.
O RMON2, por sua vez, opera no nível da camada de rede
e camadas superiores, complementando portanto o RMON1, possibilitando
coletar informações estatísticas e monitorar
a comunicação fim-a-fim e o tráfego gerado
por diferentes tipos de aplicação. A figura 5.1
ilustra esta diferença.
A implementação das funções do protocolo
RMON somente é viável mediante o suporte de uma
base de dados de gerenciamento, a RMON-MIB, associada a cada elemento
RMON da rede.
Para a RMON1-MIB, foram especificados dez grupos básicos
de variáveis, que incluem [Carvalho97] :
A implementação de todos os grupos é opcional,
embora exista uma relação de dependência entre
alguns deles, como é o caso do grupo de "classificação
de n hosts" em relação ao grupo
de hosts.
Para a RMON2-MIB, foram especificados, também, dez grupos
básicos de variáveis, conforme [Carvalho97], que
incluem :