Mudanças entre as edições de "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
 
(7 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Introdução =
+
'''Autor:''' Ricardo Martins
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.
+
'''Resumo:'''
  
= Proposta =
+
O Netkit2 é um ambiente de criação de redes virtuais criado para facilitar a realização de
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.
+
experimentos com redes virtuais. O Netkit2 se apresenta como um programa que, para ser utilizado,
 +
deve ser instalado em um computador com sistema operacional Linux. Este trabalho
 +
propõe a elaboração de uma infraestrutura para a execução remota do Netkit2 em um ou mais
 +
servidores, o que deve tornar possível a criação de um laboratório virtual de redes de computadores.
 +
Para isso, propõe-se uma extensão para o Netkit2 capaz de executar, controlar e oferecer
 +
uma interface de acesso remoto para experimentos com redes de computadores virtuais, denominadas
 +
instâncias do Netkit.
 +
Do ponto de vista do usuário, o sistema proposto se apresenta como um serviço web, o qual
 +
segue o estilo de arquitetura conhecido como Representational State Transfer (REST). Assim,
 +
o sistema ´e modelado como um conjunto de recursos, tais como redes virtuais, instˆancias e
 +
máquinas virtuais, dentre outros, os quais podem se acessados, criados, removidos e modificados
 +
por meio de operac¸ ˜oes usando o protocolo Hypertext Transfer Protocol (HTTP). Isso
 +
deve possibilitar que se criem interfaces web para acesso ao sistema, o que evita a instalação de
 +
software nos dispositivos dos usuários, as quais, no momento, não são objeto de estudo neste
 +
trabalho.
 +
Para fins de demonstração, desenvolveu-se um protótipo do sistema capaz de interpretar e
 +
executar um subconjunto das operações da interface de acesso especificada. Esse protótipo foi
 +
capaz de interpretar comandos para publicar configurações de experimentos no servidor, iniciar
 +
e terminar instâncias de redes virtuais do Netkit2, além de interagir com essas instãncias.
  
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.
+
'''Abstract:'''
*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 =
+
The Netkit2 is a virtual environment for creating networks made to facilitate the realization
Usar o aplicativo Gnome-Netkit remotamente e permitir que qualquer usuário possa utilizar qualquer sistema operacional para executar o aplicativo.
+
of experiments with virtual networks. The Netkit2 is a program that should be installed on a
 +
computer with Linux operating system to be used. This paper proposes the development of an
 +
remote infrastructure for execution of Netkit2 on one or more servers, which should make it
 +
possible to create a virtual laboratory of computer networks. For this propose, will be create
 +
an extension to the Netkit2 to able execute, control and provide a remote access interface for
 +
experiments with networks of virtual machines, called Netkit instances.
 +
From the user point of view, the proposed system is presented as a web service, which
 +
follows the architectural style known as REST. Thus, the system is modeled as a set of resources
 +
such as virtual networking, forums and virtual machines, among others, which can be accessed,
 +
created, removed and modified by a process using HTTP protocol. This should enable you to
 +
create web interfaces for accessing the system, which prevents the installation of software on
 +
the devices of users is not necessary, which are not object of study in this work.
 +
For demonstration purposes, in this paper was developed a prototype system capable of
 +
interpreting and executing a subset of the specified access interface operations. This prototype
 +
was able to interpret commands to publish experiments settings on the server, start and stop
 +
instances of virtual networks Netkit2, and interact with those instances.
  
= Cronograma =
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
! rowspan="2" style="background: #efefef;" | Etapas
 
! colspan="2" style="background: #efefef;" | Mês
 
|-
 
! style="background: #efefef;" | Novembro
 
! style="background: #efefef;" | Dezembro
 
|-
 
| Revisão bibliografica
 
| X
 
|
 
|-
 
| Escrita do documento
 
|  |
 
| X
 
|-
 
{| border="0"
 
|}
 
  
= Referências Bibliográficas =
+
'''Palavras chave:''' Serviços web, Netkit2, REST, redes virtuais.
  
Sobre o Netkit: http://wiki.netkit.org/index.php/Main_Page
 
  
Sobre o Grid: http://www.globus.org/grid_software/ecology.php
+
== Arquivos ==
  
Sobre a nuvem: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
+
'''Monografia:''' [[Media:TCC_Ricardo Martins.pdf|Monografia.pdf]]

Edição atual tal como às 22h08min de 6 de março de 2015

Autor: Ricardo Martins

Resumo:

O Netkit2 é um ambiente de criação de redes virtuais criado para facilitar a realização de experimentos com redes virtuais. O Netkit2 se apresenta como um programa que, para ser utilizado, deve ser instalado em um computador com sistema operacional Linux. Este trabalho propõe a elaboração de uma infraestrutura para a execução remota do Netkit2 em um ou mais servidores, o que deve tornar possível a criação de um laboratório virtual de redes de computadores. Para isso, propõe-se uma extensão para o Netkit2 capaz de executar, controlar e oferecer uma interface de acesso remoto para experimentos com redes de computadores virtuais, denominadas instâncias do Netkit. Do ponto de vista do usuário, o sistema proposto se apresenta como um serviço web, o qual segue o estilo de arquitetura conhecido como Representational State Transfer (REST). Assim, o sistema ´e modelado como um conjunto de recursos, tais como redes virtuais, instˆancias e máquinas virtuais, dentre outros, os quais podem se acessados, criados, removidos e modificados por meio de operac¸ ˜oes usando o protocolo Hypertext Transfer Protocol (HTTP). Isso deve possibilitar que se criem interfaces web para acesso ao sistema, o que evita a instalação de software nos dispositivos dos usuários, as quais, no momento, não são objeto de estudo neste trabalho. Para fins de demonstração, desenvolveu-se um protótipo do sistema capaz de interpretar e executar um subconjunto das operações da interface de acesso especificada. Esse protótipo foi capaz de interpretar comandos para publicar configurações de experimentos no servidor, iniciar e terminar instâncias de redes virtuais do Netkit2, além de interagir com essas instãncias.


Abstract:

The Netkit2 is a virtual environment for creating networks made to facilitate the realization of experiments with virtual networks. The Netkit2 is a program that should be installed on a computer with Linux operating system to be used. This paper proposes the development of an remote infrastructure for execution of Netkit2 on one or more servers, which should make it possible to create a virtual laboratory of computer networks. For this propose, will be create an extension to the Netkit2 to able execute, control and provide a remote access interface for experiments with networks of virtual machines, called Netkit instances. From the user point of view, the proposed system is presented as a web service, which follows the architectural style known as REST. Thus, the system is modeled as a set of resources such as virtual networking, forums and virtual machines, among others, which can be accessed, created, removed and modified by a process using HTTP protocol. This should enable you to create web interfaces for accessing the system, which prevents the installation of software on the devices of users is not necessary, which are not object of study in this work. For demonstration purposes, in this paper was developed a prototype system capable of interpreting and executing a subset of the specified access interface operations. This prototype was able to interpret commands to publish experiments settings on the server, start and stop instances of virtual networks Netkit2, and interact with those instances.


Palavras chave: Serviços web, Netkit2, REST, redes virtuais.


Arquivos

Monografia: Monografia.pdf