270 likes | 525 Views
Pareng ė: xxx. Bit T orent protokolas. Turinys. Kas yra BitTorrent protokolas BitTorrent protokolo terminologija Bencoding Failo dalys ir blokai Standartinis failų atsisiuntimas BitTorrent failų atsiuntimas BitTorrent failų skleidimas BitTorrent veikimo pavyzdys Mazgo užkimšimas
E N D
Parengė: xxx BitTorentprotokolas
Turinys • Kas yra BitTorrent protokolas • BitTorrent protokolo terminologija • Bencoding • Failo dalys ir blokai • Standartinis failų atsisiuntimas • BitTorrent failų atsiuntimas • BitTorrent failų skleidimas • BitTorrent veikimo pavyzdys • Mazgo užkimšimas • Failų siuntimo pabaiga • Privalumai • Trūkumai • Kas naudoja BitTorrent • Klausimai
Kas yra BitTorrent protokolas • Atvirojo kodo protokolas sukurtas efektyviam didelių failų keitimuisi • Duomenų siuntimas ir gavimas vyksta tuo pat metu • BitTorrent protokolas susideda iš Tracker HTTP ir PeerWire Protokolų Klientas - Serveris BitTorenttechnologijos tinklas
BitTorrent protokolo terminologija • Agentas (angl. “tracker”) – serveris, kuris teikiainformaciją mazgams • Meta duomenų failas (.torrent) – saugo informaciją apie torrent failus. (pvz.: URL į agentą) • Torrent– failas ar jų grupė, kuriuos klientas siunčiasi naudodmasisBitTorrent protokolu • Mazgas (angl. “peer”) –torrent tinklo klientas (veikiairkaipsiuntėjas ir kaip gavėjas).
BitTorrent protokolo terminologija • Skleidėjas (angl. “seeder”) – klientas, kuris teikia failą persiuntimui • Siuntėjas (angl. “leecher”) – klientas, kuris siunčiasi iš skleidėjų • Dalis (angl.“piece”) – failo segmentas • Blokas (angl. “block”) – failo dalies blokas.
Bencoding • Duomenų kodavimas naudojamas meta duomenų faile ir agento atsakymams
Failo dalys • Dalių skaičius yra nustatomas iš meta duomenų failo. Jis visada išlieka pastovus • Kiekviena suskaidytą dalį galima patikrinti naudojant SHA1 maišos funkciją • Dalies dydžio apskaičiavimo formulė: • failoDaliesDydis = torrentFailoDydis / daliųSkaičius (nustatomas torrent talpintojo) • Torrent failas/ai yra sujungiami į vieną baitų srautą. Tik baigus siuntimą jie yra patikrinami ir perverčiami į failus
Blokai • Jie skaičiuojami po failo išskaidymo dalimis • Apskaičiavimo formulė: • blokųSkaičius = (fiksuotasDaliesDydis / fiksuotoBlokoDydis) + !!(fiksuotasDaliesDydis % fiksuotoBlokoDydis) • Bloko eilės (indekso) apskaičiavimas failo dalyje: • blokoIndeksas = blokoNuokrypis% fiksuotasBlokoDydis 0 arba 1
Standartinis failų atsisiuntimas • Kliento-Serveriosiuntimas paremtas vieno serverio, turinčio failą, darbu, kai visa apkrova tenka jam vienam iš visų besisiunčiančių klientų • Dirba tokiu principu: • Atidaromas puslapis ir paspaudžiama failo atsisiuntimo nuoroda • Interneto naršyklės programa kompiuteryje (kliente) pasako serveriui (centriniam kompiuteriui, kuriame yra failas) kad reikia persiųsti failo kopiją mūsų kompiuteriui • Persiuntimas yra atliekamas naudojantis protokolu (FTP ar HTTP) iš vieno šaltinio
Kontrolinisklausimas • KokieyraKliento-Serverio trūkumai?
Kliento-Serverio trūkumai • Interneto srauto grūstis tinkle buvo problema jau nuo kliento-serverio technologijos naudojimo pradžios. Nes vienu metu ateinančių kliento užklausų vienam serveriui augant, serveris gali būti perkraunamas • Kliento-serverio technologija neturi gero P2P tinklo patikimumo. Naudojant kliento-serverio technologiją, kritiniam serveriui nebeveikiant, užklausos tampa nebevykdomos. P2P tinkluose, resursai yra paskirstyti po daug mazgų
BitTorrent failų atsisiuntimas • Turi būti gautas meta duomenų failas • Instrukcijos leidžiančios susisiekti su kitais mazgais turi būti periodiškai gaunamos iš agento • Dalinamas failas turi būti atsiųstas keičiantis jo dalimis su kitais klientais naudojant PeerWire Protokolu
BitTorrent failų skleidimas • Turi būti sukonfigūruotas agentas • Turi būti paskleistas meta informacijos failas su informacija apie torrent failo/ų struktūrą ir agento URL • Bent vienas mazgas turi skleisti torrent failą/us
BitTorrent veikimo pavyzdys • Pirminis skleidėjas išskaido dalinamą bylą Dalis (64KB – 16MB)
BitTorrent veikimo pavyzdys • Siuntėjas atsisiunčia .torrent failą, kuris nurodo į agentą (“tracker”) • Atsisiunčia visą failo dalį sudaryta iš blokų • Automatiškai tampa skleidėju ir ją pradeda skleisti kitiems siuntėjams Kuo daugiau skleidėjų, tuo daugiau dalių kopijų ir didesnis atsiuntimo greitis
BitTorrent veikimo pavyzdys • Kitas siuntėjas atsisiųs .torrent failą • Iš agento (“tracker”) gaus (50) skleidėjų sąrašą • Pradės siųstis dalis iš skleidėjų vienu metu 1 1 1 2 2 2 3 3 3 ... ... ... 100 100 100
Mazgo užkimšimas 0 1 Išsiunčiama Skleidėjas 2 3 4 3? 0 1 Nėra vietų (Užkimta) 2 Siuntėjas 3 4
Failų siuntimo pabaiga • Paskutiniai failo dalies blokai gali siųstis labai lėtai, todėl ją bandoma gauti išvisų mazgų • Ją gavus iš kart išsiunčiama atšaukimo žinutė visiems kitiems mazgams
BitTorrentprivalumai • Didelis atsiuntimo greitis • Apkrovų paskirstymas (geresnis pralaidumas) • Failų dalijimasis tik nedidelėje bendruomenėje • Daugiaplatformiškumas • Atviras protokolas. Kiekvienas gali sukurti klientą
Kontrolinisklausimas • KokieyraBitTorrenttrūkumai?
BitTorrent trūkumai • Anonimiškumo trūkumas – BitTorrent nesuteikia vartotojams anonimiškumo • Leechers trūkumas – BitTorrent vartotojas gali nuspręsti palikti basidalinančių kompiuterių klasterį iškart po failo kopijos atsisiuntimo • Sukčiavimo problema – yra sukčiaujančių atsisiuntimo programų, kaip BitThief, kurios leidžia siųstis failą be jo išsiuntimo • Greitis – vidutinis BitTorrent atsisiuntimo greitis yra apribotas apjungtu leechers ir seeders vidutiniu išsiuntimu greičiu
Kas naudoja BitTorrent • Žaidimų kompanijos (platinti didelius failus) • Britų vyriausybė (platinti biudžeto ataskaitoms) • Universitetai (tyrimų duomenims platinti) • Redhat (platinti CD/DVD atvaizdus) • Piratai (platinti nelegalius failus) • Facebook ir Twitter (serverių atnaujinimams siųsti)
Kontrolinisklausimas • Kada dar gali įvykti mazgo užkimšimas (choke)?
Mazgo užkimšimas • Klientas jau išsiunčia visu savo pajėgumo (pasiekė maksimalaus išsiunčiamų kanalų limitą) • Klientas yratik seeder, kuriuo atveju jis nenori jokių failo dalių • Klientas buvo užblokuotas (blacklisted) dėl naudojimosi užblokuota BitTorrent atsisiuntimo programa iš juodojo sąrašo