Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Peer-to-Peer Kamil Rembalski Kostynowicz Jakub. Co oznacza słowo peer Merriam-Webster: one that is of equal standing with another Cambridge: a person.

Podobne prezentacje


Prezentacja na temat: "Peer-to-Peer Kamil Rembalski Kostynowicz Jakub. Co oznacza słowo peer Merriam-Webster: one that is of equal standing with another Cambridge: a person."— Zapis prezentacji:

1 Peer-to-Peer Kamil Rembalski Kostynowicz Jakub

2 Co oznacza słowo peer Merriam-Webster: one that is of equal standing with another Cambridge: a person who is the same age or has the same social position or the same abilities as other people in a group Można tłumaczyć na polski jako równy

3 Definicja IEEE (Institute of Electrical and Electronics Engineers) A distributed network architecture may be called a Peer-to-Peer network, if the participants share a part of their own hardware resources (processing power, storage capacity, network link capacity, printers). These shared resources are necessary to provide the Service and content offered by the network (e.g. file sharing or shared workspaces for collaboration). They are accessible by other peers directly, without passing intermediary entities. The participants of such a network are thus resource (Service and content) providers as well as resource (Service and content) requestors (Servent). R. Schollmeier, A Definition of Peer-to-Peer Networking IEEE, 2001

4 P2P vs. Klient / Serwer

5 Porównanie: Architektura Peer-to-peer Każdy równy (peer) posiada podobną ilość zasobów Równi komunikują się bezpośrednio ze sobą udostępniając sobie zasoby Każdy może za równo inicjować żądania jak i je obsługiwać Klient / Serwer. Serwer: Obsługuje żądania ale sam nie inicjuje żądań. Serwery są centralnie administrowane i posiadają znacznie więcej zasobów niż klienci. Klient: Jednostka, która inicjuje żądania, ale sama nie jest w stanie obsłużyć żadnych żądań.

6 Rodzaje P2P Pure peer-to-peer Architekturę sieci można zakwalifikować jako pure p2p tylko wówczas gdy każdy jeden, arbitralnie wybrany węzeł można z niej usunąć nie zmniejszając funkcjonalności całej sieci. Hybrid peer-to-peer (hybrydowe p2p) Pewne usługi sieciowe (jak np. wyszukiwanie zasobów, czy innych peers) wymagają działania centralnego/wyróżnionego węzła (serwera)

7 Historia P2P Koncepcja nie jest nowa (używana przez uczelnie i uniwersytety od 30 lat) Arpanet (koniec lat 60-tych) łączył UCLA, Stanford Research Institute, UC Santa Barbara and the University of Utah nie w architekturze Klient/ Serwer ale wlaśnie na zasadzie równouprawnionych stron. Popularne aplikacje wczesnego internetu: ftp i telnet działały na zasadzie klient/serwer, jednak każda stacja mogła odgrywać obie role. Można to uznać za spełnienie paradygmatu p2p USENET bazujący na Unix-to-Unix-copy protocol pozwalał na wymiane plików. Na początku łączył tylko Duke University oraz University of North Carolina. W tej chwili ma setki tysięcy użytkowników. Usenet to obecnie zdecentralizowana sieć wymiany wiadomości pomiedzy serwerami grup dyskusyjnych. Brak centralnego serwera sprawia że Usenet można traktować jako pure p2p.

8 Historia P2P Początek lat 90 Rozwój WWW. Odejście od P2P na rzecz Klient/Serwer 1999 Napster (stworzony przez Shawna Fanninga z Northeastern University ) Hybrydowy p2p do wymiany plików mp3. W krótkim czasie zdobywa miliony użytkowników (głównie w środowiskach akademickich)

9 Historia P2P Recording Industry Association of America rozpoczyna kampanię przeciwko Napsterowi. Metallica pozywa Napstera za łamanie praw autorskich. Lipiec 2001 Napster zaprzestaje działalności po próbie przekształcenia go w płatny serwis. Powstają naśladowcy Napstera – Kazaa (160 milionow uzytkowinikow), Gnutella (pure p2p), Audiogalaxy, iMesh Edonkey, Emule, Overnet (użycie funkcji haszującej w celu uniemożliwienia oszukiwania nazw plików) Direct Connect++

10 Problemy z aplikacjami p2p Legalność udostępnianych plików Problemy bezpieczeństwa -spyware TopText, Gator, Cydoor, BonziBuddy -podatność na wirusy -nieskuteczność firewalli (zmienianie portów, port 80)

11 Przykłady aplikacji P2P

12

13

14 Przyszłość P2P Duże firmy i konsorcja doceniają znaczenie peer-to-peer Rozwój platform takich jak Microsoft.NET oraz Sun JXTA wspomagających P2P Anonimowe p2p – Freenet (A Distributed Anonymous Information Storage and Retrieval System )

15 JXTA JXTA (wym. dżiuksta) projekt open source uruchomionym przez Billa Joya z Sun Java jako język podstawowy standardu. Obecnie trwają prace nad definicją protokołów, za pomocą których budowane będą aplikacje P2P. Do tej pory zdefiniowano 6 protokołów JXTA. Liczba implementowanych protokołów przez członka sieci (peer) zależy od jego możliwości technicznych - wystarczy, by implementował on jeden z protokołów.

16 JXTA

17 peers mogą oznaczać zarówno serwery, komputery osobiste, jak i urządzenia przenośne (PDA, telefony komórkowe). "Równi" mogą łączyć się w grupy (peer groups) "Równi" oraz ich grupy udostępniają usługi - jeżeli udostępniający nie jest aktywny, usługa jest niedostępna. Usługę udostępnianą przez grupę, można uzyskać od dowolnego aktywnego jej członka. Publikowanie i odnajdywania zasobów poprzez dokumenty w XML zwane ogłoszeniami (advertisements) Identyfikatory zdefiniowane w formacie URI (Uniform Resource Identifier)

18 Q2R

19 Ogólne założenia Program ma służyć do pobierania plików (coś w stylu eDonkey) Hybrydowe p2p

20 Minimalne wymagania Nawiązywanie połączeń. Współdzielenie pliku. Wyszukiwanie pliku. Pobieranie pliku.

21 Ogólna struktura Serwer Klient 1 Klient 2 Połaczenia kontrolne Klient 3

22 Ogólna struktura Serwer Klient 1 Klient 2 Połączenia przesyłające Klient 3

23 Nawiązywanie połączenia Serwer Klient 1) Nazywam się Bruce Lee

24 Nawiązywanie połączenia Serwer Bruce Lee 2) Super...

25 Współdzielenie pliku Serwer Bruce Lee 1) Mam nowy plik

26 Współdzielenie pliku Serwer Bruce Lee 2) Fajnie

27 Współdzielenie pliku Jak stwierdzić, czy nowy plik nie jest już współdzielony ? Jak przechowywać dane o plikach i użytkownikach ?

28 Współdzielenie pliku - hash Co nie powinno być zawarte w hashu ?

29 Współdzielenie pliku - hash Nazwa pliku Co nie powinno być zawarte w hashu ? Co można zawrzeć w hashu ?

30 Współdzielenie pliku - hash Nazwa pliku Rozmiar pliku Zawartość pliku Właściwości pliku (np. codec, format); Co nie powinno być zawarte w hashu ? Co można zawrzeć w hashu ?

31 Współdzielenie pliku - dane Hash Nazwy Klienci posiadający ten plik inne dane (rozmiar, etc.) Pliki, które posiada Nick Co powinniśmy wiedzieć o pliku? Co powinniśmy wiedzieć o kliencie?

32 Współdzielenie pliku - dane Plik Hash Nazwy Rozmiar Klient Nick Połączenie **

33 Współdzielenie pliku - dane Pliki Klienci Hash

34 Wyszukanie pliku Serwer Bruce Lee 1) Znajdź pliki oops

35 Wyszukanie pliku Serwer Bruce Lee 2) Oops I did it again.mp3

36 Pobieranie pliku Serwer Bruce Lee Chcę plik Ooops I did it again.mp3

37 Pobieranie pliku Serwer Bruce Lee Pobierz od Elvisa Wyślij Bruceowi Ooops I did it again.mp3 Elvis Presley

38 Pobieranie pliku Serwer Bruce LeeKlient 2 Wysyłanie Oops I did.. Elvis Presley

39 Pobieranie pliku Serwer Bruce LeeKlient 2 Wysyłanie Oops Elvis Presley

40 Omówienie programu Q2R FileDescriptor - przechowuje dane o pliku. Generowany bezpośrednio z pliku po stronie klienta. Hash - identyfikator pliku. Generowany po stronie klienta za pomocą pliku. Pakiet Utils

41 Omówienie programu Q2R Client - klasa reprezentująca klienta. Przechowuje dane klienta oraz utrzymuje połaczenie kontrolne. ServerData - klasa przechowująca dane i umożliwiająca efektywne wyszukiwanie. Server - GUI serwera oraz fabryka klientów. Klasy serwera

42 Omówienie programu Q2R Q2R - GUI NetworkInterface - utrzymuje połączenie kontrolne z serwerem Download i Upload- wątki pobierające / wysyłające plik od / do innego klienta. Klasy klienta

43 Co można dodać... Połączenia kontrolne między klientami Kolejkowanie żądań Dzielenie plików na części


Pobierz ppt "Peer-to-Peer Kamil Rembalski Kostynowicz Jakub. Co oznacza słowo peer Merriam-Webster: one that is of equal standing with another Cambridge: a person."

Podobne prezentacje


Reklamy Google