Kademlia

Kademlia

Informasjon
Utviklet av Petar Maymounkov og David Mazières
Første versjon 2002
Miljø Uavhengig
Type Hash-bord

Kademlia (Kad) er en distribuert hash tabell typen overliggende nettet for peer-to-peer (P2P-nettverk). Den ble designet av Petar Maymounkov og David Mazières i 2002.

Beskrivelse

Protokollen spesifiserer strukturen til Kademlia-nettverket, kommunikasjonen mellom nodene og utveksling av informasjon. Nodene kommuniserer ved hjelp av UDP (se OSI-modellen ).

Innenfor et eksisterende nettverk ( Internett ) oppretter Kademlia et nytt nettverk der hver node identifiseres av et identifikasjonsnummer, en ID (160- bit binært tall ).

Etter en startfase som består i å kontakte en node i nettverket og deretter å skaffe en ID, beregner en matematisk operatør "avstanden" mellom to noder, og forhører flere noder i henhold til denne "avstanden" for å finne den etterspurte informasjonen. Denne operatøren, som er den eksklusive OR , også kalt XOR, gjør det mulig å bruke en forestilling om avstand mellom to noder som gir et resultat i form av et heltall  : "avstanden". Sistnevnte har ingenting å gjøre med deltakernes geografiske beliggenhet, men modellerer avstanden innenfor ID-kjeden. Det kan derfor skje at en node i Tyskland og en node i Australia er "naboer".

Informasjon i Kademlia er lagret i "verdier", hver verdi er knyttet til en "nøkkel". Vi sier om Kademlia at det er et nettverk <verdi, nøkkel>.

Nøkkelsettet som administreres av en node er relatert til adressen til denne noden; altså, ved å kjenne en nøkkel, kan algoritmen bestemme den omtrentlige avstanden som skiller den fra noden som har verdien assosiert med denne nøkkelen. For å finne en nøkkel plassert på en node N, vil en node A lete etter en nabo B med Distance (B, N) <Distance (A, N), og be ham om informasjonen; hvis sistnevnte ikke har den, vil den kontakte en nabo nærmere nøkkelen, og så videre til den oppnår verdien av nøkkelen (eller til vi er sikre på at denne nøkkelen ikke eksisterer). Størrelsen på nettverket har ikke stor innflytelse på antall noder som blir kontaktet under søket; hvis antall nettverksdeltakere fordobles, må brukerens node bare be om informasjon fra bare en node til.

Andre fordeler ligger i en desentralisert struktur, for eksempel å øke motstanden mot et denial of service-angrep. Selv om en hel rad med noder er under vann, vil det bare ha begrensede effekter på nettverkstilgjengeligheten, noe som vil "sy" nettverket rundt disse hullene.

Historisk

Faktisk bruk

Filutveksling

Kademlia-protokollen brukes av flere peer-to-peer-klienter (nettverkene er inkompatible med hverandre):

Noen programmer bruker en Kademlia-protokoll isolert:

DNS


Se også

Merknader og referanser

  1. (i) Petar Maymounkov og David Mazieres , Kademlia: En Peer Peer-to-Information system basert på XOR Metric , Springer Berlin Heidelberg al.  "Forelesningsnotater i informatikk",7. mars 2002( ISBN  9783540441793 og 9783540457480 , DOI  10.1007 / 3-540-45748-8_5 , les online ) , s.  53–65
  2. [1]
  3. http://neoloader.com/features.htm
  4. http://sourceforge.net/projects/kadnode/files/

Eksterne linker