Dlaczego Napster umarł, a Gnutella przeżyła

12

Wszystko wydarzyło się szybko. Tylko tak można opisać powstanie Napstera. W niecałe dwanaście miesięcy witryna wzrosła z zera do 60 milionów odwiedzających miesięcznie. Był nie tylko popularny. W szczytowym okresie była to najczęściej odwiedzana witryna w Internecie. Wtedy interweniował sąd. Pojedynczy nakaz zakończył jego pracę z powodu powszechnego naruszenia praw autorskich. Napster pojawił się ponownie dopiero w 2003 roku, kiedy to został przemianowany na legalny serwis sprzedaży muzyki pod marką Roxio.

Apel był prosty. Otrzymałeś darmową muzykę. Nie trzeba było iść do sklepu. Nie trzeba było kupować płyty CD, wkładać jej do napędu i czekać, aż utwór zostanie skopiowany. Właśnie nacisnąłeś przycisk. Ogromna baza danych zawierała praktycznie każdą piosenkę, jaką kiedykolwiek stworzono. To było łatwe. To było bezpłatne.

Ale ta prostota miała swoją cenę. Architektura stała się fatalną wadą.

Napster korzystał z centralnego serwera do indeksowania i łączenia użytkowników. Ten scentralizowany model ułatwił znalezienie muzyki, ale także uczynił go łatwym celem zniszczenia. Kiedy sądy orzekły, że Napster promuje naruszenie praw autorskich, zamknięcie było chirurgicznie precyzyjne. Wyłącz serwer, a cała sieć zniknie. Brak kopii zapasowej. Brak zdecentralizowanej opcji awaryjnej. Tylko cisza.

Użytkownicy nie przejmowali się niuansami prawnymi. Obawiali się dostępu. Większość przeniosła się do innego systemu udostępniania plików. Takiego, którego nie dało się tak łatwo zniszczyć.

Powstanie Gnutelli

Gnutella wchodzi na scenę.

To była alternatywa. To nie było tylko narzędzie; to była inna filozofia. Zamiast węzła centralnego Gnutella zastosowała sieć peer-to-peer (P2P). Każdy komputer w sieci był zarówno serwerem, jak i klientem. Nie było ani jednego punktu awarii. Aby ją wyłączyć, należy wyłączyć komputer każdego użytkownika.

To właśnie zdecentralizowana architektura pozwoliła Gnutelli przetrwać. Nawet gdy sądy zaostrzyły kontrolę nad innymi usługami, Gnutella nadal istniała. Przystosowała się. Ona ewoluowała. Stał się podstawą wielu nowoczesnych protokołów P2P.

Oryginalny Napster był sklepem bez zamków. Gnutella była labiryntem bez środka. Jednego łatwo ukraść. Drugiego ciężko złapać.

Nowy Napster

Do 2003 roku krajobraz się zmienił. Roxio kupiło prawa do nazwy Napster i ponownie ją wypuściło. Wersja 2 była legalna. Zapłaciłeś za swoją muzykę. Żadnych więcej naruszeń. To był czystszy produkt. Bezpieczniejsze. Brakowało mu jednak surowej, chaotycznej energii oryginału. Magia nie tkwiła tylko w muzyce. Była wolna.

Stary Napster nauczył nas kilku rzeczy. Centralizacja jest skuteczna, dopóki nie przestanie nią być. Decentralizacja jest chaotyczna, ale trwała. Nauczyliśmy się tego na własnej skórze.

Teraz za każdym razem, gdy przesyłasz strumieniowo utwór, płacisz za wygodę. Korzystasz ze scentralizowanej usługi. Spotify. Muzyka Apple. Muzyka YouTube. Są łatwe w użyciu. Są bezpieczne. Są również bezbronni. Jedna firma kontroluje bibliotekę. Jedna firma kontroluje dostęp.

Gnutella pokazała nam inny sposób. Ścieżka, w której sieć jest produktem. Gdzie użytkownicy są infrastrukturą. Jest wolniej. To bardziej skomplikowane. Ale jest wolny od jednego punktu kontroli.

Który

Standardowe przeglądanie stron internetowych to prosta transakcja. Żądasz pliku z serwera, a serwer odsyła go z powrotem. W przypadku dużych obiektów wymaga to setek maszyn do utrzymania infrastruktury. Napster całkowicie zniszczył ten model. Nie tylko publikował pliki; zamieniło komputer każdego użytkownika w węzeł rozległej, zdecentralizowanej sieci dystrybucyjnej.

Oryginalna wersja Napstera była systemem hybrydowym. Do faktycznego przesyłania danych wykorzystywał udostępnianie plików w trybie peer-to-peer (P2P), ale ich pobieranie polegało na organie centralnym. Po uruchomieniu oprogramowania Twój komputer został zarejestrowany na centralnych serwerach Napstera. Zasadniczo dodawałeś dostępne pliki MP3 do katalogu globalnego.

Oto jak to działało:

  • Zainstalowałeś program kliencki. Twój komputer stał się miniserwerem.
  • Twój komputer wysłał żądania do serwerów centralnych, przesyłając listę wszystkich utworów na dysku twardym.
  • W centralnej bazie danych przechowywany był teraz indeks miliardów utworów.
  • Szukałeś „Roxanne” The Police.
  • Serwer centralny zwrócił listę adresów IP użytkowników, którzy posiadali ten plik.
  • Wybrałeś partnera. Twój komputer podłączył się bezpośrednio do jego komputera i pobrał utwór.

Architektura ta rozwiązała dwa palące problemy. Po pierwsze, przechowywanie. Żadna firma nie byłaby w stanie kupić wystarczającej ilości miejsca na dysku twardym, aby pomieścić cały światowy katalog muzyczny. Po drugie, przepustowość. Rozłożenie obciążenia na miliony połączeń domowych było nieskończenie tańsze niż przesyłanie strumieniowe z centrum danych.

W grę wchodziła także strategia prawna. Twórcy twierdzili, że wykorzystują lukę w prawie autorskim dotyczącą prywatnej wymiany zdań między przyjaciółmi. Sądy ostatecznie odrzuciły tę logikę. Ale szkody już zostały wyrządzone. Koncepcja została sprawdzona. Sieć stała się zbyt duża, aby ją ignorować.

Wada projektowa Napstera była oczywista z perspektywy czasu. Centralna baza danych była pojedynczym punktem awarii. To była pięta achillesowa. Kiedy sąd nakazał zamknięcie sieci, zawaliła się cała infrastruktura. Nie można mieć sieci peer-to-peer, jeśli jej indeks jest własnością jednego podmiotu, który można zgodnie z prawem wyciszyć.

Do upadku Napstera około 100 milionów użytkowników było przyzwyczajonych do swobodnego udostępniania plików. Infrastruktura umożliwiająca takie zachowanie była już gotowa. Na podejściach oczekiwana była bardziej zrównoważona architektura.

Dlaczego Gnutella zmieniła zasady gry

Następcą tej fali udostępniania plików była sieć Gnutella. Zachowuje podstawową mechanikę udostępniania plików w trybie peer-to-peer, ale eliminuje centralny koncentrator. Użytkownicy nadal umieszczają pliki na swoich dyskach twardych i udostępniają je. Aby połączyć się z siecią, nadal potrzebujesz oprogramowania Gnutella.

Różnice mają charakter strukturalny i merytoryczny.

Po pierwsze, nie ma centralnej bazy danych. Koncepcja globalnego indeksu jest martwa. Zamiast tego Gnutella wykorzystuje podejście do wyszukiwania rozproszonego. Gdy użytkownik szuka pliku, żądanie jest przekazywane z węzła do węzła, przeskakując po sieci, aż znajdzie dopasowanie. To jest efekt fali żądań.

Po drugie, ekosystem jest rozdrobniony. Nie ma jednego „klienta Gnutelli”. Wiele różnych aplikacji może uzyskać dostęp do sieci Gnutella. Ta różnorodność utrudnia kierowanie konkretnych programów do procesów sądowych.

Ta decentralizacja zapewnia stopień nieśmiertelności, jakiego nie miał Napster. Nakaz sądu przeciwko jednej firmie nie wstrzymuje protokołu. Aby naprawdę zamknąć Gnutellę, organy regulacyjne musiałyby zablokować cały ruch sieciowy na poziomie dostawcy usług internetowych lub infrastruktury szkieletowej. Jest to techniczny i polityczny koszmar w porównaniu ze zwykłym pozwaniem dyrektora generalnego firmy będącej właścicielem scentralizowanego serwera.

Przejście od scentralizowanego indeksu do rozproszonego systemu wyszukiwania nie było jedynie udoskonaleniem technicznym. Była to odpowiedź na kruchość starego modelu.

Napster polegał na jednym, delikatnym oprogramowaniu klienckim. Gnutella nie miała tego luksusu, a raczej miała za dużo swobody. Sieć podzieliła się na dziesiątki konkurujących ze sobą aplikacji. Możesz wybrać BearShare, Gnukleus, LimeWire, Morpheus, WinMX lub XoloX. Interfejs mógł wyglądać inaczej, ale podstawowa logika była ta sama: zniszczyć władzę centralną.

Ale bez centralnego indeksu sieciowego potrzebny jest sposób na znalezienie plików. W tym właśnie miejscu mechanizm wykrywania klientów Gnutelli różni się radykalnie od tradycyjnego modelu serwer-klient.

Jak klienci Gnutelli znajdują pliki

Wyobraź sobie, że chcesz znaleźć konkretny plik MP3. Nie ma biblioteki do sprawdzenia. Zamiast tego twoje oprogramowanie powinno „krzyczeć” w pustkę.

Proces rozpoczyna się od jednego punktu kontaktowego. Być może adres IP został wprowadzony ręcznie lub w oprogramowaniu mogła zostać wstępnie załadowana lista znanych hostów. Twój komputer wysyła żądanie wyszukiwania do tego sąsiada.

Sąsiad nie tylko odbiera. Sprawdza swój własny dysk twardy. Jeśli plik tam jest, odsyła nazwę pliku i Twój adres IP. Ale robi też coś bardziej agresywnego. Przekazuje Twoje żądanie do wszystkich innych komputerów, o których wie.

Te maszyny robią to samo. Sprawdzają ich składowanie. Przekazują żądanie dalej. Tworzy to efekt domina, falę żądań rozprzestrzeniającą się na zewnątrz poprzez sieć.

System wykorzystuje licznik czasu wygaśnięcia (TTL), aby zapobiec nieskończonym pętlom.

Każde żądanie ma limit TTL. Pomyśl o tym jak o wskaźniku poziomu paliwa. Żądanie może przejść przez sześć lub siedem „przeskoków” (kroków), zanim skończy się paliwo. Jeśli każdy węzeł zna tylko czterech innych węzłów równorzędnych, przeszukiwanie na głębokości siedmiu poziomów teoretycznie mogłoby objąć 8000 maszyn.

Jest to obliczenie zgrubne rozproszone. Tylko. Wynalazczy. I wyczerpujące.

Kompromis: stabilność kontra wydajność

Architektura ta rozwiązuje główny problem swojej poprzedniczki. Napster zmarł, ponieważ klucze posiadał jeden z serwerów. Gnutella nie ma kluczy. Nie ma jednego punktu awarii. Żaden nakaz sądu nie jest w stanie zniszczyć sieci, bo nie ma co odcinać. Gnutella zawsze działa tak długo, jak możesz skontaktować się z co najmniej jednym innym użytkownikiem.

Ale decentralizacja ma swoją cenę.

Po pierwsze, nie ma gwarancji, że plik istnieje. Możesz wysłać swoją prośbę do 8 000 maszyn i uzyskać zero dopasowań. Plik może znajdować się na komputerze o numerze 8001. Jesteś niewidomy.

Po drugie, opóźnienie jest brutalne. Ponieważ żądanie musi rozprzestrzeniać się przez wiele warstw, na pełną odpowiedź możesz poczekać minutę lub dłużej. System nie powie Ci, co znalazł, dopóki nie sprawdzi maksymalnej możliwej głębokości.

Po trzecie, jesteś infrastrukturą. Twój komputer to coś więcej niż tylko konsument; to jest router. Odpowiada na przychodzące żądania i przekazuje dalej wychodzące. Wykorzystujesz własną przepustowość, aby utrzymać sieć przy życiu. Jest to system peer-to-peer w dosłownym tego słowa znaczeniu: pomagasz innym rówieśnikom, często na własny koszt.

W teorii te niedociągnięcia wydają się poważne. W praktyce użytkowników to nie obchodziło. Pobrano miliony kopii klientów Gnutelli. Obietnica dostępu przewyższała koszt przepustowości.

XoloX Przykład: Szukaj

XoloX to najbardziej uproszczony klient sieci Gnutella. Nie próbuje Cię zachwycić efektownymi interfejsami ani złożonymi funkcjami. To po prostu działa. Rozmiar pliku do pobrania jest niewielki – około 600 kilobajtów – i ważne jest, aby był czysty. Brak oprogramowania szpiegującego. Brak wbudowanych wyskakujących okienek. Jest to proste narzędzie, które jest łatwe w instalacji, co czyni go idealnym kandydatem do nauki mechaniki sieci peer-to-peer bez dużej ilości „balastu”.

Interfejs sprowadza się do trzech głównych funkcji, dostępnych poprzez trzy przyciski u góry okna: wyszukiwanie, przesyłanie i zarządzanie plikami. W razie potrzeby przełączasz się między nimi.

Jak działa wyszukiwanie Gnutella w XoloX

Kiedy otworzysz zakładkę wyszukiwania, wszystko wygląda niemal zbyt prosto. Wprowadź nazwę pliku lub kilka słów kluczowych. Jeśli chcesz zawęzić wyszukiwanie, możesz filtrować wyniki według typu multimediów — audio, wideo lub Wszystkie typy. Naciśnij Enter, a klient wyśle ​​Twoje żądanie w powietrze.

Poczekaj 30–60 sekund.

Okno wyszukiwania zacznie się wypełniać. Wyniki będą pochodzić z tysięcy innych komputerów przetwarzających to samo żądanie. Nie dzieje się to od razu, ale jest skuteczne.

Zauważysz kolumnę oznaczoną wynik. To nie jest ocena jakości pliku. Jest to liczba równorzędnych użytkowników online, którzy aktualnie mają dostępny ten konkretny plik. Wysoki wynik oznacza więcej źródeł. Więcej źródeł oznacza większą szansę na pomyślne zakończenie pobierania, zwłaszcza jeśli jest to popularny plik. Wybierz mądrze.

Przykład XoloX: Ładowanie

Pobieranie pliku z sieci peer-to-peer nie zawsze polega na kliknięciu i czekaniu, ale XoloX sprawia, że proces ten jest w dużej mierze bezbolesny. Wystarczy dwukrotnie kliknąć plik docelowy w wynikach wyszukiwania. Ta akcja przekazuje nazwę pliku do okna Transfer, które inicjuje faktyczne uzgadnianie z węzłem źródłowym.

Tutaj protokół pokazuje swoje najlepsze cechy. Jeśli ten sam plik jest przechowywany w kilku węzłach sieci, XoloX nie wybiera losowo jednego z nich. Łączy się z wieloma węzłami jednocześnie. Dzięki tej strategii pobierania równoległego można uzyskać prędkość na przykład 69,2 KB/s dla dużego pliku wideo, przy czasie pobierania przekraczającym 100 MB, szacowanym na około 43 minuty. Takie wykorzystanie nadmiarowości danych eliminuje wąskie gardła.

Ale nie zawsze wszystko idzie gładko.

Czasami klikasz plik i… nic się nie dzieje. Klient nie może połączyć się ze źródłem lub komputer hosta ma już wyczerpane możliwości obsługi innych użytkowników. Jest to klasyczny korek w sieci peer-to-peer. Masz trzy sposoby poradzenia sobie z tą sytuacją:

  • Czekaj. Zajęte węzły zostaną ostatecznie zwolnione. Cierpliwość jest tutaj całkowicie akceptowalną strategią.
  • Wybierz pliki z wysoką oceną. Pliki o lepszej reputacji są częściej dostarczane przez responsywne i dostępne węzły.
  • Zastąp plik. Usuń zablokowane pobieranie z okna przesyłania i ponownie wybierz plik o tej samej nazwie z wyników wyszukiwania. Zmusi to klienta do wypróbowania innego węzła, który może być mniej zajęty.

Po zakończeniu pobierania dane zostaną zapisane w określonym katalogu XoloX. Możesz je także przeglądać w oknie Pliki wewnątrz aplikacji. Jeśli chcesz przyczynić się do rozwoju sieci, możesz udostępnić przesłane pliki. Nie dzieje się to jednak automatycznie. Będziesz musiał skonfigurować okno dialogowe Ustawienia, aby określić, które katalogi i typy plików chcesz udostępnić innym użytkownikom.

Kontrolujesz obciążenie swojego połączenia. Dostosowując ustawienia XoloX, możesz ograniczyć przepustowość wychodzącą wykorzystywaną przez inne osoby pobierające pliki z Twojego komputera. Ten prosty przełącznik zapobiega przeciążeniu kanału wychodzącego żądaniami danych od innych użytkowników.

Czy Gnutella jest rzeczywiście legalna?

On sam jest protolegalny. Nie ma prawa zabraniającego udostępniania plików należących do domeny publicznej. Korzystanie z sieci tylko wtedy, gdy użytkownicy wykorzystują ją do rozpowszechniania muzyki i filmów chronionych prawem autorskim, staje się nielegalne. To właśnie ten konflikt doprowadził do upadku Napstera.

Przemysł muzyczny oficjalnie wypowiedział wojnę Gnutelli. Nie mają jednak prostego mechanizmu, który mógłby to zatrzymać.

Jak branża próbuje zniszczyć sieć

Obecna strategia polega na zakłócaniu architektury. Obecnie stosowane są dwa główne ataki:

  • Zatykanie sieci fałszywymi pakietami wyszukiwania w celu jej przeciążenia.
  • Wypełnianie serwerów Gnutella uszkodzonymi plikami, które nie mają żadnej wartości.

Jednak programiści Gnutelli stawiali czoła podobnym zagrożeniom już wcześniej. Najprawdopodobniej zamkną te luki. Oprogramowanie można dostosować. Pliki będą nadal rozpowszechniane.

Czy udostępnianie to tylko kradzież, czy darmowa reklama?

Główny spór nie jest techniczny, ale finansowy. Jakie rzeczywiste szkody powoduje udostępnianie plików? Czy udostępnianie plików to kradzież czy bezpłatna reklama? Pomyśl o tym jak o transmisji radiowej. Czy sława pomaga czy szkodzi sprzedaży?

Często zadawane pytania

Czym jest protokół Gnutella?

Jest to protokół udostępniania plików typu peer-to-peer (P2P). Umożliwia użytkownikom wyszukiwanie i udostępnianie plików bezpośrednio innym komputerom, bez konieczności korzystania z centralnego serwera do przechowywania zasobów.

Dodatkowe zasoby

Jeśli chcesz głębiej zagłębić się w kwestie prawne lub poznać różne perspektywy udostępniania muzyki chronionej prawem autorskim, poniższe linki zapewnią więcej kontekstu.

Powiązane artykuły

  • Jak działają pliki MP3
  • Jak działają odtwarzacze MP3
  • Jak działał Napster
  • Jak działają serwery internetowe
  • Jak działają dyski twarde
  • Jak działają nagrywarki CD
  • Jak działa infrastruktura internetowa
  • Jak działa sieć domowa?
  • Czym są prawa autorskie i patenty?

Przydatne linki

  • Katalogi hostów Gnutelli
  • Kaza
  • Często zadawane pytania dotyczące Gnutelli od Knowbuddy
  • Wiadomości o Gnutelli
  • Kod wyszukiwania PHP dla Gnutelli
  • Katastrofa internetowa: spojrzenie alternatywne
  • Embedded.com: Implementacja sieci peer-to-peer

Najnowsze wiadomości

– MTV.com: Branża muzyczna pozywa 32 studentów za nielegalne udostępnianie plików – 4 października
– Nowa fala procesów sądowych RIAA dotyczących nielegalnego udostępniania plików – 4/04
— Tom’s Hardware Guide: Ankieta: Spadek udostępniania plików muzycznych — 4/04
– WiredNews: Roxio kupuje Pressplay, Napster żyje – 5/03
– NewScientist.com: „Przypadkowi wędrowcy” mogą przyspieszyć sieci peer-to-peer – 7/02
– Gnutella.com: Czy wytwórnie planują atak prawny na osoby fizyczne? – 7/02
– Gnutella.com: Hollywood chce załatać „analogową dziurę” – 5/02
– P2P.com: Gnutella i Freenet reprezentują prawdziwą innowację technologiczną – 5/00