Gerencia de redes
Gerência de Redes Fabiano Rocha Abreu, Herbert Domingues Pires Departamento de Engenharia de Telecomunicações – Universidade Federal Fluminense (UFF-RJ) – Campus da Praia Vermelha, Escola de Engenharia – Bloco D, Sala 502-8 Rua Passo da Pátria, 156 – São Domingos – 24210-240 – Niterói — R] – Brasll fabiano@telemar. com. br, herbert. pires@telemar. com. br Resumo. Este trabalho descreve o protocolo SNMP (Simple Network Management Protocol) que foi desenvolvido para gerenciar, monitorar e controlar configurações, desempenho, falhas, estatísticas e segurança de uma rede. . Introdução A evolução das redes e , o next*ge IP, é uma realidade f da Internet, como p para o protocolo o crescimento xão de redes atualmente. Somando-se a este cen rio temos redes cada vez mais complexas com rateadores, switches e servidores que fazem com que a tarefa de gerenciamento de todos os dispositivos não se resuma em apenas verificar se a rede esta ativa e funcionando, mas sim com o melhor desempenho possível.
Algumas das necessidades fundamentais na implementação e desenvolvimento de um slstema de gerenciamento são a interoperatividade com múltiplos sistemas, independente de fabricante (sistemas “multi-vendod’), espeitando algumas regras e padrões. Atualmente temos duas importantes estruturas abertas e padronizadas de gerência: SNMP (Simple Network Management Protocol) e CMIP (Common Management Information Protocol – referência OSI), sendo o SNMP mais I largamente utilizado.
O gerenciamento de rede possui cinco (5) áreas comuns conhecidas como FCAPS, desenvolvidas para o modelo de gerência OS’, contudo não deixa de ser compatível com o modelo SNMP: F – “Fault Management’ (Gerência de falhas): visa a detecção, localização e correção de problemas de hardware ou software em uma rede. Atualmente temos sistemas de gerência focando a pró-atividade na antecipação de falhas, onde rotinas de diagnóstico são executadas em períodos de tempo pré-definidos além de correlação de alarmes, thresoulds e syslog para diagnosticar a iminência de determinada falha.
C “Configuration Mangemenr’ (Gerência de configuração): esta relacionada com registros de inventário de hardware e software, histónco de modificação dos dispositivos (normalmente feito através de backups de configuração com registro de data, hora e responsável pela modificação), permitir a inicialização dos istemas que compõem a rede (como o sistema operacional e a configuração de um rateador, serviço normalmente oferecido em um servidor que utiliza o protocolo TFTP também denominado como TFTPBoot), além de registros de topologia fisica, lógica e histórico de status dos dispositivos que compõe a rede.
A – “Accouting Management”(Gerência de registros, logs ou bilhetes): com a finalidade de registrar a utilização da rede para permitir contabilizar a utilização dos recursos da mesma, muito utilizado por provedores de acessos (ISPs) por motivos de tarifação de serviços, tais como: acesso discado, X. 5, frame-relay, etc. P – “Performance Management” (Gerência de performance): parte da perspe PAGF discado, X. 25, frame-relay, etc.
P – “Performance Management’ (Gerência de performance): parte da perspectiva de como saber ou definir que determinada rede está com um bom desempenho, uma vez que a rede pode ser vista de forma diferente por usuários de aplicações distintas; ou seja, enquanto ela pode ser considerada como rápida e eficaz para uma determinada aplicação também pode ser considerada extremamente lenta ou incompatível para outra.
Através da erência de performance os administradores de rede podem monitorar certas variáveis chaves como throughput, tempo de resposta, disponibilidade, permitindo definir como e onde o desempenho da rede pode ser melhorado. S – “Security Management'(Gerência de segurança): visa regular e administrar o acesso aos recursos de rede e as determinadas informações, incluindo tarefas como: verificar o privilégio de acesso à rede dos usuários, detectar e registrar tentativas de acesso nao autorizadas.
Normalmente a autenticação, autorização e accounting de acesso a rede é feito de forma centralizada, e uma strutura muito comum neste controle de acesso (principalmente para router e switchs) é a utilização de um servidor Tacacs. Este documento está estruturado da seguinte forma: uma abordagem do motivador dos sistemas de gerência no tópico “Desempenho”, a evolução do protocolo e sistemas de gerência no tópico “SNMP” e por fim a ilustrar algumas ferramentas e sistemas de gerência que fazem uso dos conceitos abordados ao longo do documento. . Desempenho A maioria das ferramentas de gerência utiliza a combinação de cinco (5) elementos distintos p das ferramentas de gerência utiliza a combinação de cinco (5) lementos distintos para a medição de desempenho de uma rede: • • • • • Disponibilidade Tempo de resposta Utilização da rede Vasão (Throughput) da rede Capacidade de transmissão da rede 2. 1 Disponibilidade O primeiro passo necessário para se medir a performance de rede é determinar se ela está realmente funcionando.
Se o tráfego não pode percorrer a rede trata- se de um problema muito maior que apenas um problema de performance. Para se efetuar testes de conectividade em uma rede duas simples ferramentas podem ser utilizadas: ping e traceroute. (k) *) uma ferramenta de teste que incorpora estas funcionalidades e é compatível com vários S. O. é o hrping (Freeware). Através do ping é possível efetuar testes de conectividade com diferentes níveis de observação, utilizando se de suas diferentes combinações de opções.
Basicamente o ping envia pacotes ICMP (Internet Control Message Protocol) echo request para determinado host, este por sua vez, ao receber um pacote de echo request imediatamente retorna um pacote de echo replay para o host de origem (nem todos os hosts ou segmentos de rede permitem este tipo de teste). Obtendo-se sucesso no teste e conectividade, opções mais avançadas podem ser usadas para testes, que se aproximem das necessidades da aplicação, que a rede deve suportar, como: definir o tamanho do pacote, desabilitar a opção de fragmentação, definir o tempo de time- out a ser observado ou quantidade de pacotes a ser enviado, etc.
Caso seja observada perda parcial ou total de pacotes no teste com ping e necessar ser enviado, etc. Caso seja observada perda parcial ou total de pacotes no teste com ping é necessário determinar a causa de tal fato, duas grandes causas por perda de pacotes são: colisão o segmento de rede ou descarte de pacotes por um dispositivo de rede (levando-se em conta que não há bloqueios para este tipo de teste).
Em caso de falhas no teste com o ping podemos utilizar o traceroute para determinar até que ponto da rede o tráfego consegui fluir, ou seja, temos uma visão aproximada do ponto de falha na comunicação entre os dois hosts testados. 2. 2 Tempo de resposta Tempo de resposta é determinado como o tempo que se necessita para que um pacote viaje entre dois hosts através da rede (o tempo de resposta de ambos os hosts interfere diretamente neste tempo).
Em grandes redes temos alguns fatores que podem influenciar no tempo de resposta entre o cliente e o servidor, como: sobrecarga de processamento nos segmentos de rede, erros na rede, falhas no acesso ao meio, tempestade de broadcast, falha em dispositivos de rede e sobrecarga de processamento nos hosts da rede (um ou mais destes fatores pode contribuir para um tempo de resposta grande). O tempo de ida e volta de um pacote na rede (round-trip time) pode ser visto através do ping (tempo total) ou traceroute (tempo cumulativo por host até o destino).
A melhor maneira e utilizar o tempo de resposta como ferramenta de gerência é utilizando-se de uma linha do tempo onde alterações nesta variável podem ser facilmente identificadas. 2. 3 Utilização da rede O principal fator que influencia na performance de uma rede é a utilização d Utilização da rede O principal fator que influencia na performance de uma rede é a utilização de cada segmento de rede situados no caminho entre dois hosts. A utilização da rede é um valor percentual referente a informação transmltida e recebida em determinado período de tempo.
O cálculo da utilização da rede onsiste [Network Performance Open Source Tookit, página 39]: %utilizaçao = ((dados enviados + dados recebidos) * 8) / (velocidade da interface * tempo de amostra) * 100 Exemplo: Uma rede 1 OMbps half-duplex que durante 5 segundos enviou 700KB de dados e recebeu 1 75KB teve a seguinte utilização: %utilizaçao ((7x10A5 + 1,75x10A5) * 8)/ (10x10A6 5) * 100 = 14% Apesar do cálculo em um segmento de rede ser simples, determinar a utilização de rede entre dois pontos separados em uma rede pode ser complexo, por isso, a maioria das ferramentas de performance utilizam se de dois (2) iferentes elementos: vasão (throughput) da rede e capacidade de transmissão da rede. 2. 4 Vasão (Throughput) da rede O throughput de rede consiste em determinar a quantidade de banda disponivel para determinada aplicação em um dado momento. É diretamente influenciado por gargalos provocados por segmentos da rede de menor banda ou de maior tráfego, pois apesar de cliente e servidor muitas vezes terem velocidades de acesso altas (100Mbps) isso não será reproduzido na rede fim-a-fim.
Não é trivial calcular o througput de uma rede, assim normalmente são utilizadas leituras da rede, em intervalos de empo distintos, onde são gerados fluxos de pacotes variáveis e com os resultados obtidos é construída uma I distintos, onde são gerados fluxos de pacotes variáveis e com os resultados obtidos é construída uma linha do tempo de análise desta variável. 2. 5 Capacidade de Transmissão da rede A capacidade de transmissão de uma rede é outro fator diretamente relacionado ao throughput da mesma, e para determinarmos essa variável são utilizados duas tecnicas: “packet paire “packet trains”. Primeiramente é enviado um par de pacotes para um host remoto com um intervalo de tempo e separação conhecido (packet pair).
Assim que este par de pacotes atravessa a rede e chega ao seu destino e o intervalo entre ambos pode variar de acordo com o tráfego na rede (packet train). A diferença entre o intervalo de tempo entre os dois pacotes determina a carga na rede, uma vez determinada esta carga, uma rajada de pacotes pode ser enviada até o host destino de forma que podemos determinar a taxa ou velocidade a qual a rede é capaz de transportar determinado fluxo de pacotes. 3. SNMP O protocolo SNMP (Simple Network Management Protocol) foi desenvolvido para permitir que dispositivos de rede que utilizam protocolo IP (Internet Protocol) possam ser gerenciados remotamente, através de um conjunto de “simples” operações.
Ele usa o modelo manager/agent onde um servidor com a função de NMS (“manager, Network Management System) comunica- se com o agente de gerência de rede (“agent’, instalado no dispositivo a ser gerenciado) através do protocolo de gerência. O “manager” é responsável por polling (busca de informação no agente) ou por recebimento de traps (enviada pelo agente, sem necessidade de solicitação PAGF 7 por recebimento de traps (enviada pelo agente, sem necessidade e solic tação prévia, para Informar alterações de status). O “agent” é um software que roda no dispositivo gerenciado, podendo ser um programa separado (um “daemon”, em um sewidor Unix) ou incorporado (por exemplo, no Cisco IOS – Internetwork Operating System), para prover informações ao N MS. Figura 1. Relacionamento entre NMS e Agent 3. A evoluç¿o do protocolo SNMP: SNMPVI O SNMP versao 1 é definido em três RFC (Request for Comment) e é totalmente padronizado pelo IETF (Internet Engineering Task Force): • • • RFC 1155 – define o Structure of Management Information (SMI). Ou seja, os mecanismos usados para descrever e nomear os objetos que serão gerenciados; RFC 1212 – define um mecanismo de descrição mais conciso, mas é inteiramente consistente ao SMI; RFC 1157 – define o Simple Network Management Protocol (SNMP). A segurança não é o forte desta versão que baseia-se em “community strings”, que nada mais são que simples “passwords”, “strings” em formato texto aberto, que permitem que qualquer ferramenta de gerência que conheça esta string obtenha acesso aos dados deste dispositivo.
SNMPv2 0 SNMP versão 2 também denominado SNMPv2c (community string-based SNMPv2) é efinida pelas RFCS 1905, 1906 e 1907 pelo IETF com o status de experimental. Esta versão busca implementar e corrigir algumas deficiências da versão anterior, como: adicionar mais segurança, novas operações, comunicação entre servidores com a função de manager e configuração remota via SNMP. SNMPv3 0 SNMP versão 3 será a próxima geração do protocolo co PAGF 8 OF manager e configuração remota via SNMP. SNMPv3 0 SNMP versão 3 será a próxima geração do protocolo com total suporte IETA É um padrão proposto pelas RFCs 1905, 1906, 1907, 2570, 2571, 2572, 2573, 2574 e 2575. Novas ferramentas foram adicionadas no SNMPv3.
São elas: • Segurança o Autenticação e privacidade o Autorização e controle de acesso • Modelo administrativo o Nomeação das entidades o Gerência das chaves o Notificação dos destinos o Relação dos proxys o Configuração remota através de operadores SNMP A co-existência do SNMPv1, SNMPv2 e SNMPv3 está descrita no RFC 2576. 3. 2 Funcionamento do protocolo O protocolo SNMP utiliza-se do (User Data Protocol) como protocolo de transporte na comunicação entre NMS e Agente. Um dos motivos pela escolha de um protocolo ue não oferece garantia na comunicação é o fato do UDP ter menos overhead, reduzindo assim o impacto do sistema de gerência na performance da rede.
Portas: • • UDP porta 161 – para envio e recebimento de requestes; UDP porta 162 – para receber traps dos elementos gerenciados. Figura 2. Relacionamento entre NMS e Agente SNMPv1 e SNMPv2 utilizam a string denominada como community para o estabelecimento de comunicação confiável entre NMS e agente. O agente pode ser configurado com três tipos de community: read-only, read-write e trap. A community read-only permite apenas leitura de dados no agente, a read- rite permite leitura e modificação de dados e valores no agente, e trap permite envio de informações do agente para o NMS de forma assíncrona. Uma das chaves para o entendimento do SNMP é o SMI (Structure of NMS de forma assíncrona. Structure of Management Information) que pode ser definido como: SMIv1 (Structure of Management Information 1 , RFC 1 1 55) Define precisamente como os objetos gerenciados são denominados e especifica a qual tipo de dados eles estão associados, esta definição pode ser resumida em três atributos: • Name – O nome ou OID (Object Identifier) define um objeto omo único. Pode aparecer na forma numérica ou amigável. Em ambos os casos os nomes são grandes e inconvenientes. Assim as aplicações SNMP buscam facilitar a navegação através destes nomes de forma simpllficada. A notação utilizada para definir um objeto é organizada em uma hierarquia em árvore (tal como a utilizada pelos servidores de nomes – DNS), onde o nome do objeto é formado pelo nome do caminho percorrido do nó principal até o ponto desejado, sendo estes separados por “. “.
O nó principal denominado como “root” ou “root-node” não aparece no nome final, diz-se que este é efinido como ” Figura 3. Árvore SMIv1 Assim, por exemplo, percorrendo a árvore iso(l) org(3) dod(6) internet(l) private(4) enterprise(l ) cisco(9) temos a representação deste OID na forma 1. 3. 6. 1. 4. 1. 9 ou iso. org. dod. internet. private. enterprise. cisco. • Type ou Syntax – O tipo de dados de um objeto gerenciado é definido usando notações do ASN. I (Abstract Syntax Notation One). O ASN. I especifica como os dados são representados e transmitidos entre NMS e Agentes, dentro do contexto do protocolo SNMP, o que torna esta notação independente do tipo de máquina. Descrição Um conta