junio 24, 2006

Compartir archivos: P2P

Bueno... muchas gracias a quien escribió esta pregunta al correo. Esta es la idea de funcionamiento de este blog. Por favor no duden en enviar sus preguntas.
Vamos a entrar a un tema que personalmente encuentro apasionante y que es una de las herramientas más poderosas que tiene la red: El intercambio de archivos.
Antes dos cosas:
  1. Teniendo en cuenta lo amplio del tema, mi objetivo es empezar a tratarlo y desarrollarlo a lo largo de varios textos, manteniéndolos breves y digeribles siempre que sea posible. Además con la esperanza de que se genere un diálogo por medio de preguntas y así vamos profundizando en lo que sea más importante.
  2. El asunto de el intercambio de archivos ha sido controvertido. Existen muchos problemas en cuanto a litigios y derechos de autor con lo que a intercambio de archivos se refiere. Esta es la razón por la que Napster se vió en problemas y tuvo que reinventarse a si mismo, y es la razón por la que existen campañas que dicen que descargar archivos es ilegal y equivalente al robo.
Acá en ¿Cómo diablos hago para....? no queremos problemas legales, pero la posibilidad de intercambiar y compartir archivos es mucho power to the people. Así que esta nota no se puede ir sin la advertencia de "No intercambien archivos con copyright, manténgase sanos". Pero igual no nos hacemos responsables de lo que cada cual decida hacer con su internet personal.

Ahora si. En principio toda la red es un gigantesco mar de intercambio de unos y ceros incomprensibles para nosotros meros mortales. Estos unos y ceros son archivos de todo tipo. Pero los que nos interesan hoy son aquellos bits ( un bit es un uno o un cero) que fluyen a través de un tipo de redes conocido como redes p2p.
p2p es una abreviación para Peer to Peer que en castellano significa Par a Par. O sea un intercambio de archivos entre computadores "iguales", "compañeros". Puesto de manera sencilla: esta es la manera en que un usuario A puede transferir archivos alojados en su computador de un usuario B, siempre que B haya decidido compartirlos.
Para que una persona tenga acceso a estas redes debe usar un programa conocido genéricamente como un Cliente p2p. Hay muchos de estos y difieren en la red específica a la que se conectan y diferentes características de programación que hacen que ciertos usuarios prefieran ciertos programas.
Ahora, recientemente ha surgido un protocolo de intercambio de archivos por un sistema p2p que se llama BitTorrent. Es especialmente útil para conseguir archivos grandes, pero usarlo no es tan fácil como usar un cliente p2p cualquiera.
Para poder hacer las descargar el BitTorrent precisa de un archivo pequeño que funciona como un índice y le dice al programa cuáles archivos de la red le son útiles para armar el archivo completo. El intercambio se hace por fragmentos, como intercambiar monitas de uin album para llenarlo. El archivo semilla (seed) es el album y asi el computador sabe que láminas le faltan para llenar el álbum.
Así que para descargar cosas por la red BitTorrent es necesario conseguir la semilla antes. Para esto existen en internet paginas que almacenan los archivos semilla y con regularidad se cercioran de que las semillas si tengan alguna relación con archivos existentes en la red.
Algunos de estos directorios son por ejemplo TorrentSpy, IsoHunt, o PirateBay. Otros requieren que el usuario se registre, como demonoid.
En ellos se encuentran generalmente unas estadísticas para cada archivo índice. Estas normalmente son Seeders o numero de personas con el archivo completo y distribuyendo en el momento en que la página actualizó sus estadísticas. Leechers o Downloaders que es el numero de computadores o nodos descargando y compartiendo simultáneamente, y Descargas totales realizadas con ese archivo en particular. Algunos dicen más cosas pero las esenciales son estas.
Una vez bajado un archivo de estos (los reconocemos porque su extensión es .torrent o .torr), usamos a un cliente de bittorrent para que lo lea (abra el album) e inicie el intercambio (empiece a buscar monitas). Luego de que el programa cliente lo abra ya solo toca esperar y pues pronto dependiendo de que tan activo sea un torrent pues vamos a tener nuestro archivo deseado.
Hay muchos programas que saben manejar este tipo de archivos para descargar lo que buscamos. Entre ellos se encuentra Opera del cual hablamos en nuestro análisis de navegadores.
Pero hay otros que son más especializados.
Entre ellos se destacan Azureus, BitTorrent o BitComet. Hay unos clientes (programas) que manejan torrents pero también se conectan a otras redes de p2p, un ejemplo es Shareaza o eMule. Personalmente recomiendo a uTorrent, que me parece el más liviano y eficiente en términos de recursos de sistema ( o sea no te frita el computador).
En cuanto a las otras redes pues son las más tradicionales y que se parecen más a como se usaba Napster, para los que aún recordamos eso. No entro en detalles en ellas porque la pregunta que recibimos estaba más enfocada en cómo conseguir archivos de mayor tamaño, que es la especialidad de los torrent.
Asi que por ejempo voy a uno de los buscadores y busco a OpenSUSE, una distribución de Linux (no se preocupe si no sabe que es esto es solo un ejemplo de archivo muy grandote). Encuentro una lista de archivos semilla y escojo uno que tenga bastantes Seeder y Leechers para que la descarga sea más rápida, y lo bajo. Luego lo abro con mi programa de torrents y listo. A esperar un rato y el me descarga las cosas que necesite.
No se olviden de consultar cualquier duda con Wikipedia que es absolutamente genial.
Esperamos sus preguntas o comentarios.