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 ...
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.