Versión inicial | 2001 |
---|---|
Tipu | protocolu de redes d'ordenadores |
Más información | |
Sitiu web | Web oficial |
![]() |
BitTorrent ye un protocolu diseñáu pal intercambiu d'archivos puntu a puntu (peer-to-peer) n'Internet. Ye unu de los protocolos más comunes pa la tresferencia d'archivos grandes.
El programador Bram Cohen diseñó'l protocolu n'abril de 2001 y publicó la so primer versión el 2 de xunetu de 2001.[1] Anguaño ye propiedá de Justin Sun, fundador de Tron Foundation, que adquirió BitTorrent, Inc. por 140 millones de dólares, el 18 de xunu de 2018. Esisten numberosos veceres BitTorrent disponibles pa dellos sistemes operativos.
En xineru de 2012, BitTorrent tenía 150 millones d'usuarios activos acordies con BitTorrent, Inc., basándose nesto, envaloraben que'l númberu total d'usuarios mensuales de BitTorrent yera mayor de 250 millones. Segun datos amosaos na so propia pagina web, los datos actuales envaloren que más de 170 millones de persones usen el so productu cada mes. El protocolu bittorrent mueve hasta'l 40% del tráficu mundial d'Internet diariamente.[2] En cualquier intre de tiempu BitTorrent tien, en permediu, más usuarios activos que YouTube y Facebook xuntos (nun intre de tiempu, non en númberu total d'usuarios únicos específicamente de BitTorrent).[3] Per otru llau, tres el zarru de la web Megaupload, l'usu d'esti protocolu amontóse considerablemente.
El protocolu BitTorrent pue ser usáu p'amenorgar l'impautu que tien la distribución d'archivos grandes nos servidores. En llugar de descargar l'archivu dende un únicu servidor, el protocolu BitTorrent dexa a los usuarios xunise ente ellos nun "ensame" (swarm) pa descargar y xubir l'archivu de forma simultánea. El protocolu ye una alternativa al sistema basáu en servidores, que consiste en disponer de dellos servidores espeyu (mirror) dende onde l'usuariu descarga l'archivu completu, y puede funcionar en redes con pocu anchu de banda, d'esta forma, dispositivos pequeños como los smartphone, son capaces de distribuyir archivos grandes o videu en streaming a munchos receptores.
Un usuariu que quier xubir un archivu, primero crea un archivu torrent y distribuyir de forma convencional (páxina web, corréu electrónicu, etc). Dempués fai que l'archivu tea disponible na rede al traviés d'un nodo BitTorrent qu'actúa como grana (seed). Los usuarios que quieren descargar l'archivu, llogren l'archivu torrent y crean otru nodo BitTorrent qu'actúa como veceru o "sangrixuela" (leecher), intercambiando partes del archivu cola grana y con otros veceros.
L'archivu que ta siendo distribuyíu estremar en partes pequeñes (pieces). Cada vez qu'un usuariu recibe una parte nueva del archivu, puede de la mesma compartila con otros usuarios, lliberando a la grana orixinal de tener qu'unviar una copia d'esa parte a tolos usuarios que quieren l'archivu. En BitTorrent, la xera de distribuyir un archivu ye compartida por toos aquellos que deseyen tener l'archivu. Ye perfectamente posible que la grana solo unvie una copia del archivu y l'archivu seya distribuyíu a un númberu ilimitáu d'usuarios.
Cada parte del archivu ta protexida por un hash criptográficu conteníu dientro del archivu torrent.[4] Esto asegura que cualquier cambéu que se produza nuna parte puede ser detectada, y polo tanto evita que tanto los cambeos accidentales como les malicioses sían recibíes n'otros nodos. Si un nodo tien l'archivu torrent auténticu, puede verificar l'autenticidá del archivu completu que recibió.
Les partes típicamente nun se descarguen de forma secuencial, estes son reordenaes pol veceru BitTorrent, que comprueba les partes que tien y les que falten de recibir. Toles partes del archivu son del mesmu tamañu y son tresmitíes d'una sola vegada (por casu un archivu de 10 MB pue ser tresmitíu en diez partes de 1 MiB o en cuarenta partes de 256 KiB). Por cuenta de esto, puede detenese la descarga d'un archivu en cualquier momentu y volver# a entamar darréu ensin perder la información descargada enantes. Esto fai que BitTorrent seya especialmente útil na tresferencia d'archivos grandes. Esto tamién dexa al veceru buscar les partes disponibles pa descargar fácilmente, en llugar de tener que pausar la descarga y esperar que la siguiente parte tea disponible, lo qu'amenorga'l tiempu de descarga.
Cuando un veceru descarga l'archivu dafechu conviértese nuna grana. Esti cambéu eventual de veceros en granes determina la salú (health) o disponibilidad del archivu (determináu pol númberu d'usuarios que tienen l'archivu completu).
La naturaleza distribuyida de BitTorrent conduz a que l'archivu distribúyase al traviés de munchos nodos. Cuantos más usuarios xunir al "ensame", mayor ye la probabilidá de qu'un nodo pueda descargar l'archivu completu. En rellación colos esquemes de distribución tradicionales, esto dexa al distribuidor orixinal amenorgar los costos de hardware y d'anchu de banda. Esto tamién apurre redundancia ante posible problemes del sistema, amenorga les dependencies col distribuidor orixinal[5] y apurre fontes de descarga transitories (nun son siempres los mesmos usuarios los que comparten l'archivu), polo tanto ye más malo de rastrexar d'onde procede l'archivu polos qu'intenten bloquiar la so distribución en comparanza con un archivu agospiáu nun servidor esternu.
El métodu utilizáu por BitTorrent pa distribuyir archivos ye similar en munchos aspeutos al utilizáu pola rede eDonkey 2000, pero xeneralmente los nodos nesta rede comparten y baxen mayores cantidaes de ficheros, amenorgando l'anchu de banda disponible pa cada tresferencia. Les tresferencies en BitTorrent son de normal bien rápides yá que tolos nodos nun grupu concentrar en tresferir un solu ficheru o una coleición de los mesmos. Amás el protocolu eDonkey2000 nun premia a aquellos usuarios que comparten un mayor anchu de banda. Sicasí, hai qu'esclariar que'l veceru más estendíu pa la rede eDonkey, l'emule, sí incorpora un sistema de creitos pa compensar a los que más comparten.
Al contrariu qu'otres redes d'intercambiu, BitTorrent nun inclúi nengún mecanismu de busca d'archivos. Los usuarios de BitTorrent tendrán d'alcontrar pelos sos propios medios los archivos torrent que precisa'l protocolu. De normal, estos archivos pueden descargase dende les páxines web que publiquen grandes archivos (como les distribuciones GNU/Linux) o dende índice web de busca (como The Pirate Bay).
BitTorrent foi programáu orixinalmente en Python anque anguaño pueden atopase veceros escritos en C o en Java por casu.
Según CacheLogic,[6] mientres l'añu 2005 BitTorrent utilizábase especialmente n'Asia, ente que eDonkey2000 preferir n'Europa y América.
Los veceros de BitTorrent pueden atopase de dos tipos distintos:
Una rede en Bittorrent ta formada por:
Mecánica del funcionamientu de BitTorrent:
Los archivos .torrent contienen información avera del archivu que queremos baxar. Esta información ta codificada por aciu Bencoding. La siguiente tabla amuesa los distintos tipos de datos que podemos usar pa representar la metainformación contenida nel archivu .torrent.
Strings Cadenes de Calteres <llargor de la cadena>:<cadena> 3:rede Representa la cadena “rede”
Integers Enteros i<enteru>y i3y Representa 3.
Lists Llista de tipos [strings, integers, lists, dictionaries] l<bencoded type>y l3:rede4:wifie representa la llista de 2 cadenes: ["rede", "wifi"]
Dictionaries Son asociaciones de clave→ valor d<bencoded string><bencoded element>y d3:ana4:blas5:muyer6:hombree representa'l diccionariu { "ana"→ "muyer", "blas"→ "home" } d4:spaml1:a1:bee representa'l diccionariu { "spam"→ [ "a", "b" ] }
Si abrimos con un editor de testu un archivu .torrent atopamos con un diccionariu que contién les siguientes claves:
El diccionariu info qu'acabamos de citar contién de la mesma les siguientes claves:
Nesta seición van esplicase refechamente les regles según les cualos escuéyese a unu o otru usuariu pa compartir partes del archivu y qué partes son les que se tresmiten.
En primer llugar vamos describir unos cuántos términos importantes:
Esti algoritmu define la estratexa usada pol protocolu Bittorrent pa escoyer la siguiente pieza a descargar. Cada par caltién una llista del númberu de copies de cada pieza nel so conxuntu de pares y usa esta información pa definir el so conxuntu de les pieces más rares. Sía m el númberu de copies de la pieza más rara, entós la posición de cada pieza con m copies nel conxuntu de peers ye añadida al conxuntu de les pieces más rares. Cada peer escueye aleatoriamente la siguiente pieza pa baxar del so conxuntu de les pieces más rares.
El comportamientu d'esti algoritmu puede ser modificáu por 3 causes:
Esti algoritmu define la estratexa usada pol protocolu BitTorrent pa escoyer el siguiente peer col que va interactuar. Usar pa garantizar una bona rellación xubida/baxada ente los peers. Por casu los “free riders”, pares que nunca xuben, tienen de penalizase. L'algoritmu describir dende'l puntu de vista del peer local, asina que “comenenciudu” significa comenenciudu nel peer local y “bloquiáu” significa bloquiáu pol peer local. L'algoritmu funciona asina:
Considérase que lo cabal ye xubir la mesma cantidá de datos que se baxó, ye dicir que la tasa de descarga xubida seya de 1, pero esti comportamientu nun ye común nin ta garantizáu en BitTorrent. De normal los usuarios desconéctense rápido una vegada que llograron la copia completa del so archivu. Esto denominar leeching.
Esta forma d'actuar provoca qu'anque tol conteníu nuevo compartir de primeres bien rápido, col pasu de los díes el torrent caduque porque nun queden granes, yá que BitTorrent namái ufierta incentivos a los leechers pero non a los seeds que nun llogren nenguna ventaya por permanecer xubiendo a la rede.
Pa evitar esto apaecieron los denominaos trackers privaos. De normal pa usar un tracker priváu hai qu'identificase primeramente. Pa cada usuariu rexistráu guarden les estadístiques de tráficu y utilicen un sistema de porcentaxes que dexa saber si l'usuariu comparte o non los datos que descargara o tea descargando. Munchos d'estos trackers suelen espulsar a los usuarios que tienen un porcentaxe baxu, yá que al nun compartir nun collaboren cola rede.
Otru puntu flacu ye que'l tracker ye un pescuezu de botella yá que consume'l 1 per mil del tráficu total de la rede. Teniendo en cuenta la cantidá de datos que circulen nuna rede d'esti tipu, ye un porcentaxe a tener en cuenta. Amás, la cayida del tracker implica que nuevos peers non puedan conectase y que aquellos que yá tán coneutaos nun puedan afayar otros. Conceptualmente fórmense pequeñes islles desorganizadas, onde en realidá toes los nodos tán coneutaos ente sigo al traviés de vecinos pero nun hai comunicación ente eses islles (la comunicación ente elles xestionar el tracker) y por tanto inflúi bien negativamente na descarga.
Una debilidá más de BitTorrent ye que ye pocu eficiente en tresferencies d'archivos pequeños (unos cuantos kb) una y bones l'anchu de banda usáu en mensaxes del protocolu ye comparativamente altu.
Al contrariu qu'otros famosos programes P2P como Kazaa o Emule, los veceros Bittorrent escarecen de dalguna utilidá de busca de conteníos. Los archivos .torrent suélense baxar de páxina web onde se suelen indexar les novedaes o bien esisten buscadores de torrents como mininova.org o The Pirate Bay, esti métodu garantiza que se tea descargando'l ficheru correutu. Apocayá la xusticia sueca condergó a los webmasters de The Pirate Bay a multes y penes de cárcel per collaboración na distribución d'archivos con copyright, a pesar de que los conteníos en sí nun tán allugaos nos sos servidores.
Per otra parte, BitTorrent tien un protocolu consideráu de los de modelu económicu. Ye inocente, nun ta preparáu pa veceros maliciosos, y por tanto'l protocolu nun presenta soluciones pa posibles ataques al traviés d'esti tipu de veceros.
De siguío vamos ver dellos exemplos d'estos ataques:
Cada peer xenera un únicu identificador al empiezu por aciu un hash de la so direición IP y la hora. Si un peer xenerara múltiples identificadores podría asoceder que'l conxuntu de peers activos de los otros peers de la rede namái tuviera formáu por ensame d'identificadores falsos del mesmu peer atacante, y de esta manera namái se sirviríen datos a él.
Un peer tien que xubir a los otros peers si quier formar parte del so conxuntu de peers activos. Si un peer namái se coneuta a seeds, podría baxase l'archivu enteru ensin necesidá de compartir nin una sola pieza.
Bittorrent verifica la integridá de la pieza una vegada descargada comparando'l so códigu hash col qu'apaecía na metainformación del torrent. Cuando un peer pide un bloque a un peer maliciosu, ésti puede dicir que lo tien anque en realidá nun seya asina. Lo que lu unvia ye basura, anque l'otru peer nun se da cuenta hasta que-y llegó la pieza entera y vuelve pidir el bloque. Anque se-y tán unviando datos corruptos, la tases de xubida sí son actualizaes y el peer maliciosu puede caltenese na llista de peers preferíos.
Los veceros BitTorrent actuales cuando reciben dellos bloques corruptos d'un mesmu veceru añaden el so direición IP a una llista d'usuarios bloquiaos y de esta forma solucionen esti problema.
El protocolu Bittorrent ye susceptible de ser ameyoráu, polo que dellos veceros incorporaron diversos cambeos como DHT, Web Seeding y Super Seeding:
Si'l tracker cai, dependemos de los pares a los que teamos coneutaos pa poder rematar una descarga. Non siempres se consigue yá que ye necesariu que nun se desconecten y que ente toos tengan l'archivu completu.
El DHT (Distritbuted Hash Table) ye una estensión oficial al protocolu de Bittorrent. Consiste en que cada nodo de la rede caltién información de los nodos vecinos. D'esta forma evita'l pescuezu de botella del tracker del que falemos antes, yá que si'l tracker cai la totalidá de la información de los peers ta inda disponible nos mesmos peers.
Puede considerase como una descentralización del protocolu, anque inda nun ye completa porque inda se depende del tracker pa baxase'l .torrent y empezar a conocer los primeres nodos.
L'usu del DHT y la comunicación ente nodos ensin el pasu pol tracker porta una independencia del nodo que dacuando puede nun interesar, como nel casu de los trackers privaos, onde se suelen aplicar ciertes restricciones al usuariu según les sos estadístiques y onde ye requisitu común el tar rexistráu (a lo menos) pa poder entrar na rede.
Por cuenta de esto, y p'evitar que los alministradores de los trackers privaos banearan a los usuarios de veceros con DHT activáu, añadióse la posibilidá d'establecer un nuevu parámetru nel archivu .torrent llamáu “Private Flag”. Cuando'l veceru llee esta opción automáticamente desactiva'l DHT pa esa descarga. Esti tipu de parámetru ye compatible con tolos veceros. Asina si unu nun implementa DHT va omitir ensin más.
En munches ocasiones nuna mesma páxina web apaecen enllaces HTTP o FTP amás del archivu .torrent como posibles alternatives pa baxar un archivu. La idea de Web seeding ye combinar la potencia de la descarga direuta del servidor cola del P2P. D'esta manera siempres habría a lo menos una grana completa de la que descargar primeramente. El primer veceru n'incluyir esta meyora foi BitTornado.
La supercompartición — n'inglés superseeding (Vuze) o initial seeding (µtorrent) — sirvi por que'l primera seed que xube un nuevu archivu pueda amenorgar el númberu de pieces que tien que xubir pa crear les primeres granes y por que los peers que lo tán baxando puedan facer más rápido.
Cuando un seed “A” entra a un ensame en manera super seeding, nun apaez nel ensame como una grana normal col 100% del archivu sinón que se despinta como un leecher normal que nun tien nengún datu. A midida que otros peers entren nel ensame, el superseeder (el peer amarutáu) mánda-yos un mensaxe de que tien una nueva pieza — una pieza qu'en realidá nunca foi unviada. Esto va faer que'l peer “B” del ensame pida solamente esi cachu.
Cuando'l peer “B” termina de descargar aquella pieza, el seed "A" nun lu comunicará que tien otres pieces pa unviar hasta que vea que la primer pieza que lu unvió a "B" fuera compartida con siquier otru peer “C”. Mientres eso non pase, el peer “B” nun va tener accesu a nenguna de les demás pieces de la grana “A”, y asina “A” non desperdiciará el so anchu de banda de xubida teniendo que volver unviar pieces que yá unvió.
Por cuenta de la gran proliferación d'esti tipu de descargues P2P, apaecieron na rede motores de busca personalizaos y especializaos n'atopar archivos torrent agospiaos en servidores como The Pirate Bay o otros.
La siguiente llista contién los principales términos usaos na xíriga del protocolu BitTorrent.
Ye'l númberu de copies completes d'un archivu que tán disponibles pa la descarga. Cada grana añade 1,0 a esti númberu, porque tienen l'archivu completu. Un usuariu col archivu incompletu añade una fracción a la disponibilidad, si nengún usuariu más tien esa parte.
Ye'l programa informáticu que dexa l'intercambiu d'archivos peer-to-peer usando'l protocolu BitTorrent. Dellos exemplos de veceros son Transmission, µTorrent y Vuze.
La salú d'un archivu torrent ta rellacionada cola disponibilidad. Nos direutorios d'archivos torrent de normal amuésase como un porcentaxe ya indica el tantu per cientu del archivu que ta disponible. Un archivu con una salú del 50% significa que solo ta disponible la metá del archivu, polo que nun ye posible descargalo enteru.
Un direutoriu o índiz BitTorrent ye una páxina web que contién una llista d'archivos torrent (de normal tamién inclúin una descripción y otra información) y un Motor de busca buscador. Dellos direutorios tamién disponen d'un tracker propiu.