Rețeaua Kad, rețelele bittorrent - peer-to-peer

Kad Network este o rețea de partajare de fișiere descentralizată și fără server. care utilizează protocolul rețelei suprapuse Kademlia. Este susținută în eMule (Kad 2.0), aMule și MLDonkey.







Rețeaua Kad utilizează UDP pentru:

· Căutări pentru sursele hash ed2k

· Căutați hash ed2k pentru cuvintele cheie în numele fișierelor

· Furnizarea de servicii către noduri din spatele firewall-ului (ID scăzut)

Rețineți că rețeaua Cad nu este utilizată pentru a transfera efectiv fișiere prin rețeaua P2P. În schimb, atunci când începe transferul de fișiere, conexiunile clientului apar direct unul altuia (utilizând rețele IP standard).

Ca și în cazul tuturor rețelelor descentralizate, Kad nu necesită servere oficiale sau partajate. Ca atare, nu poate fi dezactivat prin închiderea unui set de noduri cheie. Cu toate acestea, deoarece nodurile permanente comunică între ele, pot pune mai multă stres pe mașinile individuale decât pe o rețea centralizată.

Singurul lucru pe care trebuie să-l conectați la această rețea este IP-ul și portul oricărui client deja conectat la rețea. Aceasta se numește Curea de încărcare (auto-tuning).

Imediat ce are loc o conexiune la rețea, clientul cere altor clienți să determine dacă se poate conecta la ele în mod liber. Acest proces este similar cu definiția HighID / LowID pe servere.

Dacă vă puteți conecta liber, vi se va da ID (high, HighID) și veți obține statutul de deschis în Network cad. Dacă nu vă puteți conecta liber, obțineți statutul de firewall (respectiv LowID).

BitTorrent

BitTorrent (bitstream peer-to-peer) este un protocol de rețea Peer-to-Peer (P2P) Cohen pentru partajarea de fișiere în comun pe Internet.

Fișierele sunt transferate în părți, fiecare client torrent. obținerea (pomparea) acestor părți, în același timp dă (pompând-le) altor clienți, ceea ce reduce încărcarea și dependența de fiecare client sursă și oferă redundanță de date.

Principiul funcționării protocolului

Clienții se conectează și schimbă segmente de fișiere fără participarea directă a tracker-ului, care actualizează în mod regulat informații despre clienții conectați la schimb și alte informații statistice. Pentru funcționarea eficientă a rețelei BitTorrent, este necesar ca un număr cât mai mare de clienți să primească conexiuni de intrare. Configurația necorespunzătoare a NAT sau a firewall-ului poate împiedica acest lucru.

La conectare, clienții fac imediat schimb de informații despre segmentele lor existente. Clientul care dorește să descarce segmentul trimite o solicitare și, dacă cel de-al doilea client este gata să dea, primește acest segment. După aceasta, clientul verifică suma de verificare a segmentului și notifică tuturor colegilor atașați că are acest segment.

Fiecare client are capacitatea de a bloca temporar întoarcerea la alt client (sânge englezesc). Acest lucru este făcut pentru a utiliza mai bine canalul de recul. În plus, atunci când alege cine să deblocheze, preferința este acordată colegilor, care au transferat ei înșiși acești clienți mai multe segmente. Astfel, sărbătorile cu rate bune de dăruire se încurajează reciproc pe principiul "tu, eu, eu".

· Nu există cozi de descărcare.

· Fișierele sunt descărcate în fragmente mici; Cu cât fragmentul este mai puțin accesibil, cu atât mai des va fi transmis. Astfel, prezența unui "cidru" în rețea cu un fișier complet de descărcare nu este necesară - sistemul distribuie segmente între "sărbători", astfel încât mai târziu să poată partaja segmentele lipsă.

· Clienții (colegii) schimbă segmente direct între ele, în conformitate cu principiul "tu - pentru mine, eu pentru tine".

· Fragmentele descărcate sunt disponibile imediat altor clienți.

· Se monitorizează integritatea fiecărui fragment.

· Mai multe fișiere pot acționa ca obiect de distribuție (de exemplu, conținutul directorului).

Protocoale și porturi

Clienții se conectează la dispozitivul de urmărire folosind protocolul TCP. Portul de intrare al dispozitivului de urmărire: 6969.

Clienții se conectează reciproc utilizând protocolul TCP. Porturi client primite: 6881--6889.

Numerele porturilor nu sunt fixate în specificația protocolului și pot fi modificate dacă este necesar. În plus, în momentul de față majoritatea trackerelor utilizează portul HTTP obișnuit 80, iar pentru clienți este recomandat să selectați un port de intrare aleatoriu.







Rețeaua DHT din clienții BitTorrent utilizează protocolul UDP.

În plus, protocolul UDP este UDP-tracker (nu sunt acceptate de către toți clienții și nu este o parte oficială a protocolului) și pentru conectarea prin intermediul clienților UDPNAT Traversal unul cu celălalt (utilizat numai în clientul BitComet și nu o parte oficială a protocolului).

Pentru fiecare fișier distribuit, se creează un fișier de metadate cu extensia .torrent, care conține următoarele informații:

· Informații generale despre fișierul încărcat (nume, lungime etc.);

· Sumele de verificare (mai exact sumele hashSHA1) din fișierul încărcat.

Lucrați fără tracker

În noile versiuni ale protocolului, s-au dezvoltat sisteme care nu rezolvă problemele anterioare. Defectarea dispozitivului de urmărire în astfel de sisteme nu duce la defectarea automată a întregii rețele.

De la versiunea 4.2.0 a clientului oficial, a implementat funcția de muncă crăpată, bazată pe protocolul Kademlia. În astfel de sisteme, tracker-ul este disponibil în mod descentralizat, pe clienți, sub forma unei tabele distribuite.

În prezent, nu toți clienții folosesc un protocol care este compatibil unul cu celălalt. Compatibil cu BitComet. μTorrent. Potop. KTorrent și clientul oficial BitTorrent. Azureus are, de asemenea, un mod de muncă crăpată, dar implementarea sa diferă de cea oficială, ca urmare a faptului că nu poate funcționa prin DHT cu clienții menționați mai sus. [2] Cu toate acestea, Azureus acceptă DHT standard prin intermediul plug-in-ului Mainline DHT.

Semințe super-superioare (super-sid)

Super-sid este o schimbare în comportamentul siderilor și nu poate fi efectuată fără a încălca protocolul BitTorrent. Cu toate acestea, acest lucru nu este aprobat de dezvoltatorul protocolului, Bram Cohen, nici de clientul oficial.

Super Sid este eficient atunci când există doar un singur cidru. Un client care dă o parte a fișierului unui participant oprește transferul de date până când găsește o a doua copie a acestei părți în rețea. Deoarece mulți participanți nu au capacitatea sau nu doresc să facă datele descărcate la dispoziția altora, rata globală de rentabilitate scade. În modul obișnuit, spre deosebire de super-sid, toată lumea primește întotdeauna informațiile solicitate, dacă este disponibilă, astfel încât viteza medie de transfer a datelor este mai mare în ea.

Super-sid este eficient la distribuții cu o mulțime de leagăn. Cu un grup mic de persoane (2-3 persoane), clienții lor, din diverse motive, pot refuza să comunice unul cu celălalt. În acest caz, super-sid-ul inclus va determina clienții să aștepte până când datele devin disponibile. Atunci când numărul de utilizatori încărcați este mare (10-20 de persoane), este suficient să dați fiecărei părți a fișierului o singură dată, atunci clienții îl vor putea schimba între ei și fiecare dintre ei va primi întregul fișier.

Două greșeli începători colegii

Începătorii BitTorrent fac adesea două greșeli:

· Să uitați să deschideți portul de recepție. Ori de câte ori este posibil, portul trebuie să fie deschis în firewall sau router. O sărbătoare cu un port închis nu poate comunica cu o altă sărbătoare, al cărei port de recepție este, de asemenea, închis.

· Îndepărtați descărcarea de îndată ce aceasta este terminată. După terminarea descărcării, clientul ar trebui să rămână în modul sit timp de ceva timp. distribuirea fișierului încărcat către alte persoane.

· Disponibilitatea (disponibilitatea în limba engleză) sau copiile distribuite - numărul de copii complete ale fișierului la dispoziția clientului. Fiecare sid adaugă 1.0 la acest număr; Likenzorii sporesc accesibilitatea în funcție de numărul de descărcări pe care nu le au alte lichiari. De exemplu, dacă pe distribuție există un singur și doi lichefiatori, au descărcat 50% din fișier (piesele descărcate sunt egale unul cu celălalt), atunci disponibilitatea este de 1,50.

· Lycher (leech leech - leech) - sărbătoare, care nu are încă toate segmentele, adică continuarea descărcării. Termenul este adesea utilizat într-un sens negativ, pe care îl are în alte rețele de partajare de fișiere: un utilizator care oferă mult mai puțin decât descărcări.

· Torrent otrăvit - o situație în care o parte a colegilor distribuie segmentele deteriorate.

· Un coleg este un client implicat în distribuție. Uneori, colegii sunt numiți numai participanți descărcați.

· Distribuție (English.seeding) - procesul de distribuire a fișierului utilizând protocolul BitTorrent.

· Rating (raportul English.share) - raportul dintre valoarea dată și cea descărcată.

· Roy (roi englez) - totalitatea tuturor colegilor care participă la distribuție.

· Sid. Uneori siderul este o sărbătoare care are toate segmentele fișierului distribuit, adică fie distribuitorul inițial al fișierului, fie deja descărcat întregul fișier.

· Aria2 (engleză) - suportă HTTP, FTP, BitTorrent; Fișiere metalice [șterge șablonul] 3.0

Azureus este scris în Java. așa că e platformă transversală. Susține Tor

· BitTyrant - versiunea modificată a clientului Azureus 2.5

· BitTornado este un client cross-platform scris în Python

· Deluge este un client cross-platform scris în Python; utilizează GTK

· FoxTorrent - extensie pentru browserul Mozilla Firefox. Implementarea funcțiilor client BitTorrent

· LeechCraft este un client cross-platform, există un plug-in pentru suport BitTorrent

· MlDonkey - client cross-platform

· Browser Opera acceptă pe deplin descărcarea torrentelor, începând cu versiunea 9.0

· TorrentFlux (ro) - scris în PHP. funcționează ca un script PHP pe un server web de la distanță. permițând să nu țineți computerul pornit tot timpul, dar în același timp să descărcați și să distribuiți torrente

· BTPD - client consola pentru Unix / GNU + Linux, scris în C ++; funcționează în modul demon

· KTorrent - utilizează biblioteca Qt; funcționează într-un mediu KDE

· RTorrent - client consola pentru UNIX / GNU + Linux, scris în C ++; utilizează bibliotecile ncurses și libTorrent

· Transmisie - client pentru Mac OS X. FreeBSD. OpenBSD. NetBSD. GNU / Linux și BeOS. folosind GTK. De asemenea, poate funcționa în modul consolă și în mod daemon.

· Bitflu - client consola pentru Unix / GNU + Linux, scris în Perl; funcționează în mod daemon. cu suport pentru mediul chroot. Are o interfață web. gestionat prin telnet

· Shareaza - sprijină lucrul cu mai multe rețele de partajare de fișiere, inclusiv BitTorrent

· Manager de descărcare gratuită







Articole similare

Trimiteți-le prietenilor: