Skip to content

alendavies/file-transfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Ejecución del File transfer

Para ejecutar las interfaces, se debe estar en la carpeta src del proyecto

Tener en cuenta que en toda la ejecución, ADDR y PORT deberán ser el mismo valor.

Interfaz de inicialización de servidor

python3 start-server [ -h ] [ -v | -q ] [ -H ADDR ] [ -p PORT ] [-s DIRPATH ] [ -S ]

Comando Forma completa Requerido Descripción
-h --help NO Mostrar mensaje de ayuda y salir del programa
-v --verbose NO Incrementar la salida del logger en pantalla
-q --quiet NO Decrementar la salida del logger en pantalla
-H --host SI Dirección IP del servidor
-p --port SI Puerto del servidor
-s --storage SI Directorio en el que se almacenan los archivos
-S --sack NO Correr en modo Selective acknowledgment

Interfaz de cliente download

python3 download [ -h ] [ -v | -q ] [ -H ADDR ] [ -p PORT ] [ -d FILEPATH ] [ -n FILENAME ] [ -S ]

Comando Forma completa Requerido Descripción
-h --help NO Mostrar mensaje de ayuda y salir del programa
-v --verbose NO Incrementar la salida del logger en pantalla
-q --quiet NO Decrementar la salida del logger en pantalla
-H --host SI Dirección IP del servidor
-p --port SI Puerto del servidor
-d --dst SI Destino del archivo descargado
-n --name SI Nombre del archivo que se desea descargar
-S --sack NO Correr en modo Selective acknowledgment

Interfaz de cliente upload

python upload [ -h ] [ -v | -q ] [ -H ADDR ] [ -p PORT ] [ -s FILEPATH ] [ -n FILENAME ] [ -S ]

Comando Forma completa Requerido Descripción
-h --help NO Mostrar mensaje de ayuda y salir del programa
-v --verbose NO Incrementar la salida del logger en pantalla
-q --quiet NO Decrementar la salida del logger en pantalla
-H --host SI Dirección IP del servidor
-p --port SI Puerto del servidor
-s --src SI Destino del archivo que se desea subir
-n --name SI Nombre que tendrá el archivo cargado al servidor
-S --sack NO Correr en modo Selective acknowledgment

Mininet

Para abrir una red con mininet, con una topología basica de 2 hosts y un switch, usamos:

sudo mn --link tc,loss=10

Una vez en el cliente de mininet, podemos abrir nuestro server como:

h1 python3 src/start-server.py -H ADDR -p PORT -s FILEPATH &

donde FILEPATH va a ser el file system del servidor.

Para el cliente de subida:

h2 python3 src/upload.py -H ADDR -p PORT -s SRCPATH -n FILENAME

donde SRCPATH es la ruta del archivo a subir y FILENAME es el nombre con el cuál guardarlo en el server.

Y para probar el cliente de descarga:

h2 python3 src/download.py -H ADDR -p PORT -d DESTPATH -n FILENAME

Donde DESTPATH es la ruta donde guardar el archivo descargado, y FILENAME es el nombre del archivo a descargar.

About

TP1: Reliable Data Transfer - Cátedra Hamelin - 2C2024

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages