wiki:PruebasTorrent

Version 4 (modified by irina, 14 years ago) (diff)

--

TOC(heading=Índice)?

Pruebas Enviando las imágenes con torrent

Introducción

Partimos de los explicado en Añadir soporte Bittorrent en servidor y de la librería FileTransfer.lib.

Por ahora sólo está probándose cómo compartir ficheros con un servidor centralizado que haría de tracker. Falta ver como compartir ficheros cuando uno de los clientes sea el que sirva de tracker.

Clientes

Para los equipos clientes se está utilizando el cliente de torrent ctorrent, funciona en línea de comando y permite tanto compartir archivos como generar el fichero de metainformación .torrent.

Descartamos otros clientes como bittorrent o bittornado que tienen comandos distintos para cada función, obligandonos a aumentar el número de ficheros que incluimos en nuestros clientes.

Servidor

Inicialmente estamos dando los servicios desde el mismo equipo donde tenemos el repositorio. Tenemos intalado un tracker y un cliente multiple que hace el papel "semillero" compartiendo todas imágenes que tenemos.

tracker

Las primeras pruebas se han hecho con bttrack de bittornado y de bittorrent.

También hemos probado como tracker el modulo de apache mod_bt:

  • Por ahora a la configuración por defecto sólo le hemos cambiado el puerto.
  • Tiene la desventaja que en el informe que muestra por web inicialmente sólo no aparecen los nombres de los archivos compartidos sino que se identifican por su hash
  • Existe una página register donde nos permiten poner los datos del nombre del archivo y el tamaño.
  • Habría que mirar la seguridad, con la configuración por defecto parece cualquier equipo de la red podría utilizarlo como tracker.

En ambos casos ha veces el tracker no reconoce los ficheros .torrent que genera el cliente ctorrent cuando queremos compartirlos nos da el error "got bad file info" (fichero corrupto). Se está buscando el motivo.

seeder (semillero)

Para lanzar todos los archivos de la imágenes a la vez estamos usando el comando btlaunchmany (no da problemas con los ficheros generados con ctorrent)

Funciones y script

Script

Se han modificado los script de crear y restaurar la imagen para que puedan utilizar el protocolo torrent:

createImage

Crea una imagen de una partición. Siempre que se crea una imagen se genera el archivo torrent correspondiente en el mismo directorio que la imagen. Si se guarda en el repositorio utiliza como tracker el el mismo servidor, si se guarda en cache utiliza de tracker el equipo local.

La sintaxis del script no ha cambiado:

createImagen ndisco nparticion REPO|CACHE imagen
ej: createImagen 1 2 REPO Ubuntu9

restoreImagen

Restaura una partición desde una imagen, la imagen podrá estar en cache o en el repositorio.

Si queremos restaurar el fichero desde la cache primero se comprueba si ya esta guardado en local y en caso de no existir se lo trae del repositorio por el protocolo torrent o unicast.

La sintaxis incluye el protocolo para la transferencia del fichero como parámetro opcional, necesario si se restaura desde cache.

restoreImagen REPO|CACHE imagen num_disco num_particion [ TORRENT|UNICAST ]
ej: restoreImagen CACHE WinXP 1 1 TORRENT

Nota: necesita modificación, despues de ejecutar la salida del teclado no se ve en pantalla, aunque sí funciona.

Funciones

En la librería FileTransfer.lib aparecen varias funciones relacionadas con torrent. Pasamos a comentarlas:

ogCreateTorrent

Crea un fichero torrent con la información del archivo de una imagen, se guardará en el mismo directorio donde este la imagen. Hemos de decir darle como parámetro la imagen y la ip del tracker.

ogCreateTorrent [ Repositorio| num_disco num_particion ] Imagen IpTracker
ej: ogCreateTorrent 1 1 WinXP 10.1.12.90
    ogCreateTorrent REPO Suse 10.1.12.90

ogShareTorrent

Comparte una imagen por el protocolo torrent. Hemos de decirle donde está guardado el fichero torrent, le damos los parámetros de la imagen.

ogShareTorrent [ Repositorio| num_disco num_particion ] Imagen 
ej: ogShareTorrent 1 1 WinXP 10.1.12.90
    ogShareTorrent REPO Suse 10.1.12.90

ogReceiveTorrent

Obtiene una imagen del repositorio por protocolo torrent, copiándola a la cache local.

ogReceiveTorrent [ Repositorio| num_disco num_particion ] [path_relativo_Imagen] [path_completo_imagen]
ej: ogReceiveTorrent 1 1 WinXP
    ogReceiveTorrent REPO Suse
    ogReceiveTorrent /mnt/sda2/Ubuntu9