Hoe P2P (peer-to-peer) bestanden delen werkt

Het internet heeft altijd een duistere kant gehad en vanaf de vroegste dagen heerste piraterij. Het begon met message boards, nog voordat het traditionele 'internet' zoals we dat kennen zelfs werd geboren, naar warez-sites en privé-FTP's die op thuiscomputers worden gehost.

Het internet heeft altijd een duistere kant gehad en vanaf de vroegste dagen heerste piraterij.  Het begon met message boards, nog voordat het traditionele 'internet' zoals we dat kennen zelfs werd geboren, naar warez-sites en privé-FTP's die op thuiscomputers worden gehost.
Advertentie

peer-to-peer bestandsdeling Het internet heeft altijd een duistere kant gehad en vanaf de vroegste dagen heerste piraterij. Het begon met message boards, nog voordat het traditionele 'internet' zoals we dat kennen zelfs werd geboren, naar warez- sites en privé-FTP's die op thuiscomputers worden gehost. Het vinden van illegale software en bestanden was vroeger een trage en moeilijke taak; het kwam vaker voor om de muziek of software van een vriend te krijgen als een fysieke kopie (een zogenaamde "sneakernet") . P2P filesharing- technologie veranderde dat allemaal - maar wat betekent "peer-to-peer" zelfs, en waar is het allemaal begonnen?

Uiteraard wordt peer-to-peer technologie voor het delen van bestanden niet alleen gebruikt voor piraterij, maar laten we hier ook eerlijk zijn: dat is het overheersende gebruik, en dat is zeker waar de wortels ervan begonnen. Het is niet nodig om vlam te vatten in de opmerkingen die zeggen dat er ook legitieme toepassingen voor zijn; we weten het, maar we gaan de waarheid niet verkleden. Vandaag zullen we het vooral hebben over het bestandsdelingsaspect, maar dit is zeker niet de enige use case.

Client server

Het helpt om eerst een context te geven over wat "peer-to-peer" niet is. Het internet is van oudsher bekend als een client-serveromgeving . Webservices zitten ergens op een krachtige server ergens op afstand en uw computer, de client, vraagt ​​er informatie van.

Een enkele server kan bestanden hosten voor honderden gelijktijdige clients, maar schalen is om verschillende redenen moeilijk.

peer-to-peer bestandsdeling

Ten eerste zijn er de fysieke hardwarevereisten. Dit is niet zo'n probleem als je alleen maar bestanden host, maar als er een berekening nodig is - bijvoorbeeld wanneer je een dynamische website host zoals MakeUseOf - dan moet de CPU werken om die pagina's aan individuele gebruikers aan te passen. Er zijn enorme hoeveelheden geheugen nodig en deze hebben een fysieke limiet, wat betekent dat er meer servers moeten worden binnengebracht om aan de vraag te voldoen.

Ten tweede neemt elke cliënt een klein deel van de verbinding op; als een theoretisch voorbeeld, als de server een 100mb / seconde-verbinding heeft, krijgen 100 gelijktijdige gebruikers elk maximaal 1mb / seconde. Schaal dat naar een 1000 gebruikers en de snelheid daalt tienvoudig tot 100k / seconde. Dus hoe meer gebruikers u heeft, hoe minder snelheid elk van hen kan gebruiken.

Gegevensoverdracht is een andere zorg. Een enkelvoudig 1MB-bestand aangevraagd door 1000 personen betekent dat u 1 GB gegevensoverdracht hebt gebruikt. Als je per gigabyte betaalt, kan dat echt oplopen; Houd er rekening mee dat een enkele HD-film vaak ongeveer 4 GB groot is. Het duwen van grote bestanden naar duizenden gebruikers is een dure aangelegenheid.

Dus wat is peer-to-peer?

Peer-to-peer is een ander model, waarin iedereen een server wordt . De serverrol wordt gedistribueerd naar gebruikers; in plaats van eenvoudigweg bestanden te nemen, maakt peer to peer het een tweerichtingsverkeer - je zou nu kunnen teruggeven. In feite is teruggeven (tegenwoordig "seeden" genoemd) van cruciaal belang voor het succes van peer-to-peer-netwerken (wat precies is waarom downloaden zonder seeden - of leechen - wordt beschouwd als een doodzonde in filesharing-kringen).

peer-to-peer netwerken

In tegenstelling tot het client-servermodel waarbij prestaties afnemen met meer gebruikers ; het peer-to-peer-model werkt eigenlijk effectiever met meer gebruikers in het netwerk. Hoe meer gebruikers een bepaald bestand beschikbaar maken vanaf hun harde schijf, hoe gemakkelijker het voor nieuwe gebruikers is om dat bestand te verkrijgen.

In sommige p2p-netwerken is het sneller zodra een bepaalde drempel wordt bereikt; in plaats van het hele bestand van één gebruiker te nemen, neemt u een kleiner deel van het totale bestand van honderden andere gebruikers - verbindingen combineren om uw eigen bestanden optimaal te gebruiken. Opgemerkt moet worden dat niet alle p2p-software op deze manier werken: BitTorrent was een van de eersten om verbindingen samen te voegen om de download te versnellen door slechts een klein deel van het bestand op veel verschillende plaatsen tegelijk te nemen.

Aanvankelijk met p2p-netwerken was er een vorm van centrale server nodig om het netwerk te organiseren - om een ​​database op te zetten die informatie bevat over momenteel verbonden gebruikers, bestanden die beschikbaar zijn in het systeem enz. Hoewel het zwaar tillen van bestandsoverdrachten rechtstreeks tussen gebruikers plaatsvond, de netwerken waren kwetsbaar omdat het uitschakelen van die centrale server betekende dat communicatie volledig werd uitgeschakeld. Dit is niet langer het geval met recente ontwikkelingen; je kunt peers direct vragen of ze een bepaald bestand hebben gezien. Er is geen manier om deze netwerken uit te schakelen; ze zijn effectief onverwoestbaar.

Geschiedenis

Nu heb je een idee van waarom Peer to Peer- netwerken zo'n revolutie waren in vergelijking met het Client / Server- model, laten we even de historische context bekijken.

Napster was de eerste breed beschikbare versie van een peer-to-peer-model in 1999. Een centrale database bevatte informatie over alle muziekbestanden van leden; wanneer je naar een liedje zocht dat je wilde downloaden, zou je daadwerkelijk verbinding maken met een andere online gebruiker en van ze downloaden. Als je eenmaal dat nummer in je Naptster-bibliotheek had, zou het op zijn beurt beschikbaar zijn als een "bron" voor anderen in het netwerk. U kunt ook gewoon uw eigen bestanden toevoegen, die vervolgens worden geïndexeerd en aan de database worden toegevoegd, klaar om over de hele wereld te worden verspreid. De implementatie was beperkt omdat je maar van één persoon kon downloaden - hoewel er een hoge beschikbaarheid van nummers was, waren de snelheden niet zo groot.

peer-to-peer netwerken

Napster werd uiteindelijk in 2001 gesloten, maar niet voordat soortgelijke netwerken waren ontstaan ​​die meer dan alleen muziek boden: films, software en afbeeldingen zouden nu ook beschikbaar worden gemaakt op Morpheus-, Kazaa- en Gnutella-netwerken (Limewire is waarschijnlijk de meest bekende Gnutella klant) .

In de loop der jaren kwamen en gingen verschillende protocollen en peer-to-peer bestandsdelingssoftware, maar één open protocol heeft echt ingang gevonden: BitTorrent.

BitTorrent

BitTorrent, ontworpen in 2001, is een open protocol waarbij gebruikers een "descriptor" -bestand (een torrent-bestand) zouden maken met informatie over de download, maar niet de daadwerkelijke download. Er is een tracker nodig om deze descriptors op te slaan, samen met degene die dat bestand momenteel heeft, maar het is een open protocol in die zin dat iedereen een client kan maken en iedereen een tracker kan hosten. Ja, hoewel het een centrale tracker nodig had, konden er meerdere trackers bestaan ​​en elk torrent-descriptorbestand kon met meerdere trackers worden geregistreerd - wat betekent dat het netwerk ongelooflijk robuust was. Het uitschakelen van één tracker maakt een bestand niet noodzakelijkerwijs onbeschikbaar, en een andere tracker kan gewoon opduiken om zijn plaats in te nemen.

Sindsdien zijn er ongelooflijke vorderingen gemaakt die in wezen de behoefte aan een centrale tracker wegnemen. DHT - een hashtafel met distrubut - is een dergelijke technologie die is geïmplementeerd door BitTorrent, waardoor het indexeren van bestanden ook gedistribueerd kan worden, alle gebruikers. Magneetkoppelingen zijn een andere - Tim schreef er alles over vóór BitTorrent en magneten: hoe werken ze? [Technology Explained] BitTorrent & Magnets: How Do they Work? [Technology Explained] Zoals we onlangs hebben gemeld, is The Pirate Bay overgestapt van het gebruik van .torrent-bestandsdownloads naar magneetkoppelingen zonder opt-outbeleid. De tracker heeft nu al lang magneet-downloads aangeboden, maar dit is ... Lees meer, dus zorg dat je dat leest voor een diepgaand overzicht van hoe magneten verschillen van traditionele .torrent- bestanden.

Inhoud vinden is in de eerste plaats nog steeds een werk in uitvoering; als je de hash-ID hebt, kun je peers vinden met de beschikbare bestanden - maar wat als je de hash nog niet hebt? Cliënten zoals Tribler hebben geprobeerd dit op te lossen, maar het is meestal klantonafhankelijk en maakt geen deel uit van het BitTorrent-protocol, dus er is in dit opzicht zeker nog ruimte voor verbetering.

peer-to-peer bestandsdeling

Ik hoop dat dit enig licht heeft geworpen op de betekenis van peer-to-peer en waar het begon. Ik denk dat het eerlijk is om te zeggen dat p2p-software voor altijd het internet en ons leven heeft veranderd; Geschat wordt dat p2p-software verantwoordelijk is voor 40-70% van al het internetverkeer. Het primaire gebruik blijft piraterij, maar media mogen het protocol niet omarmen. De linux-beweging bepleit het gebruik van torrents om grote ISO-images van de verschillende OS-smaken te verspreiden, waardoor zware hostingkosten worden vermeden.

Heb je de kans gehad om Napster in de loop van de dag te gebruiken? Of was je eerste kennismaking met filesharing via de nederige torrent? Vertel ons - waar kwam je eerste mp3 vandaan?

Image Credits: ShutterStock - clientserver, ShutterStock - peer-to-peer vector

In this article