BitTorrent –protokół wymiany i dystrybucjiplików przezInternet, którego celem jest odciążenie łączyserwera udostępniającego pliki. Jego największą zaletą w porównaniu do protokołuHTTP 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łuHTTP. 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ówMicrosoft Windows,Mac OS X orazLinux.
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 stronyWWW 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ę ztrackerem 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.
Podczas pobierania pliku klient BitTorrent prześle go również na inne komputery, które pobierają ten sam plik. To współdzielenie pliku między wieloma różnymi komputerami sprawia, że BitTorrent jest tak wydajny, ponieważ pozwala na pobranie pliku znacznie szybciej, niż gdyby pobierał go tylko jeden komputer.
użytkownik, który w danym momencie pobiera i udostępnia dany plik.
Seeder (z ang. siewnik)
użytkownik, który posiada kompletny plik i udostępnia go innym osobom.
Tracker (z ang. tropiciel)
serwer przekazujący informacje (adresy IP) o innych użytkownikach pobierających dany plik.
plik.torrent
metaplik zawierający niezbędne informacje (m.in. zawartość archiwum i adres trackera, sumy kontrolne plików) do rozpoczęcia pobierania pliku.
Info hash
160-bitowa wartość pochodząca zfunkcji skrótuSHA1. 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 przeztracker pliku.torrent oraz użytkowników ściągających te same dane. Zazwyczaj jest przedstawiana jako 40-znakowa liczba zapisanaszesnastkowo.
Share ratio (z 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 doshare ratio równego 1. Oznacza to umożliwienie innym użytkownikom pobrania takiej ilości danych, jaką sami pobraliśmy.
Protokół wykorzystywany jest w dystrybucji obrazów instalacyjnych systemu GNU/Linux, używa go również chmuraAmazon Simple Storage Service, ale tylko dla klientów komercyjnych (ograniczenie wynika z obawy przed masowym wykorzystaniem 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órychprawa autorskie wygasły[1]. Jest wykorzystywany również do dystrybucji uaktualnień systemuWindows[2], ale równieżtreści pirackich.
Protokół wykorzystywany jest również do aktualizacji gier komputerowych.
Przez pewien czas dystrybutor legalnej muzyki na licencjiCreative CommonsJamendo wykorzystywał BitTorrent, aktualnie ze strony zniknął przycisk „pobierz przez torrenta”.
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µTorrent iprogram BitTorent umożliwiające płatność za materiały rozpowszechniane przez sieć P2P BitTorenta. Część 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ę nanewsletter e-mailowy).
Micro Transport Protocol (µTP czasem uTP) – modyfikacja protokołu przenosząca cały ruch P2P BitTorrenta zTCP naUDP. To w tym protokole jest przesyłana większość torrentów, a nie w oryginalnym protokole BitTorrent.