Sieci P2P/Działanie sieci P2P

Działanie sieci P2P edytuj

Najpopularniejsze sieci P2P służą do współdzielenia plików w Internecie. Można wyróżnić dwie odmiany. Pierwszą, sieci bez centralnego serwera, które nie mają centralnej bazy o zasobach, oraz sieci z centralnym serwerem/serwerami, które przechowują informacje o użytkownikach podłączonych w danej chwili do sieci, oraz w niektórych wypadkach, o udostępnianych zasobach. Centralne serwery oferują czasami także dodatkowe usługi, jak np. chat.

Sieci wyposażone w centralny serwer są znacznie bardziej efektywne, gdyż nowy użytkownik podłączający się do sieci otrzymuje na wstępie listę wszystkich użytkowników podłączonych do danego serwera, ma także dostęp (najczęściej) do indeksu dostępnych plików, który może błyskawicznie przeszukać.

IRC edytuj

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 edytuj

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 edytuj

Audiogalaxy jest innowacyjna nie tyle ze względu na strukturę, ile na interfejs użytkownika. Sam program P2P nie ma żadnego interfejsu. Wszystkie operacje wykonywane są 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 przełączaniem na inne, jeśli ściąganie z danego zostało przerwane - odbywało się bez interwencji użytkownika.

Pełna automatyzacja, dobra wydajność 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 edytuj

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

http://www.gnutella.com/

Gnucleus edytuj

Gnucleus to darmowa otwarta aplikacja umożliwiająca korzystanie z sieci Gnutella oraz G2. Stał się początkiem innych projektów związanych z siecią Gnutella. Jest pierwszym klientem w pełni wspierającym protokół G2 - przyszłość otwartych protokołów P2P.

http://gnucleus.sourceforge.net/

GnucDNA edytuj
GWebCache edytuj
GnucNS edytuj

GPU edytuj

GPU (a Global Processing Unit) to klient sieci Gnutella umożliwiający użytkownikom udostępnianie nawzajem zasobów obliczeniowych procesora. GPU pozwala na utworzenie zdecentralizowanego superkomputera składającego się z domowych komputerów użytkowników.

http://gpu.sourceforge.net/


FastTrack edytuj

FastTrack ma opinię dobrej i szybkiej sieci pozwalającej na wymianę plików różnych typów. Można 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 lokalne przechowywanie informacje o stosunku downloadu i uploadu. Można zatem bardzo łatwo je sfałszować. Istnieje wiele dodatków pozwalających na zmianę naszego ratio. Wiele alternatywnych klientów pozwalających na łączenie się z tą siecią. 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.

eDonkey edytuj

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 haszowana, co uniemożliwia ściągnięcie pliku w uszkodzonym stanie Zaletą sieci eDonkey jest bezbłędny transfer 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.


http://www.emule-project.net/

http://shareaza.sourceforge.net/

http://mldonkey.org/ - klient dla linuksa, obsługuje też m.in. sieć BitTorrent


BitTorrent edytuj

http://www.bittorrent.com/

Azureus edytuj

http://azureus.sourceforge.net/

Exeem edytuj

Exeem jest klientem sieci BitTorrent rozwijanym przez społeczność skupioną wokół SuprNova.org. Każdy klient sieci Exeem jest trackerem. Eliminuje to główną słabość sieci BitTorrent scentralizowanej wokół trackerów. Ponadto sieć Exeem łączy w sobie wyszukiwanie oraz pobieranie torrentów, które w przypadku sieci BitTorrent należało sciągnąć np. ze strony www.

Ares edytuj

Ares to darmowe oprogramowanie typu open source umożliwiające użytkownikom udostępnianie i pobieranie wszelkiego rodzaju plików takich jak grafika, dźwięk, obraz, oprogramowanie, dokumenty, itp.

Ares jest zdecentralizowaną siecią umożliwiającą przeszukiwanie oraz pobieranie wszelkich zasobów udostępnionych przez innych użytkowników. Możesz przyłączyć się do wirtualnych pogawędek, jak również otworzyć własny chatroom.

Podstawowe możliwości to:

  • pobieranie fragmentów pliku jednocześnie z wielu źródeł
  • automatyczne katalogowanie udostępnianych przez użytkownika plików
  • wbudowany odtwarzacz audio-video
  • zdecentralizowany czat

http://aresgalaxy.sourceforge.net/

Dijjer edytuj

Dijjer jest udaną próbą wcielenia idei sieci BitTorrent dla poprawy wydajności naszego serwisu WWW w szczególności, gdy udostępniamy znaczne ilości danych np. audio-video lub obrazy płyt CD/(HD)DVD/BD. Użytkownik ściągający duży plik z naszego serwisu sam jednocześnie udostępnia każdy sciągnięty fragment pliku innym użytkownikom pobierającym ten plik w danym momencie. Metoda ta znacznie redukuje obciążenie serwera www. Redukje również obciążenie łącza internetowego, z którego korzysta serwis, poprzez wykorzystanie łączy zwrotnych (uploadu) użytkowników pobierających pliki.

Po stronie serwera nie ma koniecznośći instalacji dodatkowego oprogramowania. Wystarczy na początku adresu linku dodać "http://www.dijjer.org/get/".

Wówczas w kodzie HTML naszej strony WWW zmiast przykładowego znacznika

 <a href="http://mojastrona.com/urodziny.avi">Pobierz plik</a>

wpiszemy:

 <a href="http://www.dijjer.org/get/http://mojastrona.com/urodziny.avi">Pobierz plik</a>

Kliknięcie tak przygotowanego linku przez osobę odwiedzającą naszą witrynę spowoduje pobranie i pomoc w instalacji niewielkiego oprogramowania-pluginu. Następnie rozpocznie się jednoczesne pobieranie pliku z serwera jak również od innych użytkownikow sieci Dijjer.

Ze strony głównej projektu można również ręcznie pobrać i zainstalować plugin dla Firefoxa.

http://dijjer.sourceforge.net/

GNUnet edytuj

http://gnunet.org/


I2P edytuj

http://www.i2p.net/


Mnet edytuj

http://mnetproject.org/