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
|