Baixar este arquivo PDF

Propaganda
Caderno de Estudos Tecnológicos
Desenvolvimento de uma Ferramenta de Apoio Didático para
Disciplina de Administração em Redes de Computadores
Jefferson F. A. Pereira1, José M. Silva1, Kelton, A.P. Costa1
1
Departamento de Informática - Faculdade de Tecnologia de Bauru (FATEC)
Rua Manoel Bento Cruz, nº 30 Quadra 3, Centro 17.015-171 - Bauru, SP - Brasil
{jefferson.pereira9, jose.silva177, kelton.costa}@fatec.sp.gov.br
Abstract. Several tools have been developed in order to manage heterogeneous network but they
very complex. This study aims to provide a friendly and intuitive tool to facilitate the task teachers
concerning the subjects in the area of information technology and student learning. This tool was
developed using the Bourne-Again Shell (bash) script language, which can also be used by
computer networks managers because it provides several commands and tests to check the health of
any computer network. It was concluded that the proposed objectives were proved both efficiently
and effectively by the tool presented in this work.
Página
27
Resumo. Para gerenciar redes de computadores heterogêneas, diversas ferramentas foram
desenvolvidas, porém muito complexas. Este estudo tem como objetivo apresentar uma ferramenta
amigável e intuitiva, para facilitar a tarefa dos docentes de disciplinas da área de tecnologia da
informação e o aprendizado dos alunos. Esta ferramenta foi desenvolvida utilizando a linguagem
Bourn-Again Shell (Bash) Script, onde pode ser utilizada também por administradores de redes de
computadores, pois fornece vários comandos e testes para verificar a saúde de qualquer rede de
computadores. Conclui-se que a ferramenta demonstrou de forma eficiente e eficaz os objetivos
propostos no trabalho.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Caderno de Estudos Tecnológicos
1. Introdução
No início das redes de computadores, onde uma rede era composta por apenas alguns hosts
instalados, o gerenciamento da rede era feito manualmente sem o auxílio de softwares. Com o grande
crescimento das empresas nacionalmente e globalmente, consequentemente as redes de
computadores cresceram no mesmo ritmo, exigindo a necessidade de softwares de grande
desempenho para o seu gerenciamento. Considerando este avanço, foram desenvolvidas diversas
ferramentas para gerenciamento de redes de computadores, desde as mais simples até as mais
complexas. Atualmente devido a grande quantidade de itens a ser monitorados e analisados em uma
rede de computadores, os administradores de redes necessitam de ferramentas que forneçam recursos
para uma análise detalhada de toda rede. As ferramentas NAGIOS, ZABBIX e CACTI, são exemplos
de ferramentas conceituadas disponíveis no mercado. Estas ferramentas, apesar de terem uma
interface gráfica intuitiva, são muito complexas, exigindo do profissional que irá manipulá-la um
conhecimento avançado do seu funcionamento. Os cursos na área de tecnologia da informação, mais
precisamente na área de redes de computadores contemplam disciplinas de gerenciamento de redes.
Com o intuito de auxiliar as atividades acadêmicas dos docentes e aprendizado dos alunos, foi
desenvolvida a ferramenta Management Tool Academic-network (MTA-net). Esta ferramenta tem o
objetivo de proporcionar ao docente uma maneira intuitiva de expor aos alunos testes que são
utilizados rotineiramente no gerenciamento de redes de computadores em ambientes Linux e
Windows. Portanto analisando as ferramentas para gerenciamento de redes disponíveis no mercado e
constatando que tais ferramentas são muito complexas e que para utilizá-las é necessário consultar e
analisar diversos relatórios gerados por diferentes softwares.
Esta ferramenta tem o objetivo de proporcionar ao docente uma maneira intuitiva de expor
aos alunos testes que são utilizados rotineiramente no gerenciamento de redes de computadores
Este estudo apresenta na seção 2 a fundamentação teórica deste estudo, abordando a área de
gerenciamento de redes e protocolo utilizado para este fim. Na seção 3 está descrito o sistema
operacional utilizado neste trabalho, na seção 4 é abordada a linguagem de programação utilizada
para o desenvolvimento da aplicação proposta. Na seção 5, estão relatados os materiais e métodos
utilizados, bem como as ferramentas que são utilizadas para suporte a administração de redes,
explicando o funcionamento de cada uma delas, e os resultados obtidos. Na seção 6 são descritas as
considerações finais, e ao final as referências.
2. Conceitos de Gerenciamento em Redes de Computadores
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
De acordo com Costa (2010), com o crescimento das redes de computadores, a administração
de redes ganhou enorme destaque na manutenção dos negócios das mais diversas organizações.
Novos problemas e desafios estão constantemente surgindo, exigindo uma evolução compatível na
28
Segundo Kurose e Ross (2010) a International Organization for Standardization Organização
Internacional de Uniformização (ISO) criou um modelo de gerenciamento, “modelo FCAPS”, onde
são definidas cinco áreas de gerenciamento: o de desempenho que tem meta de quantificar, medir,
informar, analisar e controlar o desempenho de diferentes componentes da rede; o gerenciamento de
falhas que tem o objetivo de registrar, detectar e reagir às condições de falha da rede; o
gerenciamento de configuração que permite que o administrador saiba quais dispositivos fazem parte
da sua rede; o gerenciamento de contabilização que permite o administrador especifique, registre e
controle o acesso de usuários e dispositivos aos recursos da rede e o gerenciamento de segurança que
tem a meta de controlar o acesso aos recursos da rede de acordo com alguma politica definida.
Caderno de Estudos Tecnológicos
maneira como as soluções desses problemas são encontradas. Nesse contexto, a utilização de scripts
como ferramenta de apoio a essa área vem apresentando bons resultados.
Para Nemeth; Ssnyder; Hein (2007), o gerenciamento de redes é a arte e a ciência de manter
uma rede saudável. Com o crescimento extraordinário das redes de computadores tanto em tamanho
como em valor, percebeu-se a necessidade de uma maneira eficiente de gerenciá-las.
O gerenciamento de redes não é viável para apenas um segmento de rede. À medida que as
redes vão se tornando complexas com a adição de novos dispositivos de software e hardware e a
intolerância a falhas das organizações faz-se necessária a automatização das tarefas de
gerenciamento com scripts de Shell e outros programas. O grau de necessidades de confiabilidade da
organização determinará a sofisticação do sistema de gerenciamento de redes.
Para Saydam (1996 apud KUROSE; ROSS, 2010) gerenciamento inclui o oferecimento, a
integração e a coordenação de elementos de hardware, softwares e humanos, para monitorar, testar,
consultar, configurar, analisar, avaliar e controlar os recursos da rede, e de elementos, para satisfazer
as exigências operacionais, de desempenho e de qualidade de serviço em tempo real a um custo
razoável.
Ao se falar em gerenciamento de redes de computadores, é importante ressaltar sobre os
protocolos de gerenciamento, e mais precisamente sobre o Simple Network Management Protocol
(SNMP), protocolo simples de gerenciamento de redes.
Para Nemeth; Ssnyder; Hein (2007) os protocolos de gerenciamento de rede padronizam o
método de investigação de um dispositivo para descobrir sua configuração, saúde e conexões de
rede. Além disso, eles permitem que algumas dessas informações possam ser modificadas para que o
gerenciamento de rede possa ser padronizado por meio de diversos tipos de máquinas e realizado em
uma localização centralizada.
Os fabricantes e organizações de padrões introduziram vários protocolos de gerenciamento de
dispositivo padrão e uma fartura de produtos de alto nível que exploram esses protocolos. O
protocolo para gerenciamento mais comumente utilizado com o Transmission Control
Protocol/Internet Protocol (TCP/IP) é o SNMP.
2.1. Simple Network Management Protocol (SNMP)
Segundo Forouzan (2008) o protocolo SNMP, é uma estrutura para gerenciar dispositivos em uma
internet usando o conjunto de protocolos TCP/IP. Ele fornece um grupo de operações fundamentais
para monitorar e manter uma rede saudável. O SNMP usa o conceito de gerente e agente. Isto é, um
gerente, normalmente um host, controla e monitora um conjunto de agentes, normalmente
roteadores, switches, servidores.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
Para Palma e Prates (2012) o SNMP permite coletar informações sobre o status dos
dispositivos da rede, permitindo realizar o monitoramento do funcionamento do sistema. Possui dois
componentes como o sistema de gerenciamento que é um software que solicita informações,
29
O SNMP é um protocolo em nível de aplicativo para que possa monitorar dispositivos feitos
por diferentes fabricantes e instalados em diferentes redes físicas. Em outras palavras, o SNMP
liberta as tarefas de gerenciamento das características físicas dos dispositivos gerenciados e da
tecnologia de rede subjacentes. Ele pode ser usado em uma rede heterogênea, constituída de
diferentes redes locais e remotas, conectadas a roteadores de diferentes fabricantes.
Caderno de Estudos Tecnológicos
interpreta e apresenta ao usuário e também configura dispositivos com configuração remota via
SNMP. Outro componente é o agente SNMP que é um software instalado em um servidor, roteador,
switches, entre outros, que mantém contadores que indicam o estado do componente e atuam de
forma passiva, isto é, somente fornecem respostas a solicitações do sistema. Quando tem alguma
situação anormal detectada é enviada uma mensagem trap.
De acordo com Nemeth; Ssnyder; Hein (2007) há muitos protocolos de gerenciamento
proprietários disponíveis. Mas, por enquanto, a grande maioria das instalações utiliza SNMP para o
gerenciamento de rede. Como o SNMP é somente um protocolo abstrato, precisa tanto de um
programa servidor (“agente”) como de um cliente (“gerente”) para fazer uso dele. O lado servidor do
SNMP representa aquilo que está sendo gerenciado, e o lado cliente é o gerente. Clientes variam
desde utilitários de linha de comando simples a estações de gerenciamento dedicadas que exibem
graficamente redes e falhas em equipamentos importantes como switches e roteadores.
3. Plataforma Linux
De acordo com Danesh (1999), o termo “Linux” é um tanto vago, pois é usado de duas maneiras:
especificamente para se referir ao kernel em si - o coração de qualquer versão de Linux - e
geralmente para se referir a qualquer conjunto de aplicativos que sejam executados no kernel,
normalmente referido com distribuição. A tarefa do kernel é fornecer o ambiente global em que os
aplicativos possam ser executados, incluindo as interfaces básicas com o hardware e os sistemas de
gerenciamento de tarefas e programas que estejam em execução, Ainda Danesh (1999), ressalta que
o sistema operacional Linux é multitarefa, isso quer dizer que ele pode executar mais que um
aplicativo ou processo por vez.
Ainda de acordo com Danesh (1999), o sistema operacional Linux é multiusuário, isto
significa que ele suporta a conexão de vários usuários simultâneos, utilizando-se assim os recursos
de multitarefa do sistema. A vantagem é que o Linux pode ser utilizado como um servidor de
aplicativos, fazendo com que computadores de desktop ou terminais, possam sem conectar com o
servidor Linux através de uma rede local e executar aplicativos diretamente no servidor.
Para Tanenbaum (2010) um sistema Linux pode ser considerado um tipo de pirâmide, onde
na base está o hardware, que é formado por CPU, memória, discos, terminais e outros dispositivos.
Executando diretamente sobre o hardware está o sistema operacional Linux. Sua função é controlar o
hardware e fornecer uma interface de chamadas de sistema para todos os programas. Essas chamadas
de sistema permitem que os programas do usuário criem gerenciem processos, arquivos e outros
recursos.
4. Linguagem de Programação Shell Script
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
De acordo com Neves (2010), o Shell é um interpretador de comandos de alto nível de
sofisticação, onde usuários e/ou administradores podem criar programas chamados de scripts visando
a automação do sistema a ser administrado.
30
Segundo Jargas (2008), Shell é o prompt da linha de comando do Unix e do Linux, é o servo que
recebe os comandos digitados pelo usuário e os executa, e script é um arquivo que armazena os
comandos digitados, e pode ser executado sempre que preciso. Ainda de acordo com o autor,
administradores de sistemas precisam fazer scripts para automatizar tarefas do servidor.
Caderno de Estudos Tecnológicos
Foram utilizados para o estudo e desenvolvimento do projeto o Sistema Operacional Linux e
a linguagem de programação Bourn-Again Shell (Bash) Script, Shell é a linha de comando do Linux.
É o Shell quem interpreta a linha de comandos digitada pelo usuário no terminal e chama os
programas desejados. Além de executar comandos do sistema, o Shell também tem seus próprios
comandos, como IF (se), FOR (para) e WHILE (enquanto), e também possui variáveis e funções.
Como estas são as características de uma linguagem de programação, o Shell é uma ferramenta muito
poderosa para desenvolver scripts visando automatizar tarefas do dia-a-dia, como por exemplo,
administrar uma rede de computadores. Assim como serve para fazer scripts, ele é versátil e
completo o suficiente para que programas sejam feitos nele. A interação natural com o sistema
operacional e seus programas multiplicam os poderes do Shell. Para que se possa fazer a
administração de uma rede de computadores, é necessário a utilização dos protocolos de
gerenciamento de rede, visto que estes padronizam os métodos de investigação de um dispositivo por
meio de diversos tipos de máquinas, e a localização centralizada para descobrir sua configuração,
saúde e conexões de rede.
O protocolo mais utilizado no gerenciamento de redes de computadores é o Simple Network
Management Protocol (SNMP) que define um espaço de nomes hierárquico de dados de
administração e uma maneira de ler e gravar os dados de cada um dos nós. Definem também como
os servidores e dispositivos gerenciados enviam mensagens de notificação de eventos às estações de
gerenciamento.
5. Materiais e Métodos
Para o desenvolvimento desta ferramenta, foi realizada uma pesquisa bibliográfica sobre
gerenciamento de redes de computadores, sistemas operacionais, e linguagem de programação, onde
se decidiu em utilizar o sistema operacional Linux e a linguagem de programação Bourn-Again Shell
(Bash) Script por serem sistemas gratuitos, e com grande ênfase em administração de redes de
computadores.
Para efetuar o teste da ferramenta desenvolvida, foi utilizada uma rede local composta por
dois hosts, um com sistema operacional Linux, onde o software estava instalado, e o outro host com
sistema operacional Windows, fazendo os testes de conexão e aplicação da ferramenta.
5.1 Resultados obtidos
Página
31
As ferramentas que serão apresentadas a seguir são bastante utilizadas no suporte à administração de
redes de computadores, elas estão disponíveis nos sistemas operacionais mais utilizados atualmente.
Como é observado na figura 1, tem-se um menu de opções onde o usuário/administrador deve
escolher uma opção para o funcionamento do programa.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Caderno de Estudos Tecnológicos
Figura 1 – Menu Iniciar
Na figura 3 é realizada a verificação de uma rota/destino na rede, utilizando a ferramenta Traceroute.
Esta é uma ferramenta utilizada para descobrir a rota que pacotes seguem a partir do computador que
utiliza esse programa até um destino na rede. A camada de rede utiliza o IP como protocolo padrão
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
Figura 2 – Teste de Conexão
32
Na figura 2, é exibido o primeiro teste de conexão utilizando a ferramenta Packet Internet Groper
(PING), esta é uma ferramenta bastante simples, visto que ela é utilizada para verificar a
conectividade de determinando endereço de Internet Protocol (IP). Para verificar a conectividade,
também chamada de acessibilidade, o ping transmite mensagens do protocolo Internet Control
Message Protocol (ICMP). Esse é um protocolo utilizado para auxiliar em diversas situações de
operação da arquitetura Internet. O ICMP está conceitualmente localizado entre a camada de rede e a
camada de transporte, embora não pertença formalmente a nenhum desses níveis lógicos.
Caderno de Estudos Tecnológicos
de roteamento. Esse protocolo envia pacotes sem necessidade de criação de conexões lógicas,
podendo as informações seguir caminhos diferentes em uma mesma comunicação. Os pacotes IP
possuem um campo Time To Live (TTL) para evitar que pacotes trafeguem indefinidamente na rede
devido à formação acidental de algum loop de roteamento.
Cada roteador que processa um pacote IP deve subtrair em um valor contido nesse campo,
descartando pacotes com TTL que atinjam o valor zero. A operação da ferramenta traceroute é
baseada no envio de pacotes com TTL somado em um, a partir do TTL com valor 1, até atingir o
destino que se pretende verificar. Quando um pacote IP é descartado porque o campo TTL no
cabeçalho do pacote atingiu o valor zero, uma mensagem ICMP Time Exceeded é enviada ao emissor
do pacote descartado. O programa traceroute vai então armazenar as mensagens ICMP recebidas
para “montar”, indiretamente, a rota até o destino verificado.
Figura 3 – Verificação de Rotas
Página
33
A figura 4 demonstra a verificação dos processos de rede em execução no computador utilizando a
ferramenta netstat, onde é possível verificar variáveis de rede associadas aos processos, como porta
de comunicação e protocolos sendo utilizados.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Caderno de Estudos Tecnológicos
Figura 4 – Verificação de Processos
A figura 5 mostra a consulta especializada a árvore de domínios Domain Name Server (DNS),
utilizando a ferramenta nslookup. As consultas podem ser direcionadas a qualquer tipo de registro de
recurso disponível no serviço DNS.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
Na figura 6, é visto o endereço IP, a máscara de sub-rede e o endereço do gateway padrão do
computador, ainda há a opção de selecionar a interface desejada, utilizando para isso a ferramenta
ifconfig.
34
Figura 5 – Verificação DNS
Caderno de Estudos Tecnológicos
Figura 6 – Verificação de IP
Página
Figura 7 – Identificação de Endereço Físico
35
A figura 7 mostra a identificação do endereço físico do computador, para isto utilizamos a
ferramenta arp, que é um protocolo auxiliar da arquitetura Internet, que permite traduzir um
endereço IP, de caráter lógico, em um endereço de enlace, de caráter físico. Sem esse protocolo, não
seria possível que pacotes IP trafegassem por redes heterogêneas. Cada tradução entre endereços é
armazenada em uma tabela local nos computadores, específica para essa função. Através do
programa arp, é possível verificar o conteúdo dessa tabela, bem como remover registro das
traduções.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Caderno de Estudos Tecnológicos
Na figura 8, utilizada a ferramenta route, para visualizar a tabela de rotas contidas no computador.
Cada equipamento conectado a Internet deve possuir uma tabela de rotas. Se esse equipamento se
comportar como roteador, sua tabela de rotas terá informações sobre o que fazer com pacotes
originados desse elemento e também de outros equipamentos conectados à Internet. Caso esse
equipamento for um host, sua tabela de rotas é mais simples, contendo apenas informações sobre o
que fazer com pacotes originados dele mesmo.
Figura 8 – Visualização da Tabela de Rotas
6. Conclusão
A ferramenta desenvolvida demonstrou de forma eficiente e eficaz os objetivos propostos no
trabalho. Os testes que integram a ferramenta oferecem ao usuário da área de tecnologia da
informação, seja um administrador de rede, docente ou aluno, um conjunto de informações
suficientes para verificação do estado de saúde de uma rede de computadores como estado de um
link, configurações de um equipamento, verificação de rotas, etc.. Com os resultados obtidos através
dos testes efetuados e demonstrados, o usuário poderá analisar, e se necessário efetuar as correções
necessárias para fornecer o máximo desempenho da rede com o mínimo tempo ocioso da rede.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Página
Para facilitar as atividades do profissional na área de tecnologia da informação tais como
gerentes de redes, docentes e alunos, foi desenvolvida a ferramenta MTA-net. Após os testes
realizados conclui-se que a MTA-net supera todas as desvantagens de ferramentas complexas
conforme explicitados neste estudo.
36
O mercado atualmente disponibiliza inúmeras ferramentas para gerenciamento de redes de
computadores que fornecem ao administrador um conjunto completo de relatórios e testes que
auxiliam na tarefa de garantir o funcionamento da rede de computadores. Devido à complexidade das
ferramentas disponíveis, exige-se que os administradores de redes tenham conhecimentos avançados
em tecnologia da informação e também do funcionamento das ferramentas para que seja aproveitado
o máximo de seu desempenho.
Caderno de Estudos Tecnológicos
Como trabalhos futuros, é possível adicionar algumas funções à ferramenta, como a
utilização de conexão via web, utilização de telas gráficas, bem como a implementação de MIB’s
públicas.
Referências
Cacti, The Cacti Group Inc. Disponível em: <http://www.cacti.net/>. Acessado em 04/04/2013.
Costa, D. G.(2010). Administração de Redes de com Scripts: Bash Script, Python e VBScript. 2. ed.
Rio de Janeiro: Brasport.
Danesh, A.(1999). Dominando o Linux, São Paulo: Makron.
Jargas, A. M. (2008). Shell Script Profissional, São Paulo: Novatec.
Kurose, J. F.; Ross, K. W. (2010). Redes de Computadores e a Internet: Uma abordagem Top-down.
5. Ed. São Paulo: Pearson.
Nagios Enterprises. Disponível em: <http://www.nagios.org/>. Acessado em 04/04/2013.
Nemeth, E.; Snyder, G.; Hein, T. R. (2007). Manual completo do Linux: Guia do administrador. São
Paulo: Pearson. 2ª edição.
Neves, J. C. (2010). Programação Shell Linux. 8. ed. Rio de Janeiro: Brasport.
Palma, L.; Prates, R. (2012). TCP/IP: Guia de consulta rápida. São Paulo: Novatec.
Tanenbaum, A. S. (2010). Sistemas Operacionais Modernos. 3. ed. São Paulo: Pearson.
for
Everyone.
Disponível
em:
Página
37
Zabbix, The Enterprise-class Monitoring Solution
<http://www.zabbix.com/>. Acessado em 04/04/2013.
Faculdade de Tecnologia de Bauru
volume 01 – número 01 – julho/2013
Download