Peer-to-peer alkalmazások a gyakorlatban

A tantárgy angol neve: Peer-to-peer Applications in Practice

Adatlap utolsó módosítása: 2010. április 6.

Tantárgy lejárati dátuma: 2015. június 30.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnök informatikus szak

Villamosmérnöki szak

Szabadon választható tantárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMBV13   0/0/2/f 2  
3. A tantárgyfelelős személy és tanszék Dr. Simon Csaba,
4. A tantárgy előadója
 Név: Beosztás: Tanszék, Intézet:
 Dr. Vida Rolland egy. docens TMIT
 Simon Csaba egy. tanársegéd TMIT
6. Előtanulmányi rend
Ajánlott:
Kötelező: Peer-to-peer (P2P) hálózatok (VITMJV76, korábban VITT9176)
7. A tantárgy célkitűzése

Az Internet forgalmát manapság jelentős mértékben az új generációs elosztott peer-to-peer (P2P; egyenrangú) rendszerek generálják. Széles körben használják a P2P-alapú fájlcserélő, VoIP (Voice over IP, „internettelefon”) és streaming (médiaszórás) alkalmazásokat. Az ilyen rendszerek résztvevői elosztott módon kommunikálnak egymással anélkül, hogy egy központilag menedzselt és ellenőrzött rendszer vezérelné a kapcsolattartást. Éppen emiatt az ezen alkalmazások által generált forgalmat nehezebb jellemezni, megfigyelni, mint a klasszikus kliens-szerver architektúrákban.

A tantárgy célja, hogy gyakorlati betekintést nyújtson a P2P alkalmazások működésébe, építve a „Peer-to-peer (P2P) hálózatok” tantárgy során bemutatott elméleti ismeretekre. Vizsgálni fogjuk a különböző generációs, különböző célú P2P rendszerek felépítését, konkrét működését, keresési sajátosságait, valamint megfigyeljük az általuk generált forgalom jellemzőit.

8. A tantárgy részletes tematikája
  1. hét
    Ismerkedés a hálózati környezettel, alkalmazásokkal, melyeket a félév során használunk majd a gyakorlatok során. Wireshark (korábban Etherreal) a hálózati forgalom megfigyelésére. OverlayWeaver szimulátor/emulátor a különböző DHT algoritmusok elemzésére.
  2. hét
    A PlanetLab hálózat, mint egy globális kutatói teszthálózat elosztott (peer-to-peer) alkalmazások működésének tesztelésére, elemzésére. A PlanetLab működése, szeletek kiosztása, kezelése. Programok feltöltése, futtatása, eredmények begyűjtése, kiértékelése. Teszt alkalmazások írása.
  3. hét
    Házi feladatok bemutatása és kiosztása. A Kazaa P2P fájlcserélő működése a gyakorlatban. Melyik peer-ből lesz supernode, hogyan, miért? Lehet-e ezt befolyásolni? A keresés illetve fájlletöltés sikerének mérése. A részvételi szint befolyásolása, hatásai.
  4. hét
    A BitTorrent működése a gyakorlatban. .torrent file szerkesztése, hirdetés. Trükközés a rátákkal (choking/unchoking sorrend befolyásolása). "Valós" BitTorrent felhasználók megfigyelése (pl. hány kérés érkezik be és melyik peerről).
  5. hét
    Trackerless BitTorrent megoldások – Vuze (korábban Azureus). Miben tud segíteni egy elosztott hash táblára (DHT) épülő megoldás? Hogyan változik a keresés hatékonysága, összehasonlítva a „klasszikus" BitTorrent-tel? Mennyire befolyásolja a hatékonyságot a nagy peer dinamika, a gyakori ki- és becsatlakozások (churn)?
  6. hét
    A Kademlia DHT működése a gyakorlatban. Az eMule-Kad alkalmazás vizsgálata. Mennyire robosztus? Hatékonyabb-e a keresés a hagyományos megoldásokhoz képest? Összehasonlítás a Vuze-val. Mennyire befolyásolja a hatékonyságot a nagy peer dinamika, a gyakori ki- és becsatlakozások (churn)?
  7. hét
    openChord, JChord – nyílt forráskódú Chord DHT megvalósítások megismerése. Egy saját Chord kliens készítése egy JVM-en (Java Virtual Machine), a működés tesztelése és vizualizálása. 
  8. hét
    Biztonsági kérdések - hogyan támadhatóak a peer-to-peer rendszerek. Szennyezett fájlok terjedése egy klasszikus (BitTorrent) és strukturált (Kad, Chord) rendszerben. Mérgezett indexek hatása a DHT rendszerekben.
  9. hét
    P2P forgalommenedzsment ISP szempontból. Forgalomszűrési technikák. Nagyforgalmú P2P alkalmazások kezelése ISP szempontból (port filtering, downprioritise, random TCP drop) és lehetséges válaszlépések a P2P felhasználók részéről.
  10. hét
    P2P alapú, alkalmazás rétegbeli multicast alkalmazások működésének vizsgálata: Narada, TBCP. Hogyan befolyásolja az overlay topológia kialakítása a hálózat működését. Milyen hálózatméretig használhatóak ezek az alkalmazások? Hogyan lehet a multicast fának a peer-ek kilépése miatti átalakulását hatékonyan kezelni?  
  11. hét
    A Skype VoIP alkalmazás működésének bemutatása. A supernode választás hatása a mások, illetve a saját teljesítményre. A Skype által generált forgalom detektálása, szűrése. Tűzfal kikerülése.
  12. hét
    A SopCast P2P streaming alkalmazás hatékonyságának elemzése, a hagyományos kliens-szerver megoldásokhoz (pl. vlc) képest. Pufferelési tulajdonságok. Hány peer kell a normális működéshez? Mit jelent egy peer kiesése?
  13. hét
    A cache alapú megoldások működésének elemzése, a szolgáltató és a felhasználó szempontjából. Hogyan gyorsíthatja a fájlcserélő megoldásokat? Milyen hatása van a streaming megoldásokra? Hogyan méretezzük optimálisan a cache-t? Mit, meddig, és hol érdemes eltárolni? 
  14. hét
    Házi feladatok leadása és bemutatása.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) laboratórium.
10. Követelmények
  • A szorgalmi időszakban: 1 házi feladat (min. 50%-os eredménnyel)
  • A laboratóriumi gyakorlatok legalább 70%-án való részvétel (a TVSZ-nek megfelelően)
11. Pótlási lehetőségek A házi feladat a beadási határidő után különeljárási díj ellenében adható be, illetve javítható a pótlási időszak végéig, ezután nem pótolható
12. Konzultációs lehetőségek Igény szerint, az oktatóval egyeztetve.
13. Jegyzet, tankönyv, felhasználható irodalom
  1. Ralf Steinmetz, Klaus Wehrle (eds.), „Peer-to-Peer Systems and Applications”, Springer LNCS 3485, 2005.
  2. A. Oram (ed.), “Peer-to-Peer: Harnessing the Power of Disruptive Technologies.”, O'Reilly & Associates, 2001.
  3. Overlay Weaver – An Overlay Construction Toolkit, http://overlayweaver.sourceforge.net/
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra  28
Félévközi készülés órákra  14
Felkészülés zárthelyire   0
Házi feladat elkészítése  18
Kijelölt írásos tananyag elsajátítása
Vizsgafelkészülés  0
Összesen60
15. A tantárgy tematikáját kidolgozta
 Név: Beosztás: Tanszék, Intézet:
 Dr. Vida Rolland egy. docens TMIT
 Simon Csaba egy. tanársegéd TMIT