Úvod

Proč BitTorrent?



Uvažujme následující situaci:
Máme server, který poskytuje ke stažení instalační soubory oblíbeného programu. Záhy poté, co je vydána nová verze tohoto programu, se k serveru připojí velké množství klientů, kteří si jej chtějí stáhnout. Pokud máme na mysli především blaho našich klientů, dostáváme se do následujících potíží (seřazeno podle závažnosti pro kvalitu služby):

  1. konektivita
    Abychom mohli obsloužit velké množství klientů najednou, potřebujeme připojení do Internetu s vysokou kapacitou, které je samozřejmě drahé a navíc jej většinu času (doba mezi vydáním nových verzí) vůbec nevyužíváme efektivně.
  2. kvalita služby
    Pokud se naráz připojí větší množství klientů, než je plně využitá přenosová kapacita linky, nebudou (nejméně někteří) klienti moci stahovat data plnou rychlostí, kterou jim jejich připojení umožňuje. Je velmi obtížné zajistit spravedlivý přístup ke klientům.
  3. dostupnost služby
    Ještě dále může dojít k tomu, že rychlost stahování klesne až na nulu. Pokud navíc nemáme dostatečně výkonný server, může být požadavky klientů natolik zahlcen, že některé z nich vůbec nezvládne obsloužit, případně dojde k jeho zhroucení (katastrofický scénář).
BitTorrent řeší všechny tyto problémy velice elegantním způsobem – přenáší značnou část zátěže na klienty samotné (dokonce lze říci, že drtivou většinu). Jak to dělá?