1 / 20

TazUP – P2P sharing protocol

TazUP – P2P sharing protocol. TazUP [tez ap] Peter Csiba Martin Šrámek Jakub Vaňo 2. inf, 2010/2011, FMFI UK. Obsah projektu. Návrh nového peer-to-peer protokolu na zdieľanie súborov Implementácia jeho prvotnej verzie Oficiálny klient protokolu. Klient. Aplikácia v jazyku JAVA

elon
Télécharger la présentation

TazUP – P2P sharing protocol

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. TazUP – P2P sharing protocol TazUP [tez ap] Peter Csiba Martin Šrámek Jakub Vaňo 2. inf, 2010/2011, FMFI UK

  2. Obsah projektu Návrh nového peer-to-peer protokolu na zdieľanie súborov Implementácia jeho prvotnej verzie Oficiálny klient protokolu

  3. Klient Aplikácia v jazyku JAVA Testovaná pod OS Linux Užívateľské rozhranie – grafické aj konzolové

  4. Terminal user interface • Konzolové rozhranie používa knižnicu jcurses

  5. Graphical user interface • Grafické rozhranie používa knižnicu Swing

  6. Protokol P2P protokol => žiadne centrálne servery Protokol na aplikačnej vrstve Na transportnej vrstve využíva TCP aj UDP TCP na prenos súborov UDP na keep-alive pingy a vyhľadávanie Na sieťovej vrstve náš oficiálny klient podporuje iba IPv4. Implicitne používame port 4747.

  7. Pripojenie do siete Klient si zvolí port, na ktorom bude komunikovať – implicitne je to 4747 Neexistujú centrálne servery, preto treba poznať nejakých iných peerov a pridať ich adresu a port do zoznamu, tzv. peerlistu Ak nikoho nepoznáme, na účel zoznamovania sa s inými užívateľmi protokolu môžu slúžiť napr. špecializované webstránky Na lokálnej sieti funguje peer discovery

  8. Peer ID Každý peer si vygeneruje náhodný 32-bitový identifikátor, pod ktorým bude vystupovať v sieti Existuje šanca kolízie, je však taká malá, že sa nám viac oplatí ju riskovať, než sa dohodnúť na ID s ostatnými peermi, čo by bola „zbytočná byrokracia naviac“ Ak by ku kolízii predsa len došlo, možno klienta jednoducho reštartovať a zvolí sa nové ID

  9. Peer management Každý klient posiela peerom zo svojho peerlistu pravidelné keep-alive správy („pingy“) Pingom sa peerovia informujú o svojej aktivite aj svojom Peer ID Ak peer dostane ľubovoľnú správu, pridá si odosielateľa do peerlistu Preto pri nadväzovaní komunikácie stačí „jednostranná známosť“ Broadcast ping – local peer discovery

  10. Vyhľadávanie Súbory sa vyhľadávajú na základe kľúčových slov Vyhľadávacia požiadavka sa posiela všetkým aktívnym peerom z peerlistu Šíri sa rekurzívne do určitej hĺbky (TTL)

  11. Vyhľadávanie Aby sa vyhlo zahlteniu siete, ak je jej topológiou hustý graf, peer neodpovie na dve rovnaké vyhľadávacie požiadavky s rovnakým ID odosielateľa v krátkom čase za sebou Ak peer, ktorý dostane požiadavku, zistí, že má požadovaný súbor (matchujúci vyhľadávané kľúčové slovo), musí to oznámiť odosielateľovi

  12. Vyhľadávanie - odpoveď Ako informuje zdieľajúci peer vyhľadávajúceho? Odpoveď možno poslať rekurzívne naspäť Problém - ak chcú zdieľajúci a vyhľadávajúci peer nadviazať TCP spojenie na stiahnutie súboru, nemali by do toho zahŕňať aj ostatných „medzi nimi“ V skutočnosti sa musia sa informovať o svojich adresách

  13. Vyhľadávanie - odpoveď Implementované riešenie: Vyhľadávajúci peer do požiadavky „pribalí“ svoju IP adresu a port Problém – klient nevidí vlastnú adresu (nevie, na ktorom rozhraní s kým komunikuje). Adresu tam v skutočnosti pribalí až prvý peer, ku ktorému sa požiadavka dostane Zdieľajúci peer nadviaže TCP spojenie na túto adresu

  14. Vyhľadávanie - odpoveď Nevýhody tohto riešenia: porušuje OSI model Pribalená IP adresa nemusí dávať zmysel pri komunikácii medzi rôznymi rozhraniami, napr. lokálna sieť a internet Problémy s NAT-om Podstatná výhoda tohto riešenia Sťahovanie cez „prostredníkov“ by bolo pomalé a výrazne by zahlcovalo sieť

  15. Sťahovanie súborov Používa sa protokol TCP Možno sťahovať niekoľko súborov naraz Dáta sa neposielajú ako súvislý prúd, ale po častiach Toto umožňuje pamätať si, aká časť súboru sa preniesla, ak by sa náhle prerušilo spojenie Sťahovanie sa potom dá obnoviť, netreba začínať odznova

  16. Sťahovanie súborov Ak peer usúdi, že od neho sťahuje súbory veľa iných peerov a nemá kapacitu na ďalšie prenosy, môže odmietnuť poskytnutie súboru Vtedy klient posiela požiadavku ďalším peerom, o ktorých vie, že majú ten istý súbor Súbor je jednoznačne identifikovaný názvom, veľkosťou a kontrolným súčtom SHA-1

  17. Budúcnosť protokolu Zavedenie metriky na peeroch podľa ID Vyhľadávať sa bude po vrstvách podľa vzdialeností peerov Redšia topológia siete Menej duplikátnych požiadaviek – efektívnejšie vyhľadávanie

  18. Budúcnosť protokolu Lepší peer management Udržiavanie malého peerlistu pre efektívnejšiu komunikáciu Väčšina peerlistu by mala byť tvorená užívateľmi, ktorí sú často aktívni, alebo boli nedávno aktívni Prijmeme aj niekoľko neaktívnych peerov, aby sme dali šancu novým používateľom Podpora IPv6

  19. Download http://tazup.csip.sk/ http://people.ksp.sk/~imp/projects/tazup/ http://www.st.fmph.uniba.sk/~vano4/projects.php

  20. TazUP Ďakujeme za pozornosť!

More Related