DHT în studiu au fost motivate inițial, în special sisteme de peering, cum ar fi Napster, Gnutella, Freenet, care a folosit distribuit pe resursele internet pentru a crea o singură aplicație. În special, au folosit capacitatea crescută de lățime de bandă și hard disk pentru a furniza serviciul de distribuire a fișierelor. Aceste sisteme diferă în modul în care au găsit datele colegilor, deși:
Napster avea un server de index central: fiecare nod, după înscriere, ar trebui să trimită o listă de fișiere stocate local pe server, care trebuie să efectueze o căutare și să trimită o interogare către nodurile care conțin rezultatele. Această componentă centrală a făcut sistemul vulnerabil la atacuri și costume.
Gnutella și rețele similare s-au mutat la modelul de interogare avalanșă - în principiu, fiecare căutare ar duce la transmiterea unui mesaj către orice mașină din rețea. Evitând eșecul centralizat, această metodă a fost semnificativ mai puțin eficientă decât Napster.
În cele din urmă, Freenet a fost, de asemenea, distribuit pe deplin, dar rutarea funcționează pe baza unei chei euristice, în care fiecare fișier are o cheie asociată cu acesta, iar fișierele cu chei similare tind să se integreze într-un set similar de noduri. Probabil că cererea a fost trimisă unor astfel de grupări, fără a fi nevoie să interogați toți colegii. Cu toate acestea, Freenet nu a putut garanta că datele vor fi găsite.
DHT folosește rutarea bazată pe o cheie mai structurată pentru a realiza descentralizarea Gnutella și a Freenet, precum și eficiența și rezultatele garantate de Napster. Unul dintre dezavantaje este că, la fel ca Freenet, DHT acceptă doar căutarea după potrivirea exactă și nu prin cuvinte cheie, deși aceste caracteristici pot suprapune peste DHT.
DHT se caracterizează prin următoarele proprietăți:
descentralizare: forma unui sistem de noduri colective fără coordonare;
extensibilitate: sistemul va funcționa la fel de eficient pentru mii sau milioane de noduri;
toleranță la defecte: sistemul va fi la fel de fiabil (într-un sens) cu nodurile conectate permanent, deconectate și defecțiuni.
Tehnica-cheie de a atinge obiectivul este ca fiecare nod ar trebui să sincronizeaz cu doar câteva noduri din sistem - de obicei, O (LOGN), unde n - numărul de membri (vezi mai jos) -, astfel încât numai o cantitate limitată de muncă a fost făcută pentru fiecare modificare numărul de participanți.
Unele proiecte DHT tind să ofere protecție împotriva utilizatorilor rău-intenționați și să permită participanților să rămână anonimi, deși acest lucru este mai puțin cunoscut decât în multe alte sisteme P2P (mai ales atunci când distribuie fișiere); vedeți P2P anonim.
În cele din urmă, de DHT au de a face cu mai multe sisteme tradiționale distribuite, cum ar fi echilibrarea sarcinii, integritatea datelor și de performanță (în special, asigurându-se că operațiunile, cum ar fi de rutare și de stocare a datelor, sau percheziție completat rapid).
Și DHT și PEX îndeplinesc de fapt funcția principală a trackerului - ei ajută participanții la partajarea de fișiere să învețe unul despre celălalt. Ei pot:
Ajutați participanții să se găsească rapid reciproc
De exemplu, pe distribuție există o sărbătoare X cu un port inaccesibil. Un peer Z este conectat la distribuție, care însăși nu poate porni conexiunea cu X și trebuie să aștepte până când X află despre acest lucru. X tocmai sa îndreptat spre tracker și data viitoare o va face într-o oră.
Reduceți sarcina pe dispozitivul de urmărire
Să sprijine participanții împreună în perioadele de indisponibilitate a tracker-ului
PEX vă permite să încetiniți într-o oarecare măsură procesul de dezintegrare a unui roi de participanți, iar DHT vă permite să înlocuiți complet trackerul, adică să vă conectați chiar și la distribuția de noi participanți.
DHT vă permite să distribuiți fără un tracker deloc
Prin participarea la distribuțiile fără trackerless ale clienților BT, se obține o anumită asemănare cu eMule, care utilizează rețeaua KAD.
Pe trackerele publice (deschise), unde toată lumea poate descărca torrentul și participă la distribuție, DHT și PEX servesc în beneficiul tuturor participanților.
Apoi, dezvoltatorii clienților au sugerat o nouă cheie în fișierul torrent: privat. Dacă este 1, atunci clientul este obligat pentru acest torrent să dezactiveze automat DHT / PEX indiferent de dorința utilizatorului. Un astfel de torent se numește Secure Torrent.
Practic, toate trackere private moderne se forțat să introducă privat: 1 în toate torrentele, răspândite pe tracker, precum și să interzică unele versiuni mai vechi ale clienților care susțin DHT si PEX, dar încă nu știu despre cheia privată. Utilizatorii Tracker pur și simplu nu pot folosi DHT / PEX pe distribuții, și nu există nici o problemă.
Rețineți că prezența unei chei private modifică infohash-ul torrentului, astfel încât tăierea din fișierul torrent este inutilă - alți clienți nu vor recunoaște torentul modificat oricum.
Toate torrentele tale - de la trackerele private
Dacă DHT este activat în client, se dovedește că clientul se conectează la rețeaua DHT, își petrece traficul pe acesta, îi ajută pe alți clienți să găsească colegii de care au nevoie, dar nu utilizează DHT pentru ei înșiși. Dacă, printre alte surse, nu există nimeni pe distribuția cu DHT activat, DHT ar trebui să fie oprit. Dacă doriți să dezactivați DHT dacă ultima pe mâna este disponibilă, alegeți-vă. Pe de o parte, acesta este riscul de a pierde traficul pentru funcționar, pe de altă parte, capacitatea de a face copii de rezervă în cazul unui eșec al tracker-ului.
Puteți descărca o mână de la un tracker public
Dacă tracker-ul returnează mulți colegi și există destule dintre ele pentru a obține o viteză bună de descărcare, atunci DHT / PEX funcționează pentru dvs. Este necesar să se includă (și client, și în proprietățile de distribuție), aceasta poate ajuta să găsească mai multe surse și rapid conecta la acestea în procesul de distribuție, generând anchete nu numai pe Tracker (util pentru clienții cu statistici actualizate lente (oficiale, uTorrent, etc.).
Descărcați distribuția de la un tracker privat fără o cheie privată forțată
Posibilitatea de a utiliza distribuțiile DHT / PEX pe aceste trackere este lăsată de distribuitor (creatorul de torrent).
Această situație depinde în totalitate de creatorul torentului (el, de regulă, și de semințele de inițiativă). Dacă el însuși nu utilizează DHT din vreun motiv, atunci cu greu veți găsi DHT inclus în distribuție.
DHT și statistici
Această secțiune se aplică numai pentru dispozitivele de urmărire private pe care cheia privată nu este forțată în torrente, iar pe unele distribuții (în funcție de distribuitorul dacă a introdus cheia privată în torent), puteți utiliza DHT și PEX.
Se sugerează adesea că DHT inclus în client afectează urmărirea statisticilor clientului de către tracker, de exemplu "distribuită prin DHT, astfel încât statisticile au trecut trecutul tracker-ului". Acest lucru nu este adevărat.
Adică, "distribuit prin DHT" înseamnă de fapt "despre unii (sau despre toți) colegii au primit informații despre DHT și, probabil, și unele sărbători mi-au găsit prin DHT"
Raportul de clienți la datele de sinteză tracker despre volumul descărcat și le-a dat tuturor colegilor cu care a comunicat, indiferent dacă clientul cu privire la sărbători individuale învățate prin tracker, de DHT si PEX, sau sărbătoarea principiilor generale, un compus în sine. Asta este, chiar daca din cauza DHT / PEX pe mana va fi „stânga“ utilizatori (care nu a circulat la tracker), clientul va raporta în continuare la tracker tot ce au mai descărcat și plătit.
Înregistrarea corectă a statisticilor depinde numai de starea dispozitivului de urmărire: tracker-ul funcționează - statisticile sunt luate în considerare, nu funcționează - nu sunt luate în considerare. Numai în cazul unui tracker inactiv pe termen lung, DHT / PEX poate juca un rol indirect, permițând încetarea treptată a partajării de fișiere pe o astfel de "distribuție fără a ține seama de statistici".
Mecanismul DHT
Implementarea rețelei distribuite în clienții BT se bazează pe varianta DHT, numită Kademlia. În general, DHT (tabelul hash distribuit) înseamnă un sistem distribuit descentralizat pentru combinarea unui număr mare de noduri în continuă dispariție și emergente și transmiterea eficientă a mesajelor între ele. Pe baza structurilor DHT, sunt construite diverse sisteme mai complexe, cum ar fi partajarea de fișiere P2P, cache-ul web cooperativ, serviciile DNS și așa mai departe.
DHT utilizează protocolul UDP. Clienții BT ascultă același număr de port UDP pe care îl utilizează pentru conexiunile TCP primite. Dacă utilizați în mod activ DHT, deschiderea acestui port UDP pentru accesul din exterior este de dorit, dar nu este necesară - DHT va funcționa la fel.
Fiecare client BT conectat este un nod separat în rețeaua DHT. Are propriul ID unic (identificator), selectat aleatoriu din același spațiu de 160 de biți ca și infohash's of torrents.
Fiecare nod stochează o tabelă de rutare care conține informații de contact despre multe dintre nodurile "cele mai apropiate" și câteva mai îndepărtate. "Apropierea" celor două noduri se calculează din "similitudinea" identității lor și nu are nimic de-a face cu proximitatea lor geografică.
_________________
Pe corecțiile scrieți în LAN