Sieci P2P pozwalają na pobieranie plików z wielu źródeł jednocześnie. Dzięki temu możemy uzyskać większy transfer i uniezależnić się od pojedynczych użytkowników. Sieci takie działają na różnych zasadach. Przyjrzyjmy się programom korzystającym z ich zalet.
P2P (peer-to-peer, czyli równy z równym) na dobre zagościło wśród użytkowników internetu. Wbrew pozorom, samo korzystanie z programów tego typu jest legalne – możemy przecież pobierać z sieci darmowe pliki lub wolne oprogramowanie. Wiele dystrybucji Linuksa jest udostępniane w ten sposób, aby odciążyć serwery developerów. Użytkownicy zyskują za to transfer zbliżony do maksymalnej przepustowości własnego łącza.
Systemów peer-to-peer jest wiele (np. BitTorrent, DC, eDonkey) i nie są one ze sobą zgodne. Zasady działania również nieco się różnią, ale cechą wspólną jest decentralizacja. Oznacza to, że dane nie są pobierane z jednego centralnego serwera, ale od rozproszonych po całym świecie użytkowników.
BitTorrent
Jednym z popularniejszych protokołów jest BitTorrent. Wyszukiwanie plików odbywa się przez tzw. trackery (np. The Pirate Bay), czyli serwery przechowujące informacje o lokalizacji plików. Dzięki takiemu rozwiązaniu trackery nie udostępniają plików ani nie pośredniczą w ich wymianie – działają jak wyszukiwarka, pokazując gdzie znajduje się dany zasób.
Jednym z najpopularniejszych programów obsługujących BitTorrent jest uTorrent. Posiada on wbudowaną wyszukiwarkę, dużą możliwość konfiguracji i co bardzo ważne, nie obciąża zbytnio komputera. Szkoda tylko, że nie wykorzystuje pełnej przepustowości łącza.
Korzystający z tego samego protokołu program rTorrent (dostępny na systemy uniksowe) nie posiada takich ograniczeń (chyba, że użytkownik sam je ustawi). Jest to aplikacja działająca w konsoli, co wbrew pozorom jest jej zaletą. rTorrenta można zostawić na działającym
bez przerwy serwerze lub dobrym routerze. Ponadto możliwe jest sterowanie nim zdalnie, np. przez telefon przy pomocy klienta SSH. Jeśli uruchomimy program na komputerze lokalnym, wówczas umożliwi pracę całkowicie w tle jako tzw. demon. Dzięki temu wystarczy, że zapiszemy plik .torrent wskazujący lokalizację zasobów, a rTorrent sam zacznie pobieranie. Wadą programu jest skomplikowana obsługa i brak wbudowanej wyszukiwarki.
Mimo że opisane programy oparte są o ten sam protokół, uzyskują wyraźnie różne szybkości. Przykładowy plik, ostatnia wersja darmowego systemu Ubuntu, który można całkiem legalnie ściągnąć z sieci, jest udostępniany przez prawie 1,5 tysiąca osób. Podczas gdy rTorrent zajął całe dostępne łącze (1Mb/s), windowsowy uTorrent osiągnął średnio 60% tej wartości. Różnica jest więc bardzo widoczna.
Direct Connect
Zupełnie inne podejście prezentuje protokół Direct Connect (DC). Jego idea polega na wykorzystaniu sieci lokalnych. Koncentratory DC (tzw. huby) zbierają informacje o podłączonych użytkownikach i udostępnianych przez nich plikach. Pliki pobierane są bezpośrednio od udostępniającej je osoby, a w przypadku rozłączenia od kolejnych.
Korzystanie z sieci tego typu nie jest najbezpieczniejsze, gdyż adresy IP osób udostępniających dane są doskonale widoczne, więc dostęp do nich może mieć również policja. Najpopularniejszym programem obsługującym Direct Connect jest bez wątpienia DC++.
Aplikacja pozwala na wymianę i wyszukiwanie plików oraz komunikację między użytkownikami w sposób podobny do IRC-a. Huby zrzeszają zwykle użytkowników sieci lokalnych (osiedlowych, akademickich itp.), ale możliwe jest również pobieranie plików z zewnątrz – oczywiście z dużo niższym transferem.
Największą zaletą programu i jednocześnie całego protokołu DC jest skupienie się na sieciach lokalnych. Pozwala to na transfer z olbrzymimi prędkościami rzędu kilkunastu megabajtów na sekundę (teoretycznie do gigabajta, ale dysk i tak nie jest w stanie przyjąć tak dużej ilości danych). Wady to małe bezpieczeństwo i niewielka liczba osób znajdujących się w sieci lokalnej. Zwykle jest to kilkudziesięciu użytkowników, więc znalezienie mniej popularnych plików jest właściwie niewykonalne. Warto dodać, że czat pozwala na poznanie wielu osób, które mieszkają w okolicy, co dodatkowo integruje użytkowników jednego huba.
eMule
Kolejną popularną siecią P2P jest eDonkey i związane z nią programy eMule (dostępny pod Windows) i aMule (wieloplatformowy odpowiednik eMule’a oparty o ten sam kod). Najważniejszą cechą programu jest bardzo restrykcyjne zmuszanie użytkowników do udostępniania plików. O ile w innych sieciach możliwe jest zablokowanie uploadu, to eMule automatycznie udostępnia wszystkie pliki, które pobieramy. Ponadto ściąganie danych możliwe jest maksymalnie z prędkością cztery razy większą niż udostępnianie.
Z powodu tego ograniczenia duża liczba użytkowników nie osiągnie największej przepustowości – polscy operatorzy oferują zwykle upload ok. 8 razy mniejszy niż download. Z drugiej strony rzadko zdarzają się sytuacje, w których nikt nie udostępnia wybranego pliku, a użytkownicy „pasożytujący” na innych są blokowani. Równie ważną cechą protokołu są kolejki – użytkownik musi czekać na pobranie pliku. Czas oczekiwania również zależny jest od ilości udostępnianych danych. Dodatkową zaletą programu jest możliwość działania w podobnej sieci opartej o protokół Kad.
Co dla kogo?
Jeśli znajdujemy się w sieci lokalnej, warto sprawdzić, czy działa w niej hub DC. Skorzystanie z programu DC++ opartego o ten protokół umożliwi uzyskanie najwyższych prędkości pobierania danych, ale kosztem małej dostępności. W przypadku poszukiwania mniej popularnych zasobów warto skorzystać z ogólnoświatowej sieci torrent i wyposażyć się w lekki klient – najpopularniejszy jest bez wątpienia uTorrent. Użytkownicy systemów uniksowych mogą ponadto pokusić się o skorzystanie z bardzo potężnego narzędzia jakim jest konsolowy rTorrent. Osoby nie bojące się udostępniać dużej ilości popularnych danych, powinny natomiast zainteresować się programem eMule.
Przyszłość P2P
Szacuje się, że osoby korzystające z sieci peer-to-peer generują około 40% ruchu w całym internecie. Wiąże się to z podstawową cechą większości programów – pliki ściągane są od jak największej ilości udostępniających. Następcą protokołów P2P może okazać się P4P (Proactive network Provider Participation for P2P) który w pierwszej kolejności ma wyszukiwać pliki najbliżej nas (pod względem trasy pakietów, niekoniecznie fizycznie). Dzięki takiemu podejściu większość ruchu pozostałaby wewnątrz szybkich sieci lokalnych, tak jak teraz w DC, a dopiero potem przeszukiwane byłyby inne zasoby.
Takie podejście przyśpieszyłoby transfer od 2 do 6 razy, jednocześnie nie zwiększając ruchu wychodzącego poza sieci lokalne. Pozostają tylko dwa problemy: specyfikacja techniczna programu budzi przerażenie w oczach lokalnych operatorów, a przy pracach nad protokołem biorą udział organizacje antypirackie, co może doprowadzić do większej kontroli nad użytkownikami. Czy takie sieci zagrożą P2P, pokaże dopiero praktyka.