Wytrwały pobierze więcej

Wymiana plików – głównie MP3 – jest niezmiennie jednym z najgorętszych tematów internetowych. Wszyscy pamiętamy pojawienie się Napstera, jego szybką karierę i głośny upadek. Gdy program Fanninga był na szczycie, pojawiły się inne aplikacje służące do tego samego celu. I choć wytwórnie muzyczne oraz filmowe chcą zlikwidować proceder wymiany plików, to technologie peer-to-peer rozwijają się dynamicznie. O niezwykłości Napstera zadecydował nowatorski pomysł, by użytkownicy pobierali zbiory nawzajem od siebie. Kolejne sieci P2P – Gnutella, Direct Connect czy też KaZaA – powstawały i powstają cały czas. Zastosowane w nich rozwiązania nie są kopią technologii Napstera. W głowach programistów cały czas rodzą się nowe pomysły, które wymianę plików MP3, AVI i innych czynią szybszą, bardziej niezawodną i odporną na działania organizacji zrzeszającej wytwórnie płytowe (RIAA).

Więcej swobody

Napster swoje powodzenie zawdzięczał m.in. wysokiej skuteczności wyszukiwania. Było to możliwe dzięki wykorzystaniu centralnego serwera, który gromadził informacje o zbiorach przechowywanych na dyskach użytkowników. To samo rozwiązanie przyczyniło się jednak do łatwego zablokowania sieci Napstera. Gdy po wyroku sądu przestał działać główny komputer, internauci stracili możliwość wymiany plików. W wielu nowych sieciach P2P zrezygnowano ze scentralizowanej architektury. Twórcy nowych technologii dążą do uniezależnienia ich od jakichkolwiek “strategicznych” punktów. Daje to użytkownikom większą anonimowość, a także uniemożliwia szybkie zamknięcie sieci.

Jedną z pierwszych rozproszonych sieci była Gnutella – w jej przypadku nie istniały żadne wyróżnione komputery (patrz: CHIP 7/2001, 152). Niestety – brak centralnych punktów sieci spowodował, że skuteczność wyszukiwania plików nie była zbyt wysoka. Pośrednie podejście zastosowano w jednym z najnowszych programów P2P – eDonkey2000. Istnieją tu serwery pośredniczące w wyszukiwaniu plików, ale ich prowadzeniem nie zajmują się twórcy oprogramowania (tak było w przypadku Napstera). Powstała sieć niezależnych serwerów, które są rozmieszczone na całym świecie i nie są od siebie zależne. Schemat działania sieci eDonkey znajduje się w ramce “Nowe rozwiązania”.

Teoretycznie taki centralny punkt może założyć każdy. Aby jednak dobrze spełniał on swoje zadanie, musimy dysponować szybkim komputerem i łączem o dużej przepustowości. Użytkownik, chcąc znaleźć wybrany plik, łączy się z odpowiednim serwerem – w zależności od tego, czego szuka. Przykładowo: jeśli ktoś chce pobrać polski film, powinien znaleźć krajowy serwer.

Koniec z fałszerstwem

W wielu sieciach P2P użytkownikom zdarza się pobrać plik o zawartości nieodpowiadającej nazwie, czyli tzw. fałszywkę (ang. fake). Twórcy programów do wymiany zbiorów opracowali technologie zapobiegające takim sytuacjom. W eDonkey2000, jako w jednym z pierwszych programów P2P, zastosowano technikę tzw. hashowania (patrz: CHIP 10/2002, 123). Jest ona dość prosta, a polega na utworzeniu na podstawie zawartości zbioru sumy kontrolnej. Liczba ta powstaje jako efekt zastosowania bardzo skomplikowanego wzoru i jeśli w pliku zmienimy choćby jeden bajt, powstanie zupełnie inna wartość.

Opisane rozwiązanie znakomicie nadaje się do znajdywania błędów w zbiorach (pobieramy plik i jego sumę kontrolną, po czym tworzymy ją ze zbioru znajdującego się na naszym dysku. Jeżeli wartości są różne – plik jest uszkodzony). Dzięki niemu eDonkey sprawdza także w prosty sposób, czy dwaj użytkownicy udostępniają ten sam plik. Dzięki temu program do identyfikacji zbiorów w mniejszym stopniu wykorzystuje ich nazwy.

Hashowanie daje też inne możliwości. Zostało wykorzystane w technice ICH (Intelligent Corruption Handling – w wolnym tłumaczeniu: “inteligentne radzenie sobie z błędami”). Rozwiązanie to pozwala na zmniejszenie ilości danych, które należy ponownie skopiować w przypadku wystąpienia błędów transmisji. Zwykle, jeżeli plik okaże się uszkodzony, musimy pobrać go od nowa. W większości przypadków jednak niepoprawnych jest tylko kilka lub kilkanaście bajtów. W aplikacji wykorzystującej ICH zbiór jest ponownie pobierany – bajt po bajcie. Nowo skopiowane informacje są dodawane do pliku i ponownie liczona jest suma kontrolna – tak długo, aż okaże się, że zbiór został naprawiony. Oczywiście może się zdarzyć, że błąd wystąpił na końcu pliku i wtedy konieczne jest powtórne pobranie całości. Ale często uszkodzenie ma miejsce wcześniej i w takiej sytuacji technika ICH skraca czas potrzebny na naprawienie zbioru. Programiści zamierzają udoskonalić tę funkcję, tak aby aplikacja była w stanie wysyłać zapytania o dodatkowe sumy kontrolne do innych użytkowników sieci i przez to zmniejszyć ilość danych do ponownego pobrania nawet o 95%.

Więcej:bezcatnews