Documente Academic
Documente Profesional
Documente Cultură
Torrent Protocol
Torrent Protocol
CONSTANTINESCU AIDA
INTRODUCERE. .......................................................................................................................... 2
1. GENERALITĂȚI ……….……………………………………...…………………………….3
1
Introducere
Fiecare din ultimele trei secole a fost marcat de câte o tehnologie. Secolul al XVIII-lea a
reprezentat epoca marilor sisteme mecanice însoțite de Revoluția Industrială. Secolul al XIX-lea
a fost marcat de motorul cu aburi iar secolul XX a reprezentat un nou pas în evoluția tehnologică
prin colectarea, prelucrarea și distribuția informațiilor. Printre multe alte evoluții care au avut
loc, am putut observa instalarea rețelelor de telefonie la nivel mondial, inventarea radioului și al
televizorului, nașterea și creșterea fără precedent a industriei de calculatoare, precum și lansarea
de sateliți de comunicare.
Ca urmare a progresului tehnologic rapid, aceste domenii sunt rapid convergente iar
diferențele dintre colectarea, transportul, stocarea și procesarea informațiilor sunt pe cale de
dispariție. Companii cu sute de birouri răspândite pe o arie geografică mare se așteaptă să poată
examina starea curentă chiar și a celor mai îndepărtate avanposturi la o simplă apăsare a unui
buton. Cu cât abilitatea noastră de a aduna, procesa și distribui informații crește, cererea pentru
noi tehnici sofisticate de prelucrare a informațiilor crește și mai repede.
Deși industria de calculatoare este încă tânără în comparație cu alte industrii, calculatoarele
au înregistrat progrese spectaculoase într-un timp scurt. În primele două decenii ale existenței
lor, sistemele informatice au fost foarte centralizate. O companie de dimensiune medie sau o
universitate ar fi putut avea unul sau două calculatoare în timp ce o companie mare avea în cel
mai bun caz câteva zeci. Ideea că în 20 de ani, calculatoare la fel de puternice și de dimensiunea
unui timbru ar fi produse în masă, era ceva pur științifico-fantastic.
Fuziunea calculatoarelor și a sistemelor de comunicații a avut o influență profundă asupra
modului în care sunt organizate sistemele informatice. Conceptul de “centru de calcul” ca și o
cameră cu un calculator mare la care utilizatorii își aduc propria muncă pentru prelucrare este
acum total depășit. Modelul vechi în care un singur calculator servea toate nevoile organizației a
fost înlocuit cu un model în care un număr mare de calculatoare separate, dar interconectate,
execută taskurile necesare. Aceste sisteme poartă denumirea de rețele de calculatoare.
2
1.Generalități
Prima generație de programe adresate rețelelor P2P au venit cu funcții de căutare incluse
pentru a putea afla ce fișiere partajează fiecare utilizator în parte. Informațiile returnate erau
indexate și stocate pe serverele diferitelor rețele (eDonkey), pentru a accelera procesul de
căutare. Prin stocarea informațiilor respective a fost posibilă aducerea proceselor legale
împotriva rețelelor P2P, deoarece stocau informații care permiteau descărcarea de material
3
protejat de drepturi de autor. Noua generație de clienți P2P nu stochează asemenea informații, în
schimb se bazează în întregime pe capacitatea utilizatorilor să obțină informațiile respective de la
numeroasele site-uri independente iar apoi de la serverele de tracking independente. În acest
sens, este mult mai greu să se aducă învinuiri împotriva celor care oferă clienții de torrente, iar
trackerele si site-urile din acest domeniu pot fi mutate cu ușurință cu scopul de a evita legile unei
anumite țări, ceea ce Pirate Bay deja a dovedit. Desigur, acest lucru a dus la o schimbare
semnificativă pentru deținătorii drepturilor de autor. În loc să se axeze pe furnizorii de clienți de
torrente, posesorii drepturilor de autor își îndreaptă atenția spre utilizatorii care descarcă concret
datele.
Azureus Inc., producătorii unuia dintre cei mai populari clienți de torrente, Vuze (inițial
denumit Azureus), a făcut deja primi pași în crearea următoarei generații de clienți de torrente,
respectiv aplicații de file-sharing. Acești pași se bazează pe descărcări comeriale plătite pentru a
genera un flux de venituri și a putea plasa produsele într-un conținut gratuit. De asemenea, se
pare că, conținutul de circulație oferit comercial de Azureus este reprezentat în primă fază de
videoclipurile lungi și de calitate foarte bună, asemănătoare celor de pe YouTube. Dacă viteza de
partajare a fișierelor va deveni în viitor mult mai rapidă, clienții de torrente ar putea devenii
principalii furnizori de video pe Internet, deoarece va fi în măsură să ofere “produse” de calitate
foarte bună la costuri mici în ceea ce privește resursele unei rețele cum ar fi lățimea de bandă.
4
2.Arhitectura protocolului Torrent
Internetul a început prin a fi folosit pentru comunicații, ca o rețea de telefonie, însă, odată cu
creșterea acestuia a început să fie utilizat mai mult pentru conținut decât pentru comunicații.
Mulți utilizatori se folosesc de Internet pentru a găsi informații și pentru a obține acces la filme,
muzică și programe. Schimbarea către conținut a internetului a devenit atât de pronunțată, încât
majoritatea lățimii de bandă a internetului este folosită pentru livrarea de fișiere video stocate.
Deoarece sarcinile de distribuire a conținutului sunt diferite de cele ale comunicațiilor, acestea
pun cerințe diferite asupra rețelei.
Cum mărirea lățimii de bandă pentru îmbunătățirea performanței nu a fost suficientă, pentru
reducerea timpului de așteptare s-au dezvoltat diferite arhitecturi pentru utilizarea acesteia în
livrarea conținutului.
Una dintre aceste arhitecturi este CDN (Content Delivery Networks), iar alternativa ei este
arhitectura P2P (Peer-to-Peer).
Cum nu toți își pot permite crearea unui arbore CDN cu un număr mare de noduri în regiuni
din întreaga lume pentru a distribui conținutul, există o alternativă simplă ca utilizare ce poate
distribui cantități extreme de conținut. Aceasta este rețeaua Peer-to-Peer(P2P).
Ideea de bază a unei distribuții de fișiere P2P este că multe stații de lucru (calculatoare)
își unesc resursele pentru a forma un sistem de distribuție a conținutului.
O reţea de calculatoare peer-to-peer (P2P sau PtP ) foloseşte conectivitatea diversificată
intre participanţii la reţea, precum şi lăţimea de bandă cumulată a participanților , în comparaţie
cu resursele centralizate convenţionale care sunt administrate de câteva (puţine) servere .
Reţelele P2P sunt folosite în special pentru partajarea de fişiere ce conţin sunet , imagine ,
inclusiv date în timp-real (trafic de telefonie).
O reţea P2P nu are noţiunea de “client” sau “server” ci doar noduri (“peer”) egale care
funcționează simultan şi ca servere şi ca clienţi pentru celelalte noduri din reţea.
5
2.2 Protocolul BitTorrent
Bittorrent este o tehnologie de transfer de date peer-to-peer, una din cele mai cunoscute
și mai folosite tehnologii de acest tip. În funcție de statisticile consultate și de zona de pe glob
cifrele variază foarte tare dar o cifră des vehiculată pentru traficul BitTorrent de pe Internet este
de approx 30%-40% din traficul total, reprezentând totodată jumătate din traficul peer-to-peer de
pe Internet. Bineînțeles că pe alocuri există diferențe mari față de aceste cifre (de exemplu în
Coreea de Sud rețeaua eDonkey este mult mai cunoscută și folosită) dar o statistică clară este
imposibil de făcut. Oricare ar fi cifrele cantitatea de trafic transferata prin protocolul BitTorrent
este incredibila și demonstrează mai bine decât orice faptul ca BT este un protocol matur, extrem
de bine pus la punct si scalabil.
Bittorrent a apărut în urma nevoii de descentralizare a resurselor. Înainte de aceasta
descentralizare dacă cineva dorea să ofere spre download să zicem un DVD cu o distribuție de
Linux și se aștepta la un trafic foarte mare, avea nevoie de un server sau de câteva servere Web
foarte puternice, care sa poată susține mii de conexiuni de la utilizatorii care doreau sa
downloadeze mii de copii ale imaginii DVD. Bineînțeles ca serverul la un moment dat constituia
o gâtuire majora in flowul de trafic, lucru ce a dus la crearea mirror-urilor pe alte servere.
Utilizatorii erau încurajați sa folosească pentru download un server mirror (o copie a serverului
de bază) aflat cat mai “aproape” (deși e relativ ce înseamnă exact “aproape”); asta aducea un
overhead administrativ uneori considerabil și nu rezolvă în întregime problema.
Soluția implementată prin acest protocol de transfer descentralizat a venit de la Bram
Cohen, un programator care a pus bazele standardului BitTorrent și care în continuare prin firma
sa BitTorrent Inc. Îmbunătățește și updatează constant standardul. Protocolul este creaţia
programatorului Bram Cohen a creat BitTorent în aprilie 2001 şi a publicat prima
implementare pe 2 iulie 2001.
BitTorrent e un protocol de comunicație P2P (peer-to-peer) folosit la transferul fișierelor
de orice tip . Este una din metodele de distribuire (masivă) de date fără ca distribuitorul inițial să
suporte întregul cost al hardware-ului, al hosting-ului sau al lăţimii de bandă. Când datele sunt
distribuite prin protocolul BitTorrent, fiecare mașină care primeşte datele, devine ea însăşi
distribuitoare de respectivele date, reducând aşadar povara sursei unice iniţiale (precum şi
dependenta de aceasta sursa), şi asigurând redundanţa (împotriva problemelor de reţea ).
6
2.2.1 Operare şi structură
Un client BitTorrent este orice program care implementează protocolul BitTorrent. Pentru
a partaja un fişier sau un grup de fișiere, un peer creează mai întâi un fişier “.torrent”. Acest mic
fişier conţine date despre fișierele care vor fi partajate precum şi despre tracker . Cei care vor să
descarce fişierul partajat mai întâi caută fişierul .torrent asociat apoi se conectează la tracker (cel
specificat în fişierul .torrent) care îi spune ce alte peer-uri descarcă părți (“pieces”) din
respectivele fişiere.
Pentru crearea fişierului .torrent, fişierul care se vrea a fi partajat, e împărțit în mai multe
“pieces” de lungime fixă, de obicei între 64 KB şi 1MB. Se calculează o suma de control pentru
fiecare “piece”, folosind un algoritm de hash prestabilit, apoi se scrie rezultatul în fișier. Când un
alt peer descarcă respectivul “piece” se verifică suma de control. Fişierele .torrent complete
sunt publicate pe site-uri web sau în alte părți, şi sunt asociate unui tracker . Tracker-ul menţine o
listă de clienţi care participă în acel moment în torrent.
7
Clienţii au optimizări în ceea ce priveşte ordinea de descărcare a părților de fișier: aceasta
se poate face în ordine aleatoare (pentru a nu se aglomera unul din seed-uri) dar se poate face şi
pe baza unui algoritm de tipul “cel mai rar, primul“ (în care partea de fișier care e oferită de un
număr mic de peer-uri sa fie descărcată prima).
Eficienţa schimbului de parţi de fișier depinde de alegerea partenerilor: un client va alege
sa trimită cu bandă largă unui alt client (“preferat”) de la care ia cu bandă largă. Bineînțeles,
nou–veniţii au mari probleme cu așa o politică (ei practic nu pot transfera părți de fișier cu
nimeni, că nu au spre upload nimic), așa că de obicei partenerilor preferați li se alocă 80-90 %
din banda totală, restul fiind asignată aleator noilor veniți, în speranța găsirii unui partener mai
bun decât cel mai slab partener preferat (care este aşadar înlocuit) .
Este esenţial ca o parte din peer-uri ce s-au transformat în seed-uri sa rămână conectate în
roi, şi să asigure distribuirea în avalanşa a parţilor de fişier , eliberând astfel seeder-ul iniţial. A
nu face aşa (“hit & run “) se pedepseşte (de exemplu prin refuzul de acces la .torrent noi ) pe
multe site-uri pe care trebuie ca utilizatorul să fie înregistrat pentru a putea descărca fişierul
.torrent.
Propagarea erorilor
Daca o parte dintr-un fișier devine coruptă, hasul calculat pentru aceasta parte va fi diferit
de hasul primit, şi deci se va retransfera. Erorile deci se limitează la respectivul peer, şi la
respectiva parte de fișier.
Picarea trackerului
Când un tracker pică, nu mai este posibil ca noi peer-uri să intre în ori, şi nici sa se
descopere noi parteneri .
Nu se ia în calcul dacă un seed oferă spre upload un anumit fișier, ci doar dacă
respectivul fișier se transferă .
În acest mod, pe de o parte se accelerează distribuirea rapidă de fișiere noi, dar pe de alta
se oprește distribuirea de fișier mai vechi.
Overhead .
În cazul fișierelor mici (de ordinul KB) overhead-ul protocolului devine foarte important,
consumând multe resurse.
8
2.2.5 Tipuri de atacuri in rețelele BitTorrent
În acest tip de atac, clientul rău-intenționat, işi alege seeduri, și nu peer-uri ca parteneri.
Acest lucru se face după câmpul BITFIELD din mesajul de după handshaking (unde e menționat
ce părți de fișier sunt în posesia peer-ului (marcat cu “1”-uri ); un seed va avea deci în acest caz
numai “1”).
Din cauză că seed-urile îşi aleg partenerii favoriţi după rata de transfer cu care partenerii
iau datele , tot ce trebuie sa facă acest client maliţios este să descarce cat de repede poate şi deci
creează un dezechilibru puternic in rețea (ocupând o mare parte din banda de upload a seed-ului).
9
3.Funcționarea BitTorrent
În mod tradițional, un computer se alătură unei roiuri BitTorrent prin încărcarea unui
fișier .torrent într-un client BitTorrent. Clientul BitTorrent contactează un "tracker" specificat în
fișierul .torrent. Trackerul este un server special care ține evidența computerelor conectate.
10
Dispozitivul de urmărire partajează adresele lor IP cu alți clienți BitTorrent în roiuri,
permițându-i să se conecteze unul la celălalt.
Odată conectat, un client BitTorrent descarcă biți din fișiere în torent în bucăți mici,
descărcând toate datele pe care le poate obține. Odată ce clientul BitTorrent are anumite date,
acesta poate începe să-i încarce datele către alți clienți BitTorrent din roiuri. În acest fel, toată
lumea care descarcă un torrent încărcă același torrent. Aceasta accelerează viteza de descărcare a
fiecăruia. Dacă 10.000 de persoane descarcă același fișier, nu pune prea multă stres pe un server
central. În schimb, fiecare descărcător contribuie la încărcarea lățimii de bandă la alte descărcări,
asigurând că torentul rămâne rapid.
11
3.2 Descărcări Torrent și Torrents Trackerless
12
permițând oamenilor să împărtășească lățimea de bandă încărcată cu alții, toata lumea.
Bineînțeles, aceasta economisește și bani Blizzard pe facturile lor de lățime de bandă.
Oamenii pot folosi BitTorrent pentru a distribui fișiere mari către un număr semnificativ
de persoane fără să plătească pentru lățimea de bandă a gazdei web. Un film gratuit, un album
muzical sau un joc ar putea fi găzduit pe BitTorrent, permițând o metodă ușoară și gratuită de
distribuție, în care oamenii care descarcă fișierul ajută de asemenea la distribuirea acestuia.
WikiLeaks a distribuit date prin BitTorrent, preluând o sarcină semnificativă de pe serverele lor.
Distribuțiile Linux utilizează BitTorrent pentru a ajuta la distribuirea imaginilor discului ISO.
BitTorrent, Inc. - o companie responsabilă de dezvoltarea protocolului BitTorrent, care a
achiziționat și a dezvoltat și popularul torrent client μTorrent - dezvoltă o varietate de aplicații
care utilizează protocolul BitTorrent pentru lucruri noi prin intermediul proiectului BitTorrent
Labs.Experimentele Labs includ o aplicație de sincronizare care sincronizează în siguranță
fișiere între mai multe computere prin transferarea directă a fișierelor prin BitTorrent și un
experiment BitTorrent Live care utilizează protocolul BitTorrent pentru a ajuta la difuzarea live,
streaming video, folosindu-se de BitTorrent pentru streaming video live numărul de persoane
fără cerințele de lățime de bandă curente.
3.4 Concluzii
13
4. Bibliografie:
http://stst.elia.pub.ro/news/RC/Teme_RC_IVA_2014_15/3_BatrosEl_CiorobeaCrAl_Stre
aming_2.doc
https://www.if-koubou.com/articles/how-to/how-does-bittorrent-work.html
http://users.utcluj.ro/~civan/thesis_files/2011_PoravD_torrentfiletransfer.pdf
http://www.techtorials.ro/2010/05/05/tehnologia-bittorrent/
14