5. Materiais e Métodos (descrição detalhada)

Propaganda
Desenvolvimento de uma ferramenta de apoio didático para disciplina
de Administração em Redes de Computadores
Jefferson F. A. Pereira, José M. Silva, Kelton, A.P. Costa
Curso de Tecnologia em Redes de Computadores - Faculdade de Tecnologia de Bauru (FATEC)
Rua Manoel Bento da Cruz, nº 30 Quadra 3 - Centro - 17.015-171 - Bauru, SP - Brasil
{jefferson.pereira9, jose.silva177,
kelton.costa}@fatec.sp.gov.br
Observar recuo do resumo e abstract no modelo SBC - itálico
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.
Resumo. Tema-problemaPara 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. MétodoEssa
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.
Itens em vermelho obrigatórios no resumo – máximo 10 linhas
1. Introdução (letras minúsculas com inicial maiúscula - observar margens no
modelo SBC – nesse item deve conter a justificativa e o objetivo da pesquisa. O
1º parágrafo de cada item é sempre alinhado à esquerda – sem recuo – os
demais devem obedecer ao recuo de 1.27cm)
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. JustificativaOs 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 observar
citações e siglas
Segundo Kurose e Ross (2010) a International Organization for Standardization Sigla
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.
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 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 e 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 e 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 e 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.
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.
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, 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 e 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
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.
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.
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 (descrição detalhada)
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
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. Anunciar a figura antes de expô-la 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.
Figura 1. Menu Iniciar
Fonte: Jefferson Pereira e José Marcos Silva
Nome e fonte embaixo – o ponto separa
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.
Figura 2. Teste de Conexão
Fonte:
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 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
Fonte:
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.
Figura 4. Verificação de Processos
Fonte:
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.
Figura 5 – Verificação DNS
Fonte:
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.
Figura 6. Verificação de IP
Fonte:
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.
Figura 7. Identificação de Endereço Físico
Fonte:
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
Fonte:
6. Conclusão (texto sem citações – essência do trabalho – valida os objetivos e a
justificativa – responde ao problema proposto)
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.
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.
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.
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 (todos os autores citados e SOMENTE os autores citados no texto)
Cacti, The Cacti Group Inc. http://www.cacti.net, April.
Costa, D. G.(2010) “Administração de Redes de com Scripts: Bash Script, Python e
VBScript”. Rio de Janeiro, Brasport, 2ª edição.
Danesh, A.(1999) “Dominando o Linux”, São Paulo, Makron.
Jargas, A. M. (2008) “Shell Script Profissional”, São Paulo: Novatec.
Kurose, J. F. e Ross, K. W. (2010) “Redes de Computadores e a Internet: Uma
abordagem Top-down”. São Paulo: Pearson, 5ª edição.
Nagios Enterprises, http://www.nagios.org, April.
Nemeth, E., Snyder, G. e 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”. Rio de Janeiro, Brasport, 8ª edição.
Palma, L. e Prates, R. (2012) “TCP/IP: Guia de consulta rápida”. São Paulo, Novatec.
Tanenbaum, A. S. (2010) “Sistemas Operacionais Modernos”. São Paulo, Pearson, 3ª
edição.
Zabbix,
“The
Enterprise-class
http://www.zabbix.com, April.
Monitoring
Solution
for
Everyone”,
Todo o texto escrito em Times New Roman
Títulos e subtítulos em negrito – espaçamento simples
Citações e referências - idem modelo SBC – observar letra da 2ª linha sempre abaixo da
3ª letra.
Download