BitTorrent es un protocolo peer-to-peer diseñado por Bram Cohen en 2001 para la distribución de archivos grandes. Los usuarios pueden unirse a una "enjambre" para descargar archivos de forma simultánea de múltiples fuentes, en lugar de una sola, reduciendo la carga en los servidores. El archivo torrent contiene la información necesaria para que los nodos se conecten entre sí y compartan el archivo.
2. BITTORRENT
• BitTorrent es un protocolo diseñado para el intercambio de
archivos peer-to-peer en Internet. Es uno de los protocolos
más comunes para la transferencia de archivos grandes.
• El programador Bram Cohen diseñó el protocolo en abril
de 2001 y publicó su primera implementación el 2 de julio
de 2001.[1Actualmente es mantenido por la empresa de
Cohen, BitTorrent, Inc. Existen numerosos clientes BitTorrent
disponibles para varios sistemas operativos.
3. DESCRIPCION
• El protocolo BitTorrent puede ser usado para reducir el impacto
que tiene la distribución de archivos grandes en los servidores.
En lugar de descargar el archivo desde un único servidor, el
protocolo BitTorrent permite a los usuarios unirse entre ellos en
un "enjambre" (swarm) para descargar y subir el archivo de
forma simultánea. El protocolo es una alternativa al sistema
basado en servidores, que consiste en disponer de varios
servidores espejo (mirrors) desde donde el usuario descarga el
archivo completo.
4. ¿CÓMO SUBIR UN ARCHIVOS ?
• Un usuario que quiere subir un archivo, primero crea un archivo
torrent y lo distribuye de forma convencional (páginas
web, correo electrónico, etc). Después hace que el archivo
esté disponible en la red a través de un nodo BitTorrent que
actúa como semilla (seed). Los usuarios que quieren descargar
el archivo, obtienen el archivo torrent y crean otro nodo
BitTorrent que actúa como cliente o "sanguijuela"
(leecher), intercambiando partes del archivo con la semilla
y con otros clientes.
5. METODO UTILIZADO
• El método utilizado por BitTorrent para distribuir archivos es
similar en muchos aspectos al utilizado por la red eDonkey
2000, pero generalmente los nodos en esta red comparten y
bajan mayores cantidades de ficheros, reduciendo el ancho
de banda disponible para cada transferencia. Las
transferencias en BitTorrent son normalmente muy rápidas ya
que todos los nodos en un grupo se concentran en transferir
un solo fichero o una colección de los mismos.
6. ESTRUCTURA DE UNA RED BITTORRENT
• Peers (puntos): Se denomina así a todos los usuarios que están en
la red.
• Leechers (sanguijuelas): Se denomina así a todos los usuarios que
están en la red descargando el archivo pero que todavía no
tienen el archivo completo. Seeders (semillas): Son los usuarios de
la red que poseen el archivo completo, no limitado a ello al
usuario quien creó y publicó el torrent originalmente.
• Trackers (rastreadores): Un tracker de BitTorrent es un servidor
especial que contiene la información necesaria para que los
peers se conecten unos con otros
7. MECANICA DE FUNCIONAMIENTO
• Un usuario baja de un servidor web un archivo
.torrent que contiene la información del fichero que
queremos descargar. Entre otra mucha información
contiene la dirección del tracker al que nos tenemos
que conectar para unirnos al enjambre de peers (el
.torrent generalmente es un archivo muy
pequeño, de unos pocos kilobytes).
• Este archivo .torrent se abre con algún "programa
cliente", que sabe interpretar dicha información.
8. MECANICA DE FUNCIONAMIENTO
• El tracker y el peer se comunican a través de una 'conexión
HTTP'. El tracker informa de la lista de todos los peers y seeds que
contienen partes del archivo que queremos descargar. El
tracker se actualiza con la información del nuevo peer que
acaba de ingresar.
• Una vez que el peer sabe dónde tiene que buscar las partes
necesarias, este peer se comunica con otros mediante 'sockets
TCP' o 'UDP' y el archivo empieza a descargarse en el
ordenador del usuario.
9. ARCHIVOS .TORRENT Y SU CODIFICACIÓN
INTERNA.
Los archivos .torrent contienen información acerca del
archivo que queremos bajar. Esta información está
codificada mediante Bencoding.
La siguiente tabla muestra los distintos tipos de datos que
podemos usar para representar la metainformación
contenida en el archivo .torrent.
• Strings Cadenas de Caracteres <longitud de la
cadena>:<cadena> 3:red Representa la cadena “red”
• Integers Enteros i<entero>e i3e Representa 3.
10. SU ARCHIVO CONTIENE LAS SIGUIENTES CLAVES
• info: Un diccionario que describe los archivos del torrent. Puede tener
una u otra estructura dependiendo de si el torrent es para bajar un
archivo o varios archivos con una jerarquía de directorios.
• announce: cadena que representa la URL del tracker
• announce-list: (lista de cadenas opcional). Se usa para representar listas
de trackers alternativos. Es una extensión a la especificación original.
• creation date: (entero opcional) La fecha de creación del torrent en
formato de época UNIX.
• comment: (cadena opcional) Campo libre para el creador del torrent.
11. ALGORITMO DE “LAS PIEZAS MÁS RARAS
PRIMERO”
• Este algoritmo define la estrategia usada por el protocolo
Bittorrent para seleccionar la siguiente pieza a descargar.
Cada par mantiene una lista del número de copias de
cada pieza en su conjunto de pares y usa esta información
para definir su conjunto de las piezas más raras. Sea m el
número de copias de la pieza más rara, entonces la
posición de cada pieza con m copias en el conjunto de
peers es añadida al conjunto de las piezas más raras.