SLLLLLLswarmS = seed · L = leech

BitTorrent

11 min pročitatiumrežavanje

BitTorrent je bio protokol koji je dokazao da se dijeljenje datoteka između ravnopravnih korisnika može prilagoditi veličini interneta. Premjestio je Linux ISO-ove, Wikipedia dumpove i (da) piratske filmove na dva desetljeća, i još uvijek je jedan od najučinkovitijih načina za distribuciju velikih datoteka. Razumijevanje kako funkcionira - i zašto se tiho koristi unutar Facebooka, Twittera i Blizzarda - dobar je način da vidite granice centralizirane distribucije.

Cjeloviti članak nalazi se u nastavku na engleskom jeziku.

BitTorrent osmislio je Bram Cohen 2001. kako bi distribuciju velikih datoteka učinio učinkovitom dopuštajući mnogim korisnicima da istovremeno pridonesu propusnosti prijenosa. Pametna ideja: podijelite svaku datoteku na male dijelove, neka svatko tko ima bilo koji komad posluži to svakome tko to želi i upotrijebite koordinatora da pratite tko ima što. Rezultat je protokol u kojem popularnost čini preuzimanja bržim umjesto sporijim — suprotno centraliziranoj distribuciji temeljenoj na poslužitelju.

Komadići

A BitTorrent datoteka podijeljena je na dijelove jednake veličine — obično 256 KB ili 1 MB, ovisno o veličini datoteke. Svaki dio ima vlastiti SHA-1 (ili SHA-256 u BitTorrent v2) hash. Popis svih hashova plus metapodaci datoteke je torrent datoteka — mala datoteka (nekoliko KB) koju dobivate izvan opsega. Torrent datoteka je dovoljna za provjeru bilo kojeg preuzetog dijela i pronalaženje kolega putem trackera ili DHT-a.

Glumci

  • Seed: peer koji ima kompletnu datoteku i samo uploade.
  • Leech: peer koji ima samo neki komadi; preuzima ono što nema, postavlja ono što radi.
  • Swarm: svi peerovi (seeds + pijavice) za određeni torrent.
  • Tracker: poslužitelj koji održava popis peerova u roju. Ravnatelji se povremeno oglašavaju tragaču; tracker vraća svježi popis peer. Pratioci mogu biti privatni (samo registrirani korisnici) ili javni.
  • DHT (distribuirana hash tablica): sustav za otkrivanje ravnopravnih korisnika bez programa za praćenje. Peerovi pohranjuju i traže popise peer ključeva pomoću hash-a torrenta. Moderni BitTorrent koristi DHT plus tracker plus PEX (Peer Exchange) za maksimalnu otpornost.

Strategija odabira dijelova

Elegancija BitTorrenta je u njegovom algoritmu odabira dijelova. Strategije:

  • Prvo najrjeđi. Pijavica radije preuzima dijelove koji su najmanje uobičajeni u roju. Ovo maksimizira ukupnu raznolikost dijelova roja, tako da svaki pojedinačni peer koji je izvan mreže rijetko oduzima jedinstveni dio.
  • Nasumični prvi komad. Na početku preuzimanja pijavica odabire nasumični dio, tako da gotovo odmah ima nešto za učitati.
  • Kraj game. Pred kraj preuzimanja (kada ostane samo nekoliko dijelova), pijavica traži sve preostale dijelove od svakog peera koji ih ima, prihvaćajući onoga tko prvi odgovori. Uklanja dugačak rep čekanja sporog posljednjeg komada.

Tit-for-tat: sustav poticaja

BitTorrentov najutjecajniji doprinos je njegov dizajn poticaja. Svaka pijavica "guši" većinu vršnjaka i učitava samo na nekolicinu onih koji joj učitavaju najbrže. Svakih 30 sekundi mijenja se, uključujući "optimistično poništavanje gušenja" za isprobavanje nasumičnog novog vršnjaka. Učinak: kooperativni vršnjaci dobivaju kooperativne vršnjake; sebične pijavice guše svi ostali. Slobodna vožnja je moguća, ali spora.

Ovo je najproučavaniji dio teorijskog dizajna protokola u umrežavanju. Svi kasniji peer-to-peer protokoli referenciraju ga.

Magnet links

A magnet link kodira hash torenta izravno u URL: magnet:?xt=urn:btih:HASH.... Klijent koristi DHT za pronalaženje ravnopravnih korisnika, dohvaća metapodatke torrenta od njih, a zatim nastavlja normalno. Magnetne veze eliminirale su potrebu za posebnom torrent datotekom — hash je dovoljan, a rad bez praćenja putem DHT-a znači da nema središnje infrastrukture za uklanjanje.

Za što se BitTorrent zapravo koristi

Predstava javnosti je piratstvo. Stvarnost je šira:

  • Linux i BSD distribucije. Ubuntu, Debian, Arch, FreeBSD svi distribuiraju ISO-ove putem torrenta za propusno učinkovita preuzimanja na dan izdanja.
  • Wikipedia i Internet Archive dumps. Multi-gigabyte dumps podataka se torrentiraju za isti razlog.
  • Ažuriranja igrica. Blizzardov Battle.net pokretač koristi BitTorrent ispod haube za distribuciju višegigabajtnih WoW zakrpa.
  • IInterna implementacija. Facebook je koristio BitTorrent za slanje ažuriranja koda svojoj floti poslužitelja (projekt je nazvan Twitterov ubojstvo; Twitter ima sličan alat). Moderni izvorni ekvivalenti u oblaku zamijenili su ga za najveće implementacije.
  • Dijeljenje znanstvenih podataka. Podaci o genomu, rezultati klimatskih modela, skupovi podataka fizike čestica distribuirani putem torrenta jer je alternativa (S3 propusnost) nedostupan.
  • Piracy. Da, također i to.

BitTorrent i VPN-ovi

VPN pružatelji usluga koji dopuštaju BitTorrent popularni su među korisnicima koji žele sakriti P2P promet od svojih ISP-ova, koji često guše ili šalju obavijesti o autorskim pravima za nelicencirane sadržaj. VPN mora:

  • Dopustiti P2P na odabranom izlazu (ne moraju svi)
  • Imati prekidač za isključivanje — pogledajte naš članak o prekidaču za isključivanje VPN
  • Sakrij IPv6 — mnogi torrent klijenti propuštaju v6 čak i kada VPN tuneli v4
  • Podržava prosljeđivanje porta za ulazne veze — poboljšava izvedbu roja

Mullvad, ProtonVPN, IVPN i privatni pristup internetu pružatelji su koji se najčešće preporučuju za ovu upotrebu case.

Evolucija protokola

BitTorrent v2, dovršena 2017. i polako izlazi, zamjenjuje SHA-1 (dugo poznat slab) sa SHA-256, dodaje hash stabla po datoteci za djelomičnu provjeru integriteta datoteke i podržava puno veće torrente. Usvajanje je bilo sporo jer v1 još uvijek dobro radi. uTP (Micro Transport Protocol) zamijenio je neobrađeni TCP prijenosom koji je pogodniji za zagušenja, što je važno za korisnike koji dijele kućne veze.

Često postavljana pitanja

Je li BitTorrent legalan?
Sam protokol je legalan u gotovo svakoj zemlji. Njegovo korištenje za preuzimanje ili distribuciju sadržaja zaštićenog autorskim pravima bez dopuštenja nezakonito je na većini mjesta. Korištenje za legalan sadržaj (Linux ISO-ovi, mediji iz javne domene, vaše vlastite datoteke) sasvim je u redu.
Zašto mi ISP šalje obavijesti o autorskim pravima kada koristim BitTorrent?
Nositelji prava pokreću strugače koji se povezuju s javnim torrentima, bilježe IP svakog peera i šalju obavijesti u stilu DMCA putem ISP-a. Sam IP nije dokaz tko ga je koristio — ali većina ISP-ova svejedno prosljeđuje obavijesti vlasniku računa. VPN koji omogućuje P2P pomiče vidljivi IP i učinkovito eliminira te obavijesti.
Propušta li korištenje BitTorrenta moj IP?
Da — prema dizajnu, svaki peer u roju vidi vaš IP, a vi vidite njihov. Tako protokol raspodjeljuje opterećenje. Curenje je temeljno, a ne greška. Jedini način da sakrijete svoj IP od drugih suparnika je usmjeravanje kroz VPN ili Tor (potonji je problematičan za izvedbu i obeshrabruju ga Torovi operateri).
Što znači 'sijanje'?
Sijanje je učitavanje potpune kopije datoteke drugim peerovima. Roj treba barem jedno sjeme u bilo kojem trenutku kako bi nove pijavice mogle dovršiti preuzimanje. Ljubazni korisnici torrenta postavljaju omjer od najmanje 1,0 (učitali su onoliko koliko su preuzeli) prije zaustavljanja.
Je li BitTorrent zastario?
Proglašen je mrtvim mnogo puta i nastavlja raditi. Centralizirana pohrana u oblaku danas zadovoljava većinu potreba za dijeljenjem datoteka, ali za učinkovitu distribuciju vrlo velikih datoteka mnogim korisnicima, BitTorrentova ekonomičnost još uvijek je bolja od svega centraliziranog. Novi slučajevi upotrebe (IPFS, Arweave, decentralizirane društvene mreže) svi se grade na sličnim načelima ravnopravnih korisnika.
Objašnjenje BitTorrenta: Peer-to-peer protokol koji je premještao datoteke prije oblaka