Trycker peer-to-peer

Om jag säger peer-to-peer, börjar du förmodligen tänka på de där fildelningstjänsterna som låter dig få gratis musik, filmer och pornografi över Internet. Men peer-to-peer handlar om mycket mer än att bryta mot upphovsrätten för stora skivbolag.





Faktum är att även om termen myntades för bara några år sedan, är peer-to-peer verkligen hur Internet ursprungligen designades för att fungera. Teorin var att alla datorer i nätverket skulle vara förstklassiga medborgare, var och en kapabla att dela resurser eller utbyta information med varandra. Då kunde en student vid MIT börja skriva på en dator i Cambridge och använda den för att logga in på en dator på Stanford. Under tiden kan en annan student vid Stanford använda samma dator för att logga in på det första systemet på MIT. Båda datorerna skulle samtidigt använda och erbjuda tjänster till nätverket. Kopplingarna mellan dem skulle vara länkar mellan jämlikar - det vill säga peer-to-peer.

Som det visar sig blev det mesta av Internet inte ett peer-to-peer-system. Istället utvecklades nätet efter en annan modell. Lågkostnadsdatorer, så kallade klienter, distribuerades på människors skrivbord. Dessa maskiner användes för att komma åt tjänster som erbjuds av dyrare centraliserade datorer, kallade, i brist på ett bättre ord, servrar. Några av de tidigaste klient-serversystemen låter människor dela filer genom att placera dem på centraliserade filservrar. Servrarna var också en idealisk plats att lägga elektronisk post.

Dessa dagar är Internets klienter de stationära och bärbara datorerna som vi alla är så bekanta med. Servrarna är webbservrar, e-postservrar, snabbmeddelandeservrar och andra servrar som våra kunder litar på. Det finns ännu fler servrar som arbetar bakom kulisserna - saker som DNS-servrar som driver Internets domännamnssystem, routingservrar som används för att skicka rösttrafik via nätet (så kallade voice-over-IP-system) och till och med servrar för företag som vill säkerhetskopiera sina datorer över nätverket. Klient-servermodellen har varit så framgångsrik eftersom den är ganska lätt att förstå, ställa in och underhålla.



Men det finns ett stort problem med klient-serverarkitektur: den är sårbar. När en enda server går ner, går i princip alla klienter som förlitar sig på den ner med den. Du kan minimera detta problem genom att ha flera servrar, men då måste du se till att alla förblir synkroniserade. Faktum är att servern inte ens behöver gå ner - allt du behöver är ett avbrott i nätverket.

Peer-to-peer är ett fundamentalt annorlunda sätt att tänka kring nätverket, inte baserat på föreställningar om klienter och servrar utan på samarbete och samarbete. Ett peer-to-peer backup-system kan använda allt extra utrymme på hårddiskarna i hela organisationen för att lagra extra kopior av viktiga dokument och personlig e-post; ett peer-to-peer-webbpubliceringssystem kan använda samma hårddiskar för att lagra kopior av webbplatser. Teorin här är att tusen underdrivna klienter fortfarande är snabbare än världens snabbaste server.

Tyvärr kan peer-to-peer-system vara svåra att sätta ihop. Det enkla sättet att bygga en är att låta varje nod rapportera sin närvaro till en central server. Personer som vill ansluta sig till nätverket loggar sedan in på den centrala maskinen använder den för att hitta sina kamrater. Även om detta fungerar, är det inte sant peer-to-peer: stäng av den centrala servern och systemet kollapsar.



Det är därför det mesta av den akademiska forskningen om peer-to-peer-system har koncentrerats på att bygga system som fungerar utan någon centraliserad kontroll. Det här är svårare grejer! Datorer måste kunna upptäcka nya kamrater som dyker upp och vara toleranta mot kamrater som kraschar. Ibland går nätverket i två eller flera delar. Data måste lagras på flera platser. För en extra utmaning, försök att hantera potentiellt fientliga kamrater som utger sig för att vara bra.

All denna erfarenhet skulle verkligen kunna löna sig om tio eller femton år. Tänk på dessa exempel:

  • En av de svagaste punkterna på internet just nu är domännamnssystemet, som drivs av en lös sammanslutning av namnservrar. Att köra DNS ovanpå ett peer-to-peer-system istället kan dramatiskt förbättra dess tillförlitlighet.
  • Idag, om ditt företag driver en liten webbserver och webbplatsen plötsligt blir väldigt populär, kan servern krascha på grund av all extra trafik. Men om alla datorer på Internet var en del av en global peer-to-peer webbcache, då skulle små företag och individer kunna publicera sitt material till massorna. Ett bra system skulle till och med förhindra skadlig modifiering av webbsidans innehåll när de serverades från andra maskiner.
  • I händelse av en terroristattack på Internets infrastruktur skulle ett peer-to-peer-system vara mycket mer benäget att återhämta sig än ett system som var beroende av kontroll uppifrån och ned.

Nära förknippat med idén om peer-to-peer är konceptet med ett överlagringsnätverk. Dessa är nätverk av datorer som fungerar ovanför Internet, med direkta länkar mellan datorer som kan vara geografiskt avlägsna på själva Internet. Gnutella, Kasaa och Morpheus är alla överlagringsnätverk, liksom det globala nätverket av webbservrar som drivs av Akamai.



För att förstå varför överläggsnätverk är en intressant idé måste du först förstå hur Internet fungerar utan dem. Normalt, om en dator i Washington, DC, vill öppna en anslutning till en dator i Tokyo, skickar den helt enkelt datapaketen till den enorma soppan som är Internet. Så småningom hamnar paketen i andra änden.

Nu, enligt den ursprungliga designen av Internet, skulle paketen mellan datorn i Washington och den i Tokyo automatiskt färdas längs den snabbaste och mest effektiva vägen. Tyvärr fungerar inte dagens internet så. Din internetleverantör i Washington kan ha ett älsklingsavtal med en internetleverantör i England för att utbyta paket över Atlanten. Den engelska internetleverantören kan i sin tur ha ett avtal med en internetleverantör i Tyskland. Och den tyska internetleverantören kanske har en speciell linje som går till Japan, men den linjen kan vara övertecknad och långsam. Det kan visa sig att det snabbaste sättet att få paket från Washington till Tokyo är att skicka dem till San Francisco och sedan till Japan – en väg som kan finnas men som avskräcks av policy. Detta är inte ett hypotetiskt exempel: sådan bysantinsk routing är vanlig på dagens internet.

Överlagringsnätverk tvingar Internet att dirigera paket på olika sätt genom att flytta dem mellan specifika datorer. Till exempel kan du ha ett överläggsnätverk som består av en dator i Washington, en annan i San Francisco och en annan i Tokyo. Genom att skicka paketen från en av dina datorer till nästa kan du trotsa din ISP:s routingpolicy och tvinga dina paket att följa en väg som du väljer.



Om du har tillgång till datorer på mer än en plats kanske du själv har upplevt underverken med överlagringsnätverk. Till exempel har jag en dator i Belmont, MA, en annan i Cambridge och en annan i Boston. Varje maskin betjänas av en annan ISP. Ibland kan jag inte öppna en anslutning mellan datorn i Belmont och den i Boston. Under dessa tider kan jag hoppa från Belmont till Cambridge, sedan från Cambridge till Boston. I huvudsak har jag skapat mitt eget överläggsnätverk.

De flesta peer-to-peer-system skapar överlagringsnätverk i farten närhelst de behöver övervinna trafikstockningar eller routingproblem på det underliggande Internet. Överlagringsnätverk är också ett bra ställe för akademiker att experimentera med nya routingalgoritmer - algoritmer som är för nya och oprövade för att släppa dem på internetinfrastrukturen.

Peer-to-peer är ganska kraftfulla saker. Det vi har sett hittills - systemen för upphovsrättsintrång - är egentligen bara början. Peer-to-peer skulle kunna övervinna många av de grundläggande problem som internet står inför idag – problem med centraliserad kontroll, sårbara servrar och svårigheten som de flesta organisationer har att skala. Å andra sidan kan peer-to-peer också göra Internets säkerhetsproblem värre genom att tillåta hackare att skapa storskaliga attacknätverk. Peer-to-peer kan vara en välsignelse för artisterna och skivindustrin, vilket ger dem ett sätt att publicera och distribuera sin immateriella egendom för mycket mindre än de gör nu. Ändå kan bättre peer-to-peer-system skada skivbolagen ytterligare - och inte bara genom upphovsrättsbrott.

Redan idag gör dagens peer-to-peer-nätverk ett bättre jobb med att distribuera musik än etiketterna gör; Nästa generations nätverk skulle kunna implementera system för marknadsföring och till och med kollaborativ filtrering för att göra det mer effektivt för användare att hitta den musik de vill höra. Peer-to-peer-system skulle till och med kunna fungera som ett slags internetradiosystem, vilket eliminerar behovet av radiospel och den medföljande payola. Detta var i grunden Napsters plan, som skivbolagen fick veta under upptäcktsprocessen under deras rättegång. Det verkliga hotet som peer-to-peer utgör för skivbolagen är att det kan göra dem föråldrade.

I slutändan handlar peer-to-peer-teknik om att öka tillförlitligheten och redundansen hos internetbaserade system. Det är därför inspelningsindustrin är rädd för det, eftersom peer-to-peer kan användas för att skapa nätverk som branschen inte kan stänga ner. Men peer-to-peer kan också användas för att skapa nätverk som jordbävningar, krig och terrorister inte kan stänga av. I slutändan tror jag att vi är bättre av att försöka stärka internet snarare än att försöka göra det svagare.

Dölj