BitTorrent

BitTorrent je v informatice nástroj pro peer-to-peer (P2P) distribuci souborů, díky čemuž jsou datové přenosy rozkládány mezi všechny klienty, kteří si data stahují. Velmi populární je při stahování velkých objemů dat (např. distribuce Linuxu, ale většinou warez, viz níže). Název „BitTorrent“ se používá jako název distribučního protokolu, originální klientské aplikace a typu souboru s příponou .torrent.

Charakteristika 
Autorem BitTorrentu je Bram Cohen a uveden byl na CodeCon 2002. Referenční implementace je napsána v programovacím jazyce Python a uvolněna pod licencí BitTorrent Open Source License (upravená verze Jabber Open Source License).

Při distribuci pomocí BitTorrentu jsou soubory (může jich být víc) rozděleny klientem na menší bloky (jejich velikost resp. počet lze nastavit, obvykle mají okolo 250 kB). Každý leech může požádat kteréhokoliv peera o jemu chybějící blok, a zároveň poskytuje ostatním svoje již kompletně stáhnuté bloky. Často klient může upřednostňovat méně se vyskytující bloky, nebo i bloky na začátcích souborů.

Při obvyklé (klient–server) distribuci souborů klienti stahují data jen ze serveru, který tak musí být výkonný a potřebuje velice rychlé připojení k počítačové síti (Internetu). Protokol BitTorrent umožňuje, aby klient stahoval data nejen ze serveru, ale i od ostatních klientů, kteří mají i jen část potřebných dat. Tím protokol ulehčuje seedům (zdrojům s kompletními daty). Stahování přes BitTorrent je tím rychlejší, čím více je seedů. Cohen říká, že pro velmi populární soubory (obecně se říká, že BT má smysl, pokud v konkrétním torrentu je 10 MB a více, nebo jde o velmi aktuální a populární soubor (tj. pokud jde např. o učebnici o 300 kB, která má vysokou kvalitu a tedy stahovanost a to přiláká další lidi), pak může tento torrent žít velmi dlouho. Další aspekt je, že malé soubory se rychle šíří a tvoří velké větve, tj. seedeři mají velké ratio a soubor je velmi rychle rozšířen mezi mnoho klientů), může BitTorrent obsloužit tisícenásobně více downloadů než HTTP.

Výhody BitTorrentu 
BitTorrentový klient je jakýkoli program, který implementuje bittorrent protokol, pomocí kterého jsou po síti přenášeny soubory. Peer je jakýkoli počítač, který reaguje na žádosti klienta.

Před sdílením souboru (nebo skupiny souborů) je nejprve vytvořen malý soubor, který se nazývá „torrent“ (např. Název.torrent). Tento soubor obsahuje metadata o sdílených datech, které mají být sdíleny na trackeru (uživatel je tam hledá ale ve skutečnosti jsou uloženy mimo tento server), což je počítač (server-daemon), který koordinuje distribuci souborů. Peeři kteří si chtějí stáhnout nějaká data si musejí nejprve získat příslušný torrent soubor, připojit se k určenému trackeru, který řekne odkud si mohou stáhnout kousky souboru(ů).

Stahování dat pomocí BitTorrentu se liší od klasického stahování pomocí HTTP (kde webový prohlížeč stahuje celý soubor najednou z jednoho zdroje) v tom, že BitTorrent použije velmi mnoho malých přenosů z různých zdrojů, zatímco webový prohlížeč použije jeden souvislý datový přenos.

Dohromady tyto rozdíly umožňují BitTorrentu dosáhnout mnohem nižších nákladů pro poskytovatele obsahu dat, vyšší spolehlivost, a mnohem větší odolnost vůči zneužití nebo náhlým přívalům zájemců, než klasický webový server. Nicméně tato ochrana si vybírá svou daň: může chvíli trvat, než stahování dosáhne maximální přenosové rychlosti, protože chvíli trvá než se připojí dostatek "seedů" a spojení se ustálí; dále se čeká na uzel ze kterého obdržím potřebná data a mohu je dále poskytovat ostatním.

Pojmy

Vytváření a publikování Torrentů 
Peer distribuující data zachází se souborem jako s pevně daným počtem částí s velikostí mezi 64kB a 4MB. Peer vytváří pro každou část kontrolní součet, pomocí SHA algoritmu a zaznamenává je do torrent souboru. Při použití větší velikosti částí souboru se snižuje velikost torrent souboru, což snižuje generovanou zátěž, ale také snižuje efektivitu protokolu. Peer průběžně porovnává předem vypočtené kontrolní součty s daty, která stahuje, a zajišťuje tak integritu dat. Peeři, kteří poskytují kompletní soubory se nazývají seedeři a peeři, kteří poskytují data od začátku se nazývají původní seedeří (initial seeder).

Struktura dat v torrent souboru závisí na použité verzi BitTorrentu. Podle konvence mají jména torrent souborů příponu .torrent. Torrent soubory mají „oznamovací“ sekci, která specifikuje URL trackeru a takzvanou „info“ sekci, která obsahuje (doporučená) jména souborů, jejich délku, délku částí dat a kontrolní součty všech částí dat. Vše je klientem využíváno k ověření integrity stažených dat.

Torrent soubory jsou zpravidla zveřejňovány na webových stránkách nebo jinde a jsou spojeny s trackerem. Tracker udržuje seznamy klientů, kteří aktuálně sdílejí torrent. V beztrackerovém systému (decentralizovaný tracking) se všichni peeři chovají jako tracker. Prvním takovým implementovaným klientem byl Azureus, který používal distribuovanou hašovací tabulku (DHT). Později byl Bittorentem vyvinut a adoptován alternativní a nekompatibilní Mainline DHT.

Pro vytvoření torrentu je třeba uvést také seznam trackerů. Je možné použít veřejné trackery, které shromažďují pouze seznam peerů identifikovaných podle IP adresy a hashe souboru, o který mají zájem.
Příklad veřejných trackerů, které můžete použít při vytváření torrentů:
 udp://tracker.publicbt.com:80/announce
 udp://tracker.openbittorrent.com:80/announce
 http://opentracker.nodex.cz:80/announce
 udp://tracker.ccc.de:80/announce

Stahování torrentů a sdílení souborů 
Uživatelé prohledávají web s cílem najít torrent, o který se zajímají, mohou si jej stáhnout a otevřít například BitTorentovým klientem. Klient se spojí s trackerem, který je specifikovaný v torrent souboru. Tracker poskytne klientovi seznam peerů, kteří aktuálně přenášejí části dat daných souborů specifikovaných v torrent souboru. Klient se připojí k těmto peerům a obdrží náhodné části dat. Jestliže swarm obsahuje jenom jednoho seedera, který tato data sdílí od začátku (initial seder), klient se přímo k němu připojí a požaduje části dat.

Klienti obsahují mechanismus pro optimalizaci jejich stahovacího (download) a nahrávacího (upload) poměru. Například klient záměrně stahuje části dat v náhodném pořadí, aby se zvýšila šance P2P výměny dat, protože je možné jen tehdy, pokud mají peeři staženy různé části dat.

Efektivita výměny dat závisí hodně na rozhodnutí, komu budou klienti posílat data. Klient může upřednostňovat posílání dat peerum, kteří data zpětně sdílejí, což podporuje férovou výměnu. Avšak přísná pravidla často vyústí k neoptimálním situacím, když nově připojení peeři nejsou schopni odesílat data nebo když dva peeři s dobrým vzájemným spojením si data nevyměňují, protože žádný z nich nepřevezme iniciativu. Proti těmto jevům používá oficiální BitTorrent klient mechanismus zvaný „optimistic unchoking“ (optimistické uvolňování), kdy klient rezervuje část přenosové kapacity pro seedování dat náhodným peerům v naději, že najde lepší partnery, a zároveň umožňuje nově příchozím peerům připojení do swarmu.

Adopce 
V současné době vzrůstá počet individuálních osob a organizací, kteří používají BitTorrent k distribuci vlastních licencovaných materiálů. Nezávislí „adoptivní rodiče“ říkají, že bez použití BitTorrent technologie a jím umožněného dramatického snížení nároků na jejich síťový hardware a propustnost datového připojení, by si nemohli dovolit distribuovat své soubory.

Film, video a hudba 
 BitTorrent Inc. nahromadil řadu licencí z hollywoodských studií k distribuci obsahu jejich internetových stránek.
 Sub Pop Records vydává písně a videa přes BitTorrent Inc. k distribuci tisíců alb. Skupina Ween využívá internetové stránky Browntracker.net k bezplatné distribuci svých audio a video záznamů živých vystoupení. Také skupiny Babyshambles a Libertinesy (obě spojené s Petem Doherty) značně užívaly torrenty k vydání stovek demo verzí a živých videí. Přes BitTorrent často vydává svá alba i americká rocková skupina Nine Inch Nails.
 Podcasting software začíná integrovat BitTorrent, aby pomohl podcasterské dohodě s požadavky na stažení jejich „MP3 rádio“ programů. Především Juice a Miro (dříve známé jako Democracy Player) podporuje automatické zpracování .torrent souborů z RSS kanálů. Podobně jako někteří BitTorrent klienti, např. µTorrent, jsou schopni zpracovat internetové kanály a automaticky stáhnout obsah nalezený uvnitř. BitTorrent poskytuje i DGM Live! nákupy.

Rozhlas a televize 
 V roce 2008 se společnost CBC stala prvním veřejným vysílačem v Severní Americe, aby mohla provozovat své pořady dostupné ke stažení pomocí BitTorrent protokolu.
 V březnu roku 2008 začala Norsk rikskringkasting (NRK) experimentovat s BitTorrentovou distribucí z jejich stránky. Publikován je pouze vybraný materiál, ve kterém je NRK kompletním vlastníkem. Odpověď byla velice pozitivní a NRK plánuje nabídnout více materiálu.

Osobní materiál 
 Služba Amazon S3 „Simple Storage Service (Jednoduchá služba pro úložiště dat)“ je internetová škálovatelná služba pro úložiště dat s jednoduchým webovým rozhraním, vybavená zabudovanou BitTorrentovou podporou.
 Torrentový blog nabízí zjednodušený BitTorrentový tracker, který umožňuje blogerům a netechnicky vzdělaným uživatelům hostovat na svých stránkách BitTorrentový tracker. Torrentový blog umožňuje návštěvníkům stáhnout si „stub“ zavaděč, který se chová jako BitTorrentový klient. Tím umožňuje uživatelům, kteří nemají BitTorrentový software, použít BitTorrentový protokol a stáhnout požadovaný soubor. Je to podobné konceptu samorozbalovacího archivu.

Software 
 Blizzard Entertainment používá BitTorrent (pomocí vlastního klientu zvaného „Blizzard Downloader“) k distribuci většiny materiálů pro World of Warcraft, včetně hry samotné.
 Mnoho velkých softwarových projektů, ať už svobodných nebo s otevřeným zdrojovým kódem, také podporují BitTorrent jako tradiční způsob stahování jejich produktů, aby zvýšily dostupnost svých souborů a snížili zátěž na vlastních serverech, zvláště pokud se jedná o větší soubory.

Vliv na počítačové sítě 
Výzkumná organizace CableLabs pro kabelový průmysl v Severní Americe odhaduje, že BitTorrent reprezentuje 18 % z celého širokopásmového přenosu dat. V roce 2004 CacheLogic zvýšila toto číslo odhadem na 35 % z celého přenosu na Internetu. Rozpory v těchto číslech jsou způsobeny rozdílem v metodě použití k měření P2P přenosu dat na Internetu. Routery (směrovače), které používají NAT, musejí udržovat tabulky zdrojových a cílových IP adres a síťových portů. Typický domácí router má limit okolo 2000 položek, zatímco dražší mají větší kapacitu. BitTorrent často kontaktuje 300-500 serverů za sekundu, takže rychle zaplní NAT tabulky, což je běžný případ, proč se domácí routery zahlcují.

V roce 2017 byl Google Drive jedním z nejoblíbenějších serverů pro sdílení pirátského obsahu, jiná úložiště byla používána v řádově menším rozsahu. Jenom za říjen 2017 dostal Google přes 4700 DMCA žádostí o stažení obsahu, ve kterých se objevovaly až desítky odkazů. Výhodou Google Drive proti jiným službám je možnost založení účtu bez ověřování a možnost přehrávání některý formátů přímo v prohlížeči.

Indexace vyhledávačů 
BitTorrentový protokol neposkytuje žádné prostředky pro indexaci torrent souborů. Výsledkem je poměrně malý počet stránek hostujících odkazy k materiálům s autorskými právy. Některé webové stránky podporují průzkum a distribuci dat na BitTorrentových sítích.

Veřejný tracker, jako The Pirate Bay, umožňuje uživatelům hledat a stahovat z jejich nabídky torrent soubory. Provozují pro tyto soubory také BitTorrentové trackery. Uživatelé mohou obyčejně také uploadovat torrent soubory s obsahem, který si přejí distribuovat.

Privátní trackery, jako Demonoid, operují jako veřejný tracker s tím rozdílem, že mají omezený přístup. Je nutné se registrovat a udržovat správný poměr mezi stahováním a poskytováním ().

Vyhledávací enginy (jádra) dovolují vyhledat torrentové soubory, které jsou umístěny a distribuovány na jiných stránkách. Například Mininova, BTJunkie, Torrentz a isoHunt. Tyto stránky umožňují hledat konkrétní soubory (dotaz může obsahovat fráze či klíčová slova). Jako odpověď je poskytnut seznam odkazů k torrent souborům, který vyhovuje zadaným požadavkům a který může být seřazen podle určitých kritérií (relevance (poměr seedeři-peeři), popularity).

Pirátství prostřednictvím BitTorrentu 
Sdílení prostřednictvím BitTorentu bylo oblíbené v době, kdy neexistovaly legální streamovací služby. Aby se omezilo neautorizované sdílení bylo provedeno několik velkých zátahů na torrentové servery. Některé ve své době populární servery skončily z vlastní vůle, jako Kickass Torrents, Torrentz.eu, ExtraTorrent nebo What.CD.

Se vznikem legálních streamovacích služeb na ně řada uživatelů přešla. O ústupu využívání BitTorrentu pro nelegální sdílení obsahu svědčí i to, že z více než miliardy zaregistrovaných nelegálních stažení nebo zhlédnutí sedmé řady seriálu Hra o trůny bylo pouze necelých 10 % učiněno přes BitTorrent.

Reference

Externí odkazy 
 
 http://www.bittorrent.com – oficiální stránky (anglicky)
 Robert Krátký: Jigdo a Bittorrent recenze, abclinuxu.cz, 26. 5. 2003
 BitTorrent – Technologie root.cz, 7. 4. 2004
 Bittorent pod útokem amerických ISP root.cz, 4. 7. 2008
 http://www.uTorrent.com - klient μTorrent

 
Síťový software
Sdílení souborů
Peer-to-peer sítě