Søgning i decentrale og ustrukturerede P2P netværk



Relaterede dokumenter
Brugerundersøgelse 2013 Plejebolig

Program. Konfidensinterval og hypotesetest en enkelt normalfordelt stikprøve. Eksempel: hjerneceller hos marsvin. Eksempel: hjerneceller hos marsvin

Faldmaskine. Esben Bork Hansen Amanda Larssen Martin Sven Qvistgaard Christensen. 23. november 2008

Praktikperiode på andet intensivafsnit

I dag. Binomialfordelingen Sandsynlighedsregning og statistik. Eksempel: cornflakessmagning. Binomialfordelingen

6.7 Capital Asset Pricing Modellen

Semesterprojekt Svingningssystemer mekanisk/elektrisk analogi

Matematisk modellering og numeriske metoder

Kursus Introduktion til Statistik. Oversigt, Inferens for gennemsnit (One-sample setup)

Vanskelige vilkår for generationsskifte med nye regler - Afskaffelse af formueskattekursen samt svækkelse af sikkerheden trods bindende svar

Netværksalgoritmer. Netværksalgoritmer. Meddelelses-modellen. Routing

Hjemmeopgave 1 Makroøkonomi, 1. årsprøve, foråret 2005 Vejledende besvarelse

Tennis eksempel på opgaveløsning i MatematiKan.nb

BRUGERUNDERSØGELSE 2015 PLEJEBOLIG LANGGADEHUS

Regulering af dynamiske systemer

DANSK SNAPS DESTILLERIET BRAUNSTEIN

Fag: Fysik - Matematik - IT Elever: Andreas Bergström, Mads Paludan, Jakob Poulsgærd & Mathias Elmhauge Petersen. Det skrå kast

P2-projektforslag Kombinatorik: grafteori og optimering.

Termodynamik - Statistisk fysik - Termodynamiske relationer - Fri energi - Entropi

Afdækning af nyankomne elevers sprog og erfaringer

En varmluftsballon. s Kurvelængden fra ballonens toppunkt til punktet P. til symmetriaksen.

BRUGERUNDERSØGELSE 2014 PLEJEBOLIG. Dr. Ingrids Hjem. Sundheds- og Omsorgsforvaltningen - Brugerundersøgelse 2014: Plejebolig 1

Bedre førstehjælpsberedskab gennem mere lovgivning

guide skift elselskab og spar en formue billigere Januar 2015 Se flere guider på bt.dk/plus og b.dk/plus

"GRØNTTORVS- OMRÅDET"

Program. Statistik og Sandsynlighedsregning 2 Normalfordelingens venner og bekendte. χ 2 -fordelingen

Planstrategi. s s. Hverdag og fællesskab i bevægelse

Samtaleark. Del 1: Elevens sprog. Spørgsmål til eleven. Noter og observationer under samtalen. Angiv elevens stærkeste sprog:

Matematik og magi. eller Næste stop Las Vegas. 14 Anvendt matematik. Rasmus Sylvester Bryder

Fig. 1 Billede af de 60 terninger på mit skrivebord

Specialundervisningsnetværket Elevtilfredshedsundersøgelse 2011

Specialundervisningsnetværket Elevtilfredshedsundersøgelse 2014

Øvelse i Ziegler-Nichols metode med PLC

Specialundervisningsnetværket Elevtilfredshedsundersøgelse 2012

Rehabilitering og Palliation ved kræft

Specialundervisningsnetværket Elevtilfredshedsundersøgelse 2014

"GRØNTTORVS-OMRÅDET" Bilag 1. Startredegørelse Indstilling om redegørelse for igangsætning af forslag til lokalplan

Differentialregning Infinitesimalregning

GLOBAL ØKOLOGI. Tema: Grøn økonomi. Tidsskriftet der tager pulsen på dansk og international miljøpolitik

Undervisningsmiljøvurdering Style og Wellness College

Sammenhængen mellem strækning og tid Farten angiver den tilbagelagte strækning i et tidsrum. Farten kan bestemmes ved brug af formlen:

SHARKY varmeenergimålere

Øvelse i Ziegler-Nichols med PID-regulator

Hvad er matematik? C, i-bog ISBN L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: info@lru.

Geometrisk nivellement. Landmålingens fejlteori - Lektion 7 - Repetition - Fejlforplantning ved geometrisk nivellement. Modellen.

Eksponentiel regression med TI-Nspire ved transformation af data

SCREENING FOR PCB I MATERIALEPRØVER SKELGÅRDSSKOLEN UGANDAVEJ KASTRUP. Udarbejdet for:

Specialundervisningsnetværket Elevtilfredshedsundersøgelse 2011

ARBEJDSPORTFOLIO. 1. hovedforløb. mia phillippa fabricius

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Routeren. - og lag 3 switchen! Netteknik 1

Optimale konstruktioner - når naturen former. Opgaver. Opgaver og links, der knytter sig til artiklen om topologioptimering

Korteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs

SCREENING FOR PCB I MATERIALEPRØVER NORDREGÅRDSSKOLEN TEJN ALLÉ KASTRUP. Udarbejdet for:

Talrækker. Aktivitet Emne Klassetrin Side

GBFbladet Medlemsorientering nr. 156

Det Rene Videnregnskab

VLAN - Virtual Local Area Network

18 Multivejstræer og B-træer.

STUDIEORDNING FOR BACHELORUDDANNELSEN I ORGANISATORISK LÆRING VED AALBORG UNIVERSITET SEPTEMBER 2014 MED ÆNDRING 2014, 2015, 2016, 2017 OG 2018

Behovsstyret ventilation

Korteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs

Korteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs

Eksempel på logistisk vækst med TI-Nspire CAS

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Må vi lege doktor? En folder til forældre om seksuel udvikling blandt børn i alderen 0-6 år

1. Indledning I Visma Løn findes et standard bogføringsbilag, som indeholder følgende kolonner:

På alle områder er konklusionen klar: Der er en statistisk sammenhæng mellem forældre og børns forhold.

Differentialligninger. Ib Michelsen

Øvelse i Ziegler-Nichols på drøvle processer

Øvelse 10. Tobias Markeprand. 11. november 2008

18. Effektiv Medlemskommunikation

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

Dansk Økonomi, forår 2018

Kampagne Kommunikation/it Eksamens opgave Roskilde Tekniske Gymnasium Mette Møller Jensen

Tredje kapitel i serien om, hvad man kan få ud af sin håndflash, hvis bare man bruger fantasien

Danmarks Tekniske Universitet

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

Antal Antal STU- Erhverv STU Ungdom I alt

Markedskortet 2.0. Carsten Stig Poulsen, Institut for Erhvervsstudier, Aalborg Universitet

KILDEPARKEN 2020 EN DEL AF DET NYE AALBORG

KØBENHAVNS UNIVERSITET, ØKONOMISK INSTITUT THOMAS RENÉ SIDOR,

Tilfredshedsundersøgelse 2011

Egenskaber ved Krydsproduktet

BYRU R M U OG M O G FOR FO BI RB N I D N E D L E SE S R E R I I

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

Vandringer til og fra Grønland

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv.

Nukissiorfiit Kundeundersøgelse Nukissiorfiit Svarprocent: 24% (1454/5977)

Substitutions- og indkomsteffekt ved prisændringer

Statistik i basketball

Analyse af social uddannelsesmobilitet med udgangspunkt i tilgangen til universiteternes bacheloruddannelser

Udviklingsmuligheder for små og mellemstore virksomheder i Region Midtjylland

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Det siger FOAs medlemmer om smartphones, apps og nyheder fra FOA

TILLIDEN MELLEM DANSKERE OG INDVANDRERE DEN ER STØRRE END VI TROR

FORBRUGERPANELET JUNI Forbrugerpanelet om brug af anprisninger på fødevareprodukter


Mindste udspændende træ

Transkript:

Speciale Mart 2003 Internetteknologilinjen IT-højkolen i København Glentevej 67 2400 København NV Søgning i decentrale og utrukturerede P2P netværk Sune Kloppenborg Jeppeen Vejleder: Kåre Jelling Kritofferen

Abtract Many communication network ranging from ocial relation to the Internet hare a power law link ditribution. Through imulation thi thei explore earch and replication in decentralied and untructured P2P network. Graph generation algorithm are developed to generate network topologie for the imulation. Search trategie that utilize the network topology and that have earch cot caling ubliniearly with the ize of the graph are evaluated. The efficiency of thee earch trategie can be further improved by imple decentralied algorithm for paive replication. Finally the reilience of the generated topologie are teted.

Indhold 1 Indledning 3 2 Teori 7 2.1 Grafteori........................................ 7 2.1.1 Grafer egenkaber.............................. 8 2.1.2 ER modellen.................................. 9 2.1.3 WS modellen................................. 11 2.1.4 BA modellen................................. 11 2.2 Søgning......................................... 14 2.2.1 Flooding.................................... 14 2.2.2 Tilfældig vandrer............................... 15 2.2.3 Gradøger................................... 16 2.3 Replikation....................................... 18 2.3.1 Paiv replikation............................... 18 2.3.2 Stireplikation................................. 18 2.4 Robuthed....................................... 18 2.4.1 Fejlcenarie.................................. 19 2.4.2 Angrebcenarie............................... 19 3 Simulationer 21 3.1 Implementation.................................... 21 3.1.1 Deign..................................... 22 3.1.2 Grafrepræentation.............................. 23 3.1.3 Anvendt værktøj............................... 24 3.2 Graf generering.................................... 24 3.2.1 ER-grafer................................... 24 3.2.2 BA-grafer................................... 26 3.3 Søgning......................................... 30 3.3.1 BA-grafer................................... 31 3.3.2 ER-grafer................................... 31 3.3.3 Skalering.................................... 34 3.4 Replikation....................................... 34 3.4.1 Paiv replikation............................... 35 3.4.2 Stireplikation................................. 35 3.5 Robuthed....................................... 38 3.5.1 ER-grafer................................... 38 3.5.2 BA-grafer................................... 38 1

INDHOLD INDHOLD 4 Konkluion 42 A Appendik 48 A.1 main.h......................................... 48 A.2 main.cpp........................................ 50 A.3 aux.h.......................................... 67 A.4 aux.cpp......................................... 68 A.5 graph.h......................................... 71 A.6 graph.cpp....................................... 73 A.7 bagraph.h....................................... 87 A.8 bagraph.cpp...................................... 88 A.9 ergraph.h........................................ 91 A.10 ergraph.cpp...................................... 92 A.11 vertex.h......................................... 93 A.12 vertex.cpp....................................... 95 A.13 earch.h......................................... 105 A.14 earch.cpp....................................... 106 A.15 cache.h......................................... 110 A.16 cache.cpp........................................ 111 A.17 Makefile........................................ 114 2

Kapitel 1 Indledning Indtil Napter lancering i 1999 var der ikke mange der havde hørt om peer to peer (P2P) netværk. Siden da er der kommet mange nye P2P applikationer til, f.ek. Gnutella, Freenet og Overnet. På trod af de amerikanke myndigheder lukning af Napter, har P2P netværkene oplevet en ekploiv vækt [3, 8, 26]. Vækten har været å tor, at flere underøgeler vier, at en væentlig del af Internet trafikken tammer fra die netværk [26]. På trod af den megen omtale er det ikke helt klart hvad betegnelen P2P egentlig dækker over. Der yne dog at være rimelig konenu om at en applikation kal opfylde følgende definition for, at kunne regne om en P2P applikation: Peer to peer applikation Applikation der anvender reourcer om f.ek. lagerplad, beregningkraft eller objekter, f.ek. i form af filer eller andet indhold lokalieret på kanten af Internettet [7, 44, 50]. Et P2P netværk betår af, i princippet, ligetillede autonome applikationer på kanten af Internettet, der ved hjælp af P2P netværket anvender reourcer tillet til rådighed af andre autonome peer på netværket. Netværket mellem de enkelte peer fungerer om et netværk på applikationniveau, ålede at det benytter det underliggende Internet, og derfor kalde det et overlay netværk. Generelt er alle deltagere i et P2P netværk ymmetrike, dv. de kan alle fungere om både klienter og ervere. Yderligere er deltagerne i P2P netværk ofte almindelige arbejdtationer og deltagelen i P2P netværkene er af meget kiftende karakter med tor udkiftning i deltager populationen [61]. P2P netværk arkitekturen er ikke å ny, om den megen omtale kunne forlede én til at tro. Faktik er P2P den ældte arkitektur indenfor moderne kommunikation med telefonen om det bedte ekempel. Selv på Internettet er arkitekturen alt andet end ny. Inden fremvækten af World Wide Web var Internettet et forholdvi lille netværk betående af computere, der hele tiden var forbundet til nettet. En computer på netværket kunne f.ek. bruge til at hente filer fra andre computer på netværket, og modat kunne andre computere ogå typik hente filer fra denne computer. Reourcerne var ålede placeret på kanten af Internettet. Efter introduktionen af World Wide Web kete der en kraftig forkydning i hvordan de flete computere var forbundet til Internettet. Det blev normalt, at den almindelige Internetbruger koblede ig kortvarigt på Internettet vha. en telefonopkobling. Den fremherkende arkitektur blev derfor klient-erver modellen, hvor hovedparten af Internettet brugere blev forbrugere af reourcer, der blev gjort permanent tilgængelige på centrale ervere. Fremvækten af nye P2P applikationer kombineret med alway on og flat rate opkoblinger har i nogen grad bevirket en tilbagevenden til Internettet oprindelige arkitektur, 3

KAPITEL 1. INDLEDNING hvor en tor del af reourcerne er placeret på Internettet kant [50]. Fremvækten af nye P2P applikationer kan e om et reultat deraf. I det følgende vil betegnelen node blive anvendt for en computer, der deltager i netværket, eller mere nøjagtigt for den proce på den enkelte vært, der deltager i netværket. P2P netværk kan inddele i tre grupper alt efter dere arkitektur [26, 41]. Centralieret I P2P netværk med en central erver organiere netværket omkring den centrale erver, der anvende til indekering og lokaliering af reourcer. Selve udveklingen af reourcer foregår typik imellem de enkelte noder. Netværk af denne type er meget årbare overfor angreb, da netværkarkitekturen med en central erver medfører, at hele netværket ikke fungerer, hvi blot den centrale erver ikke fungerer. Et ekempel på ådan et P2P netværk er Napter, der benytter en central erver til indekering af reourcerne, men hvor den enkelte overførel af ekempelvi en mp3 fil foregår direkte mellem de enkelte noder. I amme kategori finde en række P2P applikationer, der benytter overkydende beregningkraft på Internettet kant. Det vel nok met kendte er SETI@home, men der er ogå andre, f.ek. ZetaGrid [10, 12]. Decentralieret og truktureret En mindre centralieret løning er netværk, der fungerer uden en central erver, men alligevel indeholder en grad af truktur. Denne truktur kan betå i, at reourcerne i netværket ikke placere tilfældigt om i Napter, ålede at forepørgler kan route effektivt. For at gøre dette muligt anvende nøgler. En nøgle er en entydig identifikation eller navn på en reource. Die netværk yder typik en meget kalerbar løning for lokalieringer, hvor reourcen nøgle er kendt [42]. Et ekempel på et ådan netværk er Chord, der givet en nøgle og vha. en ditribueret hahtabel kan route til detinationnoden ved at ende et antal bekeder, der er proportionalt med logaritmen af antallet af noder i netværket [1]. Denne effektive routning kræver, at nøglen for den enkelte reource er kendt. Derimod er fritektøgning ofte relativt beværligt. Det er f.ek vært at øge på dele af en reource navn, da nøglen ikke umiddelbart kan udlede af en deltreng. En mulighed for at kompenere for dette problem er at benytte en indekeringervice udenfor elve P2P netværket, f.ek. en webide med nøgler for kendte reourcer. Et ekempel på en ådan out of band indekering er Sharereactor, der giver henvininger indeholdende enkelte filer navne og de tilhørende md4-værdier, der benytte om nøgle på edonkey- og Overnetnetværkene [2, 8, 11]. Decentralieret og utruktureret I den decentralierede model benytte der ikke nøgleværdier til lokaliering af reourcer. Der er derfor ikke nogen kobling mellem placeringen af data og P2P netværket topologi [42]. Yderligere gøre der typik ikke noget aktivt fra netværket ide for at opretholde en betemt topologi. Netværket får derfor lov at voke kaotik, ligeom f.ek. Internettet har gjort det. Et ekempel på et ådan netværk er Gnutella. En node lokalierer reourcer ved at floode alle naboer med forepørgler. Når en Gnutellanode modtager en forepørgel ende den videre til alle naboer, å forepørglen preder ig om ringe i vandet. Dette gør det relativt let at øge, men det har vit ig at denne øgealgoritme ikke kalerer ærlig godt, når antallet af noder i netværket bliver for tort [5, 50]. For at 4

KAPITEL 1. INDLEDNING løe problemet er det blevet forlået at opdele noder i normale noder og uper noder der fungerer om en lag lokale ervere, men dette medfører en begrænet form for truktur eller hierarki i netværket [9]. Foku for dette peciale vil være at underøge mulighederne for anvendele af andre øgealgoritmer i decentrale og utrukturerede P2P netværk. Der er en række fordele ved at anvende decentrale og utrukturerede P2P netværk. Fritekt øgning er en efterpurgt operation af brugerne. I de decentralierede, men trukturerede netværk, der anvender nøgler, er dette ofte en vankelig operation. I decentralierede og utrukturerede netværk er det derimod ofte en meget let operation, der dog kan medføre et meget tort tykke arbejde for netværket. Ofte er reourcer replikeret flere teder i netværket, hvilket gør, at en øgning ikke behøver at være udtømmende, og det vil amtidig mindke øgeomkotningerne [42]. At der ikke kal holde nogen ekplicit topologi, gør applikationen implere at implementere. Samtidig medfører det, at netværket kan håndtere en meget dynamik deltager population, og at det er mindre årbart end trukturerede P2P netværk [28]. I det følgende vil modellen for P2P applikationer, der anvende i dette peciale, kort blive introduceret. For at et P2P netværk kan fungere, kal der være en måde at kende forkel på de reourcer, der tilbyde i netværket. Yderligere er det nødvendigt at kunne kende forkel på to en reourcer, der er lokalieret flere teder i netværket. For at gøre dette muligt anvende: Reourcenavn Et navn anvende til at identificere en reource, f.ek. et filnavn i et filytem eller en md4 checkum i Overnet. Nodeadree En adree anvende til at angive, hvor en node er lokalieret. F.ek. bekriver en ti, hvor i filhierarkiet en fil er placeret eller, og en IP adree bekriver, hvor en node befinder ig på Internettet. Hvi navnene på de enkelte reourcer er unikke på hver enkelt node, er parret af die to oplyninger nok til at identificere en betemt reource på en betemt node. I et filytem anvende kombinationen af en ti og et filnavn til entydigt at identificere og lokaliere en reource. For at P2P applikationen kal være brugbar, er det nødvendigt med en række funktioner, der kan give information om nodeadreer og reourcenavne: Routning Opgaven at finde vej i netværket fra en nodeadree til en anden nodeadree. På Internettet route f.ek. efter længte prefix af en IP adree. Lokaliering Opgaven at lokaliere adreer på noder der tilbyder en given reource. For at gøre dette muligt ekiterer der bindinger mellem navn og adree i P2P netværket. På Internettet benytte en kombination af DNS og lokale bindinger på den enkelte weberver. DNS overætter værtdelen af en URL, og den enkelte weberver overætter den lokalt relative URL del til en lokal filti eller en dynamik genereret webide. Søgning Opgaven at finde navne på reourcer udfra ukomplet viden om die. Afhængig af netværket kan øgningen yderligere lokaliere en node, der tilbyder reourcen. På Internettet anvende forkellige øgemakiner om f.ek. Google til at finde de enkelte reourcenavne og de tilhørende adreer. 5

KAPITEL 1. INDLEDNING I Chord og andre netværk, der anvender ditribuerede hah tabeller, benytte ét og amme rum til adreer og navne. Et reourcenavn er ogå en adree, og en adree er ogå et navn. Lokaliering foregår derfor blot ved at route en forepørgel til denne detination. Denne routning foregår på applikationniveauet. Simplere P2P applikationer kan benytte amme værdier til både navn og adree, hvi der f.ek. kun er én reource på hver adree. Ligelede kan Internettet almindelige IP adreer benytte om en del af adreerne i et P2P netværk. En ådan routning gør at P2P applikationen lipper for at route elv, men kan overlade routningen til det underliggende Internet. Dette gør applikationerne implere, men amtidig bliver adreeringen mindre flekibel, når f.ek. mange brugere jævnligt bliver tvunget til at kifte IP adree af dere internetudbyder, kifter de amtidig adree i P2P netværket. Et ekempel på øgning, lokaliering og routning kunne være: Ekempel 1 I kontekten af et impelt, decentralieret og utruktureret P2P netværk, til udvekling af madopkrifter, lad o kalde det Cook4Fun, kan et ekempel på brug af netværket være om følgende: Bob har lige inviteret ig elv til middag ho Alice. Hun må derfor kynde ig at finde en opkrift i Cook4Fun med de ingrediener, hun allerede har. Alice kender ikke navnet på den reource eller madopkrift, hun egentlig ønker, men tarter en øgning efter en madopkrift med de ingrediener, hun har. Søgningen reulterer i, at hun får navnene på en række opkrifter tilbage om var. For at finde navnene på reourcerne har P2P netværket amtidig lokalieret mindt én node, hvor hver reource bliver tilbudt. Alice kan nu kigge liten af navne igennem, og vælge dem hun vil e nærmere på. Ud fra navnene på de valgte opkrifter kan applikationen derefter gå i gang med at lokaliere flere noder, der tilbyder amme reource. Forepørgler på madopkriften amt tilhørende tekt, lyd og billeder route til die noder, å Alice hurtigt kan gå i gang med madlavningen. I et decentralieret og utruktureret P2P netværk er der per definition ikke nogen umiddelbar kobling mellem et reourcenavn og adreen på en node, der tilbyder reourcen. Uden nogen viden af denne art er det bedte en node kan gøre, når den modtager en øgeforepørgel, at ende den videre til en anden tilfældig nabo. I et ådan ytem kan det dog gøre bedre, uden hverken at indføre en central erver eller en fat truktur noderne i mellem. Der ekiterer lokal information i netværket, der kan udnytte til at effektiviere øgningen. Denne information definere om: Lokal viden Information om knuder ogeller reourcer i et lokalt område af netværket. Typik trækker et ådant område ig til knuder indenfor en betemt aftand. I dette peciale er det øgning og lokaliering i imple, decentralierede og uorganierede P2P netværk, der vil være i foku. På baggrund af imulationer vil dette peciale underøge mulighederne for at opbygge imple decentralierede og utrukturerede P2P netværk, der anvender lokal viden. Herunder afprøve anvendeligheden af flere forkellige algoritmer til grafgenerering, øgning og replikation. Yderligere vil netværkene robuthed blive vurderet. Der vil ikke blive anvendt global viden men udelukkende lokal. De imulerede netværk vil naturligvi ikke indeholde nogen ekplicit form for hierarki eller anden truktur mellem noder i netværket. Reten af pecialet er organieret om følgende. I kapitel 2 vil relevant baggrund hitorie og teori blive gennemgået for P2P netværk. I kapitel 3 bekrive den implementerede imulation ført og derefter præentere og analyere reultaterne af de enkelte imulationer. Der aflutte med en konkluion i kapitel 4. 6

Kapitel 2 Teori Et ekempel på øgning i kompleke netværk fra en helt anden verden er profeor Stanley Milgram forøg på at kortlægge ociale netværk i treerne. Ekperimentet, han foretog, var om følgende. Han tog 160 breve, der var adreeret til en af han venner, der var børmægler i Boton, og gav dem til en tilfældig gruppe udvalgte forøgperoner i Omaha, Nebraka. Han purgte dem, om de ville deltage i et uædvanligt ocialt ekperiment. Opgaven for den udvalgte gruppe i Nebraka var at videreende brevene til børmægleren adree. Brevene måtte kun videreende fra peron til peron, og det var kun tilladt at videreende brevene til peroner, man var på fornavn med. Øjenynligt valgte han det landlige Nebraka, fordi det var omtrent å langt, man kunne komme væk, i ociale termer, fra det bymæige Boton. Det var en vankelig opgave forøgperonerne blev tillet overfor, for det var uandynligt at nogen af forøgperonerne i Omaha var på fornavn med børmægleren fra Boton. Dere bedte trategi var at videreende brevene til peroner, de mente, var tættere på børmægleren i en eller anden fortand. Muligvi en de kendte i finanbranchen eller en de kendte på øtkyten [50]. Omkring en fjerdedel af brevene, 42 nøjagtigt, nåede faktik frem til børmægleren i Boton. Det met overrakende ved reultatet var ikke, at 42 nåede frem men derimod, at halvdelen af brevene kun paerede igennem fem mellemmænd eller mindre. Sammenlignet med en daværende befolkning på 200 millioner menneker i USA er dette noget overrakende. Forøget demontrerede at det i elv meget tore netværk er muligt at finde korte tier. Senere blev grafer med die korte tier kaldet mall world grafer. Ikke nok med at det var muligt at finde korte tier, men det var ogå muligt at finde die på trod af, at ingen af deltagerne havde bare en tilnærmelevi komplet viden om hele netværket topologi. Udfra hver enkelt forøgperon viden var det alligevel muligt at finde die tier. Milgram konkluderede noget bombatik, at aftanden mellem to vilkårlige peroner i hele verden var ek. Senere er dette blevet til udtrykket ix degree of eparation [46, 50]. Om Milgram forøg virkelig var god forkning, er der nogen uikkerhed om, men det tår dog klart, at der kan optille matematike modeller, der delvit kan forklare Milgram overrakende reultat [39]. 2.1 Grafteori En måde at modellere en mængde elementer, der interagerer indbyrde, er at anvende en graf. En graf betår af en række objekter kaldet knuder og en række relationer, der forbinder knuder, kaldet kanter. Milgram forøg kan modellere ved brug af denne grafteori. En 7

+ KAPITEL 2. TEORI 2.1. GRAFTEORI peron repræentere ved en knude og en ocial relation med en kant mellem to knuder. Antallet af kanter, der forbinder en knude, vier ålede, hvor mange ociale relationer eller venner den pågældende peron har. De enkelte breve vej fra peronen i Omaha, via mellemmænd, til børmægleren i Boton, varer i modellen til en række af knuder, der er parvit forbundet med kanter, ålede at der finde kanter hele vejen fra knuderne, der repræenterer forøgperonerne i Omaha, over alle mellemmændene, for at ende i knuden, der repræenterer børmægleren i Boton. Hvi der ekiterede et komplet billede af de ociale relationer i USA på Milgram tid, kunne hele befolkningen ociale relationer repræentere i en ådan graf. En graf kan ikke kun bruge til at modellere netværk af ociale relationer, men ogå mere generelt ytemer betående af objekter og relationer mellem die. Sålede kan f.ek. Internettet modelere om en graf, hvor computere og routere er repræenteret ved knuder, og de forkellige fyike forbindeler, der forbinder dem i et netværk, er repræenteret ved kanter. Tilvarende kan denne grafteori bruge til at viualiere f.ek. telefonopkald. For hver abonnent indføre en knude i grafen, og for hvert opkald mellem to abonnenter forbinde de tilvarende knuder med en kant. Grafer kan ålede bruge til at modellere mange forkellige naturligt fremkomne kompleke ytemer, herunder P2P netværk. Et vigtigt problem for mange af die kompleke ytemer er, at der ikke har ekiteret empirik materiale, der kunne undertøtte, at die modeller topologi temte overen med det, de kulle modellere. Den øgede mulighed for dataindamling har gjort, at der nu i tigende grad er adgang til ådan empirik materiale, og om enere afnit vil bekrive, har det medført en væentlig udvikling inden for grafmodeller [16]. 2.1.1 Grafer egenkaber Grafer har en lang række intereante egenkaber. For at fortå die vil dette peciale anvende følgende definitioner: Graf En mængde af kanter og knuder.. Knude Punkt eller objekt. Enkelte betegne om og hvi der er flere med nummer eller anden betegnele om i eller og endelig en mængde om. Antallet af knuder i en mængde betegne om eller blot. Kant Forbinder to knuder i en relation. Kanten forbinder de to knuder og. Mængden af knuder definere om. Antallet af kanter i en mængde betegne med eller blot. En graf kan ikke have cykler hvor amme knude er i begge ender af en kant, om f.ek.!"# $" og der kan ikke være to forkellige kanter, der ( forbinder de amme par af knuder, om f.ek. %'& %$ )& *. Sti En ekven af knuder hvor der for hvert par af to på hinanden følgende knuder ekiterer en kant imellem die. Længden af en ti er antallet af knuder, der paere. Antallet af kanter på en ti benævne om antal hop. Forbundet komponent Delmængde af en graf, hvor der ekiterer en ti mellem alle par af knuder, og yderligere finde der ikke nogen ti fra en knude i den forbundne komponent til en anden knude udenfor den forbundne komponent. Den komponent med flet knuder benævne om GCC (Giant Connected Component). +, -. 010 Relativ tørrele af den tørte forbundne komponent. -3254"2567. 8

KAPITEL 2. TEORI 2.1. GRAFTEORI Gennemnitlig tørrele af de forbundne komponenter, fraregnet den tørte forbundne komponent. Grad Antallet af kanter en knude indgår i. Koordination tal Gennemnitlig grad over alle knuder i en graf. Karakteritik tilængde Gennemnitlig kortet tilængde mellem alle par af knuder. Small world graf Graf hvor den karakteritike tilængde er proportional med. Søgeomkotning Længden af den ti en forepørgel følger, fra en øgning tarte, til den ønkede reource er lokalieret, eller hele grafen er gennemøgt. Klyngekoefficient Den gennemnitlige andynlighed for at to naboer af en given knude ogå er hinanden naboer. Det vier ig, at to vigtige egenkaber ved grafer topologi, er fordelingen af grader og klyngekoefficienten. Et netværk over ociale relationer kunne betå af mange klynger, hvor de flete kender hinanden indenfor de enkelte klynger. I hver klynge er der typik en eller nogle få, der har relationer til peroner i andre klynger, og på den måde forbinde alle de enkelte klynger til en tor forbundet komponent, der udgør netværket. Die pecielle knuder fungerer om en lag broer imellem de enkelte komponenter. I Milgram forøg paerede ålede en fjerdedel af brevene, der nåede frem, f.ek. igennem én og amme peron; en lokal butikindehaver i Boton [50]. Forkere har længe forøgt at forklare Milgram forøg og andre kompleke ytemer ved at optille en række modeller for ytemerne topologi. I det følgende afnit vil tre af die modeller blive bekrevet. 2.1.2 ER modellen Erdö og Rényi (ER) [18] opdagede at en del grafproblemer kunne løe ved at generere grafer, hvor kanterne forbandt tilfældige knuder. En tilfældig graf indeholder derfor ikke ekplicit nogen form for forudbetemt truktur. En tilfældig ER-graf betår af knuder. Imellem hvert par af knuder trække der en kant med andynligheden. ER modellen har den fordel, at en del gennemnitlige værdier kan udregne nøjagtigt for tore værdier af. Af definitionen følger, at det gennemnitlige antal kanter i en ådan graf er, og da der er to knuder for hver kant, er den gennemnitlige grad for hver knude: En af ER tørte opdageler var, at mange af ER-graferne egenkaber optod pludeligt ved betemte værdier for. ER vite, at å længe og dermed er lille, er det andynligt, at grafen er fragmenteret i mange må komponenter. Når øge, tilføje ført iolerede knuder, og enere amle mindre komponenter til tørre komponenter. Ved ker der en faeovergang, og de mange komponenter begynder at blive amlet i en tor forbundet komponent. For indholder denne tore forbundne komponent omtrent alle knuder, og den nættørte forbundne komponent indeholder kun omkring knuder [49, 62]. Hvi en gennemnitlig knude har umiddelbare naboer,!, å er antallet af naboer op til to hop væk omtrent, ætte diameteren af grafen å til, vil hele grafen kunne 9

KAPITEL 2. TEORI 2.1. GRAFTEORI opdage i die kridt,. Denne logaritmike vækt af er typik for netværk, der udvier mall world karakteritika [46, 50]. I en ådan graf er der nogle knuder, der har en højere grad end andre. Lad være andelen af knuder, der har graden. Generelt gælder det for tilfældige grafer af denne type, at dere grad følger en binomial fordeling [49]: - Når bliver det til en Poion fordeling [15, 49, 62]: % (2.1) Det bemærke, at funktionen aftager ekponentielt for tore værdier af. Et plot af denne funktion for er vit på figur 2.1. 0.18 0.16 0.14 0.12 0.1 P(k) 0.08 0.06 0.04 0.02 0 0 2 4 6 8 10 12 Figur 2.1: Poion fordeling. For at gøre grafen mere overkuelig er de enkelte punkter forbundet med treger, påtrod af, at funktionen kun er defineret for poitive heltal. k Sandynligheden for at to par af knuder er forbundne, er per definition uafhængig af, om de i forvejen har en fælle nabo, og der er derfor ikke nogen tørre andynlighed for at to knuder, der har en fælle nabo, ogå elv er naboer. Derfor gælder det for ER-grafer, at klyngekoefficienten ikke er pecielt høj, [18]. 10

KAPITEL 2. TEORI 2.1. GRAFTEORI 2.1.3 WS modellen Watt og Strogatz (WS) [67] demontrerede, at klyngekoefficienten for en række virkelige netværk ikke temte overen med klyngekoefficienten i ER-grafer. WS modellen benytter ig i modætning til ER modellen ikke af tilfældige, men trukturerede grafer. Denne imple model blev udviklet for at kabe en model med korte tilængder, en mall world graf, amtidig med, at den kunne udvie en høj klyngekoefficient. Udgangpunktet for en WS graf er et endimenionelt gitter, hvor enderne forbinde til en ring af knuder, hvor hver knude er forbundet til de nærmete naboer. Hvi vil den gennemnitlige tilængde mellem to knuder nærme ig. Derfor er WS grafer ikke umiddelbart mall world grafer. Men ved at kombinere den regulære graf med den tilfældige, opdagede WS, at de kunne opnå intereante reultater. Tricket de brugte var at genforbinde (rewire) nogle af de regulære kanter med tilfældige kanter. Figur 2.2 illutrerer hvordan en WS graf generere. (a) (b) (c) Figur 2.2: WS model. (a) Endimenionelt gitter, hvor hver knude er forbundet med de nærmete naboer. Her er. (b) Det amme endimenionelle gitter med en periodik græne, å den bliver til en ring. (c) Modellen genforbinder knuder, i dette tilfælde fem, til tilfældigt udvalgte andre knuder [46]. I det endimenionelle gitter ertatte det ene endepunkt for hver kant med andynlighed på med en anden tilfældigt udvalgt knude. For er en WS graf helt regulær, men den er helt tilfældig ved. Ved at variere opdagede WS, at kun ganke få kanter kulle ændre, for at grafen blev til en mall world graf. Selv ved eller endnu lavere er dette tilfældet [67]. Denne ændring af grafen topologi er ålede tydelig på det globale niveau, men på det lokale niveau er det vært at e nogen forkel. Næten alle knuderne har tadig en grad på, og de flete kanter er uændret. [50]. Gradfordelingen for WS modellen er tærkt afhængig af. For er den: For tigende værdier af bliver for fordelingen bredere, men topper tadig omkring for til idt ved at nærme ig ER modellen Poion-fordeling [19]. Ligeom for ER-grafer er der meget ringe andynlighed for meget tore værdier af. 2.1.4 BA modellen Barabái og Albert (BA) [15] fokuerede ikke på klyngekoefficienten, men på gradfordelingen. Ligeom ER-grafer er BA-grafer tilfældige, dog har alle knuder ikke en grad på 11

KAPITEL 2. TEORI 2.1. GRAFTEORI tilnærmelevi. Både ER og WS tarter med et fatlagt antal knuder, der er tilfældigt forbundet i ER modellen og genforbundet i WS modellen, og er uændret. I modætning dertil er BA modellen åben på den måde, at den forme ved, at der hele tiden tilføje nye knuder. F.ek. voker Internettet ig hele tiden tørre ved tilføjele af nye ider. BA demontrerede, at ER og WS modellerne gradfordeling ikke modellerer naturlige netværk gradfordeling tilfredtillende. Det gælder å forkellige ytemer om genetike netværk og World Wide Web [15]. BA vite, at mange meget forkellige virkelige netværk gradfordeling aftager om en power law funktion, ålede at gradfordelingen følger den følgende power law fordeling [15]: Kontanten er normalieringkontanten ålede at Denne type netværk kalde cale free, fordi antallet af knuder ikke indgår i. Umiddelbart kan der indvende, at ej heller indgår i Poion fordelingen for ER-grafer, men om det e, indgår i binomialfordelingen, og det er kun når, at ikke umiddelbart indgår i fordelingen. Hvorimod ikke indgår i i for cale free netværk. Figur 2.3 vier en power law fordeling, hvor. Ofte benytte en power law fordeling kun for gradfordelingen hale, dv. for høje værdier af, men lavere værdier følger dere egen fordeling. Plotte en power law fordeling med en dobbeltlogaritmik kala, vil den reultere i en ret linie med hældningkoefficienten, om vit på figur 2.4. 0.7 0.6 0.5 0.4 P(k) 0.3 0.2 0.1 0 1 2 3 4 5 6 7 8 9 10 k Figur 2.3: Plot af power law fordeling BA frematte den hypotee, at netværk med en power law gradfordeling fremkommer naturligt pga. to faktorer; vækt og foretrukken kobling. Netværk udvide hele tiden med 12

KAPITEL 2. TEORI 2.1. GRAFTEORI 1 0.1 0.01 P(k) 0.001 0.0001 1e 05 1 10 100 k Figur 2.4: Log-log plot af power law fordeling nye knuder, der forbinde til knuder, der allerede er en del af ytemet. ER modellen antager, at andynligheden for at to knuder er forbundne, er en for alle par af knuder. BA modellen derimod antager, at når nye knuder bliver en del af ytemet, ker det ved foretrukken kobling. Dv. at der er tørre andynlighed for, at en ny knude kobler ig til en knude i netværket, der allerede er godt forbundet, end at den kobler ig til en, der kun har få forbindeler til andre knuder i netværket [15]. Figur 2.5 illutrerer den viuelle forkel mellem en ER-graf og BA-graf. Begge grafer betår af 130 knuder og 215 kanter. ER-grafen er homogen, og hver enkelt knude har i gennemnit naboer. BA-grafen er langt mindre homogen; hovedparten af knuderne har kun en grad på 1, men en lille del af knuderne har en meget høj grad. I begge ekempler er de fem knuder med højete grad farvet røde, og alle dere naboer grønne. I ER-grafen er det kun 27% af knuderne, der kan nå af die fem knuder, men det i BA-grafen er hele 60%, der kan nå. Dette demontrerer tydeligt vigtigheden af knuderne med høj grad. Den primære årag til forkellen er, at det i en Poion gradfordeling er nærmet umuligt at have knuder med en meget høj grad, da Poion fordelingen er ekponentielt aftagende for tore. Power law fordelingen er derimod ikke ekponentielt aftagende, om det fremgår af figur 2.3. Der er ålede rimelig andynlighed for, at en knude har en meget høj grad. Som reten af pecialet vil vie har dette vidtrækkende konekvener for die grafer egenkaber. 13

KAPITEL 2. TEORI 2.2. SØGNING Figur 2.5: Ekempel på a) ER-graf b) BA-graf [16]. 2.2 Søgning Et overrakende reultat af Milgram forøg er, at det var muligt for deltagerne at finde korte tier til modtageren. Med global viden om netværket topologi er det naturligvi ikke noget problem, men hvordan det var muligt for deltagerne uden denne globale viden at finde die tier, er et vigtigt pørgmål. I P2P ytemer kunne et tilvarende problem være at lokaliere en given reource uden brug af global viden. I de følgende afnit vil tre øgealgoritmer blive præenteret. Fælle for dem alle er, at de ikke anvender nogen form for global viden men højt en grad af lokal viden. 2.2.1 Flooding En øgealgoritme, der ikke gør brug af nogen viden overhovedet, er Gnutella imple flooding algoritme. Gnutella foretager øgning på følgende måde. En øgning tarte ved at ende en forepørgel til alle nabonoder. Når en node modtager en forepørgel, underøge det, om øgningen er et før. Hvi ikke ende forepørglen videre på alle forbindeler til nabonoderne, dog undtaget den node hvorfra forepørglen blev modtaget. Inden forepørglen ende videre, nedkrive forepørglen Time To Live (TTL) værdi med en. Når TTL værdien når nul, terminere forepørglen, og den ende ikke videre. I Gnutella netværket anvende typik en værdi på yv for TTL. Enhver node, der tilbyder reourcer, den mener, opfylder øgekriterierne, kan ende et var tilbage til afenderen. Ekempel 2 En mennekelig analogi ville være, hvi Alice kulle finde en, der kendte til en jælden madopkrift. Hende øgning ville å tarte med, at hun purgte alle ine venner, om de kendte til opkriften, eller om de ville pørge dere venner. Når Alice havde purgt in ven Bob, ville han pørge alle ine venner, der i blandt Charlie. Charlie får imidlertid ikke at vide, hvem Bob pørger for, å Charlie pørger alle ine 14

KAPITEL 2. TEORI 2.2. SØGNING venner, der i blandt Alice. Til idt vil die mange forepørgler reultere i, at alle i hele netværket er blevet purgt, nogle endda flere gange. Ekemplet vier, at denne øgetrategi medfører, at en node kan modtage den amme øgning flere gange; op til én gang på hver forbindele den har til andre noder. Denne ekponentielle vækt i antallet af øgeforepørgler bevirker, at en tor del af den tilgængelige båndbredde går til pilde. Efterhånden om tørrelen af Gnutella netværket er blevet øget, har det vit ig, at noder med langomme internetforbindeler impelthen ikke kan følge med længere, fordi hele dere tilgængelige båndbredde bruge til at modtage og videreende øgeforepørgler og andre adminitrative bekeder [14]. Hong [50] modellerer Gnutella netværket med en ER-graf med. Simulationerne vier, at den anvendte båndbredde er proportional med antallet af øgeforepørgler, der ende, der igen er proportional med antallet af noder, der kal kontakte, før den ønkede reource finde. Dette etimerer den minimale båndbredde, der kal bruge, og tager ikke højde for, at en node kan modtage den amme forepørgel flere gange, eller at øgningen fortætter elv efter at have lokalieret den ønkede reource. Die imulationer vier, at antallet af noder, der modtager en given øgning, er proportional med netværket amlede tørrele. Dette er naturligvi et alvorligt problem for ytemet, at den enkelte node kal benytte båndbredde, der er proportionalt med. En løning kunne være at begræne øgningen til en lav TTL værdi, men det vil medføre at færre øgninger vil lokaliere den ønkede reource [50]. Den valgte løning har imidlertid været at indføre en hierarkik opdeling af netværket, ålede at nogle uper noder indekerer reourcerne for en række noder længere nede i ytemet. Når en øgeforepørgel modtage, kan die uper noder å vare itedet for elve noderne, og der bliver dermed ikke endt å mange bekeder, og ytemet kalerer bedre. Denne opdeling gør reelt det, at en gruppe af noder ertatte af en enkelt uper node [5, 50]. Andre underøgeler af Gnutella netværket topologi indikerer derimod, at netværket bedt modellere ved brug af en BA-graf [59]. Hvi denne topologi er korrekt, medfører det, at flooding er ærdele uegnet. Noder med høj grad vil i meget tor grad modtage duplikater af allerede modtagne forepørgler [41]. 2.2.2 Tilfældig vandrer For at undgå denne voldomme vækt i antallet af bekeder, kan en forepørgel foregå ved, at der kun udende en enkelt beked, der ikke kopiere til flere amtidige bekeder. En ådan forepørgel kalde en tilfældig vandrer (TV). Når en node modtager vandreren, videreende den til en anden tilfældig node, der ikke er afenderen. Er der ikke flere naboer at videreende vandreren til, ende den tilbage til noden, hvorfra den kom. Ekempel 3 I Alice øgen efter den jældne madopkrift vil dette vare til, at hun vælger en tilfældig ven at pørge. Bob er naturligvi den heldige ven, og han vil å igen pørge en af ine venner. Ekemplet indikerer, at andynligheden for, at en vilkårlig peron bliver purgt, er proportional med antallet af venner, peronen har. I de flete netværk er det paende at antage, at den enkelte node har viden om den umiddelbare naboer. Denne viden kunne f.ek. betå af et lokalt indek, der indekerer hvilke reourcer naboerne tilbyder. 15

KAPITEL 2. TEORI 2.2. SØGNING Adamic et. al. (Adamic) [14] vier vha. imulationer, hvor naboer har lokal viden om naboer to hop væk, at den gennemnitlige øgetid i BA-grafer med en ekponent på kalerer om en poten funktion med en ekponent på [14]. Newman [49] introducerer Probability Generating Function (GF) for tilfældige grafer. GF gør det muligt at udregne en række egenkaber for tilfældige grafer nøjagtigt. Vha. GF opnår Adamic imidlertid et andet reultat end i imulationerne. Ført indføre en makimal grad (cutoff ) ålede at. Denne værdi vælge ålede at det forventede antal noder med grad er én i en fordeling uden dette makimum. I en graf med en makimal grad på er der ålede ingen knuder, der har en grad, der er højere end. Hvi øgeomkoningen definere om antallet af hop, der kal tage, før hele grafen er opdaget ålede at ( hvor er antallet af naboer to hop væk når der foretage en tilfældig vandring, kan det vie, at det varer til [14]: Indætte og fra imulationen opnå, en ekponent på 0,15. Simulationerne vier altå en tor afvigele. Både teori og imulationer bekræfter, at det er muligt at finde øgealgoritmer, der udelukkende anvender lokal viden, der kalerer ublineært ifht.. Pga. det anvendte cutoff er Adamic reultater en øvre græne for øgeomkotningerne. Adamic giver imidlertid ogå en anden forklaring på, hvorfor afvigelerne er å tore. I et netværk, hvor hver reource er replikeret på flere noder, er det paende at underøge, hvor lang tid det tager, før en øgning har lokalieret halvdelen af knuderne. I Adamic model har hver knude et lokalt indek med information om knuder i en radiu af to hop, å hver gang en øgning ankommer til en knude, opnår den ikke kun information om knuden, den ankommer til, men vha. det lokale indek ogå knuderne op til to hop væk. Simulationerne vier, at tiden for at opdage halvdelen af knuderne kalerer med en ekponent på 0,15, hvilket er det amme reultat om opnået med GF. Denne kalering indikerer, at det er relativt let at finde de førte knuder, men andre medfører tore øgeomkotninger. 2.2.3 Gradøger Udover at anvende denne form for begrænet lokal viden, kan det upplere med viden om naboerne grader. Adamic demontrerer, hvorlede en BA-graf gradfordeling kan udnytte til at effektiviere øgning. Gradøger (GS) algoritmen fungerer i princippet om en tilfældig vandrer. En forepørgel videreende ikke til en tilfældig node, men øger den nabo med højete grad. Samtidig ende den ikke tilbage til noder, der allerede har et øgningen, hvi der er andre at ende forepørglen til. Ekempel 4 Alice øgen efter madopkriften fortætter. Ikke bare ved hun, hvor mange andre venner hende venner har. Hun ved ogå hvilke madopkrifter, hende venner kender til. Alice ved, at ingen af hende venner kender til den jældne opkrift, å derfor er hende fremgangmåde at pørge Bob, om er den af hende venner, der har flet venner. Bob vil å igen pørge den af han venner, der har flet venner og ådan fortætter jagten på den jældne madopkrift. Denne videreendele af en forepørgler til naboer af højete grad vil hurtigt reultere i, at knuden med den højete grad nå. Derefter fortætter forepørglen igen langomt 16

KAPITEL 2. TEORI 2.2. SØGNING ned i hierarkiet. Figur 2.6 vier graden af knuden for hvert øgekridt for både ER og BAgrafer. I to kridt når GS forepørglen til knuden med højete grad og derefter fortætter den langomt nedad i hierarkiet til knuder af lavere grad. Til ammenligning har knuden med højete grad i ER-grafen kun en grad på 11 og nå ført efter 80 kridt. Det fremgår tydeligt af figuren, at der i tarten af øgningen vil opdage langt flere knuder i BA-grafen end i ER-grafen. Figur 2.6: Graden af knuder et ved en øgning i en graf med [14]. Simulationer foretaget af Adamic har vit, at øgetiden i BA-grafer med kalerer om en poten funktion med ekponenten 0,70 [14]. Vha. GF opnå ligeom for ER-grafer en anden teoretik øgetid på: Simulationer vier imidlertid, at tiden for at afdække halvdelen af knuderne kalerer ligeom værdien udledt vha. GF med en ekponent på 0,1. Til ammenligning opnå i ERgrafer en ekponent på 0,85, både ved imulationer og udledt vha. GF. ER-graferne Adamic benytter, er genereret ålede, at er vagt tigende i, ålede, at grafen har amme antal kanter om en BA-graf med cutoff [14]. 17

KAPITEL 2. TEORI 2.3. REPLIKATION 2.3 Replikation Den manglende eller meget løe kobling mellem reourceplacering og netværket topologi gør, at øgning foregår i blinde. Når en given node modtager en øgeforepørgel, har den ingen forudætninger for at afgøre, hvor den enkelte øgning kal videreende til for at kunne løe hurtigt muligt. GS algoritmen råder delvit bod på dette problem, men alle øgninger behandle en ved alle noder og afhænger ikke af, hvilken reource der konkret øge efter. Itedet for at opbygge en kompliceret topologi, der gør øgning let, kan det itedet udnytte, at reourcer i mange forkellige P2P ytemer naturligt bliver replikeret om en del af netværket funktion. Denne replikation, eller blot pegere til hvor reourcer kan lokaliere, kan udnytte til at aitere øgningen. Adamic model arbejder deuden med begrænet men aktiv replikation, hvor hver node vedligeholder et indek over, hvilke reourcer noder op til to hop væk har at tilbyde. Selve reourcerne replikere ikke, men kun pegere til hvor reourcerne kan finde [14]. 2.3.1 Paiv replikation En impel og naturlig form for replikation betår i, at når Alice endelig har fundet den jældne madopkrift, å laver hun en kopi af den til ig elv. Det tilvarende kete i Napter, når en node havde hentet en mp3 fil. Denne replikation er meget impel, idet der ikke kal ende nogle ektra bekeder overhovedet for at opnå denne replikation. Denne implicitte replikation foregår naturligt i en lang række P2P netværk om f.ek. Gnutella og Overnet. 2.3.2 Stireplikation Cohen et. al. (Cohen) [26] forlår en ekplicit metode til aktivt at replikere reourcer i et P2P netværk. Udgangpunktet er at underøge hvor mange replikater af en reource, der kal være i netværket for at minimere øgeomkotningerne Cohen vurderer, at GS algoritmen overbelater de knuder med høj grad, å der anvende tilfældige vandrere og ingen lokal viden. I modellen forøge ført to forkellige metoder til replikation. Ført underøge effekten af, at alle reourcer replikere med amme frekven og dernæt, at de replikere proportionalt i forhold til frekvenen af øgeforepørgler efter denne reource [26]. Simulationerne vier, at ingen af de to forelåede modeller er optimal. Proportional replikation gør det lettere at finde populære reourcer, men de mindre populære forbliver være at finde. En replikation minimerer den makimale øgeomkotning, men er heller ikke optimal. Enhver løning der ligger imellem proportional og en replikation er bedre, men alle andre er dårligere. Den bedte løning finde, hvi de enkelte reourcer replikere proportionalt med kvadratroden af øgefrekvenen. Cohen argumenterer for, at denne fordeling kan opnå ved tre forkellige imple ditribuerede algoritmer. Den implete forelåede algoritme er tireplikation. Når en øgning har lokalieret en reource, replikere en peger ho hver af knuderne på tien tilbage til afenderen. 2.4 Robuthed Med robuthed (reilience) mene netværket evne til at fungere på trod af, at dele af netværket ikke længere fungerer. En efter igende vigtig årag til, at Internettet blev udvik- 18

KAPITEL 2. TEORI 2.4. ROBUSTHED let, var at det amerikanke forvar ønkede et robut kommunikationnetværk, der kunne overleve et nukleært angreb. Tilyneladende opfylder Internettet dette krav ved, at der er flere ruter mellem to punkter. Underøgeler af Internettet topologi har vit at det gradfordeling følger en power law. Derfor har underøgeler af BA-grafer evne til at modtå fejl og angreb ikke kun betydning for P2P netværk, men ogå for en række andre kompleke ytemer [16]. Udover die redundante tier er der ogå andre egenkaber ved et netværk topologi, der har indflydele på, hvor robut et netværk er. I det følgende medregne kun den tatike komponent i cenarierne. F.ek. hvi en router i Internettet går ned, vil det reultere i, at en del trafik route omkring den defekte router, og ålede øger belatningen for andre routere. I det følgende er der ikke taget højde for ådanne afledte effekter, men udelukkende hvordan et tatik ytem reagerer under die cenarier. Netværk robuthed underøge ved gradvit at fjerne knuder og de tilhørende kanter fra grafen. Andelen af knuder, der er fjernet, benævne. Et netværk robuthed vurdere udfra, om der finde en værdi for. Dv. om netværket går i opløning eller ej. Efterhånden om der fjerne knuder fra graferne, er der to muligheder. Enten er netværket robut, og der ekiterer en tor forbundet komponent, ligegyldigt hvor mange knuder der fjerne. Eller netværket er ikke robut, og efter at der er fjernet en andel på af knuderne, ophører netværket med at have en tor forbundet komponent, og der er kun tier imellem knuder, der tilhører den amme lille forbundne komponent. For ethvert kommmunikationnetværk er denne tiltand af mange må komponenter fatal, da det ikke er muligt at kommunikere med bare tilnærmelevi alle andre knuder i netværket. 2.4.1 Fejlcenarie For at modellere fejl fjerne et antal tilfældigt udvalgte knuder fra grafen. For BA-grafer vier Newman, at der ikke ekiterer nogen for BA-grafer med [46]. Itedet bliver tørrelen af den tørte forbundne komponent blot gradvit mindre. Et andet klart tegn er at, hvilket vil ige, at hovedparten af de knuder, der miter kontakten til GCC, er enkelte knuder og ikke tore komponenter. Under fejlcenariet forbliver BA-grafen ammenhængende og dermed itand til at kommunikere. For ER-grafer vier BA, at der ekiterer en værdi for. Så længe er lille, er det hovedageligt kun enkelte noder, der miter forbindelen til GCC, men efterhånden om tiger, brækker tørre dele af grafen af. Når nå, går den tore forbundne komponent i opløning, og ytemet falder fuldtændigt fra hinanden og ophører med at kunne kommunikere [16] 2.4.2 Angrebcenarie Itedet for at fjerne knuder tilfældigt om i fejlcenariet, fjerne knuderne med højete grad ført under angrebcenariet. Dette ker under antagele af, at en angriber har viden om netværket topologi, og derfor kan iværkætte et målrettet angreb. Newman udregning af for BA-grafer med forkellige værdier af vie på figur 2.7. Af figuren fremgår det, at BA-grafer med en ekponent har den højete kritike værdi på. Det fremgår meget klart, at BA-grafer er meget årbare overfor målrettede angreb, men derimod meget modtanddygtige overfor tilfældige fejl. Det er dog påfaldende, at net- 19

KAPITEL 2. TEORI 2.4. ROBUSTHED Figur 2.7: Kritik andel om funktion af [49]. værk med værdier af udvier tørt robuthed overfor angreb, da flere oberverede netværk, f.ek. lige fra AT&T opkaldgraf over grafer over Internettet backbone til en graf over World Wide Web link, vier ig at have værdier for i intervallet [14]. BA reultater bekræfter, at der ekiterer en værdi for for BA-grafer. Dog er dere opnåede reultat en noget højere værdi. Ligeom under fejlcenariet er ER-grafer årbare overfor målrettede angreb, og der ekiterer en værdi for [16]. 20

Kapitel 3 Simulationer 3.1 Implementation Til afvikling af imulationerne anvende en impel model for P2P netværk. Bai for denne model er naturligvi en graf. I modellen antage det, at: et decentralt og utruktureret P2P netværk kan modellere om enten en BA eller en ER-graf. P2P netværket topologi er tatik. lagerkapacitet i netværket er begrænet, ålede at alle reourcer ikke kan replikere overalt. Dog antage det at der ikke er nogen begrænning ho den enkelte node for tørrelen af det lokale indek. der ekiterer kun én reource i modellen. Sålede varer øgning efter denne reource til at lokaliere én betemt knude. Modellen og implementationen kan relativt nemt udvide til at håndtere flere reourcer. den tilgængelige båndbredde ikke er begrænet. Det forvente at BA-grafen temmer bedt overen med topologien af et P2P netværk og derfor ligger hovedvægten af imulationerne på die grafer. Denne forventing bygger på flere tudier, der vier, at dette gælder for topologien i f.ek. Gnutella og Freenet netværkene [50, 58]. Flere underøgeler vier, at naturligt forekomne BA-grafer typik har [14, 15, 31]. Derfor benytte værdien for de genererede BA-grafer. Til ammenligning af reultaterne vil ER-grafer med amme antal kanter og knuder blive anvendt i en del imulationer. Muligheden for at imulere øgninger i WS grafer er fravalgt, da det vurdere, at de to andre modeller er bedre til at modellere P2P netværk. Ligelede er muligheden for at foretage flooding øgninger, om f.ek. Gnutella anvender, fravalgt. Generelt antage et tatik ytem fordi imulation af noder, der kobler ig til og fra P2P netværket, er et kompliceret problem i ig elv. I denne model kræve det, at det nøjagtige navn på en reource kende, før der kan øge efter den, men fritektøgning vil i princippet blive anvendt på tilvarende måde. Dog kan modellen kun håndtere ét var per øgeforepørgel. Alle die forbehold tage for, at reultaterne af imulationerne kal være fri for fortyrrende faktorer og relativ impel at implementere. 21

KAPITEL 3. SIMULATIONER 3.1. IMPLEMENTATION 3.1.1 Deign Til implementationen er valgt en impelt objekt orienteret deign. De forkellige klaer fremgår af figur 3.1. Deignet er en balance mellem en ren grafteoretik imulation og det P2P netværk, der kal modellere. Deignet fremkom meget tidligt i proceen, inden et endeligt mål for pecialet var etableret. For at gøre deignet å flekibelt om muligt, kom deignet til at ligge ret tæt på P2P modellen og længere væk fra et rent grafteoretik deign, hvor nogle af imulationerne andynligvi kunne afvikle om klaike grafproblemer. Figur 3.1: Klaediagram over den implementerede imulation. I det følgende vil den valgte implementation kort blive gennemgået: Search Klaen Search repræenterer en øgeforepørgel. Klaen indeholder funktioner til at opnå forkellige informationer om en øgeforepørgel, åom tien forepørglen har fulgt, om den ønkede reource er fundet, og hvilken reource der øge efter. Vertex Klaen Vertex repræenterer en node i netværket om en knude i grafen. En node har funktioner til at betemme hvilken nabo en øge forepørgel kal videreende til, amt metoder til at tilføje og fjerne naboer fra naboliten. Cache Klaen Cache repræenterer det lokale indek for hver enkelt node. Det lokale indek fungerer ved for hver reource at indeholde en peger til den næte knude på tien til reourcen. Dog er der et hul i deignet ålede, at information om nabo knuder grad ikke vedligeholde i det lokale indek, men den pågældende knude pørge hver gang. Denne information burde naturligvi repræentere i det lokale indek i tedet. Graph Klaen Graph repræenterer P2P netværket topologi i form af en graf. Sålede er klaen vigtigte funktioner at vedligeholde en tabel med alle knuder i grafen amt at rene grafen, ålede at den kun indeholder en tor forbunden komponent. Selve genereringen af graferne foregår i de nedarvede klaer ERgraph og BAgraph. ERgraph Klaen ERgraph enete formål er at give en kontruktør, der gør det muligt at generere ER-grafer. BAgraph Klaen BAgraph enete formål er at give en kontruktør, der gør det muligt at generere BA-grafer. Kildekoden til alle klaer fremgår af appendik A. Udover die klaer betår implementationen af en række hjælpefunktioner i filen aux.ccp i appendik A.4. Den detaljerede tyring af de forkellige imulationer foregår vha. af et cript, der er gengivet i appendik A.17 i kombination med main.cpp, der er gengivet appendik A.2. 22