Análisis y Diseño de Algoritmos Distribuidos en Redes