SLLLLLLswarmS = seed · L = leech

BitTorrent

11 min citireRețele

BitTorrent a fost protocolul care a dovedit că partajarea de fișiere peer-to-peer se poate scala la dimensiunea Internetului. A mutat ISO-uri Linux, depozitele Wikipedia și (da) filme piratate timp de două decenii și este încă una dintre cele mai eficiente moduri de a distribui fișiere mari. Înțelegerea modului în care funcționează - și de ce este folosit în liniște în Facebook, Twitter și Blizzard - este o modalitate bună de a vedea limitele distribuției centralizate.

Întregul articol al articolului este oferit în limba engleză mai jos.

BitTorrent a fost proiectat de Bram Cohen în 2001 pentru a face distribuirea de fișiere mari eficientă, permițând mulți utilizatori să contribuie la încărcarea lățimii de bandă simultan. Ideea inteligentă: împărțiți fiecare fișier în bucăți mici, puneți-i pe toți cei care au orice bucată să îl servească oricui dorește și folosiți un coordonator pentru a urmări cine are ce. Rezultatul este un protocol în care popularitatea face descărcările faster în loc să fie mai lente - opusul distribuției centralizate bazate pe server.

Piesele

A Fișierul BitTorrent este împărțit în bucăți de dimensiune egală - de obicei 256 KB sau 1 MB, în funcție de dimensiunea fișierului. Fiecare piesă are propriul hash SHA-1 (sau SHA-256 în BitTorrent v2). Lista tuturor hash-urilor plus metadatele fișierului este fișierul torrent — un fișier mic (câțiva KB) pe care îl obțineți în afara benzii. Fișierul torrent este suficient pentru a verifica orice componentă descărcată și pentru a găsi peer-uri prin intermediul tracker-ului sau DHT.

The actors

  • Seed: un peer care are fișierul complet și doar se încarcă. bucăți; descarcă ceea ce nu are, încarcă ceea ce are.
  • Swarm: toți colegii (semințe + lipitori) pentru un anumit torrent.
  • Tracker: un server care menține lista de colegi într-un roi. Colegii se anunță periodic urmăritorului; tracker-ul returnează o listă nouă de peer. Sistemele de urmărire pot fi private (numai utilizatorii înregistrați) sau publice.
  • DHT (Distributed Hash Table): un sistem de descoperire peer-fără tracker. Peer-urile stochează și interogează liste peer codate de hash torrent. BitTorrent modern folosește DHT plus tracker plus PEX (Peer Exchange) pentru o rezistență maximă.

Strategia de selecție a pieselor

Eleganța BitTorrent este în algoritmul său de selecție a piesei. Strategiile:

  • Rest mai întâi. O lipitoare preferă să descarce bucăți care sunt cel mai puțin comune în roi. Acest lucru maximizează diversitatea generală a pieselor roiului, astfel încât orice persoană care merge offline rareori ia o piesă unică.
  • Prima piesă aleatorie. La începutul unei descărcări, lipitoarea alege o piesă aleatorie, așa că are ceva de încărcat aproape imediat. o descărcare (când rămân doar câteva bucăți), lipitoarea solicită toate piesele rămase de la fiecare egal care le are, acceptând pe oricine răspunde primul. Elimină coada lungă de așteptare pentru o ultimă piesă lentă.

Tit-for-tat: sistemul de stimulente

BitTorrent cea mai influentă contribuție este designul său de stimulare. Fiecare lipitoare „sufocă” majoritatea colegilor și încarcă doar pumnii care se încarcă cel mai repede pe ea. La fiecare 30 de secunde, se remaniere, inclusiv o „unchoke optimist” pentru a încerca un nou peer aleatoriu. Efectul: colegii cooperanți obțin colegi cooperanți; lipitorii egoiști sunt sufocați de toți ceilalți. Free-riding este posibil, dar lent.

Taceasta este cea mai studiată piesă de proiectare a protocolului teoretic jocului în rețele. Toate protocoalele peer-to-peer ulterioare fac referire la el.

Magnet link-uri

A magnet link codifică hash-ul torrentului direct într-o adresă URL: magnet:?xt=urn:btih:H6X... Clientul folosește DHT pentru a găsi parteneri, preia metadatele torrentului de la ei, apoi procedează normal. Legăturile magnetice au eliminat necesitatea unui fișier torrent separat — hash-ul este suficient, iar operarea fără tracker prin DHT înseamnă că nu trebuie să distrugă o infrastructură centrală.

Pentru ce este folosit de fapt BitTorrent

Percepția publică este pirateria. Realitatea este mai largă:

  • Linux și distribuțiile BSD. Ubuntu, Debian, Arch, FreeBSD distribuie toate ISO-uri prin torrent pentru descărcări eficiente din ziua lansării cu lățime de bandă. updates. Lansatorul Battle.net de la Blizzard folosește BitTorrent sub capotă pentru a distribui patch-uri WoW de mai mulți gigabyte.
  • Implementare internă. Facebook a folosit BitTorrent pentru a împinge actualizări de cod către flota de servere (proiectul s-a numit, Twitter, un instrument similar Murder). Echivalentele moderne native din cloud l-au înlocuit pentru cele mai mari implementări.
  • Partajarea datelor științifice. Datele genomului, ieșirile modelului climatic, seturi de date despre fizica particulelor distribuite prin torrent, deoarece alternativa (lățimea de bandă S3) este inaccesabilă. that.

BitTorrent și VPN-uri

VPN Furnizorii care permit BitTorrent sunt populari în rândul utilizatorilor care doresc să ascundă traficul P2P de la ISP-ul lor, care deseori limitează sau trimite notificări privind drepturile de autor pentru conținutul fără licență. VPN-ul trebuie să:

Mullvad, ProtonVPN, IVPN și accesul privat la internet sunt de obicei cele mai obișnuite recomandate pentru această utilizare privată. case.

Evoluția protocolului

BitTorrent v2, finalizată în 2017 și care se lansează lent, înlocuiește SHA-1 (cunoscut de mult timp slab) cu SHA-256, adaugă arbori hash per fișier pentru verificarea parțială a integrității fișierelor și acceptă torrenți mult mai mari. Adopția a fost lentă, deoarece v1 încă funcționează bine. uTP (Micro Transport Protocol) a înlocuit TCP brut cu un transport mai ușor de congestionat, important pentru utilizatorii care partajează conexiuni rezidențiale.

Întrebări frecvente

Este BitTorrent legal?
Protocolul în sine este legal în aproape fiecare țară. Folosirea acestuia pentru a descărca sau a distribui conținut protejat prin drepturi de autor fără permisiune este ilegală în majoritatea locurilor. Folosirea acestuia pentru conținut legal (ISO-uri Linux, media de domeniu public, propriile fișiere) este foarte bine.
De ce ISP-ul meu îmi trimite notificări privind drepturile de autor când folosesc BitTorrent?
Deținătorii de drepturi rulează scrapers care se conectează la torrente publice, înregistrează IP-ul fiecărui peer și trimit notificări în stil DMCA prin intermediul ISP-urilor. IP-ul în sine nu este o dovadă a cine a folosit-o - dar majoritatea ISP-urilor transmit notificări deținătorului contului oricum. Un VPN care permite P2P schimbă IP-ul vizibil și elimină efectiv aceste notificări.
Folosirea BitTorrent îmi pierde IP-ul?
Da — prin proiectare, fiecare egal din roi vă vede IP-ul dvs., iar voi îl vedeți pe al lor. Așa distribuie protocolul încărcarea. Scurgerea este fundamentală, nu o eroare. Singura modalitate de a vă ascunde IP-ul de alți colegi este să vă rutați printr-un VPN sau Tor (cel din urmă fiind problematic pentru performanță și descurajat de operatorii Tor).
Ce înseamnă „însămânțare”?
Seeding înseamnă încărcarea unei copii complete a fișierului către alți colegi. Un roi are nevoie de cel puțin o sămânță în orice moment pentru ca lipitori noi să poată finaliza descărcarea. Utilizatorii politicoși de torrent au un raport de cel puțin 1,0 (încărcat atât cât au descărcat) înainte de a se opri.
Este BitTorrent învechit?
A fost declarat mort de multe ori și continuă să funcționeze. Stocarea centralizată în cloud gestionează cele mai multe nevoi de partajare a fișierelor astăzi, dar pentru distribuirea eficientă a fișierelor foarte mari către mulți utilizatori, economia BitTorrent încă bate orice centralizată. Noile cazuri de utilizare (IPFS, Arweave, rețele sociale descentralizate) toate se bazează pe principii similare peer-to-peer.
BitTorrent a explicat: protocolul peer-to-peer care a mutat fișierele înainte de cloud