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.
18 Rozdział 2. Architektury systemów <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong><br />
Systemy <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> są <strong>to</strong> systemy rozproszone, w których oprogramowanie<br />
uruchomione <strong>na</strong> każdym węźle spełnia podobne funkcje, a komunikacja<br />
jest symetrycz<strong>na</strong>. Węzły mają swobodę przyłączania i odłączania od systemu.<br />
Przyjęta definicja pochodzi z pracy D. Liben-Nowella i innych [LNBK02],<br />
w której przedstawiono próbę a<strong>na</strong>lizy dy<strong>na</strong>micznych aspektów systemu Chord<br />
[SMK + 01]. Takie określenie, czym są systemy <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> nie jest wystarczająco<br />
ogólne, gdyż nie pozwala <strong>na</strong> zaklasyfikowanie, np. systemów nieustrukturalizowanych,<br />
jako systemów <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong>. W up2p dopuszcza się istnienie węzłów<br />
o specjalnym przez<strong>na</strong>czeniu, co z kolei sprawia, że te systemy nie są całkowicie<br />
rozproszone, a komunikacja nie w każdym przypadku jest symetrycz<strong>na</strong>. Bardziej<br />
ogólne sformułowanie przedstawiam poniżej:<br />
Systemy <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> są <strong>to</strong> systemy rozproszone, w których<br />
podobne oprogramowanie uruchomione <strong>na</strong> każdym węźle,<br />
komunikuje się bezpośrednio i wspólnie realizuje zadania.<br />
Prostsza definicja jest z kolei niewystarczająca i ma za dużo niedopowiedzeń.<br />
Po pierwsze komunikacja bezpośrednia niekoniecznie neguje istnienie komunikacji<br />
w modelu master-slave, który zakłada podrzędność przy wykonywaniu<br />
zadań, a w <strong>systemach</strong> <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> takiej podrzędności nie ma. Komunikacja<br />
odbywa się raczej w modelu master-master, jeżeli wogóle jest <strong>to</strong> dobre określenie.<br />
Systemy <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong>, wprowadzają zupełnie nowy model komunikacji,<br />
gdzie każdy węzeł może być zleceniodawcą i zleceniobiorcą. Sposób ustanowienia<br />
ka<strong>na</strong>łu komunikacyjnego między węzłami w <strong>systemach</strong> <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> jest<br />
pozbawiony z<strong>na</strong>czenia, gdyż połączenie może powstać w sposób dowolny, <strong>na</strong>wet<br />
używając punktów pośrednich, tak jak odbywa się <strong>to</strong> w sieciach ustrukturalizowanych.<br />
O poprawnym zaklasyfikowaniu systemu, jako systemu <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> decydują<br />
pewne swoiste cechy, takie jak skala, swoboda przyłączania i odłączania<br />
się, dążenie do ustanowienia komunikacji bezpośredniej między poszczególnymi<br />
węzłami oraz samoorganizacja ich struktury, co jest cechą nową w s<strong>to</strong>sunku do<br />
wielu istniejących systemów 1 .<br />
Poziom ogólnegnych zas<strong>to</strong>sowań systemów <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> możemy podzielić<br />
<strong>na</strong> trzy grupy [DZDS03]:<br />
DHT - rozproszone tablice z kodowaniem mieszającym (ang. distributed<br />
hashing tables)<br />
DOLR - lokalizację obiektów i trasowanie (ang. distributed object location<br />
and routing)<br />
1 Oczywiście wymienione cechy nie stanowią wszystkich: charakterystyczny jest również,<br />
wszechobecny brak zaufania między węzłami, duża awaryjność poszczególnych elementów, konieczność<br />
s<strong>to</strong>sowania technik kryp<strong>to</strong>graficznych itp.