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.

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

Chord. Opracowany w MIT. Każdy węzeł posiada tablicę wskazań <strong>na</strong> 160<br />

innych węzłów w przestrzeni identyfika<strong>to</strong>rów modulo rozmiar przestrzeni.<br />

Przekazywanie komunikatów odbywa się w jednym kierunku. Oczekiwa<strong>na</strong><br />

1<br />

liczba skoków: log 2 2N, gdzie N oz<strong>na</strong>cza spodziewaną liczbę węzłów w<br />

systemie. Przykładem realizacji oprogramowania opartego <strong>na</strong> sieci Chord<br />

jest CFS - Cooperative File System, który jest rozproszonym systemem<br />

plików przez<strong>na</strong>czonym dla dużych intersieci.<br />

Pastry. Opracowany w Rice University. Przesyłanie komunikatów odbywa<br />

się za pomocą specjalnie przygo<strong>to</strong>wanej tablicy tras, której wskazania w<br />

przestrzeni identyfika<strong>to</strong>rów koncentrują się w bezpośrednim sąsiedztwie<br />

węzła. Oczekiwa<strong>na</strong> liczba skoków: alog 2 bN, gdzie b jest parametrem,<br />

przeważnie b =4oraz a jest stałą.<br />

Tapestry. Opracowany w Berkeley California University. System ten<br />

działa <strong>na</strong> podobnych zasadach, jak Pastry. Głów<strong>na</strong> różnica z<strong>na</strong>jduje się w<br />

algorytmie routingu, oraz tym, że Tapestry nie korzysta z lokalności węzłów.<br />

Adres skoku w Tapestry ustalany jest przy użyciu operacji mod 2 b <strong>na</strong><br />

identyfika<strong>to</strong>rach węzłów zgodnych prefiksem adresu docelowego o kolejne<br />

słowo. Ta procedura <strong>na</strong>zwa<strong>na</strong> została trasowaniem suroga<strong>to</strong>wym (ang.<br />

surogate routing) [ZHS + 03, CDG + 02] lub trasowaniem hiperkostkowym<br />

(ang. hipercube routing) [ADS02]. Oczekiwa<strong>na</strong> liczba skoków: log 2 bN.<br />

CAN (ang. Content Addressable Network). Opracowany w Berkeley California<br />

University. Logiczny adres w przypadku tego systemu dzielony jest<br />

<strong>na</strong> d odcinków. Każdy wpis w tablicy tras posiada d sąsiadów, <strong>na</strong>jbliższych<br />

względem każdego odcinka. Oczekiwa<strong>na</strong> liczba skoków: 1 2 dN 1 d .<br />

2.2.1 Przestrzeń identyfika<strong>to</strong>rów<br />

Zarówno w sieciach typu up2p oraz sp2p każdy z węzłów posiada unikalny<br />

całkowi<strong>to</strong>liczbowy identyfika<strong>to</strong>r, który pochodzi z wcześniej ustalonego zakresu<br />

{0, ..., N}, gdzie N =2 n − 1. Różnica między up2p oraz sp2p polega <strong>na</strong> tym,<br />

iż w up2p węzły mogą dowolnie się łączyć, co prowadzi do stworzenia sieci<br />

o strukturze grafu losowego, za wyjątkiem jednoz<strong>na</strong>cznego określenia węzła,<br />

unikalny identyfika<strong>to</strong>r nie ma tak dużego z<strong>na</strong>czenia w sieci up2p.<br />

W <strong>systemach</strong> sp2p każdy węzeł dąży do <strong>na</strong>wiązania kontaktu z węzłami o<br />

konkretnych identyfika<strong>to</strong>rach, co możliwe jest dzięki odpowiednim algorytmom<br />

przyłączania i trasowania. Cenę za mniej obciążające wyszukiwanie węzłów<br />

płaci się w postaci konieczności utrzymywania struktury sieci.<br />

Rozważmy dla przykładu hipotetyczny system <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong>, w którym węzły<br />

otrzymują pod jurysdykcję podzbiór adresów z całej przestrzeni adresów N.

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

Saved successfully!

Ooh no, something went wrong!