Documente Academic
Documente Profesional
Documente Cultură
de video; Enjambre.
4
CONTENIDO
NDICE DE FIGURAS..................................................................................7
NDICE DE TABLAS....................................................................................8
I. INTRODUCCIN......................................................................................9
1.1 ASPECTOS TERICOS..........................................................................9
1.2 MOTIVACIN......................................................................................19
1.3 OBJETIVOS DE LA MEMORIA...............................................................21
1.4 CONTRIBUCIN..................................................................................22
1.5 ORGANIZACIN..................................................................................23
1.6 COMENTARIOS FINALES.....................................................................24
II. MARCO TERICO................................................................................26
2.1 INTRODUCCIN..................................................................................26
2.2 PROTOCOLOS DE RELEVANCIA...........................................................35
2.2.1 PROTOCOLOS TCP/IP...................................................................35
2.3 ALTERNATIVAS...................................................................................60
2.4 RESUMEN DE LO SELECCIONADO........................................................67
2.5 ESCENARIO.......................................................................................68
2.6 IDEA................................................................................................. 69
2.7 DECISIONES......................................................................................68
2.8 CONCLUSIN.....................................................................................71
III. ANLISIS Y DISEO...........................................................................73
3.1 ARQUITECTURA DEL SISTEMA.............................................................74
3.2 CASOS DE USO..................................................................................78
3.3 DIAGRAMA DE SECUENCIA.................................................................84
3.4 DISEO DINMICO...........................................................................109
3.5 RESUMEN.......................................................................................112
3.6 COMENTARIOS FINALES....................................................................113
IV. IMPLEMENTACIN Y PRUEBAS......................................................114
4.1 INTRODUCCIN................................................................................114
4.2 ESCENARIO DE APLICACIN..............................................................115
4.3 PRUEBAS DE EFECTIVIDAD...............................................................118
4.4 ANLISIS DE LA PRUEBAS.................................................................136
4.5 COMENTARIOS FINALES....................................................................136
V. CONCLUSIONES Y TRABAJOS FUTUROS.....................................148
5.1. CONCLUSIONES..............................................................................148
5.2. TRABAJO FUTURO..........................................................................148
VI. BIBLIOGRAFA Y REFERENCIAS....................................................148
ANEXOS.................................................................................................155
ACRNIMOS..........................................................................................155
LISTA DE TRMINOS...............................................................................156
INSTALACIN APLICACIN.......................................................................157
INSTALACIN TRACKER LOCAL................................................................160
ENLACES FUNCIONAMIENTO BTS:..........................................................163
Cdigo fuente aplicacin:.....................................................................163
NDICE DE FIGURAS
7
FIGURA 4.20: HOST CONECTADOS A LA RED LOCAL LABORATORIO AZUFRE ..................... 133
FIGURA 4.21: RESULTADO DESCARGA DE UN CLIENTE FTP ............................................ 143
FIGURA 6.1: OPCIN CREAR CUENTA Y BASE DE DATOS EN RIVETTRACKER ..................... 161
FIGURA 6.2: CREACIN DEL ARCHIVO DE CONFIGURACIN DE RIVETTRACKER ................. 162
FIGURA 6.3: MENSAJE DE RIVETTRACKER TRAS COMPLETAR LA CONFIGURACIN ............ 163
NDICE DE TABLAS
8
I. INTRODUCCIN
comentarios finales.
impresoras locales.
9
La idea bsica es que los pares ofrecen sus recursos disponibles a
otros pares, a cambio de esto obtienen recursos. Este hecho hace que los
10
spywares que las aplicaciones controlan evitando almacenar las partes
descargadas en el disco.
conectado con una cantidad elevada de otros pares a la vez. Por ello se
con los que establecer conexin. En este caso las redes P2P
est conectado.
la carga del servidor hacia los pares de la red, de esta manera la carga
se reparte entre cada uno de los nodos de la red. Por otro lado los
11
aumentan los clientes, estos se convierten en pares, por lo que aumentan
las direcciones de los otros pares que tienen el archivo que solicita, de los
12
cuales recibir pedazos de archivos hasta que logre visualizarlo completo,
los nuevos pares que soliciten ser parte del enjambre para descargar el
archivo.
se conecta con el tracker para obtener una lista de otros pares, que se
13
encuentra tit-for-tat, algoritmo de bloqueo y algoritmo de desbloqueo
optimista.
objetivo sin empeorar al menos uno de los otros, que aplicado al caso de
las redes de pares, tiene como objetivo que todos los pares obtengan el
ms que otros (free riders). Para alcanzar este objetivo se usa una
realizan esta funcin de una forma muy correcta, ya que un par permite
cierto tiempo buscar nuevos posibles pares a los que enviar datos
14
Figura 1.3: Arquitectura de la red BitTorrent
[Elaboracin propia].
Terminologa BitTorrent
Torrent: Archivo con metadatos que indican al cliente de dnde bajar los
archivos.
15
Par: Es cualquier equipo que participa en la subida y descarga de un
archivo .torrent.
Seed: Es el par que tiene una copia completa del archivo que se
red.
torrent determinado.
16
Tracker: Es un servidor que aloja los metadatos, conoce dnde se
Index: Es una lista para buscar los archivos .torrent, alojados en un sitio
web.
seedeando al final.
Free riders: Aquellos pares que consumen ms que una parte equitativa
17
Capa OSI y BitTorrent
conexin entre el tracker y los pares, para que de esta forma el tracker le
comunique a cada par que lo solicita, la lista de pares que poseen piezas
18
UDP, mientras otras aplicaciones utilizan como transporte solo a webrtc,
por ltimo tambin existen las aplicaciones hbridas que usan ambas
alternativas.
la red, este camino debe ser el ms eficiente para que el paquete llegue al
1.2 Motivacin
del mundo tecnolgico, lo que implica varios problemas, entre los que se
19
Las debilidades del modelo C/S son visibles en la distribucin de
Para hacer frente a estas debilidades nacen las redes P2P, entre
video.
20
1.3 Objetivos de la memoria
Objetivo General
de manera asincrnica.
implementacin.
pares
21
8. Realizar las pruebas necesarias en un escenario de accin.
1.4 Contribucin
solo dependa de los propios estudiantes. La red supondr una base para
22
El valor agregado es que al tratarse de una red P2P la informacin
1.5 Organizacin
comentarios finales.
finales.
23
diagrama de comunicacin entre pares, diagrama de secuencia,
bibliogrficas y anexos.
24
En la actualidad servicios de streaming como Netflix o Spotify han
servicios ha llevado a que los usuarios dejen de utilizar en cierta parte las
suscripcin, mientras que las redes P2P lo hacen sin ningn costo, lo que
desea ver.
demanda, dado que es posible adaptar una red para que el contenido
25
II. MARCO TERICO
2.1 Introduccin
identificar la razn del porqu realizar una red P2P y cambiar a un modelo
26
ancho de banda) entre los diferentes pares que conforman la red para
solo requiere un S.O. que soporte TCP/IP. Adems, permite que los
27
ventajas, [], como son: menor vulnerabilidad, mayor escalabilidad,
28
Clasificacin por grado de Descentralizacin
travs de un nico servidor central, que sirve de punto de enlace entre los
un punto de fallo.
29
Modelo Descentralizado o Puro
de otros nodos. Las redes que se ajustan a este modelo son las ms
arquitectura.
30
implicados en el proceso de encaminamiento, y disminuir el volumen de
31
BitTorrent [7]. En la figura 2.1 se aprecia la capa de red P2P sobre la red
de routers.
Figura 2.1: Capa P2P sobre la red fsica (Fuente: elaboracin propia)
recursos en la capa.
No estructurado
32
para reestructurar y mantener la topologa y adems soportan ataques
que cada peticin tiene que recorrer todo o parte del sistema con la
que est disponible en varios pares del sistema, por tanto, cualquier
decir, que pocos pares albergan dicho contenido, e muy probable que la
red debido a la gran cantidad de trfico que circula por ella. Sin embargo,
albergar ms nodos.
33
Estructurada
Las redes estructuradas son sistemas P2P donde los nodos guardan
Gestionan una Tabla Hash Distribuida (DHT) y permiten que cada peer
34
Colaboracin: comunicacin (chat, mensajera instantnea), redes de
del flujo (es decir, adaptacin de las velocidades del emisor y el receptor).
35
servicio sin conexin. Es un servicio bsico que no ofrece ninguna
define los campos del datagrama, as como la forma en que actan los
contiene los protocolos de enrutamiento que determinan las rutas que los
36
BITTORRENT
peer, tiene como objetivo que todos los pares obtengan el elemento ms
(free riders). Para alcanzar este objetivo se usa una versin del mtodo
tampoco enva.
37
Figura 2.2: Enjambre de pares utilizando un Tracker (Fuente: elaboracin propia)
Archivo Torrent
verificar cada una de las piezas que componen el torrent completo. Para
parte de los usuarios que utilizan cliente usan la web para encontrar los
38
contraposicin a FTP o HTTP de transferencia es transparente para el
usuario. [11]
Bencoding
Bencoded string
manera:
clave:valor
Enteros
39
La inicial i y el final e delimitadores de inicio y finalizacin. Se puede tener
nmeros negativos, tales como i-3e. Slo los dgitos significativos debe
ser utilizados, no se puede rellenar el Entero con ceros. como i04e. Sin
Listas
valores>e
listas.
"eggs" ]
Diccionarios
40
d<bencoded string><bencoded elemento>e
en cuenta que las llaves deben ser cadenas bencodeadas. Los valores
]}
Ejemplo:
9:publisher3:bob17:publisherwebpage15:www.example.com18:publiser.
41
las claves enumeradas a continuacin. Todos los caracteres de la cadena
formas posibles: uno para el caso de 'un solo archivo' torrent con ninguna
el .torrent (string)
Diccionario Info
42
piece length: nmero de bytes en cada pieza (integer)
de hash SHA1 , uno por cada pieza (byte string, es decir, no urlencoded)
compatibilidad.
43
Info en Modo Archivo Mltiple
archivos. (string)
44
Tracker
HTTP GET. Las solicitudes incluyen las mtricas de los clientes que
tracker.
45
Figura 2.3: Tracker en sus 2 partes (Servidor Web y Anunciador) (Fuente:
elaboracin propia)
Par
y enviar y recibir datos sobre los torrents. Los pares crearn el archivo de
cualquier protocolo P2P, ya que sin ellos la red P2P no existira. [12]
46
Mensajes entre los pares
ceros.
cliente.
47
Por ejemplo una cadena handshake puede ser la siguiente:
<19><BitTorrent protocol><00000000><f5s4fc10#.df48(r6sd8>TR7973
215487654846>
mensaje.
48
Figura 2.5: Envo de mensaje choke (Fuente: elaboracin propia)
clientes bittorrent que implementan DHT para indicar en que puerto del
del archivo ya se posee, de este modo los clientes pueden hacer una
mejor eleccin sobre que parte ofrecer. Como se observa en la figura 2.6.
49
Figura 2.6: Envo del mensaje Have (Fuente: elaboracin propia)
que se posee actualmente, cada bit del campo payload representa una
el bit es cero. X indica el largo del campo bitfield, si este est mal
50
Figura 2.7: Envo de mensaje Bitfield (Fuente: elaboracin propia)
para pedir una pieza del archivo, index indica el ndice de la pieza, begin
herramienta Wireshark.
51
Figura 2.8: Envo de mensaje Request (Fuente: elaboracin propia)
52
Estrategias para la seleccin de piezas
Prioridad Estricta
mismo par.
a descargar. Cada par mantiene una lista del nmero de copias de cada
53
comunes todas las piezas del torrent estarn disponibles ms rpido para
el enjambre.
antes posible, dado que slo las piezas completas pueden ser enviadas.
54
3. Modo Final de Juego, este modo empieza al final de la descarga,
cuando el par pide todos los bloques que todava no han sido recibidos a
todos los pares de su conjunto de pares que poseen esos bloques. Cada
parece suponer un gran ancho de banda, el modo final de juego suele ser
Es difcil para un par nuevo comenzar la descarga sin nada que subir.
rara primero.
Algoritmo de Congestin
garantizar una buena relacin subida/bajada entre los pares. Por ejemplo
los free riders, pares que nunca suben o que no suben lo suficiente,
55
deben penalizarse. Congestionado significa que se rechaza
desbloqueados.
pieza.
56
DHT
implementaciones de Kademlia.
Antes del uso de DHT, los trackers eran el nica manera de realizar
una conexin con otros pares, dado que DHT funciona mediante la
57
distribucin de listas de pares identificados por el hash SHA-1 del torrent,
Tipos de streaming
58
Una segunda alternativa, es realizar una descarga progresiva de la
visualizar el medio, sino que tan slo se usa el ancho de banda necesario
[21]
59
2.3 Alternativas
Libtorrent- GNU/Linux
OS X
Monotorrent GNU/Linux
Windows C# Si Si Si Si
OS X
rTorrent GNU/Linux
OS X C++ Si No Si Si
WebTorrent GNU/Linux
Windows Javascript Si No Si Si
OS X
Tabla 2.1: Tabla de Libreras para el protocolo BitTorrent (Fuente: Wikipedia [14])
60
Libtorrent Rasterbar
librera.
Objetivos
61
Selector de piezas
secuencial.
Portabilidad
62
Monotorrent
MacOs u otros.
63
Caractersticas:
compacto
2. Soporte Multi-Tracker
7. Resumen rpido
9. Priorizacin de archivos
WebTorrent
64
en ambos tiempos de ejecucin. En node.js, este mdulo es un simple
cliente de torrent, usando TCP y UDP para hablar con otros clientes
torrent tradicionales.
Caractersticas
npm)
- Rpido
la ms rara-primera pieza
65
- Api de extensin de protocolo para agregar nuevas extensiones
sin complementos
mp4 (h.264))
[18].
RTorrent (libtorrent-rakshasa)
66
diferencia de otras implementaciones al transferir directamente de las
caractersticas no son del todo adecuadas para este proyecto, por lo que
67
descubrimientos de pares locales, y un enfoque en la eficiencia en el uso
DHT, uTP, multitracker, Tracker UDP y HTTP Seed. Tambin cuenta con
fcil de utilizacin.
2.5 Escenario
los metadatos de los archivos a compartir, desde ste los dems alumnos
68
descargando el mismo archivo de video, de esta manera las mquinas
transmitirn las piezas que cada una necesite para luego reproducir el
2.6 Idea
plataforma.
los alumnos, de modo que los estudiantes van obteniendo las piezas
69
obtienen totalmente el archivo. Para la realizacin de la descarga de un
2.7 Decisiones
70
algunos de sus mecanismos no son del todo adecuados para el
esta rea, se opt por descargar las primera piezas del video, que son las
del enjambre.
2.8 Conclusin
71
elevado nmero de mquinas utilizadas por los alumnos. Por tanto la idea
72
III. ANLISIS Y DISEO
xito, su cdigo sirvi de ayuda para tener una idea como est construida
Libtorrent-Rasterbar.
73
3.1 Arquitectura del sistema
contenido.
74
Dicho archivo torrent contiene toda la metadata del video a descargar
como nombre del archivo, URL del tracker, nmero de piezas, tamao de
las piezas, tamao del archivo en bytes, fecha de creacin, etc. El tracker
75
librera libtorrent-rasterbar en C/C++ para manejar la descarga y
de video.
su metadatos.
archivo al tracker para comenzar a ser un seed. Una vez subido, los
76
usuarios que deseen descargar el video, primero descargan el torrent y lo
video, y algunos videos tienen esto al final del archivo, se tiene que
77
- Al comienzo de la descarga, tiene que existir al menos un seeder
distribuida.
de uso.
78
Caso de uso Reproducir video
reproductor.
descarga de un video
79
Post-Condicin El archivo torrent asociado al archivo video queda creado
80
Caso de uso Conexin tracker
torrent
descargando el video
81
Objetivo Compartir un archivo torrent que contiene la informacin del
video a descargar
tracker
servidor.
usuario
82
del usuario
83
3.3 Diagrama de Secuencia
ingresa campos como nombre del torrent, fecha de creacin, como opcin
el tamao de la pieza, URL del tracker, nombre del creador del torrent y
momento determinado.
84
Figura 3.4: Diagrama de secuencia subir archivo torrent
del torrent, el usuario rellena los campos (nombre torrent, tracker, tamao
85
Figura 3.5: Diagrama de secuencia generar archivo torrent.
86
Figura 3.6: Diagrama de secuencia ver metadatos torrent.
87
para conocer los dems pares que posee piezas del archivo, la aplicacin
solicita al tracker una lista de IP's de los pares que estn conectados, el
tracker le enva una lista de los pares (IP y puerto) al par que la solicito,
la conexin, el mensaje bitfield sirve para conocer que piezas posee cada
par (1 cuando tiene la pieza y 0 cuando no), si el par contiene una pieza
que el otro no, ste ltimo le enviar un mensaje interested, por defecto
de las piezas con otros pares. Tras completar el archivo, es decir todos
los bloques de todas las piezas, este enva el mensaje de estado not
88
tener descargadas las primeras piezas, todo esto antes de finalizar la
descarga.
89
En la figura 3.8, se aprecia la comunicacin entre roles de los
enva el mensaje Bitfield para conocer que pieza tiene cada par, en el
caso del seed tendr todas las piezas en 1, dado esto el lecheer al estar
selecciona a pares para desbloquearlos, esto es til para los pares que
tienen bajas tasas de subida o pares que no tienen piezas que compartir.
90
lo que al completar los bloques de la primera pieza, el leecher enva el
mensaje tener para comunicar a otros pares que tiene la pieza completa,
not interested.
91
En la figura 3.9, se muestra una comunicacin entre pares, en este
bloques de una pieza a par 1 y par 3, par 1 le enva ese bloque solicitado,
por lo que par 2 enva el mensaje cancelar al par 3, para que de esta
92
Figura 3.9: Diagrama de la comunicacin entre los pares
93
Como se explic anteriormente la aplicacin implementa el
estas clases son utilizadas para cumplir las funciones principales del
sistema.
94
La clase principal es Session, una vez creado el objeto de session, este
genera el hilo principal que gestiona todos los torrents. Mediante los
obtener el estado de los torrents, iniciar y detener servicios upnp, lsd, dht
y natpmp.
permiten descargar las primeras piezas del video antes que cualquier otra
para todas las piezas, la prioridad 2 indica que tiene una prioridad ms
alta que la prioridad normal, las piezas se prefieren sobre las piezas que
95
piezas parciales, la prioridad 4 indica se prefieren sobre las piezas
de que una pieza posea una prioridad, la pieza tiene un plazo lmite para
contenido de un torrent.
96
aplicacin, todo esto incluido en el archivo principal como el men del
programa.
explican a continuacin:
variable tipo entero para el lmite del archivo. Se abre el archivo, luego se
fseek retorna cero, luego con ftell se devuelve la posicin actual del
97
leen los datos del archivo con la funcin fread, que devuelve el nmero de
datos ledos.
instrucciones.
98
La funcin print_app_bt utiliza la estructura de libtorrent para
99
archivo, generar torrent, mostrar metadatos del archivo, mostrar puertos
100
En el caso de ingresar un enlace magntico se definen variables
como xt, urn, dn, tr. Al conocer la estructura de una enlace, se inicializan
101
GenerarTorrent.cpp: Genera el archivo torrent desde un archivo
relleno de los campos del torrent, con un switch para cada opcin, hasta
el caso de aadir una carpeta con varios archivos), se crea una instancia
102
Figura 3.13: Cdigo de GenerarTorrent.cpp
103
escuchar en el rango de puertos oficiales de BT (6881- 6889). Se
session. Se declara cadena como una variable tipo char, esta variable
conectadas. Dentro del bucle se imprime los datos del archivo que se
104
est descargando, el porcentaje de descara, el nombre del archivo, la
por sesin, URL del tracker, el estado del archivo y una barra de progreso
descargadas.
le da prioridad y plazo lmite a las primeras piezas del video por sobre el
105
Una de las opciones implementadas es piezas enumeradas que se
un for) desde la pieza cero hasta la ltima pieza, almacenando las piezas
se encuentran descargadas.
106
Por ltimo la opcin ms importante para el objetivo de la
Para lograr esto, primero se define la variable vector rutafija de tipo char,
nombre del torrent en la variable carpeta tipo string, tanto la carpeta como
107
que reproduce el archivo de video, despus de la llamada a la funcin se
reproductor.
CompartirPiezas.cpp.
108
3.4 Diseo dinmico
109
Figura 3.16: Diagrama de comunicacin subsistema BTStream
110
Figura 3.17: Diagrama de comunicacin Generar torrent
(Fuente: elaboracin propia)
111
En la figura 3.19 se presenta el diagrama de colaboracin
Compartir piezas, que muestra como colaboran los objetos entre ellos
3.5 Resumen
112
sistema, as como las diversas etapas que desarrolla cada componente
113
IV. IMPLEMENTACIN Y PRUEBAS
4.1 Introduccin
explicativo.
en C y el tracker en PHP.
114
Figura 4.1: Grfico de dependencia de BTS
(Fuente: elaboracin propia)
P2P BT de este trabajo, se exponen las reglas mnimas bajos las cuales
video.
115
Primero el usuario cuenta con un script (ver anexo) de descarga y
arranca el ejecutable.
interfaz web del tracker local para subir el archivo torrent, ingresa el login
tracker. Una vez publicado otros usuarios de la red pueden descargar los
116
local podrn acceder a la interfaz web del tracker y bajar el torrent, para
local con un tracker local, como tambin funciona conectado Internet con
un tracker remoto.
117
4.3 Pruebas de efectividad
RivetTracker para que los pares se pongan en contacto unos con otros.
118
Figura 4.2: Router y switch de la red P2P BTS.
capturar el trfico generado y ver los paquetes que circulan por la red. Se
119
local para comparar la velocidad de descarga con BTS. Finalmente una
los cuales hicieron uso de la aplicacin, para esto lo primero que se hizo
de 4 minutos y 22 segundos.
120
Se ingresa el nombre completo del archivo que no debe contener
la figura 4.4.
4.5, entre estas opciones las obligatorias son incluir la URL del tracker
generar torrent.
121
El resultado de ingresar los campos en el torrent se muestra en la
por el usuario (URL del tracker local, creador, comentarios) y los que no,
122
Figura 4.7: Decodificacin del archivo torrent libtorrent-video1.torrent
de las piezas en bytes y las piezas del torrent con el hash SHA-1.
123
En la figura 4.8 muestra el nmero de piezas totales del archivo
es de un archivo de video.
subir este archivo al tracker local, de esta manera los usuarios de la red
124
Se ve en la figura 4.9 no contiene torrents, con una cuenta
en ese momento el servidor dhcp del router le asigno esa IP. Para evitar
125
El usuario ingresa a la cuenta como se observa en la figura 4.10,
una vez ingresado a la cuenta, el usuario puede subir los torrents que
126
carpeta Descargas, por lo que ese usuario automticamente comienza a
tambin se encuentra en 0.
127
(libtorrent-video1.torrent), una vez hecho esto se inicia la descarga del
128
descarga, velocidad de descarga mxima y el promedio de la velocidad
active a partir del 20% del total de piezas, este 20% son secuencialmente
las primeras piezas del video, debido a que las primeras piezas se
129
Figura 4.14: Descarga de video al 9.97% y ejecucin de nload
130
Figura 4.16: Descarga de video al 74.13%.
131
En esta oportunidad el tiempo de descarga para un video de 40,4
Evolutionoflibtorrent.mp4.
132
Figura 4.19: Estadsticas del tracker y lista de torrents
133
En la figura localhost es la mquina donde se instal y ejecuto
diferente duracin, los tamaos varan desde 40,4 MB hasta 715,1 MB, el
a travs switch Cisco Catalyst hacia la mquina seed, esto marca una
134
diferencia ya que la velocidad mxima en este caso es de 10 MB,
seed.
135
fuente y un usuario que descarga el video tanto para FTP como para
BTS.
caso de BT
136
Tamao Velocidad de descarga Tiempo de bajada para un video
3% del tiempo de duracin total del video, por lo que la reproduccin del
descarga.
137
Resultados obtenidos Prueba 2: 1 Seed - 1 Leecher
138
Tamao Velocidad de descarga Tiempo de bajada para un video
una velocidad de descarga mxima que vario desde 5.49 Mbit/s hasta
139
Tamao Velocidad de descarga Tiempo de bajada para un video
140
Para esta prueba se aument el nmero de seed y se mantuvo el
de esto el tiempo de bajada fue menor en la prueba 3 para los 100 MB,
prueba 3.
(40,4 MB ) promedio
141
Tamao archivo Velocidad de descarga Tiempo de bajada
(303,1 MB ) promedio
( 434,7 MB ) promedio
142
Tamao archivo Velocidad de descarga Tiempo de bajada
( 715,1 MB ) promedio
143
ligeramente, mientras que en BTS la velocidad de descarga promedio
1 Cliente, que BTS con 1 seed 1 leecher, la diferencia entre los tiempo
2 Seed - 3 Leechers
Leecher 1 47 segundos
144
Leecher 2 37 segundos
Leecher 3 37 segundos
2 Seed - 4 Leechers
Leecher 1 71 segundos
Leecher 2 72 segundos
Leecher 3 73 segundos
Leecher 4 76 segundos
145
cada uno de los clientes, para el cliente 1 tuvo una medida de 289
solicitan, adems una ventaja es que los leechers una vez que descargan
cada par puede colaborar en la comparticin del video a otros pares, por
cliente-servidor.
146
4.5 Comentarios Finales
existen varias opciones, como utilizar una unidad flash y copiar los
Otros motivos para descargar torrents son que ofrecen una buena
usuarios de Internet.
147
V. CONCLUSIONES Y TRABAJOS FUTUROS
5.1. Conclusiones
profesor.
148
pieza ms rara primero), de esta manera varia el nmero de fuentes que
descarga de una red P2P comparado con una red C/S, este resultado
paralela.
149
VI. BIBLIOGRAFA Y REFERENCIAS
http://www.tyr.unlu.edu.ar/tyr/TYR-p2p/marino-p2p.pdf [Accedido:
28-sept-2016]
150
[Accedido: 26 de Septiembre 2016].
2016]
Computacin, 2010.
151
6th ed. Pearson Education, Boston, USA, 2012 [En lnea]. Disponible
[Accedido: 20-ago-2016]
Espaa, 2006.
http://zaguan.unizar.es/record/5316/files/TAZ-PFC-2010-312.pdf
[Accedido: 23-oct-2016]
152
dic-2016].
[17] WebTorrent The streaming torrent client. For node.js and the web,
https://github.com/feross/webtorrent/blob/master/docs/api.md
[Accedido: 7-ene-2017].
http://www.grc.upv.es/docencia/tdm/practicas/P3.pdf [Accedido: 7-
Oct-2016]
153
Riverside, California, USA, Abr. 2006. [En lnea] Disponible en:
2016]
[Accedido: 20-ene-2017]
25-dic-2016].
[Accedido: 27-dic-2016].
154
ANEXOS
ACRNIMOS
BT BitTorrent. 18, 22, 61, 68, 73, 75, 84, 87, 99, 115, 118, 136
BTS BiTorrent Stream. 99, 115, 116, 117, 118, 119, 120, 127, 134, 135,
DHT Distributed hash table. 34, 43, 49, 57, 60, 61, 65, 67, 68, 95, 103,
104
IP Internet Protocol. 22, 35, 36, 61, 88, 99, 123, 125
P2P Peer-to-Peer. 4, 9, 10, 11, 12, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28,
30, 31, 32, 34, 46, 66, 69, 114, 115, 119, 146, 147, 149
TCP Transmission Control Protocol. 18, 22, 27, 35, 47, 65, 134
URL Uniform Resource Locator. 42, 43, 45, 75, 80, 83, 84, 104, 105, 121,
155
LISTA DE TRMINOS
intercambio de archivos.
de contenido.
protocolo BitTorrent.
estiman conveniente.
156
Enjambre: Conjunto de pares que comparten un archivo en comn
BitTorrent.
forma automtica.
Instalacin aplicacin
instala una versin anterior de libtorrent para enlazar el programa con las
157
#!/bin/bash
dev
wget
https://ufpr.dl.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.zip
unzip boost_1_60_0.zip
cd boost_1_60_0
./bootstrap.sh with-libraries=system,filesystem,thread,regex,iostreams,
date_time --prefix=/usr/local
./b2
./b2 install
ldconfig
158
cd -
wge thttps://github.com/arvidn/libtorrent/releases/download/libtorrent
1_0_8/libtorrent-rasterbar-1.0.8.tar.gz
cd libtorrent-rasterbar-1.0.8
encryption
make
export LD_LIBRARY_PATH=/usr/local/lib/
cd -
wget https://github.com/HCCorvacho/BTStreaming/archive/master.zip
unzip master.zip
cd BTStreaming-master
make
159
Instalacin tracker local
160
Figura 6.1: Opcin crear cuenta y base de datos RivetTracker
contrasea del administrador, nombre del host que aloja la base de datos,
URL principal del tracker seguido del nombre del directorio donde se ha
161
servidor, al llenar todos los campos se pulsa el botn "Create Config File"
162
Figura 6.3: Mensaje de RivetTracker tras completar la configuracin
compartir el video.
- https://youtu.be/vJSPR5HdcaQ
- https://youtu.be/IBG_c0Otank
- https://youtu.be/3n4N1lfqB08
- https://youtu.be/DD1UC90T32c
- https://github.com/HCCorvacho/BTStreaming
163