Criação de uma infraestrutura para execução remota do Netkit

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Introdução

O Netkit é um ambiente para experimentos com redes de computadores desenvolvido na Universidade de Roma, na Itália. Com ele torna-se possível realizar experimentos sobre configuração básica de rede, roteamento, criação de infraestrutura WAN com MPLS, além de dispor de diversos serviços de rede (DNS, WWW, LDAP, e outros). Ele se compõe de máquinas virtuais Linux (implementadas com kernel Linux UML – User Mode Linux), que funcionam como roteadores ou computadores, e switches Ethernet virtuais (UML switch) para interligar as máquinas virtuais. Para todos os efeitos, cada máquina virtual funciona como se fosse um computador real, possuindo uma ou mais interfaces de rede. Com esses recursos é possível criar redes de configurações arbitrárias para estudar protocolos de comunicação e serviços de rede.

A versão do Netkit apresentada neste artigo é fruto de modificações realizadas pelo Núcleo de Telecomunicações do IF-SC (câmpus São José). Ela possui muitas diferenças em relação ao Netkit original dentre as principais diferenças pode-se citar a implementação de uma interface gráfica para a execução de experimentos, chamada Gnome-Netkit. Esse aplicativo concentra as telas de terminal das máquinas virtuais e provê diversas funções auxiliares para ajudar na realização dos experimentos.

Proposta

A maioria dos alunos que precisam utilizar o Gnome-Netkit, precisam instalar o Linux e, muitas vezes, somente instalam para essa finalidade. O objetivo é fazer uma aplicação web do Gnome-Netkit para que o usuário possa, de qualquer sistema operacional, realizar seu trabalho. Funciona da seguinte maneira: através de uma conexão web remota, o usuário se conectará em um servidor onde está instalado o Gnome-Netkit. Cada usuário terá uma pasta pessoal onde poderá armazenar seus experimentos, se desejar, ou simplesmente executá-lo.

Na infraestrutura a ser criada, o que nos interessa é uma forma prática de executar instâncias do Netkit em um servidor de aplicação. Melhor ainda se houver um conjunto de tais servidores, e a instância puder ser executada em qualquer deles (ex: laboratórios de ensino ociosos). Mas fazer os softwares necessários para identificar um servidor de aplicação, executar lá a instância, monitorar sua execução, além de outros detalhes menores, é trabalhoso. Sendo essa uma necessidade comum a muitos outros projetos, e já de longa data, foram propostas diferentes formas de auxiliar (padronizar) a criação de tais infraestruturas. Para nosso trabalho entendo que duas delas podem ser adequadas:

  • Grid: um conjunto variável de computadores que podem ser usados para executar diferentes tarefas por demanda.
  • Nuvem: também um conjunto possivelmente variável de computadores para realizar tarefas por demanda, porém com uma interface que delega ao usuário da nuvem o acesso transparente e o gerenciamento dos recursos da nuvem a ele concedidos. Quer dizer, o modelo em nuvem busca automatizar e facilitar o uso de seus recursos pelos clientes da infraestrutura.

Objetivo

Usar o aplicativo Gnome-Netkit remotamente e permitir que qualquer usuário possa utilizar qualquer sistema operacional para executar o aplicativo.

Cronograma

Referências Bibliográficas

Sobre o Netkit: http://wiki.netkit.org/index.php/Main_Page

Sobre o Grid: http://www.globus.org/grid_software/ecology.php

Sobre a nuvem: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf