|
Gnutella Zasada działania |
|
|
|
| 01.11.2007. | ||
Gnutella zasada działania:
Aby przedstawić działanie Gnutelli musimy sobie wyobrazić duży krąg użytkowników (nazywanych węzłami), którzy zainstalowali programy-klientów Gnutelli. Programy-klienty przy pierwszym uruchomieniu muszą włączyć się do sieci i znaleźć przynajmniej jeden z tych węzłów. Używa się do tego rozmaitych metod, między innymi uprzednio przygotowaną listę prawdopodobnie działających węzłów dołącza się do wersji instalacyjnej programu, używa się serwerów Gwebcache w Internecie lub wykorzystuje IRC. Jest prawdopodobne, że przynajmniej jeden węzeł (nazwijmy go B) będzie działał. Kiedy się z nim połączymy, węzeł B prześle węzłowi A własną listę działających węzłów. Węzeł A będzie próbował się połączyć z węzłami, których listę dostał, a także z węzłami, których adresy otrzymał z dalszych węzłów, aż osiągnie pewną pulę węzłów, go może być ustawione przez użytkownika. Klient będzie utrzymywał połączenie z tą liczbą hostów, ale utrzymuje także listę węzłów, których jeszcze nie sprawdził. (Odrzuca z listy węzły, z którymi próbował się bezskutecznie połączyć). Gdy użytkownik A chce coś wyszukać, wysyła zapytanie do każdego z węzłów z którymi jest obecnie aktywnie połączony. Może się okazać, że niektóre z nich już się rozłączyły z siecią, w takim przypadku użytkownik A próbuje się połączyć z węzłami, które zapisał jako awaryjne. Liczba węzłów, z którymi jest połączony dany użytkownik A jest zwykle całkiem niewielka (ok. 5), więc każdy z tych węzłów przekazuje dalej to zapytanie do tych następnych węzłów, z którymi jest połączony i tak dalej. W teorii, zapytanie dotrze do w końcu dotrze do każdego z użytkowników podłączonych do sieci Gnutella. Jeżeli zapytanie da jakieś rezultaty, węzeł, który ma dany plik kontaktuje się bezpośrednio z użytkownikiem który wydał to zapytanie (którego adres IP został zawarty w zapytaniu). Negocjują transfer plików i transfer się rozpoczyna. Jeśli więcej niż jedna kopia tego samego pliku zostaje znaleziona, wyszukujący może wykonać tzw. swarm download - ściągnięcie kawałków pliku z różnych komputerów. Powoduje to zwiększenie szybkości pobierania plików. Gdy użytkownik A rozłącza się, program-klient zapisuje listę węzłów z którą był aktywnie połączony i listę węzłów zapasowych. Jest ona wykorzystywana przy następnym łączeniu. W praktyce wyszukiwanie w sieci Gnutella często daje niepełne wyniki. Każdy z węzłów sieci jest zwykłym użytkownikiem Internetu, który w krótkim okresie jest online lub offline i z tego względu sieć nigdy nie jest w pełni stabilna. Przepustowość poszczególnych użytkowników jest w znacznym stopniu ograniczona, więc niektóre z żądań wyszukiwania mogą zostać przerwane zanim osiągną przeszukanie całej sieci (która zwykle wynosi średni 1 mln węzłów). W wyniku tego zapytania nigdy nie osiągną więcej niż 50% sieci. Prawdziwą zaletą Gnutelli jest jej decentralizacja co powoduje, że tak problematyczne staje się jej wyłączenie. W odróżnieniu od Napstera, gdzie cała sieć zależała od centralnego serwera, Gnutelli nie da się wyłączyć poprzez wyłączenie któregoś z pojedynczych węzłów. Dopóki będzie przynajmniej 2 użytkowników, Gnutella będzie istnieć
|
||
| « poprzedni artykuł |
|---|











