Historia powstania technologii P2P i bezpieczeństwo
Spróbujmy pokrótce przedstawić historię powstania technologii peer-to-peer. Powstanie P2P można podzielić na trzy etapy. Pierwszym etapem był stworzony w 1999 roku Napster. Twórcą Napstera był 19-letni wówczas student Shawn Fanning. Już wkrótce po premierze program zdobył gigantyczną popularność, głównie wśród studentów. Z początku był darmową aplikacją typową dla oprogramowania P2P, jednak do swojego funkcjonowania potrzebował centralnego serwera. Niestety w związku z faktem, że użytkownicy wymieniali się w przeważającej części nielegalnymi plikami, głównie muzycznymi, popadł w kłopoty z prawem i pod naciskiem wytwórni fonograficznych przekształcił się w płatną aplikację. Obecna wersja Napstera pozwala na wyszukiwanie, zakup i pobieranie plików z muzyką, głównie na mp3. Z pierwotnej idei pozostała zasada działania, gdyż również dzisiaj pliki są udostępniane przez każdego z użytkowników, co tworzy potężną bazę utworów. Szacuje się, że jest to w chwili obecnej około 600 tysięcy plików zajmujących ponad 2500 gigabajtów pamięci. Drugim etapem była generacja programów P2P, które obecnie funkcjonują na rynku. Podstawową różnicą między aplikacjami P2P pierwszej generacji , a funkcjonującym obecnie jest decentralizacja sieci. Nie już centralnego serwera, a komputery łączą się ze sobą bezpośrednio. Nawet w przypadku wyłączenia jednego lub kilku komputerów cała sieć dalej sprawnie funkcjonuje. Użytkownicy mają bardzo bogatą możliwość wyboru programów drugiej generacji P2P. Wśród najpopularniejszych i posiadających największą liczbę aktywnych użytkowników należy wymienić takie aplikacje jak eDonkey, Kazaa, Shareaza, iMesh i wiele innych. Powoli na rynku zaczynają pojawiać się programy trzeciej generacji. Ich głównym celem jest zapewnienie w 100% anonimowości swoim użytkownikom. Popularne obecnie programy nie zapewniają takiej ochrony. Bardzo ważnym zagadnieniem w przypadku pobierania wszelkiego typu programów z sieci jest bezpieczeństwo. Niestety korzystając z aplikacji p2p musimy być świadomi zagrożeń jakie czyhają na nas w sieci. Wśród dwóch najważniejszych możemy wymienić wirusy. Wirusy są obecne wszędzie i aplikacja P2P nie jest niestety wyjątkiem. Niektóre programy wyposażone są w mechanizmy do automatycznego skanowania plików ściąganych przez użytkowników, ale większość omija ten problem. Jeżeli korzystamy z programów P2P, to powinniśmy zaopatrzyć się w dobry program antywirusowy i często go używać. Drugim problemem jest kwestia legalności plików, które pobieramy. Jeżeli ściągamy i udostępniamy materiały objęte prawami autorskimi, to musimy liczyć się z możliwością pozwania przez takie organizacje jak RIAA (Recording Industry Association of America) oraz MPAA (Motion Picture Association). Póki co działania takie są dość mało rozpowszechnione, a wręcz jednostkowe. Głośno w mediach jest tylko w przypadkach poważnych przestępstw jak np. pornografia dziecięca, przez co większość użytkowników czuje się bezkarna zapominając, że korzystając ze ściągniętych niedarmowych programów również łamie prawo.
Jednym z protokołów umożliwiających współdzielenie zasobów plikowych i wykorzystujących technikę połączeń peer-to-peer jest Direct Connect. Do swojego celu wykorzystuje koncentratory, które zawierają podstawowe informację ułatwiające nawiązanie połączenia z użytkownikiem. Twórcą tej techniki jest Jonathan Hess, wówczas w listopadzie 1999 roku uczeń szkoły średniej. Podstawowym celem aplikacji, jest współdzielenie zasobów udostępnianych z lokalnych twardych dysków zawierających aplikację klienta, innym użytkownikom sieci posiadającym tą samą aplikację. W ramach programu jest również możliwość prowadzenia rozmów z innymi osobami na wybranym koncentratorze w formie czata tekstowego zbliżonego swoją formą do IRC-a. Działanie aplikacji Direct Connect oparte jest o tekstowy protokół ADC, którego istotą było stworzenie prostych rozwiązań w implementacji zarówno dla klienta jak jak koncentratora. Takie podejście stworzyło identyczną strukturę dla połączeń typu klient-koncentrator i klient-klient, jednocześnie upraszczając przy tym implementację. Tworząc protokół ADC wiele koncepcji zostało zaczerpniętych z DCTNG, którego autorem jest Jan Vidara Kreys, protokołu NMDC i idei DC Jona Hessa. W protokole ADC wszystkie wiadomości składają ze słów zawierających cztery znaki. Pierwszy znak określa sposób przesyłania wiadomości, a pozostałe identyfikują dokonaną operację. Wiadomości te koduje się za pomocą Unicode UTF-8 w postaci znormalizowanej C. Są plany stworzenia protokołu Secure ADC wykorzystującego tunelowanie TLS podczas nawiązywania połączenia. Koncentratory Direct Connect są podstawowymi serwerami, do których podłączają się klienci. Podstawowym zadaniem koncentratorów jest dostarczenie informacji o użytkownikach, przeszukiwanie zasobów plików udostępnianych, a także rejestracja i autoryzacja użytkowników podczas wejścia na koncentrator. W chwili obecnej występuje wiele wyspecjalizowanych tematycznie koncentratorów. Jeżeli chcemy się z nimi połączyć musimy spełniać wymagania dotyczące między innymi typów i ilości udostępnianych plików. Istnieją również koncentratory dostępne tylko dla użytkowników sieci lokalnej lub hostów z podgrupy określonych adresów IP. Najważniejszym zadaniem aplikacji klienta jest możliwość udostępniania oraz ściągania zasobów udostępnionych przez innych użytkowników. Żeby tego dokonać klient nawiązuje połączenie z koncentratorem, który przekazuje podstawowe dane o innych użytkownikach. Kolejnym etapem jest już nawiązanie bezpośredniego kontaktu pomiędzy dwoma klientami, aby rozpocząć transmisję danych. Każdy klient przy tym tworzy listę plików udostępnianych, która przekazywana jest innym użytkownikom poprzez wyszukiwarkę zasobów. Aplikacje serwera umożliwiają utworzenie koncentratora przez każdego użytkownika, którego sprzęt oraz łącze internetowe jest gotowe obsłużyć ruch generowanych do i od serwera. Mamy obecnie kilka programów umożliwiających uruchomienie serwera na własnym komputerze oraz prowadzenie nadzoru na prawidłowym funkcjonowaniem koncentratorów.
Idea sieci P2P (peer-to-peer – równy z równym) powstała w celu umożliwienia elektronicznego rozpowszechniania danych. Stanowiła ona odpowiedź na scentralizowany model Internetu, który uniemożliwiał użytkownikom pobieranie takich zasobów jak chronione przez prawa autorskie pliki mp3 czy filmy. W dobie rosnącego zainteresowania darmowym pozyskiwaniem plików multimedialnych z Internetu niemal niezbędne stało się stworzenie sieci P2P, która zaspokoiłaby rosnące apetyty użytkowników. Model sieci P2P zapewnia wszystkim użytkownikom te same prawa (stąd jego nazwa), tak, więc każdy komputer podłączony do tej sieci może pełnić rolę zarówno klienta jak i serwera. Pobierając i instalując na komputerze odpowiednią aplikację, możemy bez żadnych przeszkód czerpać z zasobów pozostałych użytkowników sieci, jednocześnie udostępniając im nasze dane multimedialne zgromadzone na naszym dysku. Dzięki sieci P2P uzyskujemy dostęp do treści, których zwykle nie znajdziemy na publicznych serwerach WWW. Nierzadko możemy pozyskać materiały trudne do zdobycia, stare utwory muzyczne, filmy anime, unikatowe nagrania z koncertów, piosenki mniej znanych zespołów czy wersje elektroniczne trudno dostępnych książek. Sieć P2P stanowi więc niewyczerpane źródło zasobów dla prawdziwych kolekcjonerów plików multimedialnych, bo dzięki niej mogą uzupełnić swoje zbiory o perełki, których nie byliby w stanie zdobyć w inny sposób. Rozwój sieci P2P jest ściśle powiązany z rosnącym zapotrzebowaniem internatów na darmowe pliki multimedialne. Do dnia dzisiejszego powstało wiele systemów P2P. Nalezą do nich takie sieci jak: IRC, Napster, eDonkey, FastTrack, Freenet, Direct Connect, Audiogalaxy, Gnutella czy Skype. Funkcjonują one według dwóch systemów, posiadając lub nie posiadając serwera centralnego. Oczywiście z punktu widzenia użytkownika lepsze są te, które posiadają takowy serwer, gdyż przechowywane są na nim dane o wszystkich podłączonych użytkownikach oraz indeksy dostępnych plików. To znacznie ułatwia poszukiwania upragnionego pliku oraz komunikację pomiędzy użytkownikami, ponieważ serwer centralny zwykle oferuje dodatkową usługę w postaci czata. Dzięki temu mamy możliwość uprzyjemnienia sobie czasu oczekiwania na ściągany plik pogawędką z innymi użytkownikami oraz poinformowania innych o poszukiwanym zbiorze danych. Sporym problemem P2P jest duża ilość chętnych do ściągania zasobów, zaś mała do ich udostępniania. Dlatego wiele sieci wprowadziło obowiązek udostępnienia pewnej ilości danych, aby w ogóle można było zacząć korzystać z zasobów innych użytkowników. Do takich sieci należy np. Direct Connect, której regulamin nakazuje udostępnić minimalną ilość zasobów, zwykle w przedziale 2-10GB. Kolejnym mankamentem sieci P2P jest przerywanie pobierania pliku, gdy udostępniający go użytkownik rozłącza się z serwerem. Sytuacja ta skazuje pobierającego na niepewność aż do momentu pobrania całego pliku. Nowsze sieci P2P oferują pełna automatyzację procesu pobierania i same wyszykują inne źródło danych, po czym wznawiają pobieranie pliku od nowo znalezionego użytkownika. Jednak pomimo tych niegodności sieci P2P SA dzisiaj najpopularniejszym źródłem pozyskiwania plików multimedialnych, a zainteresowanie nimi stale rośnie. Ciągłe ich udoskonalanie i dodawanie kolejnych usług powiększa wciąż grono ich użytkowników, zwiększając tym samym indeks zasobów dostępnych w Internecie. Nie ma dziś chyba osoby, która nie skorzystałaby z dobrodziejstw darmowych plików dostępnych w sieciach P2P.
P2p jest formą komunikacji w sieci komputerowej, która zapewnia obydwojgu użytkowników takie same prawa (tłumaczenie z angielskiego peer-to-peer – równy z równym), czego nie można oczekiwać w schemacie klient – serwer. Sieci p2p dają możliwość pełnienia przez komputer zarówno roli klienta, jak i serwera. W najbardziej popularnej ofercie sieci p2p, jaką są programy służące do wymiany plików w sieci internetowej, komputer użytkownika, czyli tzw. węzeł, pełni funkcję serwera odbierając połączenia od pozostałych użytkowników konkretnej sieci, także klienta, poprzez łączenie się i pobieranie danych z innych komputerów znajdujących się w tej samej sieci. Wymiana informacji w sieci p2p jest zawsze przeprowadzana bez pośredniczenia serwera głównego. P2p jest sieć o elastycznej i płynnej strukturze, która zmienia się zależnie od tego, jakie typy komputerów są w niej w danej chwili zalogowane. Idea powstania sieci p2p. Sieć p2p jest w pewnym stopniu oparta na pierwotnym zamyśle Internetu – wszystkie hosty miały odgrywać równorzędną role w procesie wymiany danych. Jednak w wyniku gwałtownego i szybkiego procesu rozwojowego Internetu ta równorzędność została zdestabilizowana. Funkcje dystrybutorów danych przejęły przedsiębiorstwa, instytucje oraz firmy internetowe, które były w stanie sfinansować i utrzymać stałe łącza o dużej przepustowości i zakupić wystarczająco silne komputery, aby móc utrzymać duże natężenie ruchu. Klientom sieci internetowej, pełniących rolę konsumentów podawanych informacji, pozostały jedynie łącza za pomocą modemów o niewielkiej przepustowości. Obecnie najpopularniejszą formą połączeń sieciowych dla konsumentów są asymetryczne cyfrowe łącza abonamencie ADSL, charakteryzujące się stosunkowo dużą szybkością pobierania danych z Internetu oraz małą przepustowością zwrotną. Scentralizowany model Internetu ułatwił kontrolę nad rozpowszechnianymi drogą elektroniczna materiałami chronionymi prawami autorskimi. Komercjalizacja Internetu przyczyniła się miedzy innymi do zaostrzenia kontroli w sieci. Wprowadzenie do sieci internetowej utworów w postaci cyfrowej MP3 spotkało się z ogromnym zainteresowaniem konsumentów. Stosowanie plików w postaci MP3 pozwoliło na swobodną ich dystrybucję w Internecie, nawet przy pomocy stosunkowo wolnych łącz modemowych. Publikacja plików w formacie MP3 niestety nie było możliwe w scentralizowanym Internecie, ponieważ większość z nich zawierała opatentowane utwory. Tak więc ówczesna sytuacja skutecznie zwalczała dystrybucje utworów MP3 w publicznych serwerach za pomocą środków prawnych. Na tej podstawie jesienią 1999 roku pojawiła się na sieciowej arenie sieć p2p – często uważana za pierwszą, wykorzystaną do pobierania multimediów sieć. Stworzony przez Shwana Fanninga Napster dawał możliwość każdemu użytkownikowi, który pobrał oraz zainstalował aplikację, na udostępnienie wybranych zasobów zamieszczonych na swoim komputerze pozostałym użytkownikom w sieci. Cechą Napstera, która przyczyniła się do osiągnięcia przez niego szybkiej popularności, był łatwy stopień jego obsługi. Cecha ta dała możliwość publikacji swoich zasobów nie tylko zaawansowanym użytkownikom, ale również pozostałym, którzy nie posiadali szczególnego zaplecza technicznego. Napster stał się siecią masową o płynnej topologii – zmiana węzłów następowała w zależności od tego, kto był w danym momencie zalogowany. Cechy te stały się dla użytkowników tej aplikacji tarczą ochronną, ponieważ wyśledzenie wszystkich użytkowników pociągnęło by za sobą niewyobrażalne koszty. Taki właśnie mechanizm obronny z powodzeniem funkcjonuje po dzień dzisiejszy.