Kademlia

Kademlia

informație
Dezvoltat de Petar Maymounkov și David Mazières
Prima versiune 2002
Mediu inconjurator Independent
Tip Masă Hash

Kademlia (kad) este o rețea de suprapunere distribuită de tip tabel hash pentru rețelele peer-to-peer (P2P). A fost proiectat de Petar Maymounkov și David Mazières în 2002.

Descriere

Protocolul specifică structura rețelei Kademlia, comunicațiile dintre noduri și schimbul de informații. Nodurile comunică utilizând UDP (vezi modelul OSI ).

În cadrul unei rețele existente ( Internet ), Kademlia creează o rețea nouă, în interiorul căreia fiecare nod este identificat printr-un număr de identificare, un ID (număr binar de 160 de biți ).

După o fază de amorsare constând în contactarea unui nod al rețelei apoi în obținerea unui ID, un operator matematic calculează „distanța” dintre două noduri și interogează mai multe noduri în funcție de această „distanță” pentru a găsi informațiile căutate. Acest operator, care este exclusiv OR , numit și XOR, face posibilă utilizarea unei noțiuni de distanță între două noduri care oferă un rezultat sub forma unui număr întreg  : „distanța”. Acesta din urmă nu are nicio legătură cu locația geografică a participanților, ci modelează distanța în cadrul lanțului de ID-uri. Prin urmare, se poate întâmpla ca un nod în Germania și un nod în Australia să fie „vecini”.

Informațiile din Kademlia sunt stocate în „valori”, fiecare valoare fiind atașată unei „chei”. Spunem despre Kademlia că este o rețea <valoare, cheie>.

Setul de chei gestionate de un nod este legat de adresa acestui nod; astfel, cunoscând o cheie, algoritmul poate determina distanța aproximativă care îl separă de nodul având valoarea asociată cu această cheie. Pentru a găsi o cheie situată pe un nod N, un nod A va căuta un vecin B cu Distanță (B, N) <Distanță (A, N) și îi va cere informații; dacă acesta din urmă nu o are, va contacta un vecin mai aproape de cheie și așa mai departe până la obținerea valorii cheii (sau până când suntem siguri că această cheie nu există). Dimensiunea rețelei nu influențează foarte mult numărul de noduri contactate în timpul căutării; dacă numărul de participanți la rețea se dublează, atunci nodul utilizatorului trebuie să solicite informațiile doar de la un singur nod.

Alte avantaje sunt inerente unei structuri descentralizate, de exemplu creșterea rezistenței la un atac de negare a serviciului. Chiar dacă un rând întreg de noduri este scufundat, acesta va avea doar efecte limitate asupra disponibilității rețelei, ceea ce va „îmbina” rețeaua în jurul acelor găuri.

Istoric

Utilizarea efectivă

Schimburi de fișiere

Protocolul Kademlia este utilizat de mai mulți clienți peer-to-peer (rețelele sunt incompatibile între ele):

Unele programe utilizează izolat un protocol Kademlia:

DNS


Vezi și tu

Note și referințe

  1. (în) Petar Maymounkov și David Mazieres , Kademlia: Un Peer-to-Peer Sistemul de Informații Bazat pe XOR Metric , Springer Berlin Heidelberg Al.  „Note de curs în informatică”,7 martie 2002( ISBN  9783540441793 și 9783540457480 , DOI  10.1007 / 3-540-45748-8_5 , citiți online ) , p.  53-65
  2. [1]
  3. http://neoloader.com/features.htm
  4. http://sourceforge.net/projects/kadnode/files/

linkuri externe