Nilo (discussão | contribs)
Etiqueta: visualeditor
Nilo (discussão | contribs)
Etiqueta: visualeditor
Linha 342: Linha 342:


= Agents =
= Agents =
O agente e um componente que
pode ser implementado em hardware. O que ele realiza na verdade e coletar dados
de um dispositivo e armazená-los na MIB.
No modelo de gerenciamento
SNMP, hosts, bridges, roteadores, hubs, etc, devem ser equipados com agentes
SNMP para que possam ser gerenciados pela estação de gerenciamento (Network
Management Station – NMS) através do gerente SNMP. O agente responde a
requisições da estação de gerenciamento, que pode ser o envio de informações de
gerencia ou ações sobre as variáveis do dispositivo onde esta.
O funcionamento desta
estrutura só e possível graças ao acesso direto a MIB que o agente possui, pois
todas as informações de gerencia. Ao receber uma mensagem SNMP do gerente, o
agente identifica que operação esta sendo requisitada e qual(is) a(s)
variável(is) relacionada, e a partir dais executa a operação sobre a MIB. Em
seguida, monta uma nova mensagem de resposta, que será enviada ao gerente.
A primeira vista, a
comunicação do agente com o gerente pode parecer injusta uma vez que o agente
apenas reponde ao que lhe e questionado. Mas há momentos em que o agente pode
“falar” espontaneamente com o gerente sem que antes seja questionado. Isso
ocorre quando o agente detecta, a partir da analise do contexto da MIB, alguma
situação inesperada. Neste momento, o agente gera uma mensagem especial, o
Trap, e a envia ao gerente, relatando sobre a situação.
Para o tratamento destas
exceções e o envio de Trap, e concedido ao agente um certo poder de decisão,
cabendo a ele, a partir da analise do contexto da MIB, decidir se e ou não
necessário enviar o Trap ao gerente. Esse poder de decisão e concedido ao
agente para que em certas situações, como quando  da inicialização do sistema, Trap
desnecessários não sejam trafegados pela rede, o que, em se tratando de dezenas
de agentes, poderia interferir no desempenho global da rede.
Cabe ao agente um papel
fundamental em todo o processo de gerenciamento da rede, acessando e
disponibilizando informações de gerencia contidas na MIB, alem de indicar
situações inesperadas de funcionamento do dispositivo que estiver gerenciando
através do envio de Trap no gerente.
 '''Gerente'''
E um processo executado na
maquina gerenciada, responsável pela manutenção das informações de gerencia da
maquina, as funções principais de um agente são:
Atender as requisições
enviadas pelo gerente;
Enviar automaticamente
informações de gerenciamento ao gerente, quando previamente programado;
O agente utiliza as chamadas
de sistema para realizar o monitoramento das informações da maquina e utiliza
as RPC (Remote Procedure Call) para o controle das informações da maquina.
A interface entre as
aplicações de gerencia correntes no NMS e os agentes espalhados pelos
dispositivos da rede e o gerente. Cabe ao gerente enviar comandos aos agentes,
solicitando informações sobre variáveis de um objeto gerenciado ou modificando
o valor de determinada variável.
Os gerentes então processam
estas informações colhidas pelos agentes e as repassam a aplicação que as
requisitou. A comunicação entre o gerente e as aplicações e possível através da
utilização das API do gerente SNMP pelo sistema.
A API (Application Program Interface) e um conjunto de
funções que fazem o intermédio na execução de comandos entre um programa e
outro, de forma a simplificar a um programa o acesso a funções de outro programa e que, no caso do
SNMP, fazem o intermédio das execuções entre uma aplicação de gerencia e o
gerente SNMP.
Quando uma solicitação da
aplicação de gerencia chega ao gerente, através da API, o gerente mapeia esta
solicitação para um  ou mais comandos
SNMP que, através da troca de mensagens apropriadas, chegarão aos agentes
correspondentes.
Deve-se ressaltar que este
comando SNMP montado pelo gerente pode ser enviado a um outro gerente, que pode
ou não repassá-lo a um agente. Só que a comunicação gerente-gerente só e
possível na versão estendida do SNMP, o SNMPv2, e não faz parte do SNMP padrão.
Cabe também ao gerente
encaminhar a aplicação de gerencia os Trap que porventura sejam enviados pelos
agentes. Assim, o software de gerencia terá conhecimento da presença de um novo
equipamento na rede ou do mal funcionamento de algum dos dispositivos da rede.
Quando da inicialização do
software de gerencia, nada se sabe a configuração ou funcionamento da rede.
Essas informações vão sendo conhecidas através de Trap que são enviados pelos
agentes. A partir daí o gerente realiza polling1 a fim de manter a comunicação
com os agentes, possibilitando ao software de gerencia mapear, monitorar e
controlar a rede.
<br>
<br>


= Referências bibliográficas =
= Referências bibliográficas =
<br>
<br>

Edição das 19h01min de 13 de junho de 2016

Conceito de protocolo

As informações que circulam em uma rede de computadores devem ser transportadas de modo confiável e rápido. Para que isso aconteça e importante que os dados sejam monitorados de maneira que os problemas que porventura possam existir sejam resolvidos rapidamente. Uma rede sem mecanismos de gerencia pode apresentar problemas como congestionamento do trafego, recursos mal utilizados, recursos sobrecarregados, problemas com segurança e outros.

No inicio da década de 80 o protocolo Simple Network Management Protocol – SNMP começou a ser desenvolvido pelo Internet Engineering IFTF, com o objetivo de disponibilizar uma forma simples e pratica de realizar o controle de equipamentos em uma rede de computadores. Atualmente as pesquisas na área de gerenciamento de redes possuem o objetivo de obter da rede seu rendimento maximo.

O SNMP  e um protocolo de gerencia definido a nível de aplicação, e utilizado para obter informações de servidores SNMP – agentes espalhados em uma rede baseada na pilh de protocolos TCP/IP. Os dados são obtidos através de requisições de um gerente a um ou mais agente utilizado os serviços do protocolo de transporte UDP – User Datagram Protocol para enviar e receber suas mensagens através da rede. Dentre as variáveis que podem ser requisitadas utilizaremos as MIBs podendo fazer parte da MIB II, da experimental ou da privada.

O SNMP foi projetado para ser o mais simples possível, sendo baseado apenas em estações de gerenciamento de rede e elementos da rede. As estações de gerenciamento da rede são responsáveis por rodar aplicações de gerenciamento que monitorem e controlem os elementos da rede.

Os elementos da rede são hobs inteligentes, roteadores e pontes possuem agentes que estão localizados dentro do limites dos elementos, que são responsáveis por realizar as funções que são requisitadas pelas estações de gerenciamento.

Cada maquina gerenciada e vista como um conjunto de variáveis que representam informações referentes ao seu estado atual, estas informações ficam disponíveis ao gerente através de consulta e podem ser alteradas por ele. Cada maquina gerenciada pelo SNMP deve possuir um agente e uma base de informações MIB.

O SNMP e o meio pelo qual a estação de gerenciamento e os elementos de rede se comunicam. E um protocolo simples que permite a um administrador inspecionar ou alterar variáveis em um elemento de rede a partir de uma estação de gerenciamento remota.

Todo o monitoramento SNMP e realizado pelo sistema de gerenciamento de rede. As estações de gerenciamento acessam os elementos de rede para obter a informação desejada ou para mudar uma variável. Nesse caso estará sendo realizada uma operação de polling.

Pontos Positivos e Negativos do SNMP.

O SNMP tem varios pontos positivos. Um deles e sua popularidade para a gerencia de redes TCP/IP. Agentes SNMP estão disponíveis para vários dispositivos de rede, desde computadores ate bridges, modems ou impressoras.

Adicionalmente, o SNMP e um protocolo de gerenciamento flexível e extensível.

Pode-se estender os agentes SNMP para cobrir dados específicos de dispositivos, pelo uso de arquivos ASN.1. O SNMP pode assumir numerosos trabalhos específicos para classes de dispositivos fornecendo um mecanismo padrão de controle de rede e monitoramento.

Apesar de seu nome, (Simple Network Management  Protocol), o SNMP e um protocolo relativamente complexo para implementar. Também, o SNMP (como strings de byte onde cada byte corresponde a um nodo particular no banco de dados da MIB) conduz desnecessariamente a grandes pacotes de dados PDU, que consomem partes significativas de cada mensagem de SNMP, sobrecarregando a rede transmissão de dados.

Enquanto codificações complicadas frustram programadores, a utilização por parte dos usuários finais não dependem da complexidade dos algarismos que disponibilizam os dados a eles.

Uma das principais vantagens do protocolo SNMP e sem duvida a sua simplicidade, podendo ser facilmente implementado numa rede de computadores. Muito dispositivos já vem de fabrica preparados para o uso do SNMP, sendo fácil a configuração dos agentes na rede.

Alem disso, e possível também que um gerente de redes programe as variáveis que deseja monitorar, tornando a rede flexível a administração do gerente. Também devido a simplicidade, a maioria dos dispositivos existentes, mesmo os com baixo poder de processamento, podem utilizar o SNMP já que a concentração do processamento ocorre na maquina do gerente.

A rapidez e uma característica do SNMP, pois o gerente não precisa fazer um login no agente e estabelecer uma conexão TCP/IP para receber seus dados.

Outra vantagem do protocolo e a sua popularidade. Isso pode ser identificado pelo fato de que a maioria dos fabricantes de dispositivos para redes os projetam para suportar SNMP, inclusive projetando mibs privadas com objetivos particulares de cada dispositivo.

Outro beneficio do SNMP e a expansibilidade. Por causa de seu projeto simples, e fácil para o protocolo ser atualizado de forma que ele possa ser adequado as necessidades de usuários no futuro.

 

Comandos

Quando e feira a conexão SMTP, o servidor envia uma identificação:

<< 220 AVG ESMTP Proxy Server 7.0.300/7.0300 [265.8.8]

Após essa identificação, o cliente deve se identificar enviando um comando HELO:

>> HELO agnetron.com.br

<< 250 localhost Hello agnetron.com.br

Para iniciar uma sessão de e-mail, o cliente envia um comando MAIL informando o remetente:

>> MAIL FROM: usuário@dominio.com.br

>> 250 Sender ok

Em seguida, e identificado o destinatário usando o comando RCPT:

>> RCPT TO: usuario2@dominio.com.br

<< 250 Recipient ok

Logo apos, deve-se enviar o conteudo da mensagem por meio do comando DATA:

>> DATA

<< 354 Ok, send the message

>> Subject: Teste

>>

>> Mensagem Teste

>>

<< 254 Ok: queued as 13E4A7B

Note que o código de retorno do comando DATA começa com 3, indicando que esta tudo OK, mas precisa-se enviar mais dados para completar a operação.

Note também que e usada linha contendo somente um ponto para informar o final da mensagem.

Se uma linha contendo somente um ponto fizer parte do corpo da mensagem, deve-se colocar dois pontos, como no exemplo:

>> DATA

<< 354 Ok, send the message

>> Subject: Teste 2

>>

>> Mensagem Teste Parte 1

>>..

>> Mensagem Teste Parte 2

>>.

<< 250 Ok: queued as 1413196

No exemplo acima, a mensagem ao ser lida num cliente de e-mail apresentaria apenas um ponto entre a parte1 e a parte 2 da mensagem. Ficando dessa forma:

Mensagem Teste Parte 1

Mensagem Teste Parte 2

Portanto, ao criar um programa que envie e-mails, lembre-se de sempre verificar lnhas contendo somente um ponto, para colocar dois no lugar, do contrario o servidor SMTP interpretara aquele ponto como marcador de fim de mensagem.

Após o envio da mensagem, deve-se recomeçar a sessão (enviando-se um novo comando RCPT) ou finalizá-la (através do comando QUIT, como no exemplo:

>> QUIT

<< 221 Asta la vista

(servidor fecha a conexão)

Para verificar se o servidor retornou um erro ao enviar o e-mail, basta verificar se o primeiro caractere do código de retorno e 4 ou 5.

Exemplos de outros protocolos

Existem diversos tipos de protocolos de rede, variando de acordo com o serviço a ser utilizado.

De maneira geral há dois tipos de protocolos: Abertos e Proprietários ou Específicos.

Os protocolos Abertos são os protocolos padrões da internet. Este podem comunicar-se com outros protocolos que utilizam o mesmo padrão de protocolo.

Um exemplo seria o TCP/IP, pois ele pode comunicar com varias plataformas com Windows, Linux, Mac e outros.

Já os protocolos Proprietários são feitos para ambientes específicos (daí o seu nome), pois ele apenas pode comunicar com uma plataforma padrão.

Exemplos desse tipo de protocolo: IPX/SPX, NETBIOS e outros.

São exemplos de protocolos de rede: IP (Internet Protocol), DHCP (Dynamic Host Configuration), TCP (Transmission Control Protocol), HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), Telnet (Telnet Remote Protocol), SSH (SSH Remote Protocol), POP3 (Post Office Protocol 3), SNTP (Simple Mail Transfer Protocol), IMAP (Internet Message Access Protocol).

Alguns serviços monitorados pelo protocolo

De uma forma resumida, o protocolo e um conjunto de regras que controlam o formato e o significado das informações trocadas pelas entidades pares contidas numa camada, sendo que as entidades utilizam protocolos com a finalidade de implemente ar as suas definições de serviços e as entidades tem a liberdade de trocarem os seus protocolos, desde que não alterem o serviço visível para os seus utilizadores.

Um serviço de rede e um conjunto de operações implementado por um protocolo através de uma interface, e oferecido a camada imediatamente superior.

Ele define o que uma camada e capaz de executar sem se preocupar com a maneira pela qual as operações serão executadas.

Cada serviço e utilizado por aplicações diferentes, podendo uma aplicação utilizar vários serviços, como, por exemplo, um browser como o Mozilla Firefox. Este utiliza, por exemplo, HTTP, SHTTP, DNS.

Os serviços podem ser orientados a conexão ou não. Serviços relacionados a família TCP são orientados a conexão, enquanto serviços relacionados ao protocolo UDP são sem conexão.

Serviços orientados a conexão: e o serviço TCP. Antes do envio de dados, um processo conhecido como handshaking cria uma conexão fraca entre os hosts. Basicamente, esse processo prepara o receptor para a recepção de pacotes. Esta conexão previa possibilita verificar se todos os pacotes irão chegar corretamente ao destino, e em caso negativo, solicitar o reenvio dos mesmos (quando o receptor recebe um pacote, ele envia uma mensagem de confirmação ao transmissor. Se a confirmação na chegar, o pacote e reenviado), gerando uma transferência de dados confiável.; Também pode fazer-se um controle de fluxo e congestionamento, para casos em que o receptor não suporta a velocidade de envio dos pacotes, ou quando algum roteador na rede esta congestionado (e enviada uma mensagem ao transmissor, reduzindo ou interrompendo a velocidade envio de pacotes). Como exemplo de serviços orientados a conexão, TCP, temos: HTTP, FTP, Telnet.

Serviços sem conexão: e o serviço UDP (Protocolo de Diagrama de Usuário). Não há o processo de handshaking. Assim, uma aplicação apenas envia dados para um host, e com isso não há como saber se todos os pacotes chegaram. E mais rápido, mesmo por não haver a etapa da handshaking, mas e menos confiável, alem de não possuir a possibilidade de controle de fluxo e congestionamento presentes no TCP. Algumas aplicações que usam o UDP: conferencia de vídeo e telefone por internet.

MIBs

Um objetivo gerenciado e a visão abstrata de um recurso real do sistema. Assim, todos os recursos da rede que devem ser gerenciados são modelados, e as estruturar dos dados resultantes são os objetos gerenciados. Os objetos gerenciados podem ter permissões para serem lidos ou alterados, sendo que cada leitura representara o estado real do recurso e, cada alteração também será refletida no próprio recurso.

As regras de construção das estruturas da MIB são descritas através da Struture of Management Informaton – SMI. Os objetivos de uma MIB são especificados de acordo com a ASN.1 – Abstract Syntax Notation One, uma linguagem introduzida pela CCITT (hoje TU-T) nas Recomendações X208 e X209, e escolhida pela ISSO para descrever os tipos de dados usados em SNMP.

O RFC – Request For Comment 1066 apresentou a primeira versão da MIB, a MIB I. Este padrão explicou e definiu a base de informação necessária para monitorar e controlar redes baseadas na pilha de protocolos TCP/IP. A evolução aconteceu com RFC 1213 que propôs uma segunda MIB, a MIB II, para uso baseado na pilha de protocolos TCP/IP.

Desta forma, a MIB e o conjunto dos objetos gerenciados, que procura abranger todas as informações necessárias para a gerencia da rede.

Basicamente são definidos três tipos de MIBs: MIB II, MIB experimental, MB privada.

A MIB II, que e considerada uma evolução da MIB I, fornece informações gerais de gerenciamento sobre um determinado equipamento gerenciado. Através das MIB II podemos obter informações como: numero de pacotes transmitidos, estado da interface, entre outras.

A MIB experimental e aquela em que seus componentes (objetos) estão em fase de desenvolvimento e teste, em geral eles fornecem características mais especificas sobre a tecnologia dos meios de transmissão e equipamentos empregados.

 MIB privada e aquela em que seus componentes fornecem informações especificas dos equipamentos gerenciados, como configuração, colisões e também e possível reinicializar, desabilitar uma ou mas portas de um roteador.

De acordo com [RM01], no modelo SNMP, os recursos de uma rede são representados como objetos. Cada objeto e, essencialmente, uma variável que representa um aspecto do dispositivo gerenciado. Todos os objetos (variáveis) são armazenados na MIB.

 

Agents

O agente e um componente que pode ser implementado em hardware. O que ele realiza na verdade e coletar dados de um dispositivo e armazená-los na MIB.

No modelo de gerenciamento SNMP, hosts, bridges, roteadores, hubs, etc, devem ser equipados com agentes SNMP para que possam ser gerenciados pela estação de gerenciamento (Network Management Station – NMS) através do gerente SNMP. O agente responde a requisições da estação de gerenciamento, que pode ser o envio de informações de gerencia ou ações sobre as variáveis do dispositivo onde esta.

O funcionamento desta estrutura só e possível graças ao acesso direto a MIB que o agente possui, pois todas as informações de gerencia. Ao receber uma mensagem SNMP do gerente, o agente identifica que operação esta sendo requisitada e qual(is) a(s) variável(is) relacionada, e a partir dais executa a operação sobre a MIB. Em seguida, monta uma nova mensagem de resposta, que será enviada ao gerente.

A primeira vista, a comunicação do agente com o gerente pode parecer injusta uma vez que o agente apenas reponde ao que lhe e questionado. Mas há momentos em que o agente pode “falar” espontaneamente com o gerente sem que antes seja questionado. Isso ocorre quando o agente detecta, a partir da analise do contexto da MIB, alguma situação inesperada. Neste momento, o agente gera uma mensagem especial, o Trap, e a envia ao gerente, relatando sobre a situação.

Para o tratamento destas exceções e o envio de Trap, e concedido ao agente um certo poder de decisão, cabendo a ele, a partir da analise do contexto da MIB, decidir se e ou não necessário enviar o Trap ao gerente. Esse poder de decisão e concedido ao agente para que em certas situações, como quando  da inicialização do sistema, Trap desnecessários não sejam trafegados pela rede, o que, em se tratando de dezenas de agentes, poderia interferir no desempenho global da rede.

Cabe ao agente um papel fundamental em todo o processo de gerenciamento da rede, acessando e disponibilizando informações de gerencia contidas na MIB, alem de indicar situações inesperadas de funcionamento do dispositivo que estiver gerenciando através do envio de Trap no gerente.

 Gerente

E um processo executado na maquina gerenciada, responsável pela manutenção das informações de gerencia da maquina, as funções principais de um agente são:

Atender as requisições enviadas pelo gerente;

Enviar automaticamente informações de gerenciamento ao gerente, quando previamente programado;

O agente utiliza as chamadas de sistema para realizar o monitoramento das informações da maquina e utiliza as RPC (Remote Procedure Call) para o controle das informações da maquina.

A interface entre as aplicações de gerencia correntes no NMS e os agentes espalhados pelos dispositivos da rede e o gerente. Cabe ao gerente enviar comandos aos agentes, solicitando informações sobre variáveis de um objeto gerenciado ou modificando o valor de determinada variável.

Os gerentes então processam estas informações colhidas pelos agentes e as repassam a aplicação que as requisitou. A comunicação entre o gerente e as aplicações e possível através da utilização das API do gerente SNMP pelo sistema.

A API (Application Program Interface) e um conjunto de funções que fazem o intermédio na execução de comandos entre um programa e outro, de forma a simplificar a um programa o acesso a funções de outro programa e que, no caso do SNMP, fazem o intermédio das execuções entre uma aplicação de gerencia e o gerente SNMP.

Quando uma solicitação da aplicação de gerencia chega ao gerente, através da API, o gerente mapeia esta solicitação para um  ou mais comandos SNMP que, através da troca de mensagens apropriadas, chegarão aos agentes correspondentes.

Deve-se ressaltar que este comando SNMP montado pelo gerente pode ser enviado a um outro gerente, que pode ou não repassá-lo a um agente. Só que a comunicação gerente-gerente só e possível na versão estendida do SNMP, o SNMPv2, e não faz parte do SNMP padrão.

Cabe também ao gerente encaminhar a aplicação de gerencia os Trap que porventura sejam enviados pelos agentes. Assim, o software de gerencia terá conhecimento da presença de um novo equipamento na rede ou do mal funcionamento de algum dos dispositivos da rede.

Quando da inicialização do software de gerencia, nada se sabe a configuração ou funcionamento da rede. Essas informações vão sendo conhecidas através de Trap que são enviados pelos agentes. A partir daí o gerente realiza polling1 a fim de manter a comunicação com os agentes, possibilitando ao software de gerencia mapear, monitorar e controlar a rede.


Referências bibliográficas