Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sieci peer-to-peer drugiej generacji

Podobne prezentacje


Prezentacja na temat: "Sieci peer-to-peer drugiej generacji"— Zapis prezentacji:

1 Sieci peer-to-peer drugiej generacji
Internetowe aplikacje typu równy-z-równym zostały ostatnio spopularyzowane dzięki programom współdzielącym pliki, takim jak Napster, Gnutella, FreeNet. Podczas gdy wiele uwagi skupiono na prawach autorskich naruszanych przez te szczególne aplikacje, systemy równy-z-równym mają wiele interesujących aspektów technicznych, takich jak: rozproszona kontrola, samoorganizacja, adaptacja i skalowalność. Sieci równy-z-równym można scharakteryzować jako rozproszone systemy, w których każdy węzeł ma identyczne zdolności i obowiązki pod względem funkcjonalności, a cała komunikacja jest symetryczna Dariusz Piechociński

2 Model klient-serwer

3 Model hybrydowy

4 p2p i DHT GUID GUID W sieciach p2p nie ma hierarchicznej kontroli, komunikacja jest symetryczna, każdy węzeł odpowiada za przechowywanie zasobów i utrzymywanie sieci. Analogia do tablic haszujących DHT – rozproszone tablice haszujące (Decentralized Hash Tables)

5 Cechy i wymagania sieci p2p
skalowalność samoorganizacja lokalizacja obiektów skuteczne trasowanie Współczesne platformy rozproszone powinny posiadać następujące cechy: zachowują swoje właściwości w miarę rozrostu sieci Nie wymagają ingerencji z zewnątrz, wszystko jest automatyczne obiekty powinny być znalezione, jeśli istnieją gdziekolwiek w sieci trasy powinny nie tylko powstawać w małej liczbie hopów na poziomie aplikacji, ale powinny też mieć niski stosunek odległości pokonanej przez wiadomość od źródła do celu, do minimalnej odległości pomiędzy źródłem i celem struktura sieci nie może powodować nadmiernego obciążenia, któregokolwiek z jej komponentów system musi obsługiwać przybycia i odejścia węzłów z jednoczesnym zachowaniem powyższych wymagań symetryczność odporność na błędy

6 Pastry 128 –bitowe identyfikatory obiektów
Przestrzeń adresów: 0 – Trasowanie na podstawie prefiksów identyfikatorów w krokach Uwzględnianie odległości w sieci Utrzymywanie informacji o węzłach Liczba hopów 5, tablica rutingu 75 wpisów dla 1mln węzłów

7 Budowa węzła Pastry Zespół liści
to zbiór węzłów z numerycznie najbliższymi większymi oraz węzłów z numerycznie najbliższymi mniejszymi adresami nodeId w stosunku do obecnego węzła. Zespół liści jest używany podczas trasowania wiadomości Tablica Rutingu Zacienione komórki w wierszu n odpowiadają wartości n+1 –wszej cyfry w identyfikatorze lokalnego węzła i określane przez nie wpisy są puste. Identyfikatory dla każdego wpisu są podzielone następująco: wspólny prefiks z – następna cyfra – reszta identyfikatora. n+1 –wsza cyfra w identyfikatorze węzła w wierszu n w kolumnie m ma wartość m. Skojarzone adresy IP nie są pokazane. Tablica rutingu R składa się z log2bN wierszy oraz 2b – 1 kolumn (komórki są nazywane wpisami). Każdy wpis oznacza węzeł, którego adres nodeId jest taki sam jak obecnego węzła, na pierwszych n cyfrach, ale którego n+1 -wsza cyfra ma wartość inną niż n+1 -wsza cyfra w nodeId obecnego węzła. Zespół sąsiadów zawiera adresy nodeId i IP |M| węzłów, które są najbliższe (pod względem metrycznym) do obecnego węzła. Zespół sąsiadów jest użyteczny podczas uwzględniania odległości obiektów

8 Algorytm trasowania 10300123 10300123 10233301 10233301 Zespół liści
to zbiór węzłów z numerycznie najbliższymi większymi oraz węzłów z numerycznie najbliższymi mniejszymi adresami nodeId w stosunku do obecnego węzła. Zespół liści jest używany podczas trasowania wiadomości Tablica Rutingu Zacienione komórki w wierszu n odpowiadają wartości n+1 –wszej cyfry w identyfikatorze lokalnego węzła i określane przez nie wpisy są puste. Identyfikatory dla każdego wpisu są podzielone następująco: wspólny prefiks z – następna cyfra – reszta identyfikatora. n+1 –wsza cyfra w identyfikatorze węzła w wierszu n w kolumnie m ma wartość m. Skojarzone adresy IP nie są pokazane. Tablica rutingu R składa się z log2bN wierszy oraz 2b – 1 kolumn (komórki są nazywane wpisami). Każdy wpis oznacza węzeł, którego adres nodeId jest taki sam jak obecnego węzła, na pierwszych n cyfrach, ale którego n+1 -wsza cyfra ma wartość inną niż n+1 -wsza cyfra w nodeId obecnego węzła. Zespół sąsiadów zawiera adresy nodeId i IP |M| węzłów, które są najbliższe (pod względem metrycznym) do obecnego węzła. Zespół sąsiadów jest użyteczny podczas uwzględniania odległości obiektów

9 Trasowanie Pastry NodeID 0x43FE NodeID 0x79FE NodeID 0x23FE NodeID
0x993E NodeID 0x43FE NodeID 0x43AE NodeID 0x44FE NodeID 0xF990 NodeID 0x035E NodeID 0x04FE NodeID 0x13FE NodeID 0x555E NodeID 0x425E Jeśli klucz nie jest pokryty przez zespół liści, wtedy jest używana tablica rutingu i wiadomość jest przesyłana do węzła, który z kluczem ma wspólny prefiks, o co najmniej jedną cyfrę dłuższy. W szczególnym przypadku może się zdarzyć, że taka komórka w tablicy rutingu będzie pusta, albo odpowiadający jej węzeł będzie nieosiągalny. Wtedy wiadomość jest przesyłana do węzła, który współdzieli z kluczem prefiks, co najmniej tak samo długi jak obecny węzeł, i jest numerycznie bliższy do klucza niż adres obecnego węzła. NodeID 0x9990 NodeID 0x419E NodeID 0x73FF NodeID 0x1290 NodeID 0x423E

10 Przybycia węzłów NodeID 0x779FE NodeID 0xA23FE NodeID 0x6993E NodeID
0xC035E NodeID 0x704FE NodeID 0x913FE NodeID 0xB555E NodeID 0x0ABFE Kiedy nowy węzeł dołącza do sieci wpierw inicjuje swoje tablice stanów, a później informuje pozostałe węzły o swoim przybyciu. Zakłada się, że nowoprzybyły węzeł początkowo wie o okolicznym węźle A, który aktualnie jest częścią sieci Pastry. Węzeł X prosi węzeł A o trasowanie wiadomości „przyłączenia” z kluczem równym identyfikatorowi X. Tak jak każdą inną wiadomość Pastry trasuje wiadomość przyłączenia do węzła Z, który jest numerycznie najbliższy do X. W odpowiedzi na otrzymane wiadomości przyłączenia, węzły A, Z i wszystkie węzły napotkane po drodze od A do Z wysyłają swoje tablice stanu do X. Nowy węzeł X bada te informacje i wtedy inicjuje swoje tablice stanów. Ponieważ węzeł A jest wybrany, aby być blisko do X, jego zbiór sąsiadów jest użyty do zainicjowania zespołu sąsiadów węzła X. Ponadto węzeł Z ma adres nodeId najbliższy do adresu X i w ten sposób jego zespół liści jest podstawą zespołu liści węzła X. i-ty wiersz tablicy rutingu jest uzyskiwany z i-tego węzła napotkanego po drodze od A do Z. koszt operacji dotyczy log2bN węzłów NodeID 0x09990 NodeID 0x5239E NodeID 0x71290 P. przyłącz. 0xD73FF NOWY 0x143FE

11 Odejścia węzłów Uszkodzenia w zespole liści
Węzły w sieci Pastry mogą odejść lub zostać uszkodzone bez ostrzeżenia, tzn. bez informowania pozostałych węzłów o odejściu Aby zastąpić uszkodzony węzeł w zespole liści jego sąsiad kontaktuje się z istniejącym węzłem o największym indeksie po stronie uszkodzonego węzła i prosi go o jego zespół liści L’. Otrzymany zespół liści L’ częściowo pokrywa się z jego własnym zespołem i zawiera nowe węzły. Spośród tych nowych węzłów wybierany jest jeden ten, który zastąpi uszkodzony węzeł i po uprzednim zweryfikowaniu (poprzez bezpośredni kontakt) jego obecności w sieci jest umieszczany w zespole liści L. W podobny sposób są obsługiwane odejścia w tablicy rutingu i zespole sąsiadów.

12 Wyszukiwanie obiektów

13 CAN Rozproszona tablica haszująca oparta na d wymiarowej przestrzeni współrzędnych Rozmiar tablicy rutingu: O(d) Liczba hopów wyszukiwania: O(dN1/d) Wydajność, a powtarzalność Wiele wymiarów Wiele „rzeczywistości” Przyjęta niepowtarzalność obiektów

14 Pytania


Pobierz ppt "Sieci peer-to-peer drugiej generacji"

Podobne prezentacje


Reklamy Google