Proyecto de la materia "Introducción a los Sistemas Distribuidos" de la carrera de Ingeniería en Informática de la UBA. En este proyecto, se creó una aplicación que permite subir y descargar archivos utilizando la interfaz de sockets y el protocolo de transporte UDP. El principal desafío fue construir un protocolo de transferencia confiable basado en UDP, donde pueden surgir diversos problemas de comunicación como: pérdida o duplicación de paquetes, retrasos en la entrega y consiguiente arribo fuera de orden. Este tipo de problemáticas son resueltas con el protocolo TCP, por lo tanto, el desafío fue implementar un protocolo similar a TCP pero basado en UDP.
Algunos conceptos involucrados: - Sockets - Protocolo UDP - Protocolo TCP - Protocolo IP - Checksum - Ventanas deslizantes - Python - Sniffer (Analizador de paquetes)