6Pauta, Quito / Implementacin de un sistema basado en
BitTorrent.
Jhonny Pauta Pintado , Pal Andrs QuitoUniversidad Politcnica
Salesiana
[footnoteRef:1] [1: ]
IMPLEMENTACIN DE UN SISTEMA BASADO EN BITTORRENTResumen
En la actualidad la gestin y distribucin de archivos en la red
tiene una gran demanda. Normalmente existen varias formas por las
cuales estos archivos son adquiridos y distribuidos por la red. En
el presente documento presenta la implementacin, configuracin y
puesta en marcha de un sistema basado en BitTorrent, con la
funcionalidad de distribuir archivos que estn fragmentados, para su
posterior ensamblaje.
Palabras clave: servidor, bittorrent, torrent, sistema
torrent.
1, Estudiante de Ingeniera de Sistemas mencin Gestin,
Universidad Politcnica Salesiana sede Cuenca.
[email protected] Estudiante de Ingeniera de Sistemas mencin
Gestin, Universidad Politcnica Salesiana sede Cuenca.
[email protected]
Abstract
At present the management and distribution of files in the
network has high demand. Normally there are several ways to acquire
and distribute on the network. This paper presents the
implementation, configuration and putting in march of system based
on BitTorrent, with functionality of distributing files that are
fragmented, for later assembly.
Keywords: Server, bittorrent, torrent, torrent system.
1. IntroduccinEn la actualidad se manejan gran cantidad de
archivos en Internet, estos archivos son manejados por grandes
cantidades de personas, las cuales distribuyen y gestionan estos
archivos, existen herramientas capaces de facilitar la distribucin
de los mismos, haciendo que la comunidad entera pueda obtener
archivos segn la necesidad del momento.Para iniciar con el
desarrollo del tema, primero se hablar de los conceptos necesarios
sobre las herramientas con las cuales se trabajar, posteriormente
se tratar sobre el proceso de instalacin de dichas herramientas
adems de la configuracin necesaria para el correcto funcionamiento.
Finalmente se realizaran las pruebas de funcionamiento necesarias
para verificar la eficiencia de nuestro servidor.2. Desarrollo2.1.
Conceptos2.1.1. Virtualizacin
La tecnologa de la virtualizacin ejecuta aplicaciones o sistemas
operativos completos que muchas de las veces por costos o espacio
son imposibles adquirirlos de manera fsica, por lo que son de
alguna manera simulados dentro de una infraestructura, la cual
compartir recursos necesarios para que el sistema a simular pueda
ser ejecutado adecuadamente. [1]2.1.2. VirtualBox
Figura 1, Logo de VirtuaBox, tomada de:
https://www.virtualbox.org/VirtualBox us una potente producto que
ayuda a la virtualizacin, ya sea con fines empresariales o
simplemente para el uso domstico. VirtualBox es ampliamente rico en
caractersticas que brinda un alto rendimiento, adems de cdigo
abierto con una licencia GPL, y de su presentacin multiplataforma
con la cual se podr ejecutar en varios sistemas operativos de uso
general. [2]2.1.3. UbuntuUbuntu es un sistema operativo con
licencia GPL, es una distribucin de Linux muy utilizada ya que
brinda facilidad de entorno con grandes caractersticas que ayudaran
a tareas de desarrollo que estn orientadas al libre acceso, cuenta
con una gran estabilidad por lo que le hace uno de los sistemas
operativos de Linux mas utilizados.2.1.4. Apache
Figura 2, Logo de Apache, tomada de:
http://httpd.apache.org/Apache es un servidor HTTP (Protocolo de
Transferencia de Hipertexto) gratuito y de cdigo abierto el cual es
utilizado mayoritariamente por instituciones o universidades, este
servidor al ser de cdigo abierto est en constante mantenimiento y
mejoras debido a su comunidad de desarrolladores hacindolo robusto
y estable. [3]2.1.5. PHP
Figura 3, Logo de PHP, tomada de:
http://php.net/download-logos.phpPHP (Hypertext Preprocessor) es un
lenguaje de programacin de cdigo abierto, el cual est orientado
para el desarrollo web y adems puede ser insertado dentro de HTML
(Lenguaje de Marcas de Hipertexto).Este lenguaje es bastante
sencillo de implementar, pero a la vez ofrece grandes
caractersticas y funcionalidades. [4]2.1.6. MySQL
Figura 4, Logo de MySQL, tomada de: http://www.mysql.comEl
software MySQL ofrece caractersticas como rapidez, multi-hilo,
multiusuario, adems de un servidor de Base de Datos SQL robusto,
que cuenta con licencia pblica y otra comercial. Este sistema de
gestin de base de datos relacional, est diseado para gran carga de
trabajo y mantener estabilidad en momentos de alta demanda. [5]
2.1.7. RivetTrackerEs una aplicacin escrita en cdigo PHP, el cual
es un rastreador de BitTorrent que utiliza la base de datos MySQL,
y es un buen gestor que servir para implementar el sistema
BitTorrent, ya que por su fcil instalacin y gestin ayudara con el
proyecto y su finalidad.2.1.8. BitTottentEs un sistema de descargas
de archivos punto a punto, la funcionalidad del mismo es que cuando
el usuario final busca determinado archivo y lo desea adquirir,
BitTorrent descarga partes del archivo de otros usuarios hasta que
las partes descargadas puedan ensamblarse y proporcionar el archivo
completo. [6]2.2. Instalacin2.2.1. RequerimientosPara iniciar la
instalacin de las herramientas necesarias que harn posible que el
servidor cumpla las funciones requeridas, se deber contar con un
sistema operativo que soporte dichas herramientas, adems de tener
recursos que hagan posible el desarrollo del proyecto.
2.2.2. Instalar servidor LAMPEl servidor LAMP (Linux, Apache,
Mysql, Php), es una herramienta que ofrece funcionalidad con mdulos
para el desarrollo de un servidor web.Para la instalacin de este
servidor, se deber ejecutar la siguiente lnea de comando, para esto
nos dirigimos al terminal de Ubuntu:sudo apt-get install
lamp-server^
Figura 8. Instalacin de servidor LAMP.
Durante la instalacin se pedir la configuracin de MySQL, se
deber ingresar la informacin necesaria para continuar con la
instalacin.2.2.3. Instalacin de paquetes adicionales de PHPPara que
PHP funcione correctamente y se complemente adecuadamente a las
herramientas que se instalarn en el servidor. sudo apt-get install
libapache2-mod-php5 php5-mcryptsudo apt-get install
mysql-server
2.2.4. Descarga de RivetTrackerPara descargar el servidor
RivetTracker, se deber abrir la terminal y digitar el siguiente
comando, con el cual se descargaran los paquetes del mismo.wget
--trust-server-name
http://downloads.sourceforge.net/project/rivettracker/rivettracker/RivetTracker%201.03/rivettracker_1-03.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Frivettracker%2Ffiles%2F&ts=1392807657&use_mirror=optimate
- See more at:
http://enavas.blogspot.com.es/2014/02/rivettracker-monta-tu-propio-tracker.html#sthash.CwN22lVk.dpufUna
vez descargado el servidor, se deber descomprimir con el siguiente
comando:unzip rivettracker_1-03.zipDespus de deber mover la carpeta
a la ubicacin que ofrece el servidor Apache, para esto digitamos:mv
/var/www/rivettracker /var/www/tracker
2.3. ConfiguracinPara poner en funcionamiento el servidor
BitTorrent, se debern realizar ciertas configuraciones que
permitirn su uso en el presente trabajo.2.3.1. Configuracin del
servidor RivetTrackerPara la configuracin del servidor, se deber
ingresar al navegador web e introducir la siguiente direccin con la
cual se iniciara las
configuracioneshttp://localhost/tracker/install.phpAparecer una
pantalla de inicio, se deber seleccionar la segunda opcin ya que es
una configuracin inicial.
Posteriormente se mostrar una nueva pantalla, en la cual se
ingresara los datos que se requieren; Usuario administrado de la
base de datos. Contrasea del administrador. Nombre del host del
servidor. Usuario de la base de datos (nuevo). Contrasea del nuevo
usuario. Nombre de la base de datos.
Como se aprecia en la figura, una vez ingresado los datos,
continuaremos la configuracin dando clic en Install. A continuacin
se introducirn datos para configurar el servidor. Nombre del
usuario que podr subir torrents al tracker. Contrasea del usuario.
Usuario administrador del tracker. Contrasea usuario administrador.
URL del tracker, en este caso la direccion IP del servidor.
Luego se dar la opcin Create Config File, que ser el fichero de
configuracin que posteriormente podrn ser editados. Si todo sale
como lo previsto nos aparecer una pgina informativa.La informacin
que aparece nos indica: Creacin del archivo de configuracin
config.php Terminado el proceso, borrar install.php Verificar que
los directorios torrents y rss tengan los permisos necesarios.
3. Pruebas de FuncionamientoEn busca de ingresar e interactuar
con el servidor torrent se han creado archivos torrents para poder
compartir la informacin mediante dicho servidor.Para crear el
archivo torrent utilizamos la aplicacin llamada Transmission, como
podemos ver en la imagen.
Luego nos vamos al men y elegimos la opcin de nuevo y
seleccionamos el documento que vamos a compartir y en la opcin de
los rastreadores colocamos
http://192.168.1.106/tracker/announce.php y luego damos clic en
nuevo y luego se generara el archivo torrent.
Una vez creado el archivo torrent, procedemos a abrir el
navegador con la direccin http://localhost/tracker/index.php, la
cual nos dirigir a la siguiente pgina:
Damos clic en Add Torrent to tracker database y nos mostrara la
siguiente ventana:
Seleccionamos el archivo torrent, activamos la segunda casilla y
escribimos la direccin del archivo que vamos a compartir.
Agregamos el archivo a la base de datos y luego nos mostrar la
informacin del torrent:
Luego aparecer en la pantalla principal el torrent que ya est
listo para ser compartido.
Desde un cliente vamos a utilizar el archivo torrent para
descargar el archivo compartido utilizando utorrent.
Una vez agregado se proceder a descargar el archivo como se
muestra en las siguientes imgenes:
4. ConclusionesExisten herramientas capaces de ayudar a
desarrollar y complementar sistemas informticos complejos, dichas
herramientas ayudan que una aplicacin determinada con un fin
especfico pueda funcionar correctamente, y no solo eso sino
potenciar y agregar nuevas caractersticas poniendo a punto el
sistema con la finalidad de que cumpla los requerimientos
establecidos. Una de las herramienta que se manej e implemento en
el presente proyecto, es BitTorrent la cual nos muestra como este
sistema es capaz de proporcionar descargas de archivos los cuales
son divididos y se encuentran en distintas ubicaciones, con la
finalidad de que ese archivo pueda ser alcanzado no solo en una
sino en varias ubicaciones.
5. Referencias
[1] J. G. Villalonga, "Vistualizacin de la infrestructura
informtica".[2] O. V. Box, "Definicion de Virtual Box," [Online].
Available: https://www.virtualbox.org/.[3] Apache, "Qu es Apache?,"
[Online]. Available: https://www.apache.org/foundation/.[4] T. P.
Group, "PHP: Qu es PHP? - Manual," 2015. [Online]. Available:
http://php.net/manual/es/intro-whatis.php.[5] M. Widenius and D.
Axmark, MySQL Reference Manual: Documentation from the Source,
O'Reilly Media, Inc., 2002. [6] A. Tanenbaum and M. Van Steen,
Sistemas Distribuidos: Principios y Paradigmas, Mxico: Pearson
Educacin, 2008.