Waarom Napster stierf en Gnutella overleefde

5

Het bewoog snel. Dat is de enige manier om de opkomst van Napster te beschrijven. In minder dan twaalf maanden explodeerde de site van nul naar 60 miljoen maandelijkse bezoekers. Het was niet alleen populair. Het was op zijn hoogtepunt de meest bezochte website op internet. Toen kwam de rechtbank tussenbeide. Met één enkel bevel werd het gesloten vanwege ongebreidelde schendingen van het auteursrecht. Het zag pas in 2003 het levenslicht en werd omgedoopt tot een legale, betalende muziekdienst onder Roxio.

Het beroep was eenvoudig. Je hebt gratis muziek. Je hoefde niet naar een winkel te rijden. Je hoefde geen cd te kopen, erin te stoppen en op de rip te wachten. Je hebt zojuist geklikt. Een enorme database bevatte bijna elk bestaand nummer. Het ging moeiteloos. Het was gratis.

Maar dat gemak had een prijs. De architectuur was de fatale fout.

Napster vertrouwde op een centrale server om gebruikers te indexeren en met elkaar te verbinden. Dit gecentraliseerde model maakte het gemakkelijk om muziek te vinden, maar het maakte het ook gemakkelijk om te doden. Toen rechters oordeelden dat Napster schending van het auteursrecht faciliteerde, was de sluiting chirurgisch. Trek de stekker uit de server en het hele netwerk verdween. Er was geen back-up. Geen gedecentraliseerde terugval. Gewoon stilte.

Gebruikers gaven niets om de juridische nuance. Het ging hen om de toegang. De meesten migreerden naar een ander soort systeem voor het delen van bestanden. Eén die niet zo gemakkelijk gedood kon worden.

De opkomst van Gnutella

Voer Gnutella in.

Dit was het alternatief. Het was niet alleen een hulpmiddel; het was een andere filosofie. In plaats van een centrale hub gebruikte Gnutella een peer-to-peer (P2P) netwerk. Elke computer in het netwerk was zowel een server als een client. Er was geen enkel punt van mislukking. Om het uit te schakelen, zou u de computer van elke individuele gebruiker moeten afsluiten.

Deze gedecentraliseerde architectuur is de reden waarom Gnutella overleefde. Zelfs toen de rechtbanken hardhandig optreden tegen andere diensten, bleef Gnutella volharden. Het paste zich aan. Het evolueerde. Het werd de ruggengraat van veel moderne P2P-protocollen.

Het oorspronkelijke Napster was een winkel zonder sloten. Gnutella was een doolhof zonder centrum. Eén ervan was gemakkelijk te beroven. De ander was moeilijk te vangen.

Het nieuwe Napster

In 2003 was het landschap veranderd. Roxio kocht de naam Napster en lanceerde deze opnieuw. Versie 2 was legaal. Je hebt voor je muziek betaald. Geen inbreuk meer. Het was een schoner product. Veiliger. Maar het miste de rauwe, chaotische energie van het origineel. De magie zat niet alleen in de muziek. Het was in de vrijheid.

De oude Napster heeft ons iets geleerd. Centralisatie is efficiënt totdat het dat niet meer is. Decentralisatie is rommelig, maar veerkrachtig. Dat hebben we op de harde manier geleerd.

Elke keer dat u een nummer streamt, betaalt u nu voor het gemak. U gebruikt een gecentraliseerde service. Spotify. Apple-muziek. YouTube-muziek. Ze zijn gemakkelijk te gebruiken. Ze zijn veilig. Ze zijn ook kwetsbaar. Eén bedrijf beheert de bibliotheek. Eén bedrijf beheert de toegang.

Gnutella liet ons een andere manier zien. Een manier waarbij het netwerk het product is. Waar de gebruikers de infrastructuur zijn. Het is langzamer. Het is complexer. Maar het is vrij van één enkel controlepunt.

Welke

Standaard surfen op het web is een eenvoudige transactie. Je vraagt ​​een server om een ​​bestand en de server stuurt het terug. Voor enorme locaties zijn hiervoor honderden machines nodig om het licht aan te houden. Napster heeft dit model volledig kapot gemaakt. Het hostte niet alleen bestanden; het veranderde de computer van elke gebruiker in een knooppunt in een enorm, gedecentraliseerd distributienetwerk.

Het oorspronkelijke Napster was een hybride systeem. Het maakte gebruik van peer-to-peer bestandsdeling voor de daadwerkelijke gegevensoverdracht, maar was voor de ontdekking afhankelijk van een centrale autoriteit. Toen u de software startte, werd uw machine geregistreerd bij de centrale servers van Napster. Je was in feite een lijst aan het maken van je beschikbare mp3’s in een globale catalogus.

Hier is de werkstroom:

  • Je hebt de client geïnstalleerd. Uw pc werd een miniserver.
  • Uw machine heeft de centrale servers gepingd en een lijst met alle nummers op uw harde schijf verzonden.
  • De centrale database bevatte nu de index voor miljarden nummers.
  • U zocht naar “Roxanne” van The Police.
  • De centrale server heeft een lijst met IP-adressen geretourneerd voor gebruikers die dat bestand hosten.
  • Je hebt een collega geselecteerd. Jouw computer maakte rechtstreeks verbinding met die van hen en downloadde het nummer.

Deze architectuur loste twee directe problemen op. Ten eerste: opslag. Geen enkel bedrijf zou genoeg ruimte op de harde schijf kunnen kopen om de hele muziekcatalogus ter wereld te kunnen bevatten. Ten tweede, bandbreedte. Het verdelen van de belasting over miljoenen thuisverbindingen was oneindig veel goedkoper dan streamen vanuit een datacenter.

Er was ook een juridische strategie bij betrokken. De makers voerden aan dat ze misbruik maakten van een maas in de auteursrechtwetgeving met betrekking tot privé delen met vrienden. De rechtbanken verwierpen deze logica uiteindelijk. Maar de schade was aangericht. Het concept was bewezen. Het netwerk was te groot geworden om te negeren.

De fout in het ontwerp van Napster was achteraf gezien duidelijk. De centrale database was een single point of fail. Het was de achilleshiel. Toen de rechtbank de sluiting beval, stortte het hele netwerk in. Je zou geen peer-to-peer-netwerk kunnen hebben als de index ervoor eigendom was van één entiteit die juridisch tot zwijgen kon worden gebracht.

Tegen de tijd dat Napster ten onder ging, waren er grofweg 100 miljoen gebruikers gewend aan het vrijelijk delen van bestanden. De infrastructuur voor dat gedrag was al aanwezig. Wachten in de coulissen was een veerkrachtiger architectuur.

Waarom Gnutella het spel veranderde

De opvolger van deze golf van bestandsdeling is het Gnutella-netwerk. Het behoudt het kernmechanisme van peer-to-peer bestandsdeling, maar verwijdert de centrale hub. Gebruikers plaatsen nog steeds bestanden op hun harde schijf en stellen deze beschikbaar. Je hebt nog steeds Gnutella-software nodig om verbinding te maken met het netwerk.

De verschillen zijn structureel en significant.

Ten eerste is er geen centrale database. Het concept van een mondiale index is dood. In plaats daarvan gebruikt Gnutella een gedistribueerde querybenadering. Wanneer een gebruiker naar een bestand zoekt, wordt het verzoek van knooppunt naar knooppunt doorgegeven en door het netwerk gesprongen totdat er een overeenkomst wordt gevonden. Het is een rimpeleffect van queries.

Ten tweede is het ecosysteem gefragmenteerd. Er is niet één enkele ‘Gnutella-klant’. Veel verschillende applicaties hebben toegang tot het Gnutella-netwerk. Deze verscheidenheid maakt het moeilijker om een ​​specifiek stuk software te targeten voor juridische stappen.

Deze decentralisatie biedt een mate van onsterfelijkheid die Napster nooit heeft gehad. Een gerechtelijk bevel tegen één bedrijf doet niets af aan het tegenhouden van het protocol. Om Gnutella daadwerkelijk af te sluiten, zouden toezichthouders al het netwerkverkeer op ISP-niveau of de backbone-infrastructuur moeten blokkeren. Dat is een technische en politieke nachtmerrie vergeleken met het eenvoudigweg aanklagen van de CEO van een gecentraliseerd serverbedrijf.

De verschuiving van een gecentraliseerde index naar een gedistribueerd querysysteem was niet alleen een technische upgrade. Het was een reactie op de kwetsbaarheid van het oude model.

Napster vertrouwde op één enkel kwetsbaar stukje clientsoftware. Gnutella had die luxe niet, of beter gezegd: ze had er te veel van. Het netwerk viel uiteen in tientallen concurrerende applicaties. U kunt kiezen uit BearShare, Gnucleus, LimeWire, Morpheus, WinMX of XoloX. De interface zag er misschien anders uit, maar de onderliggende logica was identiek: dood de centrale autoriteit.

Maar zonder een centrale index heeft het netwerk een manier nodig om dingen te vinden. Dit is waar het Gnutella-clientzoekmechanisme sterk afwijkt van het traditionele server-clientmodel.

Hoe Gnutella-klanten bestanden lokaliseren

Stel je voor dat je een specifieke MP3 wilt. Er is geen bibliotheek om te controleren. In plaats daarvan moet uw software de leegte in schreeuwen.

Het begint met één aanspreekpunt. Mogelijk hebt u handmatig een IP-adres ingevoerd, of is de software vooraf geladen met een lijst met bekende hosts. Uw machine stuurt de zoekopdracht naar die buurman.

De buurman antwoordt niet zomaar. Het controleert zijn eigen harde schijf. Als het bestand daar is, stuurt het de bestandsnaam en uw IP terug. Maar het doet ook iets agressievers. Het stuurt uw verzoek door naar elke andere machine die het kent.

Die machines doen hetzelfde. Ze controleren hun opslag. Zij sturen het verzoek verder door. Dit creëert een rimpeleffect, een golf van vragen die zich via het netwerk naar buiten uitbreidt.

Het systeem maakt gebruik van een Time To Live (TTL)-teller om oneindige lussen te voorkomen.

Elk verzoek heeft een TTL-limiet. Zie het als een brandstofmeter. Het verzoek zou zes of zeven “hops” diep kunnen reizen voordat de benzine opraakt. Als elk knooppunt slechts vier andere peers kent, kan een diepgaande zoektocht op zeven niveaus theoretisch 8.000 machines bereiken.

Het is gedistribueerd computergebruik met brute kracht. Eenvoudig. Slim. En vermoeiend.

De afweging: stabiliteit versus prestatie

Deze architectuur lost het grootste probleem van zijn voorganger op. Napster stierf omdat één server de sleutels bezat. Gnutella heeft geen sleutels. Er is niet één enkel punt van mislukking. Geen enkel gerechtelijk bevel kan het netwerk vernietigen, omdat er geen hoofd is om af te snijden. Gnutella werkt altijd, op voorwaarde dat je minstens één andere collega kunt bereiken.

Maar decentralisatie brengt een belasting met zich mee.

Ten eerste is er geen garantie dat het bestand bestaat. U kunt uw zoekopdracht naar 8.000 machines blazen en nul treffers krijgen. Het bestand bevindt zich mogelijk op machine 8.001. Je bent blind.

Ten tweede is latentie wreed. Omdat de zoekopdracht zich door meerdere lagen moet verspreiden, kan het zijn dat u een minuut of langer moet wachten op een volledig antwoord. Het systeem vertelt u pas wat het heeft gevonden als het zo ver mogelijk heeft gecontroleerd.

Ten derde ben jij de infrastructuur. Uw machine is niet alleen een consument; het is een router. Het beantwoordt inkomende verzoeken en geeft uitgaande verzoeken door. Je verbrandt je eigen bandbreedte om het netwerk levend te houden. Het is een peer-to-peer-systeem in de letterlijke zin: je helpt de andere peers, vaak op eigen kosten.

Deze nadelen lijken in theorie ernstig. In de praktijk maakte het gebruikers niets uit. Er zijn honderden miljoenen exemplaren van Gnutella-clients gedownload. De belofte van toegang woog zwaarder dan de kosten van bandbreedte.

XoloX Voorbeeld: Zoeken

XoloX is ongeveer net zo kaal als mogelijk voor een Gnutella-client. Het probeert je niet te verblinden met flitsende interfaces of complexe functies. Het werkt gewoon. De download is klein (ongeveer 600 kilobytes) en, belangrijker nog, hij is schoon. Geen spyware. Geen gebundelde pop-ups. Gewoon een eenvoudige tool die eenvoudig te installeren is, waardoor het een ideale kandidaat is om de werking van peer-to-peer-netwerken te begrijpen zonder de rompslomp.

De interface komt neer op drie kernfuncties, toegankelijk via drie knoppen bovenaan het venster: zoeken, overbrengen en bestandsbeheer. U schakelt tussen deze indien nodig.

Hoe Gnutella zoeken werkt in XoloX

Wanneer u het tabblad Zoeken opent, is het bijna te simpel. Typ een bestandsnaam of een paar trefwoorden. U kunt filteren op mediatype (audio, video of ‘Alle typen’) als u het bereik wilt beperken. Druk op enter en de client zendt uw vraag de leegte in.

Geef het 30 tot 60 seconden.

Het zoekvenster begint zich te vullen. De resultaten druppelen binnen vanaf duizenden andere machines die hetzelfde verzoek verwerken. Het is niet onmiddellijk, maar het is effectief.

U ziet een kolom met de naam score. Dit is geen beoordeling van de bestandskwaliteit. Het is een telling van hoeveel online peers momenteel dat specifieke bestand beschikbaar hebben. Een hoge score betekent meer bronnen. Meer bronnen betekenen een betere kans om de download daadwerkelijk te voltooien, vooral als je te maken hebt met een populair bestand. Kies verstandig.

XoloX Voorbeeld: downloaden

Een bestand van een peer-netwerk halen is niet altijd een simpele kwestie van klikken en wachten, maar XoloX maakt het grotendeels pijnloos. U dubbelklikt gewoon op het doel in uw zoekresultaten. Die actie geeft de bestandsnaam door aan het overdrachtsvenster, wat de daadwerkelijke handshake met de peer activeert.

Hier schittert het protocol. Als meerdere knooppunten in het netwerk hetzelfde bestand bevatten, kiest XoloX er niet willekeurig één. Het maakt verbinding met meerdere tegelijk. Deze parallelle downloadstrategie is de reden waarom je voor een groot videobestand snelheden van 69,2 kilobytes per seconde kunt zien, terwijl schattingen rond de 43 minuten schommelen voor meer dan 100 megabytes. Het maakt gebruik van redundantie om het knelpunt te overwinnen.

Maar het gaat niet altijd zo soepel.

Soms klik je en… gebeurt er niets. De client kan de bron niet bereiken, of de hostmachine is al vol voor het bedienen van andere gebruikers. Dit is de klassieke peer-to-peer-file. Je hebt drie manieren om ermee om te gaan:

  • Wacht even. Bezette knooppunten komen uiteindelijk vrij. Geduld is hier een geldige strategie.
  • Kies bestanden met een hoge score. Bestanden met betere reputatiescores zijn waarschijnlijk afkomstig van responsieve, beschikbare peers.
  • Verwissel het bestand. Verwijder de vastgelopen download uit het overdrachtsvenster en kies opnieuw dezelfde bestandsnaam uit de zoekresultaten. Dit dwingt de cliënt om een ​​andere peer te proberen die mogelijk minder druk is.

Zodra het downloaden is voltooid, komen de gegevens terecht in de door u aangewezen XoloX-map. Je kunt het ook bekijken in het venster Bestanden in de app. Als u iets terug wilt geven aan het netwerk, kunt u deze gedownloade bestanden delen. Dit is echter niet automatisch. U moet het Voorkeurendialoogvenster configureren om precies aan te geven welke mappen en bestandstypen u met anderen wilt delen.

U heeft zelf controle over de afvoer van uw aansluiting. Door de XoloX-instellingen aan te passen, kunt u de uitgaande bandbreedte beperken die wordt gebruikt wanneer anderen van uw machine downloaden. Deze eenvoudige schakelaar zorgt ervoor dat uw stroomopwaartse pijp niet wordt verstikt door de gegevensverzoeken van anderen.

Is Gnutella eigenlijk legaal?

Het protocol zelf is schoon. Er is geen wet die het delen van bestanden uit het publieke domein verbiedt. De illegaliteit komt pas aan het licht wanneer gebruikers het netwerk inzetten om auteursrechtelijk beschermde muziek en films te distribueren. Die specifieke wrijving heeft Napster doen zinken.

De muziekindustrie heeft Gnutella officieel de oorlog verklaard. Toch ontbreekt het hen aan een eenvoudig mechanisme om dit te stoppen.

Hoe de industrie het netwerk probeert te doorbreken

Het verstoren van de architectuur is de huidige strategie. Er zijn momenteel twee belangrijke aanvallen gaande:

  • Het netwerk overspoelen met valse zoekpakketten om het te overbelasten.
  • Gnutella-servers vullen met beschadigde bestanden die geen enkel doel dienen.

Maar de ontwikkelaars achter Gnutella hebben soortgelijke bedreigingen al eerder overleefd. Waarschijnlijk zullen ze deze gaten repareren. De software zal zich aanpassen. De bestanden blijven stromen.

Is delen alleen maar diefstal of gratis adverteren?

Het echte debat is niet technisch. Het is financieel. Hoeveel daadwerkelijke schade veroorzaakt het delen van bestanden? Is een gedeeld bestand diefstal of is het gratis reclame? Zie het als radiozendtijd. Is blootstelling schadelijk voor de verkoop of helpt het hen?

Veelgestelde vragen

Wat is het Gnutella-protocol?

Het is een peer-to-peer (P2P) protocol voor het delen van bestanden. Hiermee kunnen gebruikers bestanden rechtstreeks zoeken en uitwisselen met andere computers, zonder dat een centrale server de inventaris bijhoudt.

Meer bronnen

Als je dieper wilt ingaan op de legaliteitsdebatten of verschillende perspectieven wilt zien op het delen van auteursrechtelijk beschermde muziek, bieden de onderstaande links meer context.

Gerelateerde artikelen

  • Hoe MP3-bestanden werken
  • Hoe MP3-spelers werken
  • Hoe Napster werkte
  • Hoe webservers werken
  • Hoe harde schijven werken
  • Hoe cd-branders werken
  • Hoe internetinfrastructuur werkt
  • Hoe thuisnetwerken werken
  • Wat zijn auteursrechten en patenten?

Nuttige links

  • Gnutella-hostmappen
  • Kazaa
  • Veelgestelde vragen over Gnutella van Knowbuddy
  • Gnutella-nieuws
  • PHP Gnutella-zoekcode
  • Het internetdebacle: een alternatieve kijk
  • Embedded.com: peer-to-peer insluiten

Recente nieuwskoppen

  • MTV.com: De opname-industrie klaagt 32 studenten aan wegens illegaal delen van bestanden – 10/04
  • Nieuwe golf van rechtszaken tegen illegaal delen van bestanden aangespannen door RIAA – 4/04
  • Tom’s Hardware Guide: Enquête: Het delen van muziekbestanden neemt af – 4/04
  • WiredNews: Roxio koopt Pressplay, Napster Lives – 5/03
  • NewScientist.com: “Random walkers” kunnen peer-to-peer-netwerken versnellen – 7/02
  • Gnutella.com: labels plannen juridische aanval op individuen? – 7/02
  • Gnutella.com: Hollywood wil het “analoge gat” dichten – 5/02
  • P2P.com: Gnutella en Freenet vertegenwoordigen echte technologische innovatie – 5/00