EDA 390 - Datakommunikation och Distribuerade System. Peer-To-Peer system



Relevanta dokument
Hur BitTorrent fungerar

Internets historia i Sverige

CHALMERS TEKNISKA HÖGSKOLA EDA Datakommunikation och Distribuerade System

IT policy för elever vid

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Tanka program KAPITEL 7. Shareware och freeware. Shareware. Freeware

Piff och Puffs Chatsystem

Guide för att välja fibertjänst

Laboration 2 Datorverktyg vid LiU

Security/Anonymity in P2P Networks

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Datainsamling över Internet

Denna genomgång behandlar följande:

UNGDOMAR, MUSIK och INTERNET

STYRKAN I ENKELHETEN. Business Suite

Systemkrav och tekniska förutsättningar

Guide för fjärråtkomst av Gigamedia IP-kamerakit

Grundläggande datavetenskap, 4p

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera

Hur gör man ett trådlöst nätverk säkert?

Rapport i Mobila systemarkitekturer. Symbian

TCP/IP och Internetadressering

Åtkomst och användarhandledning

Startanvisning för Bornets Internet

Storegate Pro Backup. Innehåll

Elektroniskt informationsutbyte mellan arbetsgivare och Försäkringskassan. Information om filöverföring

Frågor och svar om ArcGIS Pro Licensiering

Prislista Bredbandsbolaget

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Tips och råd om trådlöst

Norman Endpoint Protection (NPRO) installationsguide

En studie av programmet Buddyphone. Delmoment i kursen CSCW 2D1416

Datakommunika,on på Internet

Dialect Unified MAC-klient

Instruktion: Trådlöst utbildningsnät orebro-utbildning

Filöverföring i Windowsmiljö

Instruktion: Trådlöst nätverk för privata enheter

MOTTAGARE AV VIDEOMÖTE FÖR DE SOM INTE HAR MICROSOFT LYNC INSTALLERAT SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Börja med att ladda ner appen Blacklens till din mobil. Finns både till iphone på Apple Store och till Android på Google Play.

The Pirate Bay-rättegången, dag 6 Fritt nedtecknat

Datakursen PRO Veberöd våren 2011 internet

Säkerhetskopiera mobilen

Så delar du filer. utan att bli övervakad LAJKA-GUIDE

LectureMopp - Projekt i Nätverksprogrammering

ICQ - EN SOCIAL GIMMICK ELLER ETT SAMARBETSVERKTYG?

TW100-S4W1CA. Bredbandsrouter (med 4-ports switch) (vers. E) Snabbinstallationsguide

Hemmanätverk. Av Jan Pihlgren. Innehåll

DATA CIRKEL VÅREN 2014

Välkommen som användare av medietekniks och informatiks publika studentserver

SÄKERHET KUNSKAPER OM SÄKERHET OCH FÖRMÅGA ATT IDENTIFIERA OCH MOTARBETA ATTACKER

tclogin.com Service Desk Tillgång till TeleComputing TCAnyWare

Sammanfattning av riktlinjer

IT-Policy Vuxenutbildningen

Skapa din egen MediaWiki

Denial of Services attacker. en översikt

EBITS Totalförsvarets Forskningsinstitut David Lindahl Erik Westring

Manual Sportident Onlinekontroll via GPRS

Preliminär specifikation av projekt

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Larmsändare sip86. Alla inställningar konfigureras enkelt upp med Windowsprogramvaran IP- Scanner. 2 Larmsändare sip22

Installationsguide Junos Pulse för MAC OS X

Datum Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.

Allt samlat på ett och samma ställe En användarmanual för vår affärsplattform MyBusiness

Viktigt! Läs igenom hela anvisningen innan du påbörjar inloggningen för första gången.

Fastighetsnätets uppbyggnad

Kort-kort om utdelade användarkonton och datormiljön på NADA

Välkommen till live broadcasting med Bambuser via nätet. skaffa eget konto (gratis) genom att gå till:

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

Säker e-kommunikation

SÄKRA DIN AFFÄR VART DEN ÄN TAR DIG. Protection Service for Business

Innehållsförteckning:

Direktkoppling till Girolink Internet. Filöverföring av betalningar och betalningsinformation via Girolink Internet. Version 1.0

Hur påverkar DNSsec vårt bredband?

Föreläsning 3. Datorkunskap 50p Marcus Weiderstål Bromma Gymnasium

Kriswebb och Krisserver ur ett tekniskt perspektiv

INTERNET HUR FUNGERAR DET OCH VAD KAN MAN GÖRA MED DET?

IP-telefoni för nybörjare

Konfiguration av LUPP synkronisering

Bambusermanual - Plattformen distans

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual

Peer to Peer. Agenda. Period 2 - Forskarnätet. Period 1 De tidiga åren. Problemen med dagens nät. Period 3 Det globala informationsnätet

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Mumble FAQ. Jack-Benny Persson 2 maj 2012

VI FIRAR kr. Nu bygger vi fibernät! BREDBAND TILL ALLA VÄLKOMMEN TILL RONNEBYPORTEN!

Eltec VoteAid är ett system som används av kommuner och landsting för att sköta möten via trådlösa knappsatser.

Distribuerade affärssystem

Vi finns nära dig. Telia Connect 4.1 Installationshandbok för PC Uppkopplingsprogram för Telia Mobilt bredband

SeniorNet Huddinge Öppet Hus

Bordermail instruktionsmanual

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Välkommen! Lycka till! ecampus min väg till KNX

MANUAL FÖR WIFI KAMEROR. Kontakt: Sida 1

Så övervakar du hemmet med Skype

IT för personligt arbete F2

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

ecampus min väg till KNX

Projekt i Nätverksprogrammering. MegaNet Handledare: Pierre Nugues

InSite Prepress Portal

- ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS for Desktop. För att få ArcGIS Pro, köper man ArcGIS for Desktop

Transkript:

EDA 390 - Datakommunikation och Distribuerade System Peer-To-Peer system Andreas Bernet 810929-0018 beran@etek.chalmers.se Sektion: Elektroteknik Johan Zhang 820401-1830 zhaj@etek.chalmers.se Sektion: Elektroteknik

P2P-Systems Abstrakt P2P nätverk används över hela världen i stor skala, inte bara i rena P2P nätverk utom också i nätverk som blandar P2P och client/server teknologi. I rapporten har vi valt att undersöka befintliga lösningar samt att själva testa lösningar för ett chatsystem. Vi har valt en ren P2P lösning samt en lösning med en central server. Slutsatsen är att ett system med en central server är mer flexibelt och bästa valet om du är fler än ett par användare. Inledning Ett peer-to-peer (P2P) nätverk är ett nätverk som lägger ut datorarbetet i ändarna av nätverket istället för att låta nätverket självt sköta beräkningar m.m., P2P används mest för ljud, video och dataöverföring. Client/server modellen används inte i ett P2P nätverk, utan det består endast utav ett antal peers. En och samma peer kan av andra noder i nätverket samtidigt uppfattas som en client och som en server. Det behövs således inte en central server i ett P2P nätverk. Ett exempel på ett nätverk som inte är P2P skulle kunna vara en FTP server. Där laddar man upp data som sedan andra kan ladda ner. Det behövs alltså ingen direkt länk mellan den som laddar ner och den som laddar upp. Vissa nätverk kan innehålla en blandning av client/server och P2P där vissa funktioner sköts med client/server och vissa funktioner sköts med P2P. Ett exempel kan vara att man lagrar användarinformation på en server men sköter filöverföring P2P. Man kan också tänka sig en central server som tillhandhåller nätverksadresser men låter all överföring ske P2P. Ett känt exempel på P2P nätverk är Gnutella. Nätverk som inte alls använder någon typ av client/server modell är mycket ovanliga. Dom flesta P2P nätverk använder t.ex. DNS. Ett decentraliserat nätverk som använt under en längre tid är USENET. Det finns också många P2P nätverk som innehåller större noder som flera andra noder samtidigt är uppkopplade mot. Sun lade 1990 till klasser i Java för att snabba på utvecklingen av P2P nätverk. Detta för att göra det enklare att programmera realtids chatprogram som utnyttjar P2P teknologin. Detta är numera väl utvecklat.

Historia Internet var från början ett enkelt peer-to-peer system, namnet på systemet var ARPANET. Idén kom från början från militären för att göra kommunikationen robust från störning och fysisk skadegörelse. Svårigheten med ARPANET var att i början av nätverkets barndom så körde olika nätverk sitt eget protokoll, för att göra kommunikation mellan olika nätverkmöjligt så behövdes en rad protokoll standard införas innan kommunikation mellan olika nätverk kunna etableras. ARPANET kopplades inte ihop som master/slave eller client/server relation utan snarare som noder(peers). Usenet började användas i slutet av 70 talet och det brukar räknas som farfar till den moderna peer-to-peer applikationer som Gnutella och Freenet. Det fundamentala med Usenet var att systemet har ingen central kontroll över informationsutbyte mellan datorer. Usenet var i början baserade på Unix-to-Unix copy protokoll (UUCP) och använd som någon form av nyhetsforum. Visserligen så kunde systemet växa snabbt på grund av att den inte hade någon central administration men samtidigt så var systemet väldig känslig för oseriösa användare, så spam var ett stort problem. Usenet kallas oftast för ett brusigt kommunikations kanal. Fördelar med P2P Ett problem med ett client/server nätverk är skalbarheten. I takt med att antalet clienter ökar kommer servern att belastas mer. Till slut kommer detta leda till att nätverket blir långsamt p.g.a. bland annat begränsad bandbredd. I ett P2P nätverk kan istället bandbredden öka med antalet noder som ansluter sig. Ett stort antal användare är då istället bra, det ger snabbare överföring. Ett snabbt sätt att hålla ordning på ett stort nätverk är att införa en central server som tillhandahåller information om de olika noderna. Detta är ett ganska viktigt moment inom P2P kommunikation eftersom olika användare ska dynamiskt kunna ansluta sig till och från systemet. En server i ett client/server nätverk kan också vara kostsam då den måste ha godtyckligt stor bandbredd och kapacitet för att klara av att tjäna ett flertal clienter samtidigt. Därför är det i praktiken omöjligt att ett system med flera miljoner användare som delar information genom en ren client/server nätverk. Viktig fördel med peer-to-peer system är att den är mer pålitlig och tillänglig än client/server modell därför att ingen enskild nod kan påverka hela systemet. Oftast så finns informationen i flera upplagor i olika noder. Så om en nod går ner så kan informationen fortfarande vara tillgänglig och nätverket kan då fortfarande användas. Möjligheten för att ladda ner olika delar av informationen från olika noder samtidigt kan utnyttjas. Peer-to-Peer nätverk anses ofta som mycket robust mot angrepp alltså en nods funktion kan omöjligen påverka hela nätverkets funktion. Nackdelar med P2P Ett problem med att inte ha en central server är att det är svårt att kontrollera vad man överför för data. En fil kan innehålla felaktigt beskriven data, t.ex. en film kan istället vara ett program eller liknande. Hade man haft en central server hade man kunnat kontrollera innehållet innan man låtit clienter ta del av informationen. I ett P2P

är det svårt att kontrollera datan. Man kan införa kontroll koder eller liknande men det kan ändå bli problem. Att det är svårt att kontrollera filer gör att virus och liknande sprider sig lättare i ett P2P nätverk än i ett client/server nätverk. Ett annat problem kan vara att noder har större bandbredd nedströms än uppströms. Vissa kommer då att dra nytta av andras bandbredd utan att själva erbjuda samma bandbredd till nätverket vilket leder till att nätverket blir långsamt för alla noder. Detta är vanligt för noder uppkopplade med ADSL. Man kan även tänka sig noder som enbart tar bandbredd i anspråk utan att själva bidra med bandredd. Ett sätt att lösa detta problem är att helt enkelt neka användare med större bandbredd nedströms än uppströms att koppla upp sig. Det går inte att vara lika anonym i ett P2P nätverk, vilket kan leda till attacker mot enskilda noder. Folk kan ta reda på information om en enskild nod och sedan rikta attacker mot denna nod. De flesta problemen går att bygg bort genom att använda väl vald design av nätverket, införa kryptering och använda ett bra överförings protokoll. Men alla problem går självklart inte att bygga bort. En viktig nackdel med P2P nätverk är att det finns stora säkerhetersluckor, eftersom det inte finns någon central server. Så om systemet är typ av system som alla kan ansluta sig till så kan det ofta förekomma problem som ickeseriösa användare som sprider virus eller spam. Chat system När det gäller rena Chat system är inte bandbredd så intressant, utan det som är mer intressant är ett bra system för att hitta personer man vill chatta med. Det är inga större mängder information som skickas. I dagens Chat system är det dock vanligt med filöverföring implementerad som tar bandbredd i anspråk. I mindre skala kan ett rent P2P system fungera. Då kan man t.ex. skicka information till alla noder som man har lagrade att man är tillgänglig. Tänker man i lite större skala finns det definitivt en vinst i att ha en centralserver som har reda på vilka som är online och är tillgängliga. Annars kan man tänka sig massa onödig trafik på nätverket. Det kan också vara bra att skydda användarnamn, så man kan vara säker på vem det är man kopplar upp sig mot. Implementation Vi har valt att i liten skala testa att bygga upp P2P nätverk för att se hur dom fungerar och lite för och nackdelar. De implementationer vi valt att göra är: Ett riktigt P2P nätverk där alla noder fungerar som både client och server samtidigt. Ett P2P nätverk där det finns en central server som alla användare kan koppla upp sig mot och som tillhandahåller användarinformation t.ex. användarnamn lösenord m.m. Den här servern kan vara bra för att snabbt få ut information om nya användare samt för att skydda användarnamn och att bland annat öka säkerheten i

systemet. Man kan t.ex. tänka sig ett spärr register där man t.ex. lagrar oönskade IPnummer. Nätverket skall i första hand vara avsett för Chat mellan olika noder, men det kan även snabbt byggas ut för t.ex. filöverföring. Grunden för programmen vi använder har vi gjort i en projektkurs men vi har speciellt tagit fram två versioner för detta projekt. Nätverk 1 Uppbyggnad Det första man måste tänka när man vill bygga ett nätverk är att komma överens om dess funktion (vad som ska skickas) och med vilket protokoll man vill överföra. Vilken plattform som ska användas kan också vara bra att bestämma. Används t.ex. Java kan man göra mjukvaran plattformsoberoende. I det här fallet har vi valt att överföra text med hjälp av TCP. TCP lämpar sig bra för textöverföring. Nästa sak att komma överens om är att välja vilken port som ska användas. Det är bra att välja en port som inte används, port nummer över 1024 brukar fungera bra. Det kan nu vara bra att komma överens om en bra procedur att koppla upp sig mot varandra. En får vara server och en får vara client, men det ska vara lika lätt byta, d.v.s. en användare ska både kunna vara server och client samtidigt. Programmet har både client och server funktionen inbyggd. Ett enkelt protokoll för uppkoppling kan användas som t.ex.: Client 1: Server 1: ME CLIENT ANVÄNDARNAMN ME SERVER ANVÄNDARNAMN Detta protokoll kan ju lätt byggas vidare på med t.ex. lösenord. Avsluta ner gör man helt enkelt genom att stänga ner programmet. Här kan man också tänka sig att bygga ut med ett avsluta chat protokoll. När man kommit överens om en gemensam standard är det dags böra skapa programmet. VI har valt att p.g.a. begränsad tid använda ett delvis förprogrammerat program för realtidschat. Programmet är gjort i java och har en mycket enkel uppbyggnad, det har även en enkel GUI. Tanken är att programmet skall vara P2P baserat förutom DNS eller liknande. Man kan tänka sig att användarna kopplar upp sig enligt figur 1.

Användare 1 Användare 4 Användare 2 Användare 3 figur 1 Fördelar När man bara är två personer skulle en sådan här uppbyggnad fungera perfekt. Det är enkelt att koppla upp, enkelt att använda och tar inte mycket bandbredd i anspråk. Man kan ha en aktiv ström uppe hela tiden och lyssna på vald port. Eftersom du vet vem som sitter i andra änden så är det inte några säkerhetsproblem. Filöverföring skulle då enkelt kunna implementeras med hjälp av att man öppnar en FTP socket för filöverföring. Även ljudöverföring skulle inte vara några problem att lägga till. Nackdelar Nackdelen är att du behöver lagra en adresslista med dina kompisars IP-nummer. Det kan bli problem då det numera inte är ovanligt med dynamiska IP-adresser. Du vet inte heller om användaren i andra änden är uppkopplad och har startat programmet. Det går att tänka sig att man för varje gång man kopplar upp sig försöker skicka ett meddelande till alla i sin adresslista att man är online. I vår version är inte detta implementerat utan man måste veta att den andra användaren är online. Vill man träffa nya användare blir det ett stort problem då det inte är praktiskt möjligt att söka efter datorer med programmet installerat och som är online, utan att införa en central server. Sammanfattning Det är ett mycket enkelt att bygga ett chat nätverk med hjälp av P2P teknologi. Det fungerar också bra för få användare, så länge man vet om vilka som är online. Problem uppkommer när man inte vet vilka som är online. Man skulle kunna tänka sig att lösa detta med ett broadcast i nätverket när man startar programmet, men man får fortfarande problem när man vill få in nya användare i nätverket.

Skalbarheten för ett sådant här chat system är således inte så bra. Många användare skulle generera ganska mycket datatrafik som bara meddelar när folk är kopplar upp eller ner sig. Nätverk 2 Uppbyggnad Målet med det nätverk nummer två är att öka skalbarheten och göra det lättare för nya användare att ansluta sig till nätverket. Den största skillnaden blir att vi inför en central server. Alla användare ska innan man kopplar upp sig P2P koppla upp sig mot servern. För att kunna logga in på servern måste man först autentiera sig med det lösenordet som man har valt. Har man inte ett lösenord får man först registrera sig på servern. Servern lagrar alla användare som ett object, där laggar man IPnummer användarnamn, lösenord m.m. Server håller även reda på vilka som är online och vilka som inte är det, samt vilka personer som har satt ihop en chatgrupp. Listorna med användare och chatgrupp kan lätt laddas ner från den centrala servern där de lagras. Användarna ska dock fortfarande koppla upp sig P2P mot varandra. Även här har vi valt att använda en delvis förprogrammerad server och ett liknande program som vi använde för Nätverk 1. Båda är programmerade i Java. I övrigt används specifikationer enligt tidigare. Ett protokoll för att koppla upp skulle kunna se ut enligt följande: 1 Client: NEW_USER 2 Server: USERNAME 1: USER_ valt användarnamn 2: PASSWORD 1: PASSWORD_ valt password Detta är ett exempel om allt går som det är tänkt, man får ju självklart tänka på att flera användare kan försöka logga in med samma användarnamn. Då får man skicka ett felmeddelande och be om ett nytt användarnamn. Detta ökar också säkerheten då alla användare går att spåra genom sitt IP-nummer. Man vet också då att en användare är densamma om man ser samma användarnamn vid olika tillfällen. Uppbyggnaden skulle kunna se ut liknande figur 2.

Användare 1 Användare 4 Server Användare 2 Användare 3 figur 2 Fördelar Det är lätt att hitta nya användare som kopplat upp sig mot den centrala servern. Det är enkelt att se vilka som är tillgängliga att koppla upp sig mot samt det är enkelt att se vilka som startat en chatgrupp. Säkerheten kan fortfarande vara bra, då alla användare måste autentieras innan man kan ansluta till andra användare. Det behövs ingen mindre data för att uppdatera vilka som tillkommit och vilka som fallit bort. Det här systemet är mer skalbart och man skulle kunna tänka sig flera sammankopplade centrala servrar för skapa ett ännu större nätverk. Nackdelar Systemet blir mer komplicerat med en central server. En server kostar pengar och någon måste ta hand om den och underhålla den. Hela systemet är också beroende av att servern är online. Går servern sönder fungerar inte längre nätverket som det är tänkt. I ett rent P2P drabbas inte alla om en peer havererar. Sammanfattning Det är mer komplicerat att bygga upp ett sådant här nätverk och det är mer känsligt då alla ligger uppkopplade mot en central server. Man kan tänka sig flera sammanlänkade servrar, då kan en annan server ta över funktionen tills vidare medan den andra servern inte fungerar. Det här skulle ge ett mer flexibelt system men det blir också mer komplicerat. Men med väl vald programvara och smart GUI kan det bli rätt enkelt för användaren och mycket kan skötas automatiskt. Det behövs dock någon som tillhandahåller en server vilket det inte alltid finns folk som vill. ICQ ICQ ( i seek you ) är en chat client som 1996 skapades av företaget Mirablis, företaget grundades av fyra israeliska programmerare. ICQ är ett fritt program, som

skickar direktmeddelanden mellan clienter. De flesta användare kan använda programmet. ICQ programmet kontaktar en server så fort du startar programmet, men servern blandar sig inte i kommunikationen mellan klienter. En liten beskrivning av hur ICQ fungerar följer nedan. 1: Clienten kopplar upp sig mot en server. ICQ har ett eget protokoll som används för kommunikation med servern. 2: Om det är första gången registreras namn och kontaktuppgifter på servern i ett konto. 3: När dina uppgifter är verifierade blir du uppkopplad. 4: Servern skickar information om att du är uppkopplade samt IP-nummer och vald port, till alla i din kontaktlista som är online, den skickar även information om vilka som är online till clienten. 5: Servern skickar uppdaterad information till dig om alla i din kontaktlista. 6: Om du startar en konversation med någon kommer din client att koppla upp sig mot en annan person. Server blandar sig inte i informations utbytet mellan två ICQ clienter. 7: När du avslutar skickar clienten ett meddelande till servern som vidarebefordrar att du inte är till gänglig längre till alla i din kontaktlista. Liknande det här förfarandet är det klart vanligaste förfarande för program som används för direktmeddelanden. Det liknar även den andra versionen av nätverk som vi implenterade. ICQ använder inte bara en server utan har flera sammankopplade det skapar möjlighet för miljontals användare att använda programmet. Napster Napster är en av den första fil överföringen för peer-to-peer system den var skriven av en amerikans student, namnet Napster tog han från sitt smeknamn. Idén var i början att det fanns massor av mp3 filer lagrade i folks persondatorer men dom kunde inte distribueras till andra personer på någon lätt sätt. Så han började utveckla ett system där distribution av mp3 filer ska vara lätt. Varje Napster användare gör en fil karta på filer som vill delas ut och skickar informationen till en central server. Då kan alla Napster användare komma åt denna information och utför en peer-to-peer uppkoppling med respektive peer direkt. Napster blev snabbt väldigt populär världen runt, men på grund av att filerna som delas ut är oftast piratkopierade så programmet blev förbjudet och alla Napster servern tvingades att stänga ner. Den populära Napster varade i ungefär 3 år. Den snabba spridningen som Napster var framförallt på grund av att systemet är lättanvänt, det krävs ingen större förståelse om nätverk och peer-to-peer system för att man ska kunna dela med sig sina music filer. BitTorrent En av dom populära peer-to-peer system som fortfarande är populär är BitTorrent. Den bygger på principen att varje användare ska dela med sig det dom har. Tillskillnad från Napster så maximera BitTorrent överföringshastighet igenom att vid nerladdningen så laddas det ner bitar av filer från olika användare samtidigt vilket gör det möjligt att uppnå mycket hög nerladdnings hastighet, vilket lämpas väl för stora

filer. En annan viktig fördel med programmet är att den är helt gratis vilket gör den väldigt populär för ungdomar som vill dela med sig spel och filmer. Huvudidé med BitTorrent bygger på peer-to-peer fildelnings principen. För att ladda ner något så måste användare hitta någon som har filen, det är oftast en dator som kör någon Peer-to-Peer fildelningsprogram (BitTorrent). Informationen om var filerna finns är oftast vara lagrade i någon central server. När programvaran som har initierat en fil så börjar överföringen, samtidigt så gör du dig tillgänglig för andra användare att laddar ner från din dator. Problem med sådant överföringssystem är att personen stänger av sin BitTorrent direkt efter att dennes filöverföring har slutförts, detta egoistiska beteende gör att andra BitTorrent användare inte kan utnyttja resursen lika effektivt. BitTorrent har också fått juridiska problem. Tillskillnad från Napster så har BitTorrent inte lika välorganiserad central servern, i princip så kan varje enskild privat person agera som en BitTorrent server. Så en total förbjudning av BitTorrent kan vara mycket svårare än Napster. Skype En ny populär applikation bland peer-to-peer system är Skype. Nu är det inte fildelning mellan datorer som är intressant längre utan sändning och mottagning av små ljud packet mellan peers funktionen kallas oftast för VoIP (Voice over IP). En ny fördel med skype är att den inte har någon dyr centralserver som håller koll på klienter. Men för att det fortfarande ska vara möjligt för varje användare att hitta andra dynamiska uppkopplade användare så har en ny teknik använts och det kallas för Global Index (GI). Global Index teknologin fungera så att varje nod kallas för super nod och den har full information om alla tillgängliga användare. Överföringshastighet på ljudpacket är väldigt viktigt vid konversation. Skype har löst problemet igenom att använda sig av en teknik som kallas för intelligent routing. Den går ut på att Skype håller koll på flera uppkopplings möjligheter till samma användare samtidigt och väljer den snabbaste möjliga, det har reducerat fördröjningen och förbättrat samtalskvalitet markant. På grund av att alla ljudpacket går igenom den publika Internet så är även kryptering nödvändigt. Skype har också börjat integrera sitt peer-to-peer nätverk med det traditionella telefonnätet. Så användaren ska ha möjlighet att ringa från sin dator (nod) till alla fasta telefonförbindelse. Istället för den traditionella peer-to-peer nätverket så ger kanske den nya funktion ny innebörd av P2P system. Där man har peer-to-peer system integrerat med ett hierarkiskt system. Med alla sina fördelar som bra samtalskvalité, säker överföring och lätt användarvänlig gränssnitt så spårs Skype har en fin framtidsutsikt. Slutsats Som kort så kan man definiera P2P system så här:

Den enklaste formen av ett peer-to-peer-nätverk är när två datorer ansluts till varandra med en nätverkskabel. Men det finns betydligt större P2P-nätverk än så, där Napster är det mest välkända exemplet. Grundtanken är dock densamma i båda fallen. Hierarkin med server och klienter saknas. Istället ansluter datorerna direkt till varandra och alla datorer i ett P2P-nätverk kan tillfälligt ha rollen som server, men alla kan också ha rollen som klient. När P2P teknologin kom i början av 70-talet kom den för att stanna. Det är ett enkelt sätt att bygga stora nätverk. Det som började driva utvecklingen framåt var de fördefinierade klasserna i Java som Sun lade till 1990. Men det som drivit fram utvecklingen på senare år är program som ICQ och inte att förglömma alla fildelningsprogram. Även om fildelning av upphovsrättskyddat material i framtiden kommer att bli förbjudet kommer grund teknologin bakom P2P finnas kvar i någon form. Detta beror på att ansluta P2P har så många fördelar om man jämför med client/server. När vi själva testade två olika utgångspunkter för kommunikation mellan två datorer kom vi fram till att modellen med central server fungerar bättre i längden. Enda gången som vi tyckte den rena P2P tekniken fungerade bättre var när två clienter kopplar upp sig mot varandra, då är det onödigt med en central server. Så har man inga intentioner att bygga ut nätverket behövs ingen server. P2Ps robusta egenskap intresserar militärer och företag väldigt mycket. Där företagen kräver ett säker och robust system för sina tjänster och militärer kräver ett säkert system för sin kommunikations nätverk. Speciellt i dagens läge där terrorist angrepp hör till vardag så har den robusta egenskapen av P2P fått en ny innebörd.