Bit T orent protokolas

27
BitTorent protokolas Parengė: xxx

description

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 - PowerPoint PPT Presentation

Transcript of Bit T orent protokolas

Page 1: Bit T orent protokolas

BitTorent protokolasParengė: xxx

Page 2: 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 Failų siuntimo pabaiga Privalumai Trūkumai Kas naudoja BitTorrent Klausimai

Page 3: Bit T orent protokolas

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 Peer Wire Protokolų

Klientas - Serveris BitTorent technologijos tinklas

Page 4: Bit T orent protokolas

BitTorrent protokolo terminologija Agentas (angl. “tracker”) – serveris, kuris

teikia informaciją mazgamsMeta duomenų failas (.torrent) – saugo

informaciją apie torrent failus. (pvz.: URL į agentą)

Torrent – failas ar jų grupė, kuriuos klientas siunčiasi naudodmasis BitTorrent protokolu

Mazgas (angl. “peer”) – torrent tinklo klientas (veikia ir kaip siuntėjas ir kaip gavėjas).

Page 5: Bit T orent protokolas

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.

Page 6: Bit T orent protokolas

Bencoding

Tipas Formatas PvzEilutė <ilgis>:<duomen

ys>4:user

Sveikas skaičius i<sveikas skaičius>e

I3e

Sąrašas l<turinys>e l3:man5:šaltaeŽodynas d<raktas><reikš

mė>ed3:mani1e2:dui2e4:trysi3ee

Duomenų kodavimas naudojamas meta duomenų faile ir agento atsakymams

Page 7: Bit T orent protokolas

Užkoduoto failo pavyzdys

Page 8: Bit T orent protokolas

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

Page 9: Bit T orent protokolas

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

Page 10: Bit T orent protokolas

Standartinis failų atsisiuntimas Kliento-Serverio siuntimas 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

Page 11: Bit T orent protokolas

Kliento-Serverio atsisiuntimas

Page 12: Bit T orent protokolas

Kontrolinis klausimas

Kokie yra Kliento-Serverio trūkumai?

Page 13: Bit T orent protokolas

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ų

Page 14: Bit T orent protokolas

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 Peer Wire Protokolu

Page 15: Bit T orent protokolas

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

Page 16: Bit T orent protokolas

BitTorrent veikimo pavyzdys

Pirminis skleidėjas išskaido dalinamą bylą

1 2 3 4 ... 100

Dalis (64KB – 16MB)

Page 17: Bit T orent protokolas

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ėjamsKuo daugiau skleidėjų, tuo daugiau dalių kopijų ir didesnis atsiuntimo

greitis

Page 18: Bit T orent protokolas

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 2 3 ...

100

1 2 3 ...

100

1 2 3 ...

100

Page 19: Bit T orent protokolas

Mazgo užkimšimas

234

1234

01

0

Skleidėjas

Siuntėjas

Išsiunčiama

3?Nėra vietų (Užkimta)

Page 20: Bit T orent protokolas

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

Page 21: Bit T orent protokolas

BitTorrent privalumai

Didelis atsiuntimo greitis Apkrovų paskirstymas (geresnis

pralaidumas) Failų dalijimasis tik nedidelėje

bendruomenėje Daugiaplatformiškumas Atviras protokolas. Kiekvienas gali

sukurti klientą

Page 22: Bit T orent protokolas

Kontrolinis klausimas

Kokie yra BitTorrent trūkumai?

Page 23: Bit T orent protokolas

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

Page 24: Bit T orent protokolas

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)

Page 25: Bit T orent protokolas

Kontrolinis klausimas

Kada dar gali įvykti mazgo užkimšimas (choke)?

Page 26: Bit T orent protokolas

Mazgo užkimšimas

Klientas jau išsiunčia visu savo pajėgumo (pasiekė maksimalaus išsiunčiamų kanalų limitą)

Klientas yra tik 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

Page 27: Bit T orent protokolas

Klausimai?