Advertisement
lestat_1982

Emule

May 13th, 2012
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.17 KB | None | 0 0
  1. El 13 de mayo de 2002 un nuevo cliente de intercambio de archivos llamado eMule entró en nuestro mundo de intercambio. Diez años más tarde nos gustaría tomar este aniversario como una oportunidad para mirar atrás en algunos de los principales logros técnicos del intercambio de archivos desde entonces y los que podrían venir en años venideros. Con más innovaciones, incluso el poderoso Bitorrent podría ser mejorado para volverse imposible de apagar.
  2.  
  3. Las primeras aplicaciones com para compartir archivos como Napster (iniciado en 1999) operaban completamente centralizadas.
  4.  
  5. Napster se basaba en un único servidor para almacenar los archivos que cada usuario compartía, proporcionó una busqueda de archivos central e incluso inició la transferencia de arhivos entre usuarios. Debido a este único punto, Napster se derrumbó una vez que su servidor fue apagado por la RIAA.
  6.  
  7. Afortunadamente, la siguiente generación de redes p2p menos centralizadas ya estaba en el horizonte. Por un lado había redes completamente descentralizadas como Gnutella. Ellas usaban "query flooding" para encontrar otros clientes, sólo enviaban sus consultas de clientes a cliente hasta qeu hubiera suficientes resultados o el tiempo de espera se agotase.
  8.  
  9. Sin embargo, esta ventaja de una topología de red completamente independiente del servidor venía con la desventaja de la red no era escalable. En pocas palabras, no se puede buscar por toda la red de manera eficiente.
  10.  
  11. Por otro lado estaba eDonkey2000 con su red basada en servidor (primera versión el 6 de septiembre, 2000). A diferencia de Napster, todo el mundo puede crear un servidor. Si bien la existencia de múltiples servidores significa que la red no puede ser cerrada desconectando un único punto central, también tenía el inconveniente de que los usuarios sólo podían buscar y compartir archivos con usuarios del mismo servidor.
  12.  
  13. Este sistema tenía similitudes con BitTorrent, el tracker era el único mecanismo a través del cual encontrar a otros compañeros. Sin embargo, con BitTorrent (iniciado en el año 2001) esta dependencia en el tracker era intencionada porque significaba que el traker puede controlar quién tiene permiso para unirse a la multitud, cuantos archivos compartidos consigue cada cliente, etc...
  14.  
  15. La red eDonkey2000 tenía un objetivo de diseño diferente - una red completamente descentralizada y escalable. En este espíritu eDonkey2000 empezó un nuevo proyecto llamado "Flock" en mayo de 2002. Después de las pruebas beta pasó a llamarse "Overnet" y finalmente se fusionó con el cliente original eDonkey2000 en agosto de 2004.
  16.  
  17. En 2002, un nuevo cliente y de rápido crecimiento entró en la red ed2k, un término que se refiere únicamente a la parte basada en el servidor de la red eDonkey2000. Un cliente de código abierto de la red ed2k - nuestro cliente cumpleañero eMule - fue creado el 13 de mayo de 2002 - hoy hace 10 años.
  18.  
  19. En junio de 2004 ed2k tenía cerca de 2 millones de usuarios mientras que la red Overnet de eDonkey2000 sólo contaba con unos 800.000 usuarios. Por lo tanto eMule era el principal cliente de la red ed2k y junto con BitTorrent que dominaron los siguientes años de intercambio de archivos.
  20.  
  21. Ambas redes, BitTorrent y eMule, evolucionaron lentamente hacia una estructura más descentralizada. Con el fin de hacer que los archivos de todos los servidores disponibles para todos los usuarios, eMule añadió las búsquedas por palabra clave a través de UDP para consultar con todos los servidores y el intercambio de fuentes entre clientes a través de TCP para obtener todas las fuentes disponibles para un archivo específico. BitTorrent adoptó este último en "Peer exchange".
  22.  
  23. A principios del 2004 eMule implementó Kademlia, un sistema de almacenamiento llave-valor semejante a un descentralizado DHT capaz tanto de encontrar fuentes como re realizar busquedas por palabras, volviendo obsoletos los servidores ed2k. Una vez más, BitTorrent va en la misma dirección, implementando DHT en el año 2005.
  24.  
  25. DHT es un paso revolucionario en el intercambio de archivos. No sólo porque se puede descargar un archivo sólo con su hash (y unos pocos nodos a la red de arranque), pero ahora es posible una red escalable descentralizada. Mientras que las redes descentralizadas como Gnutella eran capaces de encontrar información a través de las inundaciones de consulta en O (n), la DHT se encuentra la información en tiempo O (log 2 (n)). Así, si el tamaño de la red se duplica, sólo 1 solicitud adicional se necesita en promedio -, independientemente del tamaño real de la red.
  26.  
  27. DHT es un paso revolucionario en el intercambio de archivos. No sólo porque se puede descargar un archivo con sólo su hash (y unos pocos nodos a la red de arranque), pero ahora de una red escalable descentralizado esté disponible. Mientras que las redes descentralizadas como Gnutella eran capaces de encontrar información a través de las inundaciones de consulta en O (n), la DHT se encuentra la información en tiempo O (log 2 (n)). Así, si el tamaño de la red se duplica, sólo 1 solicitud adicional se necesita en promedio -, independientemente del tamaño real de la red.
  28.  
  29. El siguiente ejemplo ilustra esta ventaja: Digamos que tienes una red con 2 millones de usuarios y que desea encontrar información acerca de un archivo específico que, desgraciadamente, no existe en la red (es decir, ningun usuario comparte este archivo). Usando "query flooding" cada cliente en la red tiene que ser preguntado antes de que podamos estar seguros de que el archivo no está disponible. Por lo general, la búsqueda se le acaba el tiempo antes, asumiento (sin saberlo con certeza) que el archivo no está disponible.
  30.  
  31. Gracias a DHT sólo tiene que pedir unos 21 nodos (log2 (2 millones)) antes de estar seguro de que el archivo no está disponible en toda la red. Aún mejor, este fue el peor de los casos matemáticamente. Por lo general, el número real de solicitudes requeridas es mucho menor porque en la ruta de búsqueda, lo más probable es que se alcance el nodo más cercano a su archivo solicitado después de sólo 3-4 (peticiones evidencia empírica sobre Kademlia actual de eMule).
  32.  
  33. La siguiente característica que pensamos que los Torrents deben adoptar es una verdadera DHT basada en la búsqueda de palabras clave. Tribler hecho ya un paso en esa dirección. Sin embargo, sus torrents están siendo transmitidas a otros clientes conocidos que se traduce en una búsqueda con mala escalabilidad.
  34.  
  35. Ya conocemos que después de cambiar a los vínculos magnet, The Pirate Bay tiene un tamaño total de unos 90 MB. Ahora imagina esos 90 MB siendo almacenados descentralizamente. Una red con millones de nodos en el que cada nodo almacena unos pocos cientos de kilobytes significa que usted tiene miles de réplicas de cada entrada del torrent.
  36.  
  37. Esto asegura que cada entrada se puede encontrar, incluso si muchos nodos dejan la red al mismo tiempo. Por desgracia, todas las implementaciones anteriores de búsqueda descentralizados tenían grandes cantidades de spam en sus resultados de búsqueda. Aquí es donde podemos aprender de la comunidad torrent. Los sitios como The Pirate Bay proporcionan resultados de búsqueda de confianza.
  38.  
  39. En una búsqueda completamente descentralizada, sin ningún tipo de spam que sólo servirían para seguir ofreciendo esta funcionalidad utilizando criptografía de clave pública para firmar torrents. Un usuario que dependa de los resultados de búsqueda a su sitio de torrents favorito simplemente añade su clave pública a su cliente de torrent, lo que permite al cliente comprobar la firma de cada resultado de búsqueda torrent filtrando todos los fakes.
  40.  
  41. En este futuro completamente descentralizado un sitio de torrents como The Pirate Bay podría gestionarse en una simple computadora portátil con potencia de cálculo media y que se conecte a Internet una vez cada pocas horas para firmar nuevos torrents con su clave privada. Piense en lo difícil que seria unicamente "trazar" un "sitio de torrents". Cerrarlo es prácticamente imposible.
  42.  
  43. Actualmente estamos trabajando en un cliente que ofrezca la busqueda de torrents mencionada antes. Se encuentra en una fase alfa de pruebas cerrada y pronto entrará en pruebas beta públicas.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement