BitTorrent

Z Multimediaexpo.cz

Internetové protokoly
Aplikační vrstva
Transportní vrstva
Síťová vrstva
Linková vrstva
Fyzická vrstva

BitTorrent je peer-to-peer (P2P) nástroj pro distribuci souborů. Jeho autorem je Bram Cohen a uveden byl na CodeCon 2002. Referenční implementace je napsaná v Pythonu a uvolněna pod licencí BitTorrent Open Source License (upravená verze Jabber Open Source License). Název „BitTorrent“ slouží jako název pro distribuční protokol, originální klientskou aplikaci a typ souboru .torrent.

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 se 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ředňostňovat méně se vyskytující bloky, nebo i bloky na začátcích souborů.

Při obvyklé (client-server) distribuci souborů klienti stahují data jen ze serveru, který tak musí být výkonný a potřebuje velice rychlou linku. Protokol BitTorrent ale zajišťuje, že si klienti mohou vyměňovat data i mezi sebou, čímž ulehčují seedům. 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 = 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 u malé soubory se rychle šíří a tvoří velké větve, tj. seedeři mají velké ratio a soubor rozšíří velmi rychle mezi mnoho klientů) může BitTorrent obsloužit tisíckrát více downloadů než HTTP.

V této animaci můžete vidět jak server (dole) postupně rozdá různým klientům různé kousky souboru, a ti si je poté sami vymění. Výhoda je zřejmá – menší zatížení severu.

Pojmy

torrent
Je buď soubor .torrent, tedy soubor metadat o downloadu, nebo všechny soubory, které jsou jím popisovány.
soubor .torrent 
Obsahuje metadata o distribuovaných souborech. Obsahuje jména souborů, jejich velikosti a kontrolní součet (vizte Hašovací funkce) jednotlivých bloků torrentu. Také obsahuje adresu trackeru (většinou PHP skript).
seed 
Peer, který má kompletní kopii torrentu a stále nabízí upload. Čím více seedů je ve swarmu, tím větší bývá rychlost downloadu a také se zvyšuje šance na stažení kompletního souboru.
peer 
Instance BitTorrent klienta běžícího na počítači. Obvykle je peerem nazýván ten, kdo nemá kompletně stažený torrent. Nezapoměňte, že seedováním udržujete BitTorrent v chodu, vy a jedině vy!
leech
  • Je peer, který nemá kompletně stažený torrent. Když je download kompletní, leech se stává seedem
  • Termín leech bývá také používán pro neslušného peera, který má velmi malý poměr uploadu/downloadu, nebo který opustí swarm hned po tom, co se stane seedem. Leeches obvykle spotřebovávají největší přenosové pásmo swarmu.
swarm 
Všichni peers sdílící torrent jsou nazýváni swarm. Šest leeches + jeden seed je swarm (svazek) sedmi.
tracker 
Je služba, která zprostředkovává a režíruje spojení mezi klienty (přechovává seznamy IP adres peerů), ale data přes něj netečeou, ani nemá žádnou kopii torrentu. (Při sdílení musíte nastavit adresu jejího rozhraní pro nabízení torrentů tj nejčastěji „adresa/announce.php“ a následně nahrát .torrent na tracker - to většinou vyžaduje registraci a přihlášení pod vaším jménem)
UD Ratio
poměr mezi Uploadem:Downloadem, obecně platí, že kdo nemá ratio 1,5 a odpojí se od trackeru, je velmi neslušný, úplné minimum je ratio=1, kdo má pod 1 často riskuje ban (vyhození) z trackeru. (To se netýká případu, kdy o Torrent není zájem, např. 5 dní) Ideální je seedovat, dokud je o soubor zájem. Zde je nutno si uvědomit, že na tom závisí životnost torrentu, to je podstata celého sdílení na BT. Síti byste měli vrátit to, co si od ní vezmete (tj. Ratio=1) a nebo ještě lépe více (tj. Ratio=1+). Další aspekt je sdílení dat, která jste nestáhli z BT, tím podporujete síť BT jako takovou (BT nemá žádnou centrálu a nelze ji definitivně odpojit/zastavit).To vše záleží na interních pravidlech jednotlivých trackerů.
reseed 
Pokud má jeden nebo více leechů „roztažený“ nějaký torrent a není již k dispozici celý tj. několik leechů má několik různých částí, ze kterých ale nelze sestavit kompletní soubor, nebo torrent (první znak umírajícího torrentu, to se nestane, pokud každý má ratio alespoň 1), mohou se pokusit poprosit někoho, kdo ho má celý aby začal znovu seedovat a torrent opět oživil tj. požádat o Reseed.

Klientské aplikace BitTorrentu

  • BitTorrent (domovské stránky) – BitTorrent klient autora komunikačních protokolů BitTorrent. Jeho uživatelské rozhraní je jednoduché. Klient je napsán v Pythonu, a lze jej provozovat na řadě platforem včetně Windows, Linux a MacOSX.
  • Azureus (domovské stránky) – Funkčně vyspělý multiplatformní opensource BitTorrent klient. Je napsán v Javě, takže funguje na většině současných operačních systémů. Ihned po instalaci je uživatelské rozhraní v češtině (ovšem některé nové funkce již přeloženy nejsou).
  • µTorrent (čti: "mikro-torent") (většinou se však setkáváme se snáze napsatelným i když chybným označením "uTorrent") (domovské stránky české lokalizace, domovské stránky) je mimořádně šetrný a nenáročný na systémové zdroje. Jeho celková velikost se pohybuje kolem 150 KB. Uživatelské rozhraní je velmi podobné výše zmíněnému Azureu. Napsaný v C++. Dostupný je prozatím pouze pro operační systémy Microsoft Windows.
  • BitComet (domovské stránky) – další BitTorrent nenáročný na systémové zdroje. Napsaný v C++. Dostupný pouze pro operační systémy Microsoft Windows.
  • TorrenTopia (domovské stránky) – Zajímavý klient pro torrent soubory. Jako jeden z mála umožňuje změnu vzhledu. Bohužel v základní instalaci není v češtině, je nutno se podívat na internet, kde je k nalezení neoficiální čeština. Výhodou je možnost vyhledávání torrentů pomocí vestavěného vyhledávače. Minusem programu je, že neobsahuje pokročilé funkce, jako třeba blokování IP adres. TorrentTopia je klient určený spíše pro méně náročné uživatele. Pokročilejší uživatelé se musí poohlédnout po něčem jiném.
  • ABC - Yet Another BT client (ABC = ABC BitTorrent client = rekurzivní zkratka) – Rychlý spolehlivý, méně funkcí, jednodušší alternativa k µTorrentu. domovská stránka ABC
  • Tribler (domovské stránky) – Tento klient je odvozený od ABC klienta, ale nabízí společenské sdílení. Nemusíte torrenty vyhledávat, vyberete je ze seznamu ostatních uživatelů. Pokud stahujete stejné torrenty jako jiný uživatel, v seznamu uvidíte jako první torrenty uživatele se stejnými zájmy (řazení podle doporučení = shoda zájmů).
  • RTorrent (domovské stránkyKonzolový klient pro unixové systémy napsaný v C++.
  • BitLord (domovské stránky) – další pokročilý BitTorrent klient pro Windows.
  • KTorrent (domovské stránky) – nenáročný BitTorrent klient pro Linuxové prostředí KDE, obsahuje například integrovaný vyhledávač, týdenní časovač objemu proudu dat, umožňuje zabezpečené stahování a filtr IP adres, výběr jednotlivých souborů ke stažení a jako všechny aplikace KDE je kompletně lokalizován.

Externí odkazy