BitTorrent

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

BitTorrentprotokół wymiany i dystrybucji plików przez Internet, którego celem jest odciążenie łączy serwera udostępniającego pliki. Jego największą zaletą w porównaniu do protokołu HTTP jest podział pasma pomiędzy osoby, które w tym samym czasie pobierają dany plik. Oznacza to, że użytkownik w czasie pobierania wysyła fragmenty pliku innym użytkownikom.

System jest zintegrowany ze stroną WWW serwera, a sam proces pobierania plików od strony użytkownika wygląda podobnie do kopiowania plików za pośrednictwem protokołu HTTP. Od strony serwera system składa się z udostępnionych publicznie metaplików o rozszerzeniu .torrent, trackera (opisany niżej w sekcji "Podstawowe pojęcia") oraz programu wysyłającego pliki. Oryginalny klient protokołu BitTorrent, który także nosi nazwę BitTorrent, dostępny jest w wersjach dla systemów Microsoft Windows, Mac OS X oraz Linux.

Historia[edytuj | edytuj kod]

 Osobny artykuł: BitTorrent (program).

Protokół i oprogramowanie zostało stworzone przez amerykańskiego programistę Brama Cohena w 2002 roku i w tym samym roku zaprezentowane na zlocie programistów o nazwie CodeCon w San Francisco. Protokół jest rozwijany w założonej przez niego w 2004 roku firmie BitTorrent.

Zasada działania[edytuj | edytuj kod]

Protokół BitTorrent znacznie redukuje obciążenie łącza użytkowników udostępniających plik (seed). Kolorowe kropki pod klientami oznaczają różne fragmenty kopiowanego pliku. Fragment pliku po pobraniu od seeda jest następnie kopiowany pomiędzy pozostałymi klientami

Protokół BitTorrent umożliwia kopiowanie jednego pliku przez wielu użytkowników bez wielokrotnego obciążania serwera i jego łącza sieciowego. Po pierwsze, protokół BitTorrent umożliwia kopiowanie plików fragmentami, po drugie, jako źródło plików serwer wskazuje komputery użytkowników, którzy dany plik pobrali wcześniej lub są w trakcie jego pobierania. Dzięki temu kopiowanie pliku przebiega głównie pomiędzy komputerami użytkowników, tworzącymi wtedy sieć P2P. Użytkownik, który skopiował fragment pliku, udostępnia go innym użytkownikom. W ten sposób prędkość kopiowania pliku nie jest limitowana możliwościami serwera i jego łącza sieciowego, nawet gdy plik kopiowany jest przez wielu użytkowników naraz. W optymalnych warunkach serwer musi wysłać tylko jedną kopię pliku niezależnie od tego, jak dużo klientów chce posiadać jego kopię.

Procedura kopiowania pliku rozpoczyna się od pobrania przez klienta sieci BitTorrent ze strony WWW metapliku o rozszerzeniu .torrent, zawierającego informacje o zawartości, adresie trackera i sumach kontrolnych poszczególnych plików przesyłanych przez sieć. Następnie klient łączy się z trackerem i otrzymuje od niego informacje o innych użytkownikach (informacje te klient okresowo aktualizuje). Od tej chwili zaczyna się właściwy proces pobierania pliku.

Podstawowe pojęcia[edytuj | edytuj kod]

Peer (ang. równy współpracownik)
użytkownik, który w danym momencie pobiera i udostępnia dany plik.
Seeder (ang. siewnik)
użytkownik, który posiada kompletny plik i udostępnia go innym osobom.
Tracker (ang. tropiciel)
serwer przekazujący informacje (adresy IP) o innych użytkownikach pobierających dany plik.
plik .torrent
metaplik zawierający niezbędne informacje (między innymi zawartość archiwum i adres trackera, sumy kontrolne plików) do rozpoczęcia pobierania pliku.
Info hash
160-bitowa wartość pochodząca z funkcji skrótu SHA1. Funkcji tej jest podawana część metapliku .torrent zawierająca nazwy plików oraz hasze udostępnianych danych. Możliwa jest zmiana trackera oraz komentarza w pliku .torrent bez zmiany Info hasha. Info hash służy do identyfikacji przez tracker pliku .torrent oraz użytkowników ściągających te same dane. Zazwyczaj jest przedstawiana jako 40-znakowa liczba zapisana szesnastkowo.
Share ratio (ang. współczynnik dzielenia się)
wyliczany przez wiele klientów BitTorrent stosunek ilości danych wysłanych do pobranych. Przyjmuje się za grzeczność względem innych i pewną normę udostępnianie swojej kopii pliku przynajmniej do share ratio równego 1. Oznacza to umożliwienie innym użytkownikom pobrania takiej ilości danych, jaką sami pobraliśmy.
Leecher (ang. pijawka)
W większości przypadków rozumiany jest jako użytkownik, który w danym momencie pobiera dany plik i udostępnia posiadane jego fragmenty. Gdy zakończy pomyślnie pobieranie stanie się Seederem. Chociaż czasem pojęciem tym jest określana osoba mająca niskie Share ratio, użytkownik taki zazwyczaj korzysta z łącza asymetrycznego oraz wyłącza swojego klienta zaraz po zakończeniu pobierania. Zdarzają się także osoby które celowo obniżają prędkość wysyłania lub używają zmodyfikowanych klientów. Ci ostatni są czasem traktowani jak pasożyty, niszczące sieć.

Zastosowanie[edytuj | edytuj kod]

Protokół wykorzystywany jest w dystrybucji obrazów instalacyjnych systemu GNU/Linux, używa go również chmura Amazon Simple Storage Service, ale tylko dla klientów komercyjnych (ograniczenie wynika z obawy przez masowe wykorzystanie go do działalności nielegalnej przez niepłacących użytkowników). Internet Archive wykorzystuje protokół do dystrybucji książek, nagrań wideo oraz audio na wolnych licencjach lub do których prawa autorskie wygasły[1]. Jest wykorzystywany również do dystrybucji uaktualnień systemu Windows[2] ale również treści pirackich, poprzez serwisy jak np. The Pirate Bay.

Protokół wykorzystywany jest również do aktualizacji gier komputerowych.

Przez pewien czas dystrybutor legalnej muzyki na licencji Creative Commons Jamendo wykorzystywał BitTorrent, aktualnie ze strony zniknął przycisk "pobierz przez torrenta".

Modyfikacje protokołu[edytuj | edytuj kod]

Zmodyfikowany protokół BitTorrent jest używany w różnych usługach:

  • BitTorrent Sync – automatyczna synchronizacja plików między komputerami. Działa podobnie jak wirtualny dysk (chmura), ale bez centralnego serwera.
  • BitTorrent Live – streaming materiałów na żywo przy pomocy sieci P2P. Dzięki temu komputer nadający przekaz może mieć słabe łącze nawet przy dużej liczbie oglądających.

Modyfikacje w klientach BitTorrent:

  • BitTorrent Bundle – rozszerzenie w klientach torrent takich jak uTorrent i program BitTorent umożliwiające płatność za materiały rozpowszechniane przez sieć P2P BitTorenta. Cześć plików w torrencie jest dostępna za darmo (nawet dla osób mających klienta nie obsługującego BitTorrent Bundle), do reszty plików zyskuje się dostęp po wykonaniu akcji przez użytkownika (głównie zapłata lub zapisanie się na newsletter e-mailowy).
  • Micro Transport Protocol (µTP czasem uTP) – modyfikacja protokołu przenosząca cały ruch P2P BitTorrenta z TCP na UDP. To w tym protokole jest przesyłana większość torrentów, a nie w oryginalnym protokole BitTorrent.

Zobacz też[edytuj | edytuj kod]

Wikimedia Commons

Przypisy