Bittorrent este

Fișierele sunt transferate în părți, fiecare client torrent. primind (descarcarea) aceste piese, in acelasi timp le da (incarcate) altor clienti, ceea ce reduce incarcatura si dependenta de la fiecare client sursa si ofera redundanta datelor.

Există multe alte programe client pentru partajarea fișierelor prin protocolul BitTorrent.

Principiul funcționării protocolului

Principiul de funcționare al BitTorrent: distribuitor de încărcare de fișiere este redusă datorită faptului că clienții încep să comunice imediat, chiar dacă fișierul nu este le-a lovit până la sfârșitul anului.

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 primite. Configurarea incorectă 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ă 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".

Schimbul de segmente se efectuează în conformitate cu principiul "tu, eu - cu tine" simetric în două direcții și într - o ordine aleatorie. Clienții se informează periodic reciproc despre segmentele pe care le au. Schimbul de date începe atunci când ambele părți sunt interesate de aceasta, adică fiecare parte are segmente pe care cealaltă parte nu le are. Se calculează numărul de segmente transmise și dacă una dintre părți constată că transmite mai mult decât este necesar, blochează (sincronizarea engleză) se întoarce. Astfel, protocolul oferă protecție împotriva lichirilor.

Când se primește întregul fișier, clientul intră într-un mod special de operare, în care dă numai date (devine cidru).

Structura traficului

Ca și în cazul altor protocoale de transfer de fișiere, traficul de protocol BitTorrent poate fi împărțit în date de serviciu și descărcate / trimise.

Caracteristici generale

  • Nu există cozi pentru 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 (
  • Fragmentele descărcate sunt disponibile imediat altor clienți.
  • Integritatea fiecărui fragment este monitorizată.
  • 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 utilizând protocolul portului tracker: 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 folosesc obiceiul

În plus, protocolul NAT Traversal (folosit numai în clientul BitComet și nu este o parte oficială a protocolului).

Fișier metadate

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 hash-SHA1) din fișierul încărcat.

Fișierele metadate pot fi distribuite prin orice canale de comunicare: acestea (sau link-uri către ele) pot fi încărcate pe servere web. plasate pe paginile de start ale utilizatorilor de rețea, trimise prin e-mail. publicate în bloguri sau feed-uri de știri

Lucrați fără tracker

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

Începând cu versiunea 4.2.0 a clientului oficial, acesta implementează funcția de muncă crăpată, pe baza tabelului hash distribuit DHT.

În prezent, nu toți clienții folosesc un protocol care este compatibil unul cu celălalt. Compatibilitate reciprocă între clienți μTorrent, KTorrent și client oficial BitTorrent. Azureus are, de asemenea, operațiune bestrekernoy, dar punerea sa în aplicare este diferită de cea oficială, astfel încât nu se poate lucra prin DHT cu clientii de mai sus. [2] Cu toate acestea, Azureus suportă DHT standard prin intermediul plug-in-ului Mainline DHT.

terminologie

Lycher și roiul lui.

Programele clientului

Cross-platform

  • μTorrent este un client BitTorrent pentru Windows și Mac OS X. Dispune de o mărime mică și o viteză rapidă de lucru.
  • aria2 (engleză) - suportă HTTP, FTP, BitTorrent; fișiere

Bittorrent este

Utilizarea protocolului BitTorrent pentru un exemplu

  • Java, deci e platformă multiplă. Susținut de
  • piton
  • Python; utilizează GTK
  • FoxTorrent este o extensie pentru browserul Mozilla Firefox. Implementarea funcțiilor client BitTorrent
  • mlDonkey - client cross-platform
  • browser-
  • TorrentFlux (en) - scris pe serverul Web ca un script PHP. permițând să nu țineți computerul pornit tot timpul, dar în același timp să descărcați și să distribuiți torrente
  • ABC - un alt client Bittorrent, se bazează pe BitTornado

GNU / Linux, UNIX

  • μTorrent
  • FlashGet
  • Shareaza - sprijină lucrul cu mai multe rețele de partajare de fișiere, inclusiv BitTorrent
  • Manager de descărcare gratuită