Peer-to-peer pushen

Als ik zeg peer-to-peer, begin je waarschijnlijk te denken aan die services voor het delen van bestanden waarmee je gratis muziek, films en pornografie via internet kunt krijgen. Maar peer-to-peer gaat over veel meer dan het schenden van het auteursrecht van grote platenlabels.





Inderdaad, hoewel de term slechts een paar jaar geleden werd bedacht, is peer-to-peer eigenlijk hoe internet oorspronkelijk was ontworpen om te werken. De theorie was dat alle computers op het netwerk eersteklas burgers zouden zijn, elk in staat om bronnen te delen of informatie met elkaar uit te wisselen. Destijds begon een student aan het MIT op een computer in Cambridge te typen en deze te gebruiken om in te loggen op een computer op Stanford. Ondertussen kan een andere student aan Stanford diezelfde computer gebruiken om in te loggen op het eerste systeem van MIT. Beide computers zouden gelijktijdig diensten gebruiken en aanbieden aan het netwerk. De verbindingen tussen hen zouden verbindingen tussen gelijken zijn, dat wil zeggen peer-to-peer.

Het blijkt dat het grootste deel van internet geen peer-to-peer-systeem is geworden. In plaats daarvan evolueerde het Net volgens een ander model. Goedkope computers, clients genaamd, werden op de bureaus van mensen uitgedeeld. Deze machines werden gebruikt om toegang te krijgen tot diensten die werden aangeboden door duurdere gecentraliseerde computers, bij gebrek aan een beter woord servers genoemd. Sommige van de vroegste client-serversystemen laten mensen bestanden delen door ze op gecentraliseerde bestandsservers te plaatsen. De servers waren ook een ideale plek om e-mail te plaatsen.

Tegenwoordig zijn de klanten van internet de desktop- en laptopcomputers waar we allemaal zo bekend mee zijn. De servers zijn de webservers, mailservers, instant messaging-servers en andere servers waarop onze klanten vertrouwen. Er zijn zelfs nog meer servers die achter de schermen werken, zoals DNS-servers die het internetdomeinnaamsysteem bedienen, routeringsservers die worden gebruikt voor het verzenden van spraakverkeer via het internet (zogenaamde voice-over-IP-systemen), en zelfs servers voor bedrijven die een back-up van hun computers willen maken via het netwerk. Het client-servermodel is zo succesvol geweest omdat het vrij eenvoudig te begrijpen, in te stellen en te onderhouden is.



Maar er is een groot probleem met de client-server-architectuur: het is kwetsbaar. Wanneer een enkele server uitvalt, gaan alle clients die erop vertrouwen in wezen mee. U kunt dit probleem minimaliseren door meerdere servers te hebben, maar dan moet u ervoor zorgen dat ze allemaal gesynchroniseerd blijven. In feite hoeft de server niet eens uit te vallen - u hebt alleen een onderbreking in het netwerk nodig.

Peer-to-peer is een fundamenteel andere manier van denken over het netwerk, niet gebaseerd op de noties van clients en servers, maar op samenwerking en samenwerking. Een peer-to-peer back-upsysteem kan alle extra ruimte op de harde schijven in een organisatie gebruiken om extra kopieën van kritieke documenten en persoonlijke e-mail op te slaan; een peer-to-peer webpublicatiesysteem kan dezelfde harde schijven gebruiken om kopieën van websites op te slaan. De theorie hier is dat duizend ondermaatse clients nog steeds sneller zijn dan 's werelds snelste server.

Helaas kunnen peer-to-peer-systemen moeilijk in elkaar te zetten zijn. De simplistische manier om er een te bouwen is om elk knooppunt zijn aanwezigheid te laten melden aan een centrale server. Mensen die zich bij het netwerk willen aansluiten, loggen vervolgens in op de centrale machine om hun peers te vinden. Hoewel dit werkt, is het geen echte peer-to-peer: sluit de centrale server af en het systeem stort in.



Dat is de reden waarom het meeste academische onderzoek naar peer-to-peer-systemen zich heeft geconcentreerd op het bouwen van systemen die werken zonder enige gecentraliseerde controle. Dit is moeilijker spul! Computers moeten nieuwe peers kunnen ontdekken die opduiken en tolerant zijn ten opzichte van peers die crashen. Soms valt het netwerk in twee of meer stukken uiteen. Gegevens moeten op meerdere locaties worden opgeslagen. Probeer voor een extra uitdaging om te gaan met potentieel vijandige leeftijdsgenoten die doen alsof ze goed zijn.

Al deze ervaring zou zich in tien of vijftien jaar kunnen uitbetalen. Overweeg deze voorbeelden:

  • Een van de zwakste punten van internet op dit moment is het domeinnaamsysteem, dat wordt gerund door een losse confederatie van naamservers. In plaats daarvan zou DNS bovenop een peer-to-peer-systeem de betrouwbaarheid aanzienlijk verbeteren.
  • Als uw bedrijf tegenwoordig een kleine webserver heeft en de site plotseling erg populair wordt, kan de server crashen door al het extra verkeer. Maar als alle computers op internet deel zouden uitmaken van een wereldwijde peer-to-peer webcache, dan zouden kleine bedrijven en individuen hun materiaal aan de massa kunnen publiceren. Een goed systeem zou zelfs kwaadwillige wijziging van de inhoud van webpagina's voorkomen wanneer deze vanaf andere machines werden bediend.
  • In het geval van een terroristische aanslag op de infrastructuur van internet, zou een peer-to-peer-systeem veel meer kans hebben om te herstellen dan een systeem dat afhankelijk is van controle van bovenaf.

Nauw verbonden met het idee van peer-to-peer is het concept van een overlay-netwerk. Dit zijn netwerken van computers die boven het internet opereren, met directe verbindingen tussen computers die zich op internet zelf geografisch ver van elkaar verwijderd kunnen bevinden. Gnutella, Kasaa en Morpheus zijn allemaal overlay-netwerken, net als het wereldwijde netwerk van webservers dat wordt beheerd door Akamai.



Om te begrijpen waarom overlay-netwerken een interessant idee zijn, moet u eerst begrijpen hoe internet zonder hen werkt. Normaal gesproken, als een computer in Washington DC een verbinding met een computer in Tokio wil openen, stuurt hij de datapakketten gewoon naar de enorme soep die het internet is. Uiteindelijk komen de pakketjes aan de andere kant terecht.

Nu, volgens het oorspronkelijke ontwerp van internet, zouden de pakketten tussen de computer in Washington en die in Tokio automatisch langs het snelste, meest efficiënte pad reizen. Helaas werkt het internet van vandaag niet op die manier. Uw internetprovider in Washington heeft mogelijk een deal gesloten met een ISP in Engeland om pakketten uit te wisselen over de Atlantische Oceaan. De Engelse ISP zou op zijn beurt een deal kunnen sluiten met een ISP in Duitsland. En de Duitse ISP heeft misschien een speciale lijn die naar Japan gaat, maar die lijn kan overtekend en traag zijn. Het zou kunnen dat de snelste manier om pakketten van Washington naar Tokio te krijgen, is door ze naar San Francisco en vervolgens naar Japan te sturen - een pad dat misschien bestaat, maar wordt ontmoedigd door beleid. Dit is geen hypothetisch voorbeeld: dergelijke byzantijnse routering is gebruikelijk op het internet van vandaag.

Overlay-netwerken dwingen het internet om pakketten anders te routeren door ze tussen specifieke computers te verplaatsen. U hebt bijvoorbeeld een overlay-netwerk dat bestaat uit een computer in Washington, een andere in San Francisco en een andere in Tokio. Door de pakketten van een van uw computers naar de volgende te verzenden, kunt u het routeringsbeleid van uw ISP tarten en uw pakketten dwingen een pad naar keuze te volgen.



Als je op meer dan één locatie toegang hebt tot computers, heb je misschien zelf de wonderen van overlay-netwerken ervaren. Ik heb bijvoorbeeld een computer in Belmont, MA, een andere in Cambridge en een andere in Boston. Elke machine wordt bediend door een andere ISP. Soms kan ik geen verbinding maken tussen de computer in Belmont en die in Boston. Gedurende deze tijden kan ik van Belmont naar Cambridge springen en vervolgens van Cambridge naar Boston. In wezen heb ik mijn eigen overlay-netwerk gemaakt.

De meeste peer-to-peer-systemen creëren on-the-fly overlay-netwerken wanneer ze congestie of routeringsproblemen op het onderliggende internet moeten oplossen. Overlay-netwerken zijn ook een geweldige plek voor academici om te experimenteren met nieuwe routeringsalgoritmen - algoritmen die te nieuw en onbeproefd zijn om ze los te laten op de internetinfrastructuur.

Peer-to-peer is behoorlijk krachtig spul. Wat we tot nu toe hebben gezien - de systemen voor inbreuk op het auteursrecht - is eigenlijk nog maar het begin. Peer-to-peer zou veel van de fundamentele problemen waarmee het internet tegenwoordig wordt geconfronteerd, kunnen oplossen - problemen van gecentraliseerde controle, kwetsbare servers en de moeilijkheid waarmee de meeste organisaties te maken hebben met schaalvergroting. Aan de andere kant kan peer-to-peer ook de beveiligingsproblemen van het internet verergeren, doordat hackers grootschalige aanvalsnetwerken kunnen opzetten. Peer-to-peer zou een zegen kunnen zijn voor de artiesten en de platenindustrie, omdat het hen een manier geeft om hun intellectuele eigendom te publiceren en te verspreiden voor veel minder dan nu het geval is. Maar betere peer-to-peer-systemen zouden de platenmaatschappijen verder kunnen schaden - en niet alleen door schendingen van het auteursrecht.

De peer-to-peer-netwerken van tegenwoordig zijn al beter in het verspreiden van muziek dan de labels; netwerken van de volgende generatie zouden systemen voor promotie en zelfs collaboratieve filtering kunnen implementeren om het voor gebruikers efficiënter te maken om de muziek te vinden die ze willen horen. Peer-to-peer-systemen kunnen zelfs fungeren als een soort internetradiosysteem, waardoor hoorspel en de bijbehorende payola overbodig worden. Dit was in wezen het plan van Napster, zoals de platenlabels leerden tijdens het ontdekkingsproces tijdens hun rechtszaak. De echte bedreiging die peer-to-peer vormt voor de platenlabels, is dat ze achterhaald kunnen worden.

Uiteindelijk gaat peer-to-peer-technologie over het vergroten van de betrouwbaarheid en de redundantie van op internet gebaseerde systemen. Daarom is de opname-industrie er bang voor, omdat peer-to-peer kan worden gebruikt om netwerken te creëren die de industrie niet kan afsluiten. Maar peer-to-peer kan ook worden gebruikt om netwerken te creëren die aardbevingen, oorlogen en terroristen niet kunnen uitschakelen. Uiteindelijk denk ik dat we beter kunnen proberen het internet te versterken in plaats van te proberen het zwakker te maken.

zich verstoppen