Vous êtes sur la page 1sur 7

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.

IMPLEMENTACIN DE UN SISTEMA
BASADO EN BITTORRENT

1, Estudiante de Ingeniera de Sistemas mencin Gestin, Universidad Politcnica Salesiana sede Cuenca.
jhonnypauta@gmail.com
2 Estudiante de Ingeniera de Sistemas mencin Gestin, Universidad Politcnica Salesiana sede Cuenca.
paulquito1992@gmail.com

Jhonny Pauta Pintado , Pal Andrs Quito


Universidad Politcnica Salesiana

Resumen
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,


torrent, sistema torrent.

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.

bittorrent,
Keywords:
Server,
torrent system.

bittorrent,

torrent,

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.

1. Introduccin
En 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. Desarrollo
2.1. Conceptos
2.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.

Ubuntu

Ubuntu 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/downloadlogos.php

PHP (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).

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.

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.com

El 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.

Instalar servidor LAMP

El 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^

RivetTracker

Es 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.

2.2.2.

BitTottent

Es 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. Instalacin
2.2.1.
Requerimientos
Para 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.

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 PHP
Para 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-mcrypt
sudo apt-get install mysql-server

2.2.4.

Descarga de RivetTracker

Para 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/

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.


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/riv
ettracker-monta-tu-propiotracker.html#sthash.CwN22lVk.dpuf

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.

Una vez descargado el servidor, se deber


descomprimir con el siguiente comando:
unzip rivettracker_1-03.zip

Despus 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. Configuracin
Para poner en funcionamiento el servidor
BitTorrent, se debern realizar ciertas
configuraciones que permitirn su uso en el
presente trabajo.

Como se aprecia en la figura, una vez


ingresado los datos, continuaremos la
configuracin dando clic en Install.

2.3.1.
Configuracin del servidor
RivetTracker

Para la configuracin del servidor, se deber


ingresar al navegador web e introducir la
siguiente direccin con la cual se iniciara las
configuraciones

http://localhost/tracker/install.php

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.

Aparecer 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;

Luego se dar la opcin Create Config


File, que ser el fichero de configuracin
que posteriormente podrn ser editados. Si

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.

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 Funcionamiento
En busca de ingresar e interactuar con el
servidor torrent se han creado archivos
torrents para poder compartir la informacin
mediante dicho servidor.

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:

Para crear el archivo torrent utilizamos la


aplicacin llamada Transmission, como
podemos ver en la imagen.

Damos clic en Add Torrent to tracker database y


nos mostrara la siguiente ventana:

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.

Seleccionamos el archivo torrent, activamos la


segunda casilla y escribimos la direccin del
archivo que vamos a compartir.

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.

Agregamos el archivo a la base de datos y luego


nos mostrar la informacin del torrent:

4. Conclusiones
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.

Existen 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
Una vez agregado se proceder a descargar el
archivo como se muestra en las siguientes
imgenes:

[1] J. G. Villalonga, "Vistualizacin de la infrestructura


informtica".
[2] O. V. Box, "Definicion de Virtual Box," [Online].
Available: https://www.virtualbox.org/.

Pauta, Quito / Implementacin de un sistema basado en BitTorrent.


[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/introwhatis.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.