Kademlia

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 17. maaliskuuta 2020 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Kademlia  on Piotr Maimunkovin ja David Mazièresin kehittämä hajautettu hash-taulukkototeutus vertaisverkkoihin. Kademlia-protokolla määrittelee verkon rakenteen, joka säätelee solmujen välistä viestintää ja tiedon vaihtoa siinä. Kademlia - protokollaa käyttävät verkkosolmut kommunikoivat keskenään UDP - siirtokerroksen protokollalla . Kademlia-solmut tallentavat tietoja hajautettujen hajautustaulukoiden (DHT) avulla. Tämän seurauksena olemassa olevan LAN / WAN -verkon (kuten Internetin ) yli luodaan uusi virtuaalinen tai peittoverkko , jossa jokainen solmu on merkitty erityisellä numerolla ("Solmutunnus"). Tämä numero suorittaa myös muita toimintoja.

Solmun, joka haluaa liittyä verkkoon, on käytävä läpi käynnistysprosessi. Tässä vaiheessa solmun on tiedettävä toisen solmun osoite (vastaanotettu käyttäjältä tai otettu luettelosta), joka on jo osa peittoverkkoa. Jos yhdistetty solmu ei ole vielä tullut tähän verkkoon, lasketaan satunnainen ID-arvo, joka ei vielä kuulu mihinkään solmuun. Tunnusta käytetään, kunnes poistut verkosta.

Kademlia-algoritmi perustuu solmujen välisen "etäisyyden" laskemiseen XOR - koodaamalla solmutunnukset.

Tällä "etäisyydellä" ei ole mitään tekemistä maantieteellisen sijainnin kanssa. Esimerkiksi Saksan ja Australian solmut voivat olla "naapureita" peittokuvaverkossa.

Kademlian tiedot tallennetaan niin kutsuttuihin "arvoihin" (arvoihin). Jokainen "arvo" on sidottu " avaimeen " (avaimeen).

Kun etsitään avainta vastaavaa arvoa, algoritmi tutkii verkkoa useissa vaiheissa. Jokainen vaihe vie meidät lähemmäksi haluttua solmua, kunnes "arvo" on löydetty kokonaan tai kunnes sellaisia ​​solmuja ei ole. Yhteyden otettujen solmujen määrä riippuu verkon koosta logaritmisesti : jos osallistujien määrä kaksinkertaistuu, pyyntöjen määrä kasvaa vain yhdellä.

Käytä tiedostonjakoverkoissa

Tiedostoindeksien tallennustehtävä Kad-verkkoon on hajautettu kaikkiin verkon jäseniin. Jos solmu haluaa " jakaa " tiedoston, se käsittelee sen saamalla tiivisteen , joka tunnistaa tiedoston verkossa. Sitten solmu etsii useita solmuja, joiden tunnukset ovat lähellä tiivistettä (tiivisteiden ja solmutunnusten koon on vastattava), ja näille solmuille annetaan tiedot tämän solmun osoitteesta. Asiakas etsii etsiessään sen solmun tunnuksen, jolla on pienin etäisyys tiedoston hajautusarvoon, ja poimii siitä niiden solmujen osoitteet, joilla tämä tiedosto on. Verkkoon tallennetut kontaktit ovat aina jatkuvassa muutoksessa, koska solmut ovat jatkuvasti kytkettyinä ja irrotettuina. Vikasietoisuuden vuoksi nämä koskettimet replikoidaan useissa solmuissa.

Kad-verkostossa haku tehdään avainsanoilla . Tiedostonimi on jaettu sen osiin. Jokainen avainsana tiivistetään ja tallennetaan verkkoon tiedoston tiivisteen tavoin yhdessä vastaavan tiedoston ja tiedoston hajautusarvon kanssa. Etsintäsolmu valitsee yhden avainsanoista, muodostaa yhteyden solmuun, jonka tunnus on lähimpänä avaimen tiivistettä, ja pyytää siltä luetteloa kyseisen avaimen tiedostoista. Koska jokaisella luettelon tiedostolla on oma hash, tiedoston nimi on helppo laskea.

Tiedostonjakoverkkoasiakkaat Kademlia-protokollan eri muunnelmilla

Katso myös

Muistiinpanot

Kirjallisuus