150 likes | 241 Views
Készítette: Darázsi László XZ1J94 Muráti Ákos JNC2FC Szeles József VC4DV7. Kísérleti fájlmegosztó tervezése mk091. Médiakommunikáció labor ( VITT5321 ). Feladat. Alkalmazási szintű hálózati protokoll tervezése A rendszer protokolljának megtervezése Központosított átfedő létrehozása
E N D
Készítette: Darázsi László XZ1J94Muráti Ákos JNC2FC Szeles József VC4DV7 Kísérleti fájlmegosztó tervezése mk091 Médiakommunikáció labor(VITT5321)
Feladat • Alkalmazási szintű hálózati protokoll tervezése • A rendszer protokolljának megtervezése • Központosított átfedő létrehozása • Napster jellegű rendszer • Egyenrangú (P2P) hálózat létrehozása a protokoll alapján • Kliens oldali ügyfélprogram (C#)és a központi kiszolgáló elkészítése (PHP) • Alkalmazási szintű többesadás • Multicast feladatkör beépítése a rendszerbe
Alkalmazási szintű hálózati protokoll tervezése 5/1 • Napster jellegű fájlcserélő! • A fájlok indexelése a központi kiszolgálón • Kérést a központi webszerver fogadja • A webszerver lefuttatja metódusnak megfelelő lekérdezést • Visszaadja azt az IP címet, ahol a keresett fájl található
Alkalmazási szintű hálózati protokoll tervezése 5/2 Downloads • Adatbázis táblák Files Clients
Alkalmazási szintű hálózati protokoll tervezése 5/3 • RPC hívások listája • p2p.heartbeat • p2p.bye • p2p.list_share • p2p.register_share • p2p.unregister_share • p2p.register_download • p2p.unregister_download • XMLRPC_method_not_found
Alkalmazási szintű hálózati protokoll tervezése 5/4 • Protokollüzenetek • Bejelentkezés • Fájlmegosztás • Fájlmegosztás törlése • Kijelentkezés
Alkalmazási szintű hálózati protokoll tervezése 5/5 • Protokollüzenetek • Kliens bejelentkezés • Fájlmegosztás • Fájlkeresés • Letöltés • Kijelentkezés
Egyenrangú hálózat létrehozása 6/1 • A megoldás során: • Kliensszoftvert .NET technológiát használva C# nyelven implementáltuk • Szerver megvalósítása PHP felhasználásával • A webszerverMySQLadatbáziskezelőt futtat • Kliens-szerver kommunikációhoz (HTTP felett) XML alapú RPC hívások • Peer-Peer kommunikáció Asyncsocketen keresztül • Tervezett funkciók • Új kliens felvétele az adatbázisba, vagy ha már a kliensről van bejegyzés az adatbázisban, akkor a kliens adatainak frissítése • Kliens törlése az adatbázisból • Új megosztás felvétele az adatbázisba • Megosztás törlése az adatbázisból
Egyenrangú hálózat létrehozása 6/2 • Keresés a megosztások között • Peerek közti fájlletöltés • Aktív letöltések nyilvántartása • Beragadt kliensek automatikus offline-ra állítása • Régi és új kliensek megkülönböztetése bejelentkezéskor • Hitelesítés secret használatával • A kliensalkalmazás telepítése elérhető:http://turul.eet.bme.hu/~mk091/setup/
Egyenrangú hálózat létrehozása 6/3 • A program felépítése – Kapcsolati információk
Egyenrangú hálózat létrehozása 6/4 • Keresések megjelenítése
Egyenrangú hálózat létrehozása 6/5 • Megosztásaink megjelenítése
Egyenrangú hálózat létrehozása 6/5 • Letöltött és letöltés alatt levő fájlok megjelenítése
Egyenrangú hálózat létrehozása 6/6 • A küldött és fogadott információk megjelenítése
Alkalmazási szintű többesadás1/1 • Elméleti szinten • Többesadás fát a szerver építi fel és tartja nyilván a kliensek heartbeat üzeneteikor • Kliensek IP-jük alapján egy bináris keresőfában lennének eltárolva • A Node leválásával a részfa leszekad • De, heartbeat üzenettel újra felfűzésre kerülnek (3. heartbeat ütemben helyreáll) • Egy kliens üzenetet küld a szomszédjainak TTL számlálóval • Az üzenet TTL számlálóját csökkentik a kliensek és továbbküldik, kivéve annak akitől kapták • Az üzenet küldése addig történik, amíg TTL>0