211service.com
Skub Peer-to-Peer
Hvis jeg siger peer-to-peer, begynder du sikkert at tænke på de fildelingstjenester, der lader dig få gratis musik, film og pornografi over internettet. Men peer-to-peer handler om meget mere end at krænke store pladeselskabers ophavsret.
Faktisk, selvom udtrykket blev opfundet for blot et par år siden, er peer-to-peer virkelig, hvordan internettet oprindeligt blev designet til at fungere. Teorien var, at alle computere på netværket ville være førsteklasses borgere, hver i stand til at dele ressourcer eller udveksle information med hinanden. Dengang kunne en studerende ved MIT begynde at skrive på en computer i Cambridge og bruge den til at logge ind på en computer hos Stanford. I mellemtiden kan en anden studerende på Stanford bruge den samme computer til at logge ind på det første system på MIT. Begge computere ville samtidig bruge og tilbyde tjenester til netværket. Forbindelserne mellem dem ville være forbindelser mellem ligemænd - det vil sige peer-to-peer.
Som det viser sig, blev det meste af internettet ikke et peer-to-peer-system. I stedet udviklede nettet sig efter en anden model. Lavpriscomputere, kaldet klienter, blev distribueret på folks skriveborde. Disse maskiner blev brugt til at få adgang til tjenester, der tilbydes af dyrere centraliserede computere, kaldet, i mangel af et bedre ord, servere. Nogle af de tidligste klient-server-systemer lader folk dele filer ved at placere dem på centraliserede filservere. Serverne var også et ideelt sted at lægge elektronisk post.
I disse dage er internettets kunder de stationære og bærbare computere, som vi alle er så fortrolige med. Serverne er webservere, mailservere, instant messaging-servere og andre servere, som vores klienter stoler på. Der er endnu flere servere, der opererer bag kulisserne - ting som DNS-servere, der driver internettets domænenavnesystem, routingservere, der bruges til at sende taletrafik gennem nettet (såkaldte voice-over-IP-systemer), og endda servere til virksomheder, der ønsker at sikkerhedskopiere deres computere over netværket. Klient-server-modellen har været så vellykket, fordi den er ret nem at forstå, konfigurere og vedligeholde.
Men der er et stort problem med klient-server-arkitektur: den er sårbar. Når en enkelt server går ned, går alle de klienter, der er afhængige af den, i det væsentlige ned med den. Du kan minimere dette problem ved at have flere servere, men så skal du sørge for, at de alle forbliver synkroniserede. Faktisk behøver serveren ikke engang at gå ned - alt hvad du behøver er en pause i netværket.
Peer-to-peer er en fundamentalt anderledes måde at tænke netværk på, ikke baseret på forestillinger om klienter og servere, men på samarbejde og samarbejde. Et peer-to-peer backup-system kan bruge al den ekstra plads på harddiskene i en organisation til at gemme ekstra kopier af vigtige dokumenter og personlig e-mail; et peer-to-peer-webpubliceringssystem kan bruge de samme harddiske til at gemme kopier af websteder. Teorien her er, at tusinde underpowered klienter stadig er hurtigere end verdens hurtigste server.
Desværre kan peer-to-peer-systemer være svære at sammensætte. Den forenklede måde at bygge en på er at få hver node til at rapportere sin tilstedeværelse til en central server. Folk, der ønsker at tilslutte sig netværket, logger derefter ind på den centrale maskine, bruger den til at finde deres jævnaldrende. Selvom dette virker, er det ikke sandt peer-to-peer: Luk den centrale server, og systemet kollapser.
Det er derfor, det meste af den akademiske forskning om peer-to-peer-systemer har koncentreret sig om at bygge systemer, der fungerer uden nogen centraliseret kontrol. Det her er sværere ting! Computere skal være i stand til at opdage nye peers, der dukker op, og være tolerante over for peers, der går ned. Nogle gange bryder netværket i to eller flere stykker. Data skal opbevares flere steder. For en ekstra udfordring, prøv at håndtere potentielt fjendtlige jævnaldrende, der foregiver at være gode.
Al denne erfaring kan virkelig betale sig om ti eller femten år. Overvej disse eksempler:
- Et af internettets svageste punkter lige nu er domænenavnesystemet, som drives af en løs sammenslutning af navneservere. At køre DNS oven på et peer-to-peer-system i stedet kunne forbedre dets pålidelighed dramatisk.
- I dag, hvis din virksomhed kører en lille webserver, og siden pludselig bliver meget populær, kan serveren gå ned på grund af al den ekstra trafik. Men hvis alle computere på internettet var en del af en global peer-to-peer webcache, så kunne små virksomheder og enkeltpersoner udgive deres materiale til skarerne. Et godt system ville endda forhindre ondsindet ændring af websidens indhold, når de blev serveret fra andre maskiner.
- I tilfælde af et terrorangreb på internettets infrastruktur, ville et peer-to-peer-system være langt mere tilbøjeligt til at genoprette sig end et system, der var afhængig af top-down kontrol.
Tæt forbundet med ideen om peer-to-peer er konceptet med et overlejringsnetværk. Disse er netværk af computere, der opererer over internettet, med direkte forbindelser mellem computere, der kan være geografisk fjerne på selve internettet. Gnutella, Kasaa og Morpheus er alle overlejringsnetværk, ligesom det globale netværk af webservere, der drives af Akamai.
For at forstå, hvorfor overlejringsnetværk er en interessant idé, skal du først forstå, hvordan internettet fungerer uden dem. Normalt, hvis en computer i Washington, DC, ønsker at åbne en forbindelse til en computer i Tokyo, sender den simpelthen datapakkerne ind i den enorme suppe, som er internettet. Til sidst ender pakkerne i den anden ende.
Nu, ifølge internettets originale design, ville pakkerne mellem computeren i Washington og den i Tokyo automatisk rejse ad den hurtigste og mest effektive vej. Desværre fungerer dagens internet ikke sådan. Din internetudbyder i Washington har muligvis en kæresteaftale med en internetudbyder i England for at udveksle pakker over Atlanterhavet. Den engelske internetudbyder kan til gengæld have en aftale med en internetudbyder i Tyskland. Og den tyske internetudbyder har måske en speciel linje, der går til Japan, men den linje kan være overtegnet og langsom. Det kunne vise sig, at den hurtigste måde at få pakker fra Washington til Tokyo på er ved at sende dem til San Francisco og derefter til Japan - en vej, der måske eksisterer, men som modvirkes af politik. Dette er ikke et hypotetisk eksempel: sådan byzantinsk routing er almindelig på nutidens internet.
Overlejringsnetværk tvinger internettet til at rute pakker anderledes ved at flytte dem mellem bestemte computere. For eksempel kan du have et overlejringsnetværk, der består af en computer i Washington, en anden i San Francisco og en anden i Tokyo. Ved at sende pakkerne fra en af dine computere til den næste, kan du trodse din internetudbyders routingpolitik og tvinge dine pakker til at gå en vej, du selv vælger.
Hvis du har adgang til computere på mere end ét sted, har du måske selv oplevet vidunderne ved overlejringsnetværk. For eksempel har jeg en computer i Belmont, MA, en anden i Cambridge og en anden i Boston. Hver maskine betjenes af en anden internetudbyder. Nogle gange kan jeg ikke åbne en forbindelse mellem computeren i Belmont og den i Boston. I disse tider kan jeg hoppe fra Belmont til Cambridge og derefter fra Cambridge til Boston. I det væsentlige har jeg oprettet mit eget overlejringsnetværk.
De fleste peer-to-peer-systemer opretter overlejringsnetværk på farten, når de har brug for at overvinde overbelastning eller routingproblemer på det underliggende internet. Overlejringsnetværk er også et godt sted for akademikere at eksperimentere med nye routingalgoritmer - algoritmer, der er for nye og uprøvede til at slippe dem løs på internetinfrastrukturen.
Peer-to-peer er ret kraftfulde ting. Hvad vi har set indtil videre - systemerne for krænkelse af ophavsret - er egentlig kun begyndelsen. Peer-to-peer kunne overvinde mange af de grundlæggende problemer, som internettet står over for i dag - problemer med centraliseret kontrol, sårbare servere og de vanskeligheder, som de fleste organisationer har med skalering. På den anden side kunne peer-to-peer også gøre internettets sikkerhedsproblemer værre, ved at tillade hackere at skabe angrebsnetværk i stor skala. Peer-to-peer kunne være en velsignelse for kunstnerne og pladeindustrien, hvilket giver dem mulighed for at offentliggøre og distribuere deres intellektuelle ejendom for langt mindre, end de gør nu. Alligevel kan bedre peer-to-peer-systemer skade pladeselskaberne yderligere – og ikke kun gennem krænkelser af ophavsretten.
Allerede nu gør nutidens peer-to-peer-netværk et bedre stykke arbejde med at distribuere musik, end labels gør; Næste generations netværk kunne implementere systemer til promovering og endda kollaborativ filtrering for at gøre det mere effektivt for brugerne at finde den musik, de ønsker at høre. Peer-to-peer-systemer kunne endda fungere som en slags internetradiosystem, hvilket eliminerer behovet for radiospil og den medfølgende payola. Dette var grundlæggende Napsters plan, som pladeselskaberne lærte under opdagelsesprocessen under deres retssag. Den reelle trussel, som peer-to-peer udgør for pladeselskaberne, er, at det kan gøre dem forældede.
I sidste ende handler peer-to-peer-teknologi om at øge pålideligheden og redundansen af internetbaserede systemer. Det er derfor, pladeindustrien er bange for det - fordi peer-to-peer kan bruges til at skabe netværk, som industrien ikke kan lukke ned. Men peer-to-peer kan også bruges til at skabe netværk, som jordskælv, krige og terrorister ikke kan lukke ned. I sidste ende tror jeg, at vi er bedre stillet at prøve at styrke internettet i stedet for at gøre det svagere.