1 / 12

Infrastructura de COLECTARE ş i RAPORTARE î n sistemele p2p

Infrastructura de COLECTARE ş i RAPORTARE î n sistemele p2p. student: Tudor Rogoz Coordonatori : As.drd ing . R ă zvan Deaconescu Prof. dr. ing . Nicolae Ţă pu ş. Scopul proiectului.

nemo
Download Presentation

Infrastructura de COLECTARE ş i RAPORTARE î n sistemele p2p

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Infrastructura de COLECTARE şi RAPORTARE în sistemelep2p student: Tudor Rogoz Coordonatori: As.drd ing. RăzvanDeaconescu Prof. dr. ing. NicolaeŢăpuş

  2. Scopul proiectului • Implementarea unei soluţii de colectare, analizăşi raportare a informaţiilor oferite de mai mulţi clienţi BitTorrent în contextul rulării: timp de transfer, durată, viteză de download, upload, memoria folosită etc. • Infrastructura oferă ca funcţionalitate: • Colectarea datelor (datele sunt stocate în fişiere de log) • Analiza datelor (interpretarea informaţiilor prin corelarea cu datele oferite de ceilalţi clienţi) • Raporatea rezultatelor prin grafice pentru fiecare argument important într-un anumit context (numărul de peeri, dimensiunea fişierului, perioadă a zilei etc.)

  3. Sisteme peer to peer • Modelul peer-to-peer • Nu există server dedicat (nu este o reţea centralizată) • Nu există o ierarhie • Nodurile sunt “egale” (îndeplinesc funcţia şi de client şi de server) • Avantaje sisteme P2P • Fiecare peer dispune de resurse proprii (lăţime de bandă, putere de calcul, spaţiu de stocare) • Adăugarea unui nou nod în reţea implică creşterea performanţei sistemului client si server clienti VS server Modelul P2P Modelul client - server

  4. Protocolul BitTorrent • Peer–to–peer file sharing protocol • Responsabil cu 35% din traficul total pe Internet (2002) • Funcţionalitate Seeder 1.Deschide metainfo file (Mytorrent.torrent) 5.Trimite handshake Peer cedoreştedownloadareafişieruluidescrisîn metainfo file Peer ce conţine anumite bucăţi (pieces) din fişier 6.Răspunde cu handshake 4.Trimite răspunsulcererii (ip+port+peerId) 2.Se conectează la tracker şicerelista de peeri 7.Prin requesturisuccesive la ceidoi remote peeri şiîn funcţie de anumiţialgoritmi (rarest first, chocking and optimistic unchocking etc.) se downloadeazăfişieruldorit 3.După un algoritminteligent tracker-ulcreazălista de peericerută Tracker

  5. Infrastructura de experimente • 9 statii , 2 GB RAM , 300 GB HDD, 3 GHZ CPU dual-core • Fiecare statie contine 5 masini virtuale OpenVZ ce ruleaza un Linux Kernel • Consecinte: • 45 de masini virtuale fiecare ruland un client de torrent (poate simula un swarm de 45 de peeri) • Consum mic de memorie si CPU => se poate marii usor platforma de experimente

  6. Clienţi bitTorrent • Toate au sau au fostmodificatesaaiba CLI • Azureus( Vuze ) : scris in Java, fara CLI • Hrktorrent: bazatpelibtorrent ,scris in C++,are CLI • Tribler: scris in Java,ofera CLI • Transmission: scris in C, inclus in Ubuntu Linux distribution • Aria2: client de HTTP, FTP,BitTorrentscris in C++ • BitTorrent Mainline: scris in python de Bram Cohen

  7. Structura proiectului Experiment Fisiere status/log Parsarefisierestatus/log Download/Upload speed, peeri conectati, chocking ,unchocking , interested ,request etc. Corelarea informatiilor si analiza acestora Grafice

  8. Fişierele de log • Fiecare client de torrent foloseşte o jurnalizareproprie • Exemplu: libtorrent • Fişiere de status: conţin upload/download speed, peeriiconectaţi(raportate la un moment de timp) • Fişiere de log: • Conţin mesajeleinterschimbateîntrepeeri, tipulclientului cu care s-a conectatşialteinformaţii interne ale clientuluirespectiv • Câte un fişierpentrufiecareconexiune din swarm • Pot ajunge la dimensiunifoartemariîn funcţie de duratasesiunii

  9. Parsarea logurilor • Implementataîn python • Foloseştemodulul python pickle (în fişierele .pklsuntobiecte) =>se pot încărcafoarte uşor dateleîn memoriepentrugrafice ul.pkl dl.Pkl ps.pkl Fişier status Parser Fişier log choke.pkl request.Pkl piece.pkl have.pkl Interested.pkl Parser

  10. Interpretarea rezultatelor • Informaţiile obţinute sunt folosite pentru raportare prin grafice • Utilizatorul va putea face o anumită configurare pentru crearea graficului în funcţie de dorinţele sale: download speed/durata sesiunii, requesturile făcute către un anumit client pe un anumit interval; se va putea compara evoluţia mai multor peeri pe parcursul sesiunii în acelaşi grafic etc. • Aplicaţia va trebui săştie să facă anumite corelaţii între diferite mărimi în puncte cheie ale sesiunii de download/upload

  11. Concluzii şi dezvoltări ulterioare • Se poate face o legăturăîntre anumiţi parametrii de configurare din experiment (parametrii de intrare) şi rezultatele obţinute prin graficele finale(parametrii de ieşire) : • Parametrii de intrare: limitări de bandă, număr peeri, clienţi BitTorrent folosiţi, număr de clienţi de fiecare tip, numărul seed-erilor, dimensiunea torentului, numărul de sloturi de upload pe torrent, enable DHT, mărimea/numărul block-urilor, mărimea/numărul piece-urilor etc. • Parametrii de iesire: download speed, upload speed, ETA, numărul peer-ilor conectaţi, raţia pe torent, churning, durata de viaţă a swarm-uli, momentul intrării clientului în swarm raportat cu timpul de început al swarm-ului, seeding time, utilizare procesor, utilizare memorie etc. • Se pot testa/compara automat clienţi BitTorrent ce sunt folosiţi în lumea reală, ceea ce poate contribui la o dezvoltare ulterioară a protocolului BitTorrent şi a clienţilor ce îl implementează

  12. Întrebări ? Contact tudor.rogoz@gmail.com wiki : http://koala.cs.pub.ro/projects/btrt

More Related