SLLLLLLswarmS = seed · L = leech

BitTorrent

11 min lestNettverk

BitTorrent var protokollen som viste at peer-to-peer fildeling kunne skaleres til størrelsen på Internett. Det flyttet Linux ISO-er, Wikipedia-dumper og (ja) piratkopierte filmer i to tiår, og det er fortsatt en av de mest effektive måtene å distribuere store filer på. Å forstå hvordan det fungerer – og hvorfor det brukes stille inne på Facebook, Twitter og Blizzard – er en god måte å se grensene for sentralisert distribusjon.

Hele artikkelen er gitt på engelsk nedenfor.

BitTorrent ble designet av Bram Cohen i 2001 for å gjøre distribusjon av store filer effektiv ved å la mange brukere bidra med opplastingsbåndbredde samtidig. Den smarte ideen: del hver fil i små biter, la alle som har en del servere den til alle som vil ha den, og bruk en koordinator til å spore hvem som har hva. Resultatet er en protokoll der popularitet gjør nedlastinger faster i stedet for tregere – det motsatte av sentralisert serverbasert distribusjon.

BitTorrent-filen er delt opp i like store biter – vanligvis 256 KB eller 1 MB, avhengig av filstørrelse. Hver del har sin egen SHA-1 (eller SHA-256 i BitTorrent v2) hash. Listen over alle hashes pluss filmetadata er torrent-filen - en liten fil (noen få KB) du får ut av båndet. Torrentfilen er nok til å verifisere et nedlastet stykke og finne jevnaldrende via trackeren eller DHT.

The actors

  • Seed: en peer som har den komplette filen og bare opplastinger.
  • XPLZ02e1XXXLZ: a pe2XLZ19e1XXXL stykker; laster ned det den ikke har, laster opp det den gjør.
  • Swarm: alle jevnaldrende (frø + igler) for en bestemt torrent.
  • Tracker: en server som opprettholder listen over jevnaldrende i en sverm. Med jevne mellomrom kunngjør jevnaldrende seg selv til sporeren; sporeren returnerer en fersk peer-liste. Trackere kan være private (bare registrerte brukere) eller offentlige.
  • DHT (Distributed Hash Table): et sporingsløst peer-discovery-system. Peers lagrer og spør etter peer-lister tastet inn av torrent-hash. Moderne BitTorrent bruker DHT pluss tracker pluss PEX (Peer Exchange) for maksimal motstandskraft.

Strategien for valg av stykker

BitTorrents eleganse ligger i algoritmen for stykkevalg. Strategiene:

  • Sjeldent først. En igle foretrekker å laste ned stykker som er minst vanlige i svermen. Dette maksimerer svermens generelle brikkemangfold, slik at en enkelt kollega som går offline sjelden tar fra seg en unik brikke.
  • Tilfeldig første brikke. Tidlig i en nedlasting velger igle en tilfeldig brikke, så den har noe å laste opp nesten umiddelbart.XPLZ48ZPLZXXPL5Ne1d19X

    XNe end1. av en nedlasting (når bare noen få stykker gjenstår), ber iglen alle gjenværende stykker fra hver jevnaldrende som har dem, og aksepterer den som svarer først. Eliminerer den lange halen av å vente på et sakte siste stykke.

Tit-for-tat: insentivsystemet

BitTorrents mest innflytelsesrike bidrag er insentivdesignet. Hver igle "kveler" de fleste jevnaldrende og laster bare opp til den håndfull som laster opp raskest til den. Hvert 30. sekund stokkes den om, inkludert en "optimistisk unchoke" for å prøve en tilfeldig ny peer. Effekten: samarbeidende jevnaldrende får samarbeidsfeller; egoistiske leechers blir strupet av alle andre. Gratiskjøring er mulig, men sakte.

Dette er den mest studerte delen av spilleteoretisk protokolldesign innen nettverk. Påfølgende peer-to-peer-protokoller refererer alle til det.

Magnetlinks

A magnet link koder torrentens hash direkte i en URL: magnet:?xt=urn:btih:HASH...XPLZ Klienten bruker DHT for å finne jevnaldrende, henter torrent-metadataene fra dem, og fortsetter deretter normalt. Magnetkoblinger eliminerte behovet for en separat torrent-fil — hashen er nok, og sporingsløs drift via DHT betyr at ingen sentral infrastruktur kan fjernes.

Hva BitTorrent faktisk brukes til

Den offentlige oppfatningen er piratkopiering. Virkeligheten er bredere:

  • Linux- og BSD-distribusjoner. Ubuntu, Debian, Arch, FreeBSD distribuerer alle ISO-er via torrent for båndbreddeeffektive nedlastinger på utgivelsesdagene.
  • Wikipedia og Internet Archive-dumps. Multi-gigabyte datadumper, av samme grunn er datadumper med flere gigabyte7XXXPLZ 9XXXPLZ torrent. updates. Blizzards Battle.net-starter bruker BitTorrent under panseret for å distribuere WoW-oppdateringer på flere gigabyte.
  • Intern distribusjon. Facebook brukte BitTorrent for å presse kodeoppdateringer til serverflåten sin (prosjektet ble kalt Twitters verktøy Murder). Moderne skybaserte ekvivalenter har erstattet den for de største distribusjonene.
  • Vitenskapelig datadeling. Genomdata, klimamodellutdata, partikkelfysikkdatasett distribuert via torrent fordi alternativet (S3-båndbredde) er uoverkommelig.
  • XPLZ20PXXPLZ2 Ja også. that.

BitTorrent og VPNs

VPN-leverandører som tillater BitTorrent er populære blant brukere som ønsker å skjule P2P-trafikk fra sin ISP, som ofte struper eller sender opphavsrettsmeldinger for ulisensiert innhold. VPN-en må:

Ofte stilte spørsmål

Er BitTorrent lovlig?
Selve protokollen er lovlig i nesten alle land. Å bruke den til å laste ned eller distribuere opphavsrettsbeskyttet innhold uten tillatelse er ulovlig de fleste steder. Å bruke det til lovlig innhold (Linux ISO-er, media i offentlig domene, dine egne filer) er greit.
Hvorfor sender Internett-leverandøren meg opphavsrettsmeldinger når jeg bruker BitTorrent?
Rettighetsinnehavere kjører skrapere som kobler til offentlige torrenter, logger alle jevnaldrendes IP og sender DMCA-lignende meldinger via Internett-leverandører. IP-en i seg selv er ikke bevis på hvem som brukte den - men de fleste Internett-leverandører videresender likevel meldinger til kontoinnehaveren. En VPN som tillater P2P forskyver den synlige IP-en og eliminerer effektivt disse varslene.
Lekker bruk av BitTorrent IP-adressen min?
Ja – ved design ser hver jevnaldrende i svermen din IP og du ser deres. Det er slik protokollen fordeler lasten. Lekkasjen er grunnleggende, ikke en feil. Den eneste måten å skjule IP-en din for andre jevnaldrende er å rute gjennom en VPN eller Tor (sistnevnte er problematisk for ytelsen og frarådes av Tors operatører).
Hva betyr "såing"?
Seeding er å laste opp en fullstendig kopi av filen til andre jevnaldrende. En sverm trenger minst ett frø til enhver tid for at nye igler skal kunne fullføre nedlastingen. Høflige torrent-brukere ser ut til et forhold på minst 1,0 (lastet opp like mye som de lastet ned) før de stoppet.
Er BitTorrent foreldet?
Den har blitt erklært død mange ganger og fortsetter å fungere. Sentralisert skylagring håndterer de fleste fildelingsbehov i dag, men for å distribuere svært store filer til mange brukere effektivt, slår BitTorrents økonomi fortsatt alt sentralisert. Nye brukstilfeller (IPFS, Arweave, desentraliserte sosiale nettverk) bygger alle på lignende peer-to-peer-prinsipper.
BitTorrent forklart: Peer-to-Peer-protokollen som flyttet filer før skyen