W jedności siła

Czy ogromna popularność sieci P2P wynika tylko z tego, że można w nich znaleźć nie zawsze legalne “empetrójki” czy też filmy DivX/XviD? Przecież od lat w internetowym podziemiu funkcjonują serwery FTP z podobną zawartością. Cóż więc zadecydowało o stale rosnącym zainteresowaniu peer-to-peer? Najkrótsza i najprostsza odpowiedź to technologia.

Każdy z każdym

P2P (peer-to-peer), czyli “każdy z każdym” lub też “równy z równym”, to model komunikacji w sieciach komputerowych, który gwarantuje obu stronom równorzędne prawa. Jest to przeciwieństwo klasycznego modelu klient-serwer, na co dzień wykorzystywanego choćby podczas przeglądania witryn internetowych. W sieci P2P każdy komputer może jednocześnie pełnić rolę serwera i klienta. Na pewno programy do wymiany plików są najpopularniejszą implementacją założeń technologii peer-to-peer. Jednak, tak jak to opisywaliśmy w artykule “Każdy z każdym dla każdego” (patrz: “$(LC165400:Każdy z każdym dla każdego)$”), nie są to jej jedyne zastosowania.

Skąd w ogóle wziął się pomysł, aby zamiast sprawdzonego modelu klient-serwer zastosować inny? Otóż z bardzo teoretycznych rozważań i praktycznych obserwacji tego, co działo się w Internecie w latach 90. XX wieku. Rozwój Sieci, a szczególnie popularność stron WWW sprawiły, że większość osób korzystających z zasobów światowej Pajęczyny była konsumentami informacji. Jej głównymi producentami stały się zaś firmy i instytucje, które było stać na utrzymanie wydajnych łączy o olbrzymiej jak na owe czasy przepustowości. Jeśli taka asymetria postępowałaby dalej, być może Sieć przypominałaby bardziej interaktywną telewizję niż to, czym jest obecnie. Taki scentralizowany Internet na pewno ułatwiłby kontrolę nad rozpowszechnianiem materiałów chronionych prawami autorskimi. Dodatkowo w tym samym momencie nastąpiła rewolucja związana z utworami zakodowanymi w formacie MP3.

Prehistoria

W swoich początkach rozwój P2P niewątpliwie był połączony z ogromnym zainteresowaniem muzyką w formacie MP3. Stąd na pewno bardzo wielu osobom bliskie jest jednoznaczne skojarzenie tego rodzaju sieci z nielegalnymi utworami rozprowadzanymi w Internecie np. z wykorzystaniem Napstera. Na wielu stronach WWW i serwerach FTP zaroiło się od piosenek w zdigitalizowanej formie, lecz odnalezienie konkretnego utworu w tego rodzaju zasobach było dość trudne. Założony w 1999 roku przez Shawna Fanninga Napster pozwalał na szybkie i wygodne wyszukiwanie muzyki, nie wymagając przy tym od użytkowników jakiejś specjalnej wiedzy technicznej. Wystarczyło pobrać i zainstalować aplikację, a następnie zalogować się w serwisie, aby móc pobierać i udostępniać utwory muzyczne. Serwis ten stał się prawdziwym przebojem wśród użytkowników światowej Pajęczyny oraz… koszmarem dla koncernów muzycznych i niektórych artystów. Struktura sieci Napstera, mimo że tworzona dynamicznie (podczas wymiany danych między jej użytkownikami), zakładała istnienie centralnych serwerów, a te – jak wiadomo – zostały wyłączone na skutek działań RIAA. Kariera Napstera skończyła się tak samo gwałtownie, jak się rozpoczęła.

Bezgłowa hydra

Masowe zainteresowanie sieciami P2P oraz zamknięcie Napstera przykuły uwagę internautów do sieci Gnutella. Centralny serwer, który był największą słabością pionierskiego serwisu Fanninga, został całkowicie wyeliminowany ze struktury Gnutelli. Aby się z nią połączyć, wystarczy pobrać aplikację obsługującą ten protokół i znaleźć dowolny host należący do sieci P2P. Taka bezserwerowa sieć była odporna na próby jej zamknięcia. Całkowita decentralizacja Gnutelli miała też poważne wady. Główny serwer Napstera zapewniał użytkownikom bardzo szybkie wyszukiwanie dostępnych w sieci P2P zasobów.

Niestety, w przypadku Gnutelli już tak nie było. Każde zapytanie o plik rozsyła się dalej do wszystkich znanych hostów, które przekazują je następnym. Aby nie doprowadzić do zapchania sieci, parametr TTL (time to live) pakietu niosącego zapytanie po przejściu przez każdy punkt sieci był zmniejszany o jeden, aż do jego całkowitego wygaśnięcia. Niestety, mechanizm ten w praktyce okazał się bardzo powolny i mało skuteczny. Szczególnie dotkliwe dla użytkowników okazały się spopularyzowanie Gnutelli i wzrost liczby osób podłączonych do tej sieci. Taka architektura bardzo źle się skaluje, przez co jest nieefektywna. Według orientacyjnych pomiarów przyjęcie opisywanej całkowicie zdecentralizowanej architektury doprowadziło do tego, że grubo ponad 50% ruchu generowanego przez Gnutellę stanowiły zapytania.

Szybka ścieżka

Korzystając z doświadczeń związanych z funkcjonowaniem Napstera oraz Gnutelli, opracowano kolejną generację sieci. Wiadomo już było, że uruchomienie serwisu z centralnym serwerem nie będzie miało sensu ze względu na ogromną niechęć przemysłu muzycznego do sieci P2P. Z kolei Gnutella doskonale pokazała, że całkowita decentralizacja nie ma sensu. Potrzebny był więc jakiś kompromis pomiędzy tymi dwoma podejściami. Okazała się nim technologia FastTrack, którą autorzy określają jako samoorganizującą się sieć dystrybucyjną.

W ramach jej rozproszonej architektury, którą z grubsza można przyrównać do topologii Gnutelli, wyróżniono tzw. supernody (superwęzły). Zadaniem tych komputerów w sieci P2P była koordynacja ruchu związanego z zapytaniami w taki sposób, aby uniknąć problemu skalowania. Superwęzeł działa podobnie do serwera Napstera – przechowuje listy zbiorów znajdujących się na dyskach twardych maszyn podłączonych bezpośrednio do niego. Jego podstawową rolą jest więc wyszukiwanie plików. Gdy jakiś komputer wyśle zapytanie do superwęzła, ten sprawdza, czy pożądany zasób nie znajduje się na którejś ze znanych mu maszyn. Jeśli tak jest, superwęzeł informuje komputer, który wysłał zapytanie, o tym, gdzie zlokalizowano plik. Supernody tworzą równolegle dodatkową warstwę komunikacji dla zapytań. Gdy wśród komputerów (klientów) nie uda się zlokalizować potrzebnych danych, superwęzeł przekazuje kwerendę do innych wyróżnionych w sieci FastTrack komputerów.

Status superwęzła jest nadawany maszynie w sieci FastTrack w pełni automatycznie, na podstawie takich parametrów, jak przepustowość łącza oraz wydajność jednostki centralnej komputera. O tym, jak skuteczna i wydajna okazała się taka architektura, świadczy popularność niegdyś zdobytą przez Kazę – czyli podstawowego klienta tej sieci P2P. Kazaa Media Desktop to jednak produkt komercyjnej firmy Sharman Net-works, a sam protokół FastTrack jest zamknięty i szczegółowe zasady jego działania nie zostały udostępnione, w przyciwieństwie do “otwartej” Gnutelli.

Więcej:bezcatnews