Kademlia

Kademlia

Information
Udviklet af Petar Maymounkov og David Mazières
Første version 2002
Miljø Uafhængig
Type Hash-bord

Kademlia (KAD) er et distribueret hash tabel typen overlay netværk for peer-to-peer (P2P) netværk. Det blev designet af Petar Maymounkov og David Mazières i 2002.

Beskrivelse

Protokollen specificerer strukturen i Kademlia-netværket, kommunikationen mellem noder og udveksling af information. Knudepunkterne kommunikerer ved hjælp af UDP (se OSI-modellen ).

Inden for et eksisterende netværk ( Internet ) opretter Kademlia et nyt netværk, hvori hver node identificeres med et identifikationsnummer, et ID (160- bit binært nummer ).

Efter en startfase, der består i at kontakte en node i netværket og derefter opnå et ID, beregner en matematisk operatør "afstanden" mellem to noder og forhører flere noder i henhold til denne "afstand" for at finde de ønskede oplysninger. Denne operatør, som er den eksklusive OR , også kaldet XOR, gør det muligt at bruge en forestilling om afstand mellem to noder, der leverer et resultat i form af et heltal  : "afstanden". Sidstnævnte har intet at gøre med deltagernes geografiske placering, men modellerer afstanden inden for ID-kæden. Det kan derfor ske, at en knude i Tyskland og en knude i Australien er "naboer".

Oplysninger i Kademlia er gemt i "værdier", hvor hver værdi er knyttet til en "nøgle". Vi siger om Kademlia, at det er et netværk <værdi, nøgle>.

Sættet med nøgler, der administreres af en node, er relateret til adressen på denne node. altså, ved at kende en nøgle, kan algoritmen bestemme den omtrentlige afstand, der adskiller den fra den knude, der har den værdi, der er knyttet til denne nøgle. For at finde en nøgle placeret på en node N, vil en node A lede efter en nabo B med Distance (B, N) <Distance (A, N) og bede ham om informationen; hvis sidstnævnte ikke har den, vil den kontakte en nabo tættere på nøglen og så videre, indtil den får nøgleværdien (eller indtil vi er sikre på, at denne nøgle ikke findes). Netværksstørrelsen påvirker ikke i høj grad antallet af noder, der er kontaktet under søgningen; hvis antallet af netværksdeltagere fordobles, skal brugerens node kun anmode om oplysningerne fra endnu en node.

Andre fordele ligger i en decentral struktur, for eksempel ved at øge modstanden mod et denial of service-angreb. Selv hvis en hel række noder er nedsænket, vil det kun have begrænsede effekter på netværks tilgængelighed, hvilket vil "sy" netværket omkring disse huller.

Historisk

Faktisk brug

Filudveksling

Kademlia-protokollen bruges af flere peer-to-peer-klienter (netværkene er uforenelige med hinanden):

Nogle programmer bruger en Kademlia-protokol isoleret:

DNS


Se også

Noter og referencer

  1. (i) Petar Maymounkov og David Mazieres , Kademlia: En peer-to-peer informationssystem baseret på XOR Metric , Springer Berlin Heidelberg al.  "Forelæsningsnotater i datalogi",7. marts 2002( ISBN  9783540441793 og 9783540457480 , DOI  10.1007 / 3-540-45748-8_5 , læs online ) , s.  53–65
  2. [1]
  3. http://neoloader.com/features.htm
  4. http://sourceforge.net/projects/kadnode/files/

eksterne links