10.03.2015 Views

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

28 Rozdział 2. Architektury systemów <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong><br />

Pastry, b=2<br />

v = 0112<br />

0<br />

00 01 02 03<br />

0 1 2 3<br />

2 n - 1<br />

Rysunek 2.4: Wskazania tablicy routingu węzła v <strong>na</strong> różne framgenty przestrzeni<br />

adresowej w systemie Pastry dla n =8i b =2.<br />

wierszy oraz 2 b kolumn. W wierszu r gromadzi się adresy węzłów, których<br />

identyfika<strong>to</strong>r ma r wspólnych słów o długości b z identyfika<strong>to</strong>rem v. Kolum<strong>na</strong><br />

c ∈{0, ..., 2 b − 1} zawiera identyfika<strong>to</strong>ry z r +1 słowem równym c. Na rysunku<br />

2.4 umieszczono ilustrację wskazań tablicy routingu dla hipotetycznego systemu<br />

Pastry. Charakterystyczne jest, że w Pastry liczba połączeń w sąsiedztwie węzła<br />

rośnie, <strong>na</strong><strong>to</strong>miast w kierunkach dalszych połączeń jest z<strong>na</strong>cznie mniej. Trzecia<br />

tablica nosi <strong>na</strong>zwę tablicy sąsiadów neighbour set. Sąsiadami oz<strong>na</strong>czone są te<br />

węzły, które bliskie są węzłowi v używając innej metryki niż tej określonej <strong>na</strong><br />

przestrzeni identyfika<strong>to</strong>rów. Na przykład miarą s<strong>to</strong>sowaną dla tablicy sąsiedztwa<br />

może być odległość w sensie czasu przesyłania komunikatu. Tablica sąsiadów<br />

ma <strong>na</strong> celu przyspieszenie przesyłania komunikatów wykorzystując rzeczywiste<br />

położenie węzłów w sieci fizycznej.<br />

2.3.1 Algorytm routingu<br />

W ustrukturalizowanych <strong>systemach</strong> <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> komunikaty zawsze wędrują poprzez<br />

kilka węzłów. Budzi <strong>to</strong> uzasadnione obawy, gdyż możemy łatwo wyz<strong>na</strong>czyć<br />

prawdopodobieństwo p tego, że komunikat zostanie poprawnie dostarczony,<br />

gdy f-ta część węzłów nie działa prawidłowo. Wyraz <strong>na</strong> prawdopodobieństwo<br />

przyjmuje postać p =(1−f) h , gdzie h oz<strong>na</strong>cza liczbę skoków (hops) jakie musi<br />

wyko<strong>na</strong>ć komunikat, by dotrzeć do celu. Jeżeli operujemy w systemie ustrukturalizowanym,<br />

gdzie maksymal<strong>na</strong> liczba skoków częs<strong>to</strong> wyraża<strong>na</strong> jest przez<br />

a · log 2 bN, gdzie a oraz b <strong>to</strong> parametry, a N <strong>to</strong> liczba węzłów uczestniczących<br />

w komunikacji, <strong>to</strong> p =(1− f) a·log 2 bN . Czyli już dla N =10 6 i b =4, p może<br />

być dosyć małe <strong>na</strong>wet przy niewielkim f. Rozwiązanie tego problemu wymaga<br />

zas<strong>to</strong>sowania technik bezpiecznego trasowania oraz proaktywnego usuwania niepoprawnie<br />

działających węzłów.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!