En este apartado presentaremos algunos detalles sobre Filetopia de interés para los técnicos.

Sistema Cliente / Servidor:

Como casi todas las aplicaciones de Internet, Filetopia se basa en el paradigma Cliente/Servidor para el Chat y el intercambio de ficheros.  En ambos casos la parte Cliente se basa en sockets Asíncronos (manejados por eventos) y la parte Servidor es Multi-Hilo.  Existe tan sólo un servidor de chat, al que acceden todos los usuarios de Filetopia y cada uno de ellos tiene un Servidor de Ficheros, el número de clientes de ficheros depende del número de transferencias simultáneas que originen en la máquina del usuario.



Encriptación:

Filetopia emplea el sistema de Clave Pública para las comunicaciones con el servidor de Chat y para todas las transferencias de ficheros entre usuarios.  Se genera un par de claves pública/privada en cada lado de la conexión y se intercambian las claves públicas.  Por lo tanto, en cada conexión intervienen tres componentes de encryptación:  El encargado del mecanismo de Clave Pública para el que se utiliza el algoritmo de la Curva Elíptica, un Encryptador simétrico y un Decryptador para los que se utiliza el algoritmo RC6 (en la versión Beta).  RC6 es un candidato para el AES, el nuevo estándar de encryptación y está creado por Ron Rivest uno de los padres de la cryptología moderna y es una de las mejores soluciones disponibles actualmente para encriptación simétrica

        El tamaño de la clave para los componentes de encryptación simétrica es por defecto de 256 bits.




TCP/IP:   

      La mayor parte de los protocolos implementados en Filetopia se basan en el protocolo TCP, aunque el Chat entre usuarios se realiza utilizando un puerto UDP.  Por lo tanto, todos los usuarios de Filetopia conectados tienen 2 puertos "escuchando".  El puerto TCP es el servidor de Ficheros mientras que el puerto UDP está a la espera de mensajes de Chat.  Los números de ambos puertos son aleatorios por razones de seguridad, haciendo a los usuarios de Filetopia menos vulnerables a los ataques.



Compresión:

        El formato de Lista binaria del gestor de colecciones (.CML = Collection Manager List) está comprimido para ocupar menos espacio en disco y consumir menos ancho de banda, lo que acelera el protocolo de intercambio de listas.  El algoritmo de compresión utilizado en esta versión es una variante del muy conocido algoritmo LZW (Lempel Zif Welch).  Tanto la compresión como la descompresión son extremadamente rápidas y el ratio de compresión es aceptable.

(c) 1999  Filetopia Inc.  Todos los derechos reservados