Spre deosebire de sistemul tradițional de partajare a fișierelor,
bittorrentul este conceput pentru a distribui eficient același fișier
sau o colecție de fișiere unui grup mare de utilizatori. Când te
conectezi la internet, legatura respectiva este constituita dintr-o
lățime de banda pentru descărcarea datelor sau informațiilor si o lățime
de banda pentru încărcarea lor sau efectuarea cererilor de informație.
Pentru a mari eficacitatea distribuirii fișierelor, Bittorent folosește
banda de upload a celui care descarca fișierul pentru a-l trimite mai
departe utilizatorilor conectați ulterior, evitand astfel
suprasolicitarea serverului. In același timp programul il avantajează pe
cel care încarcă fișierul mai repede prin diferite metode. Astfel, in
timp ce descarci un fișier și il trimiți mai departe toata lumea este
mulțumită si se evita costurile de întreținere necesare pentru un
server.
Bittorrent este folosit la scara larga, legal, pentru descărcarea
diferitelor distribuții Linux, a muzicii gratuite, programelor sau
jocurilor demonstrative de dimensiuni mari.
Bittorrent vs HTTP sau FTP
Cand un fișier este disponibil prin HTTP toata lățimea de banda folosita
la descărcarea lui este asigurata de serverul pe care este stocat
fișierul. Acest server trimite fișierul spre fiecare client care il
solicita. La acesta se pot conecta un numar limitat de utilizatori care
impart banda respectiva. Acestea comunica doar cu serverul si nu schimba
informatii intre ei.
Prin Bittorrent, cand mai multi utilizatori descarca același fișier,
acestia schimba intre ei părțile finisate, iar costul necesat pentru
banda de upload este redistribuit acelora care-l descarca, făcând
posibila, teoretic, descărcarea din infinite instanțe. In acest fel se
pate rezolva problema limitarii traficului sau a numărului de conexiuni
existente pe anumite servere din punctul de vedere a celui care doreste
sa distribuie un fișier si nu dispune de resurse suficiente.
In comparație cu FTP-ul (File Transfer Protocol) se poate spune ca
reprezinta o evolutie catre MFTP (multi-source file transfer protocol).
MFTP-ul a fost comceput pentru a oferi posibilitatea procurarii unui
fisier mai rapid, cu ajutorul mai multor surse. Astfel viteza este
cumulata, spre exemplu de la 6 surse care au fiecare o viteza de 1MB/s
si rezulta o viteza totala de 6MB/s. Daca adaugam posibilitatea
trasformarii intr-o noua sursa a fisierului in curs de descărcare
rezulta Bittorrent.
Mod de funcționare
Bittorrentul identifica totul prin intermediul URL-ului si este conceput
pentru a se integra perfect cu interfata Web. Cei care doresc sa
descarce un fisier sunt nevoiti sa folosească un client de bittorrent.
Distribuirea unui fișier prin Bittorrent este constituita din
urmatoarele : un server Web normal, un fisier "metainfo", un
tracker(server central care monitorizează adresele si informațiile dar
NU stochează conținutul fisierului), fișierul original care se dorește a
fi distribuit, browser-ul Web si clientul Bittorrent al utilizatorului
care dorește fisierul.
Lucrurile sunt foarte simple: trebuie instalat clientul, si sa efectueze
click pe fisierul pus la dispozitie. Astfel clientul bittorrent
porneste automat si întreabă destinația descărcării fișierului, după
care incepe descărcarea.
Conexiunea se realizeaza in felul urmator: trackerul primeste informații
periodice și statistici prin HTTP sau HTTPS despre cei care descarca
fișierul si trimite inapoi informații despre clientii la care se pot
conecta.
Fișierul metainfo care cuprinde toate informațiile, este trimis intr-un
format simplu numit "bencoding" si cuprinde URL-ul trackerului, numele
care este sugerat pentru a salva fișierul si un index de informații
despre părțile în care a fost separat. Fișierele sunt împărțite in
marimi fixe, de obicei marimea este putere a lui 2, cu excepția ultimei
bucăți care poate fi trunchiata. Fișierul mai conține si codul de
identificarea a celui care descarca fișierul, cod care este generat la
fiecare pornire sau repornire a transferului, adresa IP, porturile la
care este așteptată conexiunea, precum si cantitatea datelor descărcate
si incarcate. La inceput, numărul celor care dețin fișierul incomplet
creste brusc, iar majoritatea celor cu conexiuni de viteze apropiate
finiseaza descărcarea in mod simultan, numarul fișierelor complete
disponibile pentru descărcare (seeds = seminte) crescând exponențial.
Comunicarea intre clienți este simetrica, iar mesajele transmise in
orice direcție arata la fel, după terminarea descărcării unui parți
clientul anunța ca este gata sa o trimită mai departe.
Metode aplicate pentru mentinerea proporției.
Au fost implementatea diferite metode si algoritmi pentru o balansare
cat mai buna a resurselor. S-a incercat o rezolvare practica însa s-a
demostrat a fi prea complicata. Metoda egalității este cel mai greu de
realizat, deoarece teoretic cantitatea de date descărcata trebuie sa fie
egala cu cea încărcata, o repartizare proporționala fiind imperativa. A
limita descarcarea la un nivel redus si a lasa încărcarea la
capacitatea maxima pentru echilibare nu este cea mai buna soluție. Un
client nu detine un mecanism central de de alocarea a resurselor fiecare
client fiind direct responsabil pentru mărirea vitezei de descărcare.
Toate problemele de descărcare sunt rezolvate direct intre utilizatori,
informațiile despre rata de transfer in ambele directii sunt transmise
tracker-ului doar pentru statistica. Rolul tracker-ului este limitat
doar la găsirea reciproca a clienților.
Strategia de stopare a descărcării pentru anumiți utilizatori poarta
numele de "choking". Simpla anunțare pe care o face fiecare client
despre fiecare client despre partile complete foloseste sub 1% din
lățimea de banda disponibila pentru încărcare si s-a dovedit a fi o
metoda buna, fiind utilizata frecvent.
Clientul Bittorrent imparte fișierul in mai multe părți iar ordinea
distribuirii si multiplicarii lor este foarte importanta. Cu un algoritm
slab de selectare si distribuire a părților se poate ajunge in situația
in care un utilizator sa părăsească rețeaua, iar anumite parți ale
fișierului nu vor mai fi disponibile, acesta rămânând incomplet in cazul
in care sursa inițiala a fost si ea îndepărtata. Pentru a evita aceasta
situație s-au stabilit anumite priorități.
"Rarest first" este prima metoda, folosita atunci cand este selectata o
anumita parte pentru descărcare, cea care este disponibila in putine
variante va avea prioritate, iar cele comune multor utilizatori vor fi
lăsate la sfârșit.
De exemplu, daca exista o singura sursa si doi utilizatori unul pornește
descărcarea de la un capăt, altul de la celalalt capăt. Daca alți 4
utilizatori se vor conecta ulterior, se va proceda la fel, doi dintre ei
vor descarca prima parte a fisierului de la ambele capete, iar ceilalți
doi vor descarca similar partea a doua. Acesta este doar un model
teoretic, dar aici apar diferite probleme. In acest mod fișierul este
divizat in doua parti mai mari, ulterior este divizata in doua parți mai
mici si tot asa. Tendința intre utilizatori este de a schimba " asta
pentru asta" , adică vor fi facilitate conexiunile reciproce iar cei
care nu vor coopera vor primi statutul "choke", ce reprezinta un refuz
temporar de upload.
Acest algoritm este necesat pentru o buna performanta, izoland utilizatorii care doar descarca, fără a încărca fișiere.
Exista doua diferente majore intre Bittorrent si programele P2P. Prima
este lipsa facilității de căutare mai avansate, care il face mai putin
util celor care încalcă copyright-ul. A doua este posibilitatea de
distribuire a fișierelor doar printr-un tracker, care trebuie rulat pe
un server specific și a cărui adresa este publica. Pentru a încălca
drepturile de autor acest server poate fi plasat fizic într-o zona în
care nu se pot la măsuri legale pentru oprirea lui, însa exista o
portiță: trimiterea unei cereri care ISP care sa atenționeze
utilizatorul adresei respective sa o blocheze în cazul neconformarii.
Aceasta metoda este mult mai practica pentru ca este mai ușor a bloca un
singur utilizator decât toți utilizatorii dintr-o rețea P2P obișnuita.
Niciun comentariu:
Trimiteți un comentariu