Protoko‚y PEER2PEER
Transcript of Protoko‚y PEER2PEER
![Page 1: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/1.jpg)
Protokoły PEER2PEER
Krzysztof Kostałkowicz
![Page 2: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/2.jpg)
Sieć komputerowa
Zbiór komputerówpotrafiących się komunikować
![Page 3: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/3.jpg)
Struktura logiczna sieci
● Model scentralizowanyklientserwer
● Model rozproszonypeer to peer
![Page 4: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/4.jpg)
Klient serwer
![Page 5: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/5.jpg)
Peer to Peer
![Page 6: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/6.jpg)
Model hybrydowy
![Page 7: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/7.jpg)
Ukryte P2P
![Page 8: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/8.jpg)
Przetwarzanie rozproszone
![Page 9: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/9.jpg)
Klient/serwer a P2P
● Symetria● Skalowalność● Liczba połączeń● Niezawodność● Bezpieczeństwo● Spam● Łatwość zarządzania
![Page 10: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/10.jpg)
Zastosowania
● Wymiana danych– lokalnie (SMB/CIFS)– zdalnie
● Streaming● Chat (IRC DCC)● Przetwarzanie danych (SETI, ?)● Wikipedia
![Page 11: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/11.jpg)
Historia● IRC, usenet● Napster
–Napisany przez studenta–Powstał w 1999–Procesy sądowe w 2000–Zamknięty w 2001–Reaktywacja w 2003
● BitTorrent 2001
![Page 12: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/12.jpg)
Cechy protokołów
● Zdecentralizowany● Hierarchiczny● Zapewnia anonimowość● Obsługuje szyfrowanie● Ściąganie plików w częściach● Sprawdzanie poprawności● Efektywne wyszukiwanie
![Page 13: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/13.jpg)
Protokoły● ANts P2P● Ares● BitTorrent● Direct Connect● DNS● eDonkey● FastTrack● Freenet● GNUnet● Gnutella● Gnutella2● JXTA● Kad Network
● KDP, SDDP● Krawler● MANOLITO/MP2P● MFPnet● Napster● OpenNap● P2PTV● PDTP● Peercasting● Pichat● Usenet● WPNP● Windows PeertoPeer
![Page 14: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/14.jpg)
DNS / SMTP
Mail User Agent Mail Transport Agent
![Page 15: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/15.jpg)
Napster
● Mocno scentralizowany● Klient wysyła serwerowi listę
swoich zasobów● Wyszukiwanie wykonywane
przez serwer● Transfery bezpośrednie● Inżynieria wsteczna
![Page 16: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/16.jpg)
Direct Connect
● Powstał w 1999 (licealista)● Podobny do IRC● Klient łączy się z hubem
(hubami)● www.hublist.org – nie działa● Inżynieria wsteczna
![Page 17: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/17.jpg)
![Page 18: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/18.jpg)
Direct Connect – model
● Wszyscy użytkownicy widoczni● Operatorzy● Upload/download slots/queue● Rozmiar zasobów● Polityka huba● Użytkownicy aktywni/pasywni● Hashowanie TTH (Advanced DC)
![Page 19: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/19.jpg)
Direct Connect – operacje
● Wyś l ij/pobierz listę plików● Chat (globalny i prywatny)● Szukanie (wyniki bezpośrednio)● Ściąganie pliku● Kick i ban● Rozłącz połączenie
![Page 20: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/20.jpg)
Direct Connect – oszustwa
● Lista plików● Rozmiar zasobów● Zajętość slotów● Transfer● Rozłączanie, wychodzenie● Huby oficjalnie dopuszczają
jedynie DC++
![Page 21: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/21.jpg)
Gnutella
● Stworzony w 2000● Udział w rynku ponad 40%
(2005)● Klient miał być na GPL● Inżynieria wsteczna
![Page 22: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/22.jpg)
Gnutella
Pełna decentralizacja!
![Page 23: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/23.jpg)
Gnutella bootstrapping
● Dystrybucja klienta● GWebCaches● UDP host caches● IRC
![Page 24: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/24.jpg)
Gnutella połączenia
● Węzły pobierane od sąsiadów● Limit połączonych węzłów● Niedziałające zapominane● Niepróbowane zapamiętywane
![Page 25: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/25.jpg)
Gnutella szukanie
● DFS z maksymalną głębokością(wersja 0.4 b=5 d=7 : 97656)
● Wyniki wracają tą samą drogą co zapytanie
![Page 26: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/26.jpg)
Gnutella transfery
● Bezpośrednio (HTTP)● Push Request – wysyłane tą
samą drogą co zapytanie● Push Proxy – wysyłane do
ultrawęzła (tunelowanie)
![Page 27: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/27.jpg)
Gnutella wady
● Duży koszt wyszukiwania● Wolne węzły bezużyteczne● Zapytania docierały do
niewielkiej części węzłów
![Page 28: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/28.jpg)
![Page 29: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/29.jpg)
Gnutella usprawnienia
● Ultrawęzły – szukanie(wer. 0.6 w 3u, u 32u d=4)→ →
● Wyniki wracają bezpośrednio do ultrawęzła szukającego
● Query Routing Protocol● Dynamic Queuing
(wstrzymywanie wyszukiwań)
![Page 30: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/30.jpg)
Query Routing Protocol
● Zasób – lista słów kluczowych● Hash: słowo l iczba→● Klient ma wektor booli,
przesyła go do ultrawęzła● Ultrawęzeł nie przesyła zapytań
do (ultra)węzłów które na pewno nie mają zasobu
![Page 31: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/31.jpg)
Gnutella podsumowanie
● Decentralizacja● Hierarchia (nabyta)● Szukanie – słowa kluczowe● Przyjazny dla ogniomurków● Rozszerzenia.. .
![Page 32: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/32.jpg)
FastTrack
● Powstał w 2001● Najbardziej popularny w 2003● Niekompatybilne odmiany:
– Kazaa– iMesh– Grokster
● Inżynieria wsteczna
![Page 33: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/33.jpg)
![Page 34: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/34.jpg)
FastTrack cechy
● Podobny do Gnutelli 0.6● Częściowo scentralizowany● Hierarchiczny
(superwęzły – autopromocja)● Szyfrowanie● Hashowanie UUHash (MD5+CRC)● System reputacji (01000)
![Page 35: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/35.jpg)
eDonkey
● Powstał w 2000 (eDonkey2000)● W 2004 najbardziej popularny● W 2005 przegrany proces,
strona projektu skasowana● Sieć nadal dostępna● Alternatywny (eMule)● Inżynieria wsteczna
![Page 36: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/36.jpg)
eDonkey cechy
● Scentralizowany● Łączenie serwerów w sieci
(hierarchia)● Ściąganie w kawałkach● Hashowanie
![Page 37: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/37.jpg)
![Page 38: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/38.jpg)
eDonkey cechy
● Pliki w kawałkach 9.5mb● Suma kontrolna MD4● Szukanie po metadanych● Schemat adresowania URI
ed2k://|file|The_Two_TowersThe_Purist_EditTrailer.avi|14997504|965c013e991ee246d63d45ea71954c4d|/
![Page 39: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/39.jpg)
eDonkey rozszerzenia
● eDonkey2000 – plugin do BT● Odmiany protokołu:
– Overnet– Kad (eMule)
![Page 40: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/40.jpg)
FreeNet
● Powstał w 1999 (student)● Decentralizacja● Brak hierarchii● Szyfrowanie● Transfery tylko pośrednie● Pełna anonimowość!
![Page 41: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/41.jpg)
Popularność
● 2000,2001 – Napster● 2002,2003 – FastTrack● 2004 – eDonkey● 2005,2006,2007 – BitTorrent
![Page 42: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/42.jpg)
Tabelka
Napster DC
nie nie tak tak nie nie tak ?
nie nie nie tak tak tak nie ?
nie nie nie nie nie nie tak ?
Szyfr. nie nie nie nie tak nie tak ?
Części nie tak* nie tak* tak tak nie ?
nie tak* nie tak* tak tak nie ?
Otwarty nie nie nie nie nie nie tak tak
Gnla 0.4 Gnla 0.6 FastTrack eDonkey FreeNet BitTorrent
Decentr.
Hier.
Anon.
Popr.
* jako rozszerzenie
![Page 43: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/43.jpg)
Inne zastosowania
● Bioinformatyka● Sciencenet● Wojsko● Biznes● Telewizja● Telekomunikacja
![Page 44: Protoko‚y PEER2PEER](https://reader035.fdocument.pub/reader035/viewer/2022071600/613d11df736caf36b758f515/html5/thumbnails/44.jpg)
Linki
● http://www.cs.huji.ac.il/labs/danss/presentations/emule.pdf● http://www.cs.washington.edu/homes/gribble/papers/mmcn.pdf● http://ntrg.cs.tcd.ie/undergrad/4ba2.02/p2p/index.html● http://en.wikipedia.org/wiki/Peertopeer
Pytania?