Trabajo de SSR para la creación de una red P2P desestructrada
- El par escucha en el puerto 42069
- Uso de 2 listas de IPS:
- Lista de nodos Gnocilla
- Lista de nodos Gnocilla activos
- Carpeta donde se comparten los archivos sandwichDeNocilla
- Buscar archivos
- Mostrar archivos disponibles
- Mostrar archivos compartidos
- Help
- Credits
- Los pares escuchan al puerto 42069
- Un nuevo par, debe conocer la IP de algún otro par (P.e. a través de una web) que ya pertenezca a la red, le solicita a este la lista de pares, a través de ese puerto.
- El par que recibe la lista, envía un paquete REBANADADE (ping) a todos los pares de la lista.
- El nuevo par lanza un mensaje “Rebanadade” de tipo ping a la IP del nodo de la red.
- Si el par está activo, responderá “GNOCILLA” y se medirá el tiempo de respuesta.
- Se solicitará la lista de pares de ese par y se repetirá el protocolo con cada uno de los pares obtenidos.
- Descubrir a los pares.
- Se pregunta a los pares si tienen el archivo.
- Mensaje que incluye la IP del par que origina la búsqueda.
- Un par que tenga el archivo se lo comunica al origen.
- Un par que no tenga el archivo reenvía la búsqueda a sus pares.
- Con las respuestas que reciba, el usuario decide qué archivo descargar.
- En la carpeta “sandwichDeGnocilla”, el usuario introducirá los archivos que desea compartir.
- Al iniciar el programa, busca los archivos para compartir directamente en este directorio.
- Si un nodo le pregunta qué archivos tiene para compartir, éste le responde con una lista de archivos a compartir.
- Cuando un par le solicite un archivo de esta lista, este par abrirá un puerto TCP aleatorio a la escucha y se lo dirá al par que ha solicitado el archivo.
- El solicitante iniciará una conexión TCP con el puerto indicado, y una vez se han conectado, el que tiene el fichero comienza a enviarlo.
Instalar nodejs en Ubuntu.
sudo apt-get update; sudo apt-get install nodejs npm -y
Dentro de la carpeta de GNocilla ejecutamos:
npm install
node gnocilla.js <IP Usuario> <IP de un nodo GNocilla>
- Introducir el archivo a compartir en la carpeta “sandwichDeGnocilla”.
- Ejecutar el programa sin necesidad de indicar la IP de un nodo host de GNocilla
- Ejecutar el programa escribiendo “gnocilla.js
- Seleccionamos la opción de “Buscar archivos”
- Introducimos una palabra de búsqueda. No introducir nada para buscar todoslos archivos disponibles.
- Seleccionamos uno de los archivos
- Se descarga el archivo en "sandwichDeGnocilla".