Peer-to-peer
From Helionica
|
|
Peer to Peer (P2P) to ogół technik łączących bezpośrednio użytkowników Internetu, przy ograniczeniu roli centralnych serwerów.
Spis treści |
Źródła kryzysu
To, że takie określenie w ogóle powstało, świadczy o upadku pierwotnej architektury Internetu. Internet jest zaprojektowany jako sieć P2P - każdy host może komunikować się z każdym innym i większość łączy jest idealnie symetryczna - ma takie same możliwości nadawania jak i odbierania. Sytuacja zmieniła się w wyniku nagłego wzrostu zapotrzebowania na Internet. Koszt pociągnięcia kilometrów światłowodu lub kabli ethernetowych do każdego domu byłby ogromny, istniały natomiast już wszędzie kable telefoniczne, a modemy analogowe były bardzo tanie. Tak więc ilość osób korzystających z powolnych i płatnych za minutę łącz modemowych gwałtownie wzrastała. Z drugiej strony rozrastała się niewielka grupa centralnych serwerów dostarczających usług dla modemowców - takich jak wyszukiwarki internetowe czy serwery hostingowe dla poczty elektronicznej i stron WWW.
Do jeszcze większej asymetrii doprowadziły:
- wprowadzenie łączy asymetrycznych - z relatywnie szybkim odbiorem i powolnym wysyłem, takich jak łącza satelitarne i niektóre linie DSL
- dynamicznych adresów IP - trudno służyć jako serwer jeśli inni nie mogą cię znaleźć
- rozpowszechnienie systemu NAT, gdzie komputer może jedynie inicjować połączenia, nie może natomiast w ogóle ich przyjmować, lub gdzie ta możliwość jest bardzo ograniczona
- rozpowszechnienie różnych urządzeń mających możliwość korzystania z Internetu, lecz zupełnie niezdolnych do bycia serwerami, takich jak telefony komórkowe
Asymetryzacja Internetu, jeśli postępowałaby dalej, mogła w pewnym momencie doprowadzić do tego, że zwykły użytkownik mógłby jedynie korzystać z zasobów, nie zaś je udostępniać. Ponieważ udział komputerów zdolnych do udostępniania zasobów by spadał, konieczna byłaby koncentracja mocy obliczeniowej i przepustowości w rękach niewielu, co upodobniłoby Internet coraz bardziej do "tradycyjnych mediów", z wszystkimi ich wadami, których nie ma potrzeby tu wymieniać.
Próby rozwiązania
Nie wszyscy użytkownicy jednak zadowalali się wolnymi i ograniczonymi w możliwościach modemami z dynamicznym IP. Zaczęły się rozpowszechniać łącza różnej przepustowości czynne przez całą dobę, często ze stałym IP, takie jak popularna usługa TPSA - SDI.
Problem dynamicznych IP i NAT może rozwiązać wprowadzenie nowej wersji protokołu IP - IPv6, który używa adresów 128-bitowych zamiast jak dotychczas 32-bitowych.
Ponadto powstały specjalne programy służące do bezpośredniego łączenia użytkowników słabych (modemy) i średnich (np. SDI) łączy - programy P2P.
Jak działa P2P
Najpopularniejsze programy P2P służą do wymiany plików. Wymiana następuje pomiędzy komputerami użytkowników, natomiast często występuje centralny serwer indeksujący udostępniane zasoby a także dostarczający dodatkowych usług takich jak chat.
IRC
Najprostszym w budowie systemem P2P jest P2P oparte o IRC (sam IRC nie jest zbudowany jako P2P). Na specjalnym kanale znajdują się boty posiadające pliki. Można wejść na kanał i zadać zapytania, zwykle w formie !find szukany_plik lub podobnej. Boty posiadające plik pasujący do opisu drukują ich listę na kanał lub częściej w prywatnej rozmowie z szukającym. Wtedy szukający prosi o plik pisząc na kanale lub w bezpośredniej rozmowie żądanie w formie !nazwa_bota ścieżka_pliku lub podobnej. Żądania są ustawiane w kolejce i kiedy przyjdzie czas wysyłane za pomocą DCC. Niektóre boty pozwalają też na logowanie się na nich przez DCC CHAT, upodobniając się trochę do serwerów FTP. Ostatecznie jednak plik jest wysyłany przez DCC.
DCC ma możliwość kontynuacji przerwanego ściągnięcia. P2P bez tej możliwości należą już do przeszłości. Zresztą dotyczy to nie tylko P2P - serwery HTTP nie posiadające tej zdolności spotyka się coraz rzadziej.
Oczywistą wadą jest to, że o wiele łatwiej jest ściągać niż udostępniać. Metoda ta nie jest też zbyt skalowalna - zwykle na kanale udostępnia jedynie kilkanaście góra kilkadziesiąt botów. Kanały są jednak tematyczne, więc ogół dostępnych zasobów może być całkiem duży. Kanały takie istnieją zarówno na ogólnych serwerach IRC jak i na serwerach istniejących specjalnie w celu wymiany plików.
Do zalet należy m.in. automatyczne udostępnienie dobrego chata (którym jest sam IRC), rozpowszechnienie programów do ściągania oraz to że wiele serwerów NAT (szczególnie serwery linuksowe) potrafi analizować DCC i umożliwia tym samym odbierania połączeń DCC wszystkich komputerom w podsieci.
Napster
Inny lecz również bardzo prosty system wybrał Napster. Na komputerze należało zainstalować specjalne oprogramowanie, które łączyło się z serwerem, wysyłało mu listę udostępnianych plików (w tym przypadku tylko muzyki, lecz nowsze sieci oparte na systemie Napstera - takie jak OpenNap - umożliwiają udostępnianie również innych typów plików), i stanowiło jednocześnie interfejs użytkownika sieci P2P. Serwery Napstera umożliwiały wyszukiwanie plików. Użytkownik na podstawie listy pasujących plików wybierał, co i od kogo chce ściągać, po czym program łączył się z komputerem udostępniającym plik i ściągał go. Serwis stał się prawdziwym przebojem wśród internautów. Swą popularność zawdzięcza m.in. procesom sądowym wytaczanym przez artystów, których utwory znalazly się w Napsterze przed oficjalną premierą (przykładem "wycieku" było pojawienie się w czerwcu 2000 r. nieautoryzowanej wersji utworu Madonny "Music", co spowodowało konieczność przyspieszenia jego premiery na rynku)
Początkowo Napster nie potrafił wznawiać połączenia w razie przerwania, co skutkowało w wielu nie do końca ściągniętych plikach. Często też takie pliki były przez nieuwagę udostępniane, przez co nawet ściągając plik do końca można było się później rozczarować. Nowsze wersje Napstera oraz wszystkie systemy pochodne mają zdolność wznawiania.
Napster wymagał serwerów centralnych, był jednak dość dobrze skalowalny i umożliwiał każdemu nie tylko ściąganie plików ale również udostępnianie ich.
Integrację użytkowników zapewniał wbudowany w program chat.
W 2001 r., po czasowym wprowadzeniu filtrów w wyszukiwarce utworów, w wyniku przegranych procesów sądowych serwis zakończył działalność, powracając jako legalny, płatny serwis pod koniec 2003 r.
Audiogalaxy
Audiogalaxy jest innowacyjna nie tyle ze względu na strukturę, ile na interfejs użytkownika. Sam program P2P nie ma żadnego interfejsu. Wszystkie operacje robi się za pomocą strony internetowej, która umożliwia wyszukiwanie wg. tytułu lub autora, po czym można wybrać wersję, żądaną jakość (łącznie z opcją "najpopularniejsza"), inne piosenki tego samego autora, autorów popularnych wśród osób ściągających piosenki danego ("jeśli podobała ci się muzyka A, zapewne polubisz też B, C i D"). Posiadał też rozbudowany system forów dyskusyjnych.
Sam program P2P (tzw. satelita) również należał do lepszych i najbardziej zautomatyzowanych. Użytkownik jedynie wybierał piosenki przez WWW, cała reszta - łącznie z wyborem źródła i przęłączaniem na inne, jeśli ściąganie z danego zostało przerwane - odbywało się bez interwencji użytkownika.
Pełna automatyzacja, wysokie osiągi i wygodny interfejs czyniły z Audiogalaxy jeden z najlepszych systemów P2P. Jednym z kosztów była jednak bardzo wysoka specjalizacja - wiele rozwiązań które doskonale nadawały się do muzyki nie sprawdziłoby się w przypadku innych rodzajów danych.
W obliczu zagrożenia procesem sądowym wytoczonym przez RIAA, w maju 2002 r. zaostrzył system filtrowania utworów do pobrania (wcześniej łatwy do obejścia), po czym ostatecznie zablokował możliwość wymiany mp3 w ramach serwisu.
Gnutella
Systemem który przyjął zupełnie inną postać była Gnutella. W Gnutelli nie ma w ogóle centralnych serwerów. Żeby połączyć się z Gnutellą należy zainstalować odpowiednie oprogramowanie i znaleźć dowolny host należący do sieci. Jeśli host nie ma wolnych miejsc, podaje adresy następnych hostów do których można próbować się połączyć. W końcu znajduje się hosta chętnego do nawiązania połączenia. Program zachowuje listę wszystkich napotkanych hostów w sieci, dzięki czemu łatwiej będzie się podłączyć następnym razem.
Każde wyszukiwanie jest wysyłane do hostów z którymi ma się bezpośrednie połączenie, one natomiast przesyłają je dalej. Ewentualne rezultaty wysyłane są bezpośrednio do inicjatora, podobnie sam transfer odbywa się bez pośredników.
Gnutella bardzo słabo się skaluje - ponieważ każdy host otrzymuje wszystkie wyszukiwania, szybko zaczynają one zajmować całe łącze. Ograniczenie ilości skoków które maksymalnie wykonuje wyszukiwanie wprawdzie ogranicza obciążenie ale jednocześnie uniemożliwia znalezienie wielu dostępnych przecież zasobów. Proponowano wiele różnych metod polepszenia wyników Gnutelli - takich jak różnicowanie roli hostów zależnie od ich przepustowości, caching wyników wyszukiwań czy automatyczne modyfikacje topologii która polepszałaby pewne właściwości sieci. Umożliwiło to znaczną poprawę skalowalności w nowych sieciach tego typu takich jak EDonkey czy FastTrack (z której korzysta Kazaa).
FastTrack
FastTrack to bardzo dobra i szybka sieć pozwalająca na wymianę plików różnych typów. Możemy wymieniać się plikami wszystkich typów, takimi jak: muzyka, filmy, gry itd. Wyprzedza wielu swoich konkurentów dzięki mechanizmom, które zostały zastosowane, lecz głównym mankamentem programu jest to iż informacje o stosunku downloadu i uploadu są przechowywane na naszym komputerze, więc bardzo łatwo je sfałszować. Istnieje wiele dodatków pozwalających na zmianę naszego . Istnieje też wiele alternatywnych klientów pozwalających na łączenie się się z tą siecią, więc nie musimy korzystać z oryginalnego klienta, którym jest Kazaa Media Desktop, promowany przez firmę Sharman Networks. Do alternatyw należą m.in. Kazaa Lite, K-Lite, Mammoth, Grokster, iMesh.
Sieć FastTrack jest 'samoorganizującą się siecią dystrybucyjną'. Sieć FastTrack jest siecią wielowarstwową przez co komputery dysponujące większą mocą stają się 'super-węzłami' (SuperNodes). Dowolny użytkownik sieci FastTrack jeśli spełnia kryteria mocy procesora, przepustowości łącza internetowego itp., może stać się 'super-węzłem'. Zarządzanie siecią FastTrack jest w 100% automatyczne - przyznawanie i odbieranie statusu 'super-węzłów' odbywa się dynamicznie.
Freenet
Freenet wybrał metodę która jest najmniej efektywna jednak zapewnia najwięcej prywatności. Wszystkie połączenia są kodowane, nie istnieje żadne wyszukiwanie, a żeby ściągnąć plik należy znać jego identyfikator w systemie (identyfikator zawiera wynik funkcji hashującej żeby uniemożliwić sfałszowanie).
Ściągając plik wysyła się żądanie do sąsiednich hostów. Jeśli posiadają go one, wysyłają jego kopie do ciebie, w przeciwnym razie pytają dalej. Jeśli w końcu plik się znajdzie kopia wędruje host po hoście, a każdy może lecz nie musi jej cache'ować (wybór ten dokonywany jest losowo). W domyślnych ustawieniach nawet właściciel hosta nie wie co jest składowane w cache'u.
Sieć taka zapewnia dużą prywatność, jednak kosztem funkcjonalności - brak opcji wyszukiwania właściwie uniemożliwia szersze wykorzystanie Freenetu.
Direct Connect
Direct Connect zamiast na małych specjalistycznych serwerach opiera się na niewielkich serwerach (tzw. hubach) udostępniających jedynie prostego chata i pośrednicząc w przekazywaniu wyników wyszukiwania. Hub sam nie posiada indeksu.
Najważniejsza w Direct Connect okazała się nie sama technologia przesyłu plików, a technologia umożliwiająca kontrolę przestrzegania zasad.
Żeby wejść na huba należy udostępniać daną minimalną ilość zasobów związanych z tematem huba. Czasem jest to jedynie 500 megabajtów, czasem 100 gigabajtów, typowe są wartości z przedziału 2-10 gigabajtów. Należy też udostępniać odpowiednią minimalną liczbę slotów, czyli limit użytkowników którzy mogą jednocześnie ściągać, zwykle jest to 2 lub 3 dla połączeń ISDN/SDI, oraz spełnić wszystkie inne konieczne warunki które hub ustala. Przestrzegania zasad pilnują operatorzy huba, dzięki czemu unika się leecherów - użytkowników którzy jedynie wykorzystują innych nic w zamian nie udostępniając. Za nieprzestrzeganie grozi "kop", ban na określony czas lub ban bezterminowy.
Direct Connect obsługuje dwa tryby aktywny (zwykły) i pasywny (zwykle oznacza użytkownika w podsieci NAT). Dwóch pasywnych użytkowników nie może od siebie z przyczyn technicznych ściągać, wyniki wyszukiwania są odpowiednio filtrowane żeby pasywni wyszukiwacze wydzieli tylko aktywne wyniki. Wystarczy jednak przekierowanie jednego dowolnego portu żeby można było łączyć się w trybie aktywnym.
Zwykły klient Direct Connect ma małe możliwości techniczne. Znacznie potężniejszy jest linuksowy DCTC - do jego możliwości należy GDL (Group DownLoad) jednoczesne ściąganie pliku od wielu użytkowników, rozbudowane możliwości regulacji wykorzystania łącza, w tym limity ilości danych i wartości TOS dla różnych typów danych, możliwość ściągania poza hubem, i dość rozbudowane możliwości oszukiwania (za wykorzystanie których, w przypadku wykrycia, wylatuje się z prawie każdego huba) i obrony przed oszustami.
eDonkey
Sieć eDonkey z punktu widzenia użytkownika jest podobna do sieci FastTrack. Wymieniać można w niej pliki dowolnego typu. Do skorzystania z sieci wymagane jest posiadanie programu klienckiego. Istnieje wiele klientów sieci eDonkey, najbardziej znanymi są eDonkey2000, eMule i klony (xMule, aMule), mldonkey.
Użytkownik sieci eDonkey podłącza się do jednego z serwerów sieci. Serwery odpowiedzialne są za indeksowanie i wyszukiwanie plików posiadanych przez klientów. Serwery łączą się ze sobą, dzięki czemu możliwe jest przeszukanie całej sieci z dowolnego serwera. Każdy klient posiada kolejkę, w której na możliwość ściągnięcia pliku mogą czekać inni klienci. Pozycja w kolejce uzależniona jest od stosunku uploadu do downloadu czekającego oraz priorytetu żądanego pliku. Ściąganie rozpoczyna się po osiągnięciu pierwszego miejsca w kolejce. Pobieranie odbywa się porcjami wielkości 9 MB. Możliwe jest pobieranie różnych porcji pliku od różnych klientów. Ponadto każda z porcji pliku jest osobno hashowana, co uniemożliwia ściągnięcie pliku w uszkodzonym stanie.
Zaletą sieci eDonkey jest bezbłędny przesył plików oraz uniemożliwiające oszustwa lokalne przeliczanie stosunków uploadu do downloadu. Wadą jest konieczność długiego czekania w kolejkach przed rozpoczęciem ściągania mniej popularnych plików.
Pocztowe P2P
Pojęcie to pojawiło się niedawno i nie ma zbyt wiele wspólnego z klasycznym Peer2Peer - najprawdopodobniej wyewoluowało z samej idei wymiany plików przez sieć. Już dawno ktoś zauważył, że pliki można przesyłać przez pocztę elektroniczną, ale było to zawsze ciągiem skomplikowanych czynności - podzielenia pliku na części objętościowo akceptowane przez serwer pocztowy, wysłanie ich do adresata e-mailami z załącznikiem, oraz ewentualna kontrola, czy wszystkie części dotarły do adresata. Wystarczyło więc zaprojektować aplikację, która tego typu czynności wykonuje automatycznie. Głównym "katalizatorem" pomysłu wymiany plików przez pocztę były darmowe konta e-mail o dużej pojemności oferowane przez różnych dostawców, które można wykorzystać jako swoistego rodzaju e-dyski do składowania bądź wymiany danych. Tak powstały Peer2Mail a później E-dek. W obu programach przed rozpoczęciem udostępniania należy założyć konto pocztowe akceptowalne przez dany program, następnie załadować na utworzoną przestrzeń pliki i w zależności od programu - udostępnić dane o skrzynce (adres, login, zakodowane hasło - lub w przypadku E-Dek'a - specjalny plik podobny do bittorrentowego standardu). Nieco dalej poszedł autor programu E-Dek - dając możliwość zarządzania takimi E-dyskami (w tym wyszukiwanie), oraz tworząc eksperymentalny pocztowy protokół E-Swapp, który automatyzuje udostępnianie listy plików, oraz żądanie transferu między skrzynkami pocztowymi.
Zaletą tego typu rozwiązania jest niezaprzeczalnie dostępność pliku nawet po wyłączeniu programu (on de facto leży w skrzynce pocztowej). Problematyczne jest nadal wyszukiwanie - jak na razie wspomagane przez fora dyskusyjne.
Co jest udostępniane
Udostępniane pliki to głównie rzeczy których nie można znaleźć na publicznych serwerach WWW. Często udostępniane są różne utwory na które nie ma zgody właścicieli praw autorskich, takie jak:
- muzyka
- filmy
- książki w postaci elektronicznej
- programy komputerowe
Wiele z nich jednak to utwory trudne do dostania oficjalnymi kanałami, takie jak anime lub utwory mniej znanych muzyków.
Wiele plików jest udostępniane za zgodą właścicieli praw autorskich (np. Anime Music Videos, różne fanfiki, tapety), na które prawa autorskie nie są aktywnie chronione (m.in. wiele remixów, stare programy), nie obejmują ich prawa autorskie ze względu na upływ czasu (muzyka klasyczna, elektroniczne wersje starych książek) lub są na P2P z przyczyn nie mających żadnego związku z prawami autorskimi (P2P może być wykorzystane dla ominięcia cenzury, ograniczeń na materiały o treści erotycznej itp.).
P2P jest również wykorzystywane żeby oszczędzić pieniądze i zamiast iść do sklepu zakupić legalnie daną muzykę, film czy program, ściągnąć je z sieci i nic nie zapłacić. Na pewno nie jest to jednak jedyna czy nawet główna rola P2P.
Sytuacja prawna
Sytuacja prawna jest trudna ze względu na absurdalne wyroki sądowe w sprawie Napstera. Systemy P2P same niczego nie rozpowszechniają, więc mogą być oskarżone co najwyżej o "współudział" lub "czerpanie korzyści". Systemy P2P próbowały stosować system opt-out - blokując utwory z listy dostarczonych przez właścicieli praw autorskich. Jednak sąd w sprawie Napstera stwierdził że "to za mało". Niewątpliwie możliwe było nadal znalezienie niektórych blokowanych utworów, np. wpisując do wyszukiwania nazwy z błędami ortograficznymi. Sąd nakazał stosowanie opt-in - blokowanie wszystkich utworów na które P2P nie ma zgody właścicieli praw autorskich wyrażonej na papierze.
Ponieważ nie zapowiada się żeby Beethoven czy miliony drobnych twórców którym nic a nic rozpowszechnianie ich dzieł nie przeszkadza zaczęli wysyłać tony papierów do wszystkich sieci P2P, działalność w formie opt-in jest zupełnie niemożliwa, a to, co jest możliwe nie przypomina P2P.
Przyszłość P2P
Przyszłość P2P można rozpatrywać od dwóch stron - technicznej i prawnej. Ponieważ P2P są coraz bardziej zdecentralizowane i kończą się łatwe cele do procesów, nawet całkowity zakaz (mniejsza już o to kto mógłby taki zakaz wydać i pod jakim pretekstem) nie zakończyłby istnienia P2P, a pewnie nawet nie mógł by go znacząco ograniczyć.
Od strony technicznej konkurują ze sobą systemy małych hubów specjalistycznych (Direct Connect) i dużej systemy rozległej sieci o zaawansowanej topologii (FastTrack). Należy się też spodziewać rozpowszechnienia szyfrowania danych i innych funkcji poprawiających prywatność.
Ponieważ łącza będą coraz szybsze, zmieni się charakter przesyłanych plików. Muzyka, pierwotnie jeden z głównych materiałów P2P, już przy SDI i dobrej kompresji (np. Ogg Vorbis) może być ściągana w dobrej jakości w czasie rzeczywistym, więc przesył muzyki będzie coraz mniejszym problemem. Coraz częściej przesyłane są filmy i należy oczekiwać że ten trend utrzyma się w przyszłości. W sprawie programów komputerowych utrzymują się dwie sprzeczne tendencje - z jednej strony łącza są coraz lepsze, z drugiej jednak programy coraz bardziej się rozrastają.
Można też oczekiwać innych zastosowań systemu P2P - np. mirroring plików (takich jak różne dystrybucje Linuksa), czy prowadzenie osobistej strony internetowej rozpowszechnianej za pomocą takiego systemu (możliwe w sieci Freenet, lecz prawie nieużywane).
Zobacz w sieci
- Informacje na temat P2P po polsku
- Emulek - emule, ed2k, p2p
- Najpopularnieszy program P2P - Kazaa Lite Rewolucja
Artykuł zawiera udostępnione na licencji GNU FDL treści pochodzące w pierwotnej wersji z artykułu Peer-to-peer w polskiej Wikipedii. Lista autorów.

