Protokół BitTorrent. Rafał Nagrodzki. 23 października 2008 r. MIMUW. Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r.

Podobne dokumenty
Tribler - nowe podejście do P2P

Distributed Hash Tables i ich zastosowania

Anonimowość w BitTorrencie. Łukasz Jancewicz 2008

Protokoły PEER2PEER. Krzysztof Kostałkowicz

SSL (Secure Socket Layer)

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Piraci XXI wieku, czyli legalne i nielegalne programy Informatyka szkoła podstawowa Scholaris - DC Edukacja

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

MASKI SIECIOWE W IPv4

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Sprawozdanie Laboratorium 4

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

SIECI KOMPUTEROWE. Podstawowe wiadomości

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

KOMUNIKACJA. Listy i grupy dyskusyjne

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Wzorcowy załącznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomiędzy Firmą A oraz Firmą B

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

Sprawozdanie nr 4. Ewa Wojtanowska

Remote Quotation Protocol - opis

Keszowanie i systemy peer-to-peer. Paulina Kania i Łukasz Osipiuk

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Marcin Heliński, Cezary Mazurek, Tomasz Parkoła, Marcin Werla

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Umowa użytkownika. 1. Uprawnienia. 2. Logowanie do platformy szkoleń elektronicznych

torrenty w konsoli Łukasz Olender

POLITYKA PRYWATNOŚCI

Polityka prywatności stron BIP Kuratorium Oświaty w Opolu

Internetowa sieć laboratoriów fotograficznych

Wybrane działy Informatyki Stosowanej

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Polityka prywatności stron BIP WIJHARS w Opolu

Protokół wymiany sentencji, wersja 1

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

INFRA. System Connector. Opis wdrożenia systemu

Protokół SSH. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Sieci VPN SSL czy IPSec?

Sieci Komputerowe i Bazy Danych

Protokół SSH. Patryk Czarnik

Laboratorium Sieci Komputerowych - 2

Protokoły sieciowe - TCP/IP

Wybrane działy Informatyki Stosowanej

ATSOFTWARE DMS. Elektroniczna archiwizacja

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Pełna specyfikacja usługi Kreator WWW

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

World Wide Web? rkijanka

Cennik usług Usługa Mobilnego Internetu

Propozycje projektów (gniazdka)

Pełna specyfikacja usługi Kreator WWW

SET (Secure Electronic Transaction)

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Laboratorium nr 4 - Badanie protokołów WWW

Ochrona poczty elektronicznej przed spamem. Olga Kobylańska praca dyplomowa magisterska opiekun pracy: prof. nzw.. dr hab.

Klient poczty elektronicznej - Thunderbird

Integracja APD z Ogólnopolskim Repozytorium Prac Dyplomowych

Cookie Policy. 1. Informacje ogólne.

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Sieci równorzędne, oraz klient - serwer

Architektura oraz testowanie systemu DIADEM Firewall Piotr Piotrowski

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

The OWASP Foundation Session Management. Sławomir Rozbicki.

Zachęcamy do zapoznania się z Polityką Prywatności naszych serwisów www.

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI

Zasady dotyczące plików cookies i innych podobnych technologii. 1. Jaki jest zakres tych Zasad?

Programowanie Sieciowe 1

UNIWERSYTET EKONOMICZNY WE WROCŁAWIU. Sprawozdanie. Analizator sieciowy WIRESHARK. Paweł Jarosz Grupa 20 IiE

BEZPIECZEŃSTWO W SIECIACH

Regulamin Oferty Promocyjnej Play Online PRO bez urządzenia obowiązuje od r. do odwołania

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Cele przedsięwzięcia

Polityka prywatności stron www Regionalnej Dyrekcji Ochrony Środowiska w Opolu zawierająca politykę ochrony plików cookies

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Trwały nośnik w Alior Bank

Warstwa aplikacji. część 2. Sieci komputerowe. Wykład 10. Marcin Bieńkowski

System Kancelaris. Zdalny dostęp do danych

DOKUMENTACJA INTERFEJSU API - HTTPS

Instrukcja użytkownika Program Rejestr GIIF-2

Wykład I. Wprowadzenie do baz danych

DHCP Copyright : JaRo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

DOKUMENTACJA TECHNICZNA SMS API MT

II. PRZETWARZANIE DANYCH OSOBOWYCH:

Akademia Górniczo-Hutnicza im. Stanisława Staszica

Polityka prywatności serwisów internetowych Narodowego Instytutu Architektury i Urbanistyki (NIAiU) i plików cookies

Sklep Internetowy - OS Commerce

Program dla praktyki lekarskiej

Architektura i mechanizmy systemu

Transkrypt:

Protokół BitTorrent Rafał Nagrodzki MIMUW 23 października 2008 r. Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 1 / 40

Plan prezentacji 1 Wprowadzenie 2 BitTorrent z punktu widzenia użytkownika 3 BitTorrent od środka 4 Cechy protokołu 5 Rozszerzenia 6 Porównanie 7 Źródła Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 2 / 40

Co to jest BitTorrent? popularny protokół wymiany plików, protokół typu p2p stworzony w kwietniu 2001 r. przez Brama Cohena, wkrótce powstała też pierwsza implementacja istnieje wiele klientów na różne platformy brak oficjalnego standardu Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 3 / 40

Co to jest BitTorrent? popularny protokół wymiany plików, protokół typu p2p stworzony w kwietniu 2001 r. przez Brama Cohena, wkrótce powstała też pierwsza implementacja istnieje wiele klientów na różne platformy brak oficjalnego standardu Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 3 / 40

Co to jest BitTorrent? popularny protokół wymiany plików, protokół typu p2p stworzony w kwietniu 2001 r. przez Brama Cohena, wkrótce powstała też pierwsza implementacja istnieje wiele klientów na różne platformy brak oficjalnego standardu Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 3 / 40

Co to jest BitTorrent? popularny protokół wymiany plików, protokół typu p2p stworzony w kwietniu 2001 r. przez Brama Cohena, wkrótce powstała też pierwsza implementacja istnieje wiele klientów na różne platformy brak oficjalnego standardu Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 3 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Podstawowe pojęcia seed użytkownik posiadajacy kompletny plik i udostępniajacy go innym peer użytkownik będacy w trakcie pobierania pliku i udostępniajacy już posiadane fragmenty innym plik.torrent plik opisujacy udostępniane poddrzewo katalogów (albo pojedyncze pliki) wraz z ich sumami kontrolnymi i adresami trackerów tracker serwer utrzymujacy listy użytkowników uczestniczacych w rozsyłaniu danych opisywanych przez dany plik.torrent swarm rój, grupa peerów (w tym też seedów) udostępniajacych dane w ramach pliku.torrent; koordynowana przez tracker info hash 20-bajtowy hash SHA1 pola info pliku.torrent, używany do identyfikacji pliku.torrent przez tracker kawałek (piece) vs blok (block) kawałek typowo 256 kib, 512 kib, 1 MiB blok niegdyś 16 kib, teraz 32 kib Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 4 / 40

Zastosowania Poza zwykła wymiana plików: niektórzy wydawcy (np. Sub Pop Records), wykonawcy (Ween, Babyshambles, The Libertines), telewizje (CBC, NRK) używaja BitTorrent do dystrybucji posiadanych treści, wiele projektów open source i wolnego oprogramownia dystrybuuje oprogramowanie poprzez BitTorrent, aby ograniczyć obciażenie serwerów HTTP, FTP, oprogramowanie do podcastów coraz szerzej integruje BitTorrent, aby zaspokoić żadania rosnacej liczby użytkowników słuchajacych podcastów (przetwarzanie plików.torrent publikowanych przez RSS), powstaja kolejne... Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 5 / 40

Zastosowania Poza zwykła wymiana plików: niektórzy wydawcy (np. Sub Pop Records), wykonawcy (Ween, Babyshambles, The Libertines), telewizje (CBC, NRK) używaja BitTorrent do dystrybucji posiadanych treści, wiele projektów open source i wolnego oprogramownia dystrybuuje oprogramowanie poprzez BitTorrent, aby ograniczyć obciażenie serwerów HTTP, FTP, oprogramowanie do podcastów coraz szerzej integruje BitTorrent, aby zaspokoić żadania rosnacej liczby użytkowników słuchajacych podcastów (przetwarzanie plików.torrent publikowanych przez RSS), powstaja kolejne... Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 5 / 40

Zastosowania Poza zwykła wymiana plików: niektórzy wydawcy (np. Sub Pop Records), wykonawcy (Ween, Babyshambles, The Libertines), telewizje (CBC, NRK) używaja BitTorrent do dystrybucji posiadanych treści, wiele projektów open source i wolnego oprogramownia dystrybuuje oprogramowanie poprzez BitTorrent, aby ograniczyć obciażenie serwerów HTTP, FTP, oprogramowanie do podcastów coraz szerzej integruje BitTorrent, aby zaspokoić żadania rosnacej liczby użytkowników słuchajacych podcastów (przetwarzanie plików.torrent publikowanych przez RSS), powstaja kolejne... Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 5 / 40

Zastosowania Poza zwykła wymiana plików: niektórzy wydawcy (np. Sub Pop Records), wykonawcy (Ween, Babyshambles, The Libertines), telewizje (CBC, NRK) używaja BitTorrent do dystrybucji posiadanych treści, wiele projektów open source i wolnego oprogramownia dystrybuuje oprogramowanie poprzez BitTorrent, aby ograniczyć obciażenie serwerów HTTP, FTP, oprogramowanie do podcastów coraz szerzej integruje BitTorrent, aby zaspokoić żadania rosnacej liczby użytkowników słuchajacych podcastów (przetwarzanie plików.torrent publikowanych przez RSS), powstaja kolejne... Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 5 / 40

Serwisy z plikami.torrent Często oprócz hostowania wyszukiwarki plików.torrent, posiadaja także tracker. Przykłady: http://isohunt.com 1,45 miliona torrentów, 1.1PB http://btjunkie.org 2,03 miliona torrentów http://thepiratebay.org 1,4 miliona torrentów http://www.sumotorrent.com http://www.mininova.org http://www.torrentreactor.net http://www.torrentreactor.to http://www.torrentbox.com http://www.torrentz.com... serwisy prywatne, np. http://demonoid.com serwisy tematyczne Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 6 / 40

Klienty BitTorrent Azureus (Vuze) BitTornado BitComet Deluge (libtorrent, PyGTK) CTorrent, RTorrent BitTorrent, µtorrent Transmission, KTorrent TorrentFlux kombajny: Shareaza (ed2k, BitTorrent, Gnutella, Gnutella2), MLDonkey (ed2k, OverNet, Kad, BitTorrent, DC, FastTrack) FlashGet, GetRight, Free Download Manager Opera... Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 7 / 40

Azureus Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 8 / 40

BitTornado (ncurses) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 9 / 40

BitTornado (wxgtk) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 10 / 40

Deluge Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 11 / 40

µtorrent Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 12 / 40

Bencoding napisy 4:spam = spam liczby i3e = 3 listy l4:spam4:eggse = [ spam, eggs ] słowniki d3:cow3:moo3:catl4:meow5:prrrhee = { cow => moo, cat => [ meow, prrrh ]} Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 13 / 40

Bencoding napisy 4:spam = spam liczby i3e = 3 listy l4:spam4:eggse = [ spam, eggs ] słowniki d3:cow3:moo3:catl4:meow5:prrrhee = { cow => moo, cat => [ meow, prrrh ]} Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 13 / 40

Bencoding napisy 4:spam = spam liczby i3e = 3 listy l4:spam4:eggse = [ spam, eggs ] słowniki d3:cow3:moo3:catl4:meow5:prrrhee = { cow => moo, cat => [ meow, prrrh ]} Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 13 / 40

Bencoding napisy 4:spam = spam liczby i3e = 3 listy l4:spam4:eggse = [ spam, eggs ] słowniki d3:cow3:moo3:catl4:meow5:prrrhee = { cow => moo, cat => [ meow, prrrh ]} Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 13 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Protokół komunikacji z trackerem announce tracker wystawia usługę HTTP(S), reaguje na żadania GET klient konstruuje żadanie GET z announce URL + parametry hash info + ilu chce peerów (domyślnie 50) + dane statystyczne odpowiedź trackera w text/plain słownik lista peerów + zbiorcze statystyki seed/leecher interwał pomiędzy kolejnymi żadaniami ewentualnie ostrzeżenia lub błędy Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 14 / 40

Stany peera choked klient, który jest choked, nie będzie miał obsłużonych żadań, dopóki nie stanie się unchoked unchoked zgłaszane przez klienta (który jest unchoked) żadania przesłania kawałka pliku od peera będa obsługiwane interested peer faktycznie będzie żadał danych, gdy stanie się unchoked not interested peer nie będzie żadał danych inicjalnie połaczenia sa w stanie choked i not interested Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 15 / 40

Stany peera choked klient, który jest choked, nie będzie miał obsłużonych żadań, dopóki nie stanie się unchoked unchoked zgłaszane przez klienta (który jest unchoked) żadania przesłania kawałka pliku od peera będa obsługiwane interested peer faktycznie będzie żadał danych, gdy stanie się unchoked not interested peer nie będzie żadał danych inicjalnie połaczenia sa w stanie choked i not interested Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 15 / 40

Stany peera choked klient, który jest choked, nie będzie miał obsłużonych żadań, dopóki nie stanie się unchoked unchoked zgłaszane przez klienta (który jest unchoked) żadania przesłania kawałka pliku od peera będa obsługiwane interested peer faktycznie będzie żadał danych, gdy stanie się unchoked not interested peer nie będzie żadał danych inicjalnie połaczenia sa w stanie choked i not interested Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 15 / 40

Stany peera choked klient, który jest choked, nie będzie miał obsłużonych żadań, dopóki nie stanie się unchoked unchoked zgłaszane przez klienta (który jest unchoked) żadania przesłania kawałka pliku od peera będa obsługiwane interested peer faktycznie będzie żadał danych, gdy stanie się unchoked not interested peer nie będzie żadał danych inicjalnie połaczenia sa w stanie choked i not interested Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 15 / 40

Stany peera choked klient, który jest choked, nie będzie miał obsłużonych żadań, dopóki nie stanie się unchoked unchoked zgłaszane przez klienta (który jest unchoked) żadania przesłania kawałka pliku od peera będa obsługiwane interested peer faktycznie będzie żadał danych, gdy stanie się unchoked not interested peer nie będzie żadał danych inicjalnie połaczenia sa w stanie choked i not interested Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 15 / 40

Rodaje komunikatów wymienianych przez peery handshake, keep-alive choke, unchoke interested, not interested bitfield tylko natychmiast po handshake have jeśli peery nie powiadamiaja innych o kawałkach, które tamte już maja, to można zmniejszyć narzut protokołu o ok. 25 35% request piece zwraca blok cancel Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 16 / 40

Rodaje komunikatów wymienianych przez peery handshake, keep-alive choke, unchoke interested, not interested bitfield tylko natychmiast po handshake have jeśli peery nie powiadamiaja innych o kawałkach, które tamte już maja, to można zmniejszyć narzut protokołu o ok. 25 35% request piece zwraca blok cancel Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 16 / 40

Rodaje komunikatów wymienianych przez peery handshake, keep-alive choke, unchoke interested, not interested bitfield tylko natychmiast po handshake have jeśli peery nie powiadamiaja innych o kawałkach, które tamte już maja, to można zmniejszyć narzut protokołu o ok. 25 35% request piece zwraca blok cancel Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 16 / 40

Rodaje komunikatów wymienianych przez peery handshake, keep-alive choke, unchoke interested, not interested bitfield tylko natychmiast po handshake have jeśli peery nie powiadamiaja innych o kawałkach, które tamte już maja, to można zmniejszyć narzut protokołu o ok. 25 35% request piece zwraca blok cancel Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 16 / 40

Rodaje komunikatów wymienianych przez peery handshake, keep-alive choke, unchoke interested, not interested bitfield tylko natychmiast po handshake have jeśli peery nie powiadamiaja innych o kawałkach, które tamte już maja, to można zmniejszyć narzut protokołu o ok. 25 35% request piece zwraca blok cancel Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 16 / 40

Strategie ściagania kawałków losowa najrzadszy pierwszy warto wprowadzić pewna losowość wyboru wśród najrzadszych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 17 / 40

Strategie ściagania kawałków losowa najrzadszy pierwszy warto wprowadzić pewna losowość wyboru wśród najrzadszych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 17 / 40

Strategie ściagania kawałków losowa najrzadszy pierwszy warto wprowadzić pewna losowość wyboru wśród najrzadszych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 17 / 40

Zalety świetna wydajność wymiany plików wyszukiwanie i indeksowanie torrentów nie obciaża protokołu, ponieważ tej funkcjonalności po prostu nie ma drobnoziarnista kontrola poprawności niewrażliwy na zjawisko flash crowd Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 18 / 40

Zalety świetna wydajność wymiany plików wyszukiwanie i indeksowanie torrentów nie obciaża protokołu, ponieważ tej funkcjonalności po prostu nie ma drobnoziarnista kontrola poprawności niewrażliwy na zjawisko flash crowd Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 18 / 40

Zalety świetna wydajność wymiany plików wyszukiwanie i indeksowanie torrentów nie obciaża protokołu, ponieważ tej funkcjonalności po prostu nie ma drobnoziarnista kontrola poprawności niewrażliwy na zjawisko flash crowd Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 18 / 40

Zalety świetna wydajność wymiany plików wyszukiwanie i indeksowanie torrentów nie obciaża protokołu, ponieważ tej funkcjonalności po prostu nie ma drobnoziarnista kontrola poprawności niewrażliwy na zjawisko flash crowd Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 18 / 40

Efektywność wymiany tit for tat wet za wet, czyli wysyłam temu, który mi dużo wysyła problem z nowo przyłaczonymi peerami: nikt nie chce im wysyłać (bo nie maja nic w zamian) rozwiazanie: optimistic unchoking rezerwacja części pasma na potrzeby wysyłania danych do przypadkowych peerów technika ta pozwala także znajdować lepszych partnerów w wymianie niż dotychczasowi Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 19 / 40

Efektywność wymiany tit for tat wet za wet, czyli wysyłam temu, który mi dużo wysyła problem z nowo przyłaczonymi peerami: nikt nie chce im wysyłać (bo nie maja nic w zamian) rozwiazanie: optimistic unchoking rezerwacja części pasma na potrzeby wysyłania danych do przypadkowych peerów technika ta pozwala także znajdować lepszych partnerów w wymianie niż dotychczasowi Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 19 / 40

Efektywność wymiany tit for tat wet za wet, czyli wysyłam temu, który mi dużo wysyła problem z nowo przyłaczonymi peerami: nikt nie chce im wysyłać (bo nie maja nic w zamian) rozwiazanie: optimistic unchoking rezerwacja części pasma na potrzeby wysyłania danych do przypadkowych peerów technika ta pozwala także znajdować lepszych partnerów w wymianie niż dotychczasowi Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 19 / 40

Efektywność wymiany tit for tat wet za wet, czyli wysyłam temu, który mi dużo wysyła problem z nowo przyłaczonymi peerami: nikt nie chce im wysyłać (bo nie maja nic w zamian) rozwiazanie: optimistic unchoking rezerwacja części pasma na potrzeby wysyłania danych do przypadkowych peerów technika ta pozwala także znajdować lepszych partnerów w wymianie niż dotychczasowi Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 19 / 40

Efektywność wymiany tit for tat wet za wet, czyli wysyłam temu, który mi dużo wysyła problem z nowo przyłaczonymi peerami: nikt nie chce im wysyłać (bo nie maja nic w zamian) rozwiazanie: optimistic unchoking rezerwacja części pasma na potrzeby wysyłania danych do przypadkowych peerów technika ta pozwala także znajdować lepszych partnerów w wymianie niż dotychczasowi Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 19 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

Leeching albo free riding zdecydowana większość użytkowników posiada łacza asymetryczne użytkownicy szybko przestaja seedować po skompletowaniu pliku skutkuje szybkim wymieraniem rojów -> starsze torrenty trudno dostępne albo wcale prywatne trackery moga utrzymywać statystyki dl/ul i ograniczać/blokować transfer dla klientów majacych odpowiednio niekorzystne ratio polega to na danych od klienta, który może oszukiwać BitComet v0.60 (DHT exploit) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 20 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief stworzony przez Distributed Computing Group, ETH Zurich pozwala ściagać bez wysyłania powstał jako proof of concept łamie szereg zasad przestrzeganych przez grzeczne klienty żada od trackera listów peerów znacznie częściej otwiera duża ilość (500) połaczeń z innymi peerami oryginalny klient BitTorrent otwiera 80 połaczeń przeciaża routery Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 21 / 40

BitThief zwiększenie skali pozwala efektywnie wyzyskiwać optimistic unchoking nie ściaga poczynajac od najrzadszego kawałka, wybierany jest losowy aby nie marnować żadnego okresu bycia unchoked fałszuje statystyki dla trackera szybkości ściagnięć sa nieco niższe niż u konkurencji, ale przy dobrze seedowanych torrentach wydajność BitThief jest porównywalna z innymi klientami Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 22 / 40

BitThief zwiększenie skali pozwala efektywnie wyzyskiwać optimistic unchoking nie ściaga poczynajac od najrzadszego kawałka, wybierany jest losowy aby nie marnować żadnego okresu bycia unchoked fałszuje statystyki dla trackera szybkości ściagnięć sa nieco niższe niż u konkurencji, ale przy dobrze seedowanych torrentach wydajność BitThief jest porównywalna z innymi klientami Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 22 / 40

BitThief zwiększenie skali pozwala efektywnie wyzyskiwać optimistic unchoking nie ściaga poczynajac od najrzadszego kawałka, wybierany jest losowy aby nie marnować żadnego okresu bycia unchoked fałszuje statystyki dla trackera szybkości ściagnięć sa nieco niższe niż u konkurencji, ale przy dobrze seedowanych torrentach wydajność BitThief jest porównywalna z innymi klientami Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 22 / 40

BitThief zwiększenie skali pozwala efektywnie wyzyskiwać optimistic unchoking nie ściaga poczynajac od najrzadszego kawałka, wybierany jest losowy aby nie marnować żadnego okresu bycia unchoked fałszuje statystyki dla trackera szybkości ściagnięć sa nieco niższe niż u konkurencji, ale przy dobrze seedowanych torrentach wydajność BitThief jest porównywalna z innymi klientami Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 22 / 40

BitThief zwiększenie skali pozwala efektywnie wyzyskiwać optimistic unchoking nie ściaga poczynajac od najrzadszego kawałka, wybierany jest losowy aby nie marnować żadnego okresu bycia unchoked fałszuje statystyki dla trackera szybkości ściagnięć sa nieco niższe niż u konkurencji, ale przy dobrze seedowanych torrentach wydajność BitThief jest porównywalna z innymi klientami Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 22 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Asymetria seed peer brak zachęt dla seedów peer musi wysyłać, aby dostać coś od innego peera, natomiast aby efektywnie pobierać od seeda wystarczy, że pobiera się tak szybko, jak się da można więc ograniczyć się tylko do seedów pozwala to ściagn ać cały plik nie dajac w zamian NIC niepotrzebnie obciaża seedów skuteczne, gdy jest wielu seedów Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 23 / 40

Słabości tit for tat można wysyłać do peerów z minimalna prędkościa potrzebna, aby pozostawać na ich listach preferowanych peerów jak poznać tę prędkość? wystarczy obserwować częstotliwość komunikatów have (o ile nie sa one zoptymalizowane) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 24 / 40

Słabości tit for tat można wysyłać do peerów z minimalna prędkościa potrzebna, aby pozostawać na ich listach preferowanych peerów jak poznać tę prędkość? wystarczy obserwować częstotliwość komunikatów have (o ile nie sa one zoptymalizowane) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 24 / 40

Słabości tit for tat można wysyłać do peerów z minimalna prędkościa potrzebna, aby pozostawać na ich listach preferowanych peerów jak poznać tę prędkość? wystarczy obserwować częstotliwość komunikatów have (o ile nie sa one zoptymalizowane) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 24 / 40

Słabości tit for tat w wydaniu BitTorrent nie uwzględnia tego, czy wysyłane bloki danego kawałka pozwalaja scalić się w kompletny kawałek jeśli nie, to peer musi ściagać cały kawałek od poczatku peer nie ma możliwości stwierdzenia, kto mu wysyłał nieprawidłowe bloki, o ile nie wszystkie pochodza z jednego źródła jeśli oszust wysyłał śmieci odpowiednio szybko, może nawet być za to nagrodzony Azureus daje sobie z tym radę Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 25 / 40

Słabości tit for tat w wydaniu BitTorrent nie uwzględnia tego, czy wysyłane bloki danego kawałka pozwalaja scalić się w kompletny kawałek jeśli nie, to peer musi ściagać cały kawałek od poczatku peer nie ma możliwości stwierdzenia, kto mu wysyłał nieprawidłowe bloki, o ile nie wszystkie pochodza z jednego źródła jeśli oszust wysyłał śmieci odpowiednio szybko, może nawet być za to nagrodzony Azureus daje sobie z tym radę Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 25 / 40

Słabości tit for tat w wydaniu BitTorrent nie uwzględnia tego, czy wysyłane bloki danego kawałka pozwalaja scalić się w kompletny kawałek jeśli nie, to peer musi ściagać cały kawałek od poczatku peer nie ma możliwości stwierdzenia, kto mu wysyłał nieprawidłowe bloki, o ile nie wszystkie pochodza z jednego źródła jeśli oszust wysyłał śmieci odpowiednio szybko, może nawet być za to nagrodzony Azureus daje sobie z tym radę Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 25 / 40

Słabości tit for tat w wydaniu BitTorrent nie uwzględnia tego, czy wysyłane bloki danego kawałka pozwalaja scalić się w kompletny kawałek jeśli nie, to peer musi ściagać cały kawałek od poczatku peer nie ma możliwości stwierdzenia, kto mu wysyłał nieprawidłowe bloki, o ile nie wszystkie pochodza z jednego źródła jeśli oszust wysyłał śmieci odpowiednio szybko, może nawet być za to nagrodzony Azureus daje sobie z tym radę Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 25 / 40

Słabości tit for tat w wydaniu BitTorrent nie uwzględnia tego, czy wysyłane bloki danego kawałka pozwalaja scalić się w kompletny kawałek jeśli nie, to peer musi ściagać cały kawałek od poczatku peer nie ma możliwości stwierdzenia, kto mu wysyłał nieprawidłowe bloki, o ile nie wszystkie pochodza z jednego źródła jeśli oszust wysyłał śmieci odpowiednio szybko, może nawet być za to nagrodzony Azureus daje sobie z tym radę Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 25 / 40

Waskie gardła tracker obsługuje ok. 0,1% całkowitego ruchu [Tam03] jego awaria powoduje zamrożenie zbioru peerów w roju (bez DHT) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 26 / 40

Waskie gardła tracker obsługuje ok. 0,1% całkowitego ruchu [Tam03] jego awaria powoduje zamrożenie zbioru peerów w roju (bez DHT) Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 26 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Inne wady protokołu brak możliwości indeksowania i wyszukiwania plików.torrent, musza być uzyskiwane z zewnętrznego źródła ale dzięki temu ruch z tym zwiazany nie zmniejsza transferu plików brak anonimowości po dołaczeniu do trackera dostajemy listę peerów danego torrenta identyfikacja peerów po IP wymiana małych plików wiaże się ze stosunkowo dużym narzutem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 27 / 40

Oficjalne rozszerzenia super-seeding DHT szyfrowanie Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 28 / 40

Oficjalne rozszerzenia super-seeding DHT szyfrowanie Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 28 / 40

Oficjalne rozszerzenia super-seeding DHT szyfrowanie Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 28 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding seed zachowuje się jak peer, który nie ma pliku gdy podłaczy się klient A, informuje go o tym, że właśnie otrzymał kawałek wybranym kawałkiem jest taki, którego nigdy nie wysłał albo jest bardzo rzadki gdy wyśle do A zaanonsowany mu kawałek, wstrzymuje ogłaszenie kolejnych kawałków klientowi A jeśli dowie się od innego klienta B, że ma kawałek, który został wysłany do A, wtedy wznawia współpracę z A klienci sa zmuszeni do dystrybuowania otrzymanych kawałków Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 29 / 40

Super-seeding cechy initial seeding algorytm ten minimalizuje wartość uploadu seeda potrzebuje wysłać tyle, ile wynosi rozmiar pliku w rezultacie seed jest odciażony, wymusza współdziałanie po stronie ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 30 / 40

Super-seeding cechy initial seeding algorytm ten minimalizuje wartość uploadu seeda potrzebuje wysłać tyle, ile wynosi rozmiar pliku w rezultacie seed jest odciażony, wymusza współdziałanie po stronie ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 30 / 40

Super-seeding cechy initial seeding algorytm ten minimalizuje wartość uploadu seeda potrzebuje wysłać tyle, ile wynosi rozmiar pliku w rezultacie seed jest odciażony, wymusza współdziałanie po stronie ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 30 / 40

Super-seeding cechy aczkolwiek niekoniecznie powoduje to przyspieszenie rozprzestrzenienia się pliku wśród peerów zmniejsza ogólny transfer zwłaszcza, jeśli wielu peerów zachowuje się egoistycznie wymaga co najmniej 2 ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 31 / 40

Super-seeding cechy aczkolwiek niekoniecznie powoduje to przyspieszenie rozprzestrzenienia się pliku wśród peerów zmniejsza ogólny transfer zwłaszcza, jeśli wielu peerów zachowuje się egoistycznie wymaga co najmniej 2 ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 31 / 40

Super-seeding cechy aczkolwiek niekoniecznie powoduje to przyspieszenie rozprzestrzenienia się pliku wśród peerów zmniejsza ogólny transfer zwłaszcza, jeśli wielu peerów zachowuje się egoistycznie wymaga co najmniej 2 ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 31 / 40

Super-seeding cechy aczkolwiek niekoniecznie powoduje to przyspieszenie rozprzestrzenienia się pliku wśród peerów zmniejsza ogólny transfer zwłaszcza, jeśli wielu peerów zachowuje się egoistycznie wymaga co najmniej 2 ściagaj acych Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 31 / 40

DHT DHT Distributed Hash Table pozwala ściagać plik bez obecności trackera implementacje obecne w klientach BitTorrent oparte na Kademlii większość wzajemnie kompatybilnych szeroko rozpowszechniony Azureus niechlubnym wyjatkiem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 32 / 40

DHT DHT Distributed Hash Table pozwala ściagać plik bez obecności trackera implementacje obecne w klientach BitTorrent oparte na Kademlii większość wzajemnie kompatybilnych szeroko rozpowszechniony Azureus niechlubnym wyjatkiem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 32 / 40

DHT DHT Distributed Hash Table pozwala ściagać plik bez obecności trackera implementacje obecne w klientach BitTorrent oparte na Kademlii większość wzajemnie kompatybilnych szeroko rozpowszechniony Azureus niechlubnym wyjatkiem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 32 / 40

DHT DHT Distributed Hash Table pozwala ściagać plik bez obecności trackera implementacje obecne w klientach BitTorrent oparte na Kademlii większość wzajemnie kompatybilnych szeroko rozpowszechniony Azureus niechlubnym wyjatkiem Rafał Nagrodzki (MIMUW) Protokół BitTorrent 23 października 2008 r. 32 / 40