BitTorrent
Transkript
BitTorrent Vypracoval: Martin Fúsek 16.11.2007 X36MTI Motivace ● Chci stahovat, nově vydaný soubor ● Poskytovatel nemá dostatek prostředku ● – Hardware (není až takový problém) – Bandwidth Použít bittorent, ušetření nákladů Příklad: World of Warcraft ● 9.3 mil platicích užívatelů ● každé 3 měsíce patch, přidávající nový obsah: – 100MB až 2GB – průměrně 200MB – při 1GB = 10EB dat při dni, kdy se aplikuje patch ● ● ● ● dokud se nestahne a nenainstaluje nejde hrát doručení všem do 5h potřeba 5Tbit linky TeliaSonera má pouze OC192 = 10Gbit => bittorent Nomenklatura ● Torrent ● Tracker ● Peer ● Seeder ● Leech ● Scrape ● Announce ● Swarm Pachatelé ● Zakladatel: Mike Hawk (2001) ● Bram Cohen, CEO fy. BitTorrent, Inc. – Starší verze Open Source – Novější bude uzavřena Bencoding ● string: <délka v ASCII>:<data> ● Integer: “i“<ASCII>“e“ ● lists: “l“<bencoded values>“e“ – ● l4:spam4:eggse = ["spam", "eggs" ] dictionaries: d<bencoded string><bencoded element>e – d3:cow3:moo4:spam4:eggse = { "cow" => "moo", "spam" => "eggs" } .torrent file ● Bencoding – info ● ● ● ● piece length pieces string složený z 20-byte SHA1 hash private ..... – announce/announce-list – creation date – comment – created by .torrent file II ● ● Jeden soubor na torrent – name – length – md5sum Více – name – files ● ● ● length md5sum path Komunikace tracker<->peer ● HTTP/HTTPS GET (RFC1738) ● Bencoding ● Response: – interval – complete – peers ● ● ● peer id Ip port Komunikace peer<->peer Handshake ● pstrlen délka pstr ● pstr identifikace protokolu „BitTorrent protocol“ ● reserved ● ● info_hash hash SHA1 (jenom)info části .torrent souboru peer_id 20bajtů – „-“<2 písmena určující klienta><4 čísla pro verzi><random> Komunikace peer<->peer Message ● <length prefix 4B BE><message ID><payload> – keep-alive: <len=0000> – choke: <len=0001><id=0> – unchoke: <len=0001><id=1> – interested: <len=0001><id=2> – not interested: <len=0001><id=3> – bitfield: <len=0001+X><id=5><bitfield> ● – které části mam, hned po handshake have: <len=0005><id=4><piece index> ● dodatečné oznámení vlastnictví po stahnutí Komunikace peer<->peer Message II – request: <len=0013><id=6><index><begin><length> – piece: <len=0009+X><id=7><index><begin><block> ● – cancel: <len=0013><id<=8><index><begin><length> ● – data už ty data nechci port: <len=0003><id=9><listen-port> ● port pro DHT Algoritmy ● Downloading strategy – random – rarest first – pracuje se na streamování ● Super Seeding ● End Game ● Choking and Optimistic Unchoking – ● Tit for tat Anti-snubbing Algoritmy II ● ● DHT Connection Encryption – PHE jen hlavičky, starší – MSE/PE – RC4 ● ● koresponduje 60–80bitum simetrické šifry ale rychlé pro CPU Implementace ● BitTorrent – python ● Azureus – Java ● μTorrent – C++ ● Opera ● HW – některé routery Nevýhody ● Snadno zjistitelný – poskytovatelem – RIAA atd... přes tracker ● Pomalý rozjezd ● ISP zakazují i pro legalní účely, 2x zatěžují FUP ● Přetěžuje směrovací tabulky ● Není řešeno vyhledávání ● Vymírání torrentů Další doporučené počteníčko ● http://wiki.theory.org/BitTorrentSpecification
Podobné dokumenty
Úvod Motivační příklad komečního využití Postup uživatele
scrape pravidelný dotaz klienta na tracker pro aktualizování statistik swarmu a seznamu
peerů
prezentace - DSN - České vysoké učení technické v Praze
Šifrovací klíč
• Šifrovací klíč se odvozuje od
autentizačního klíče, ovšem pro každý
paket nově.
• Délka šifrovacího klíče (mezi 8 až 128
bity)
• šifrovací klíč = klíč spoje + náhodné číslo
+ BD_A...
Snímek 1
vzdálených serverech
standard organizace IETF (Internet
Engineering Task Force) pro vzdálenou
správu souborů
RFC 2518 z února 1999
RFC 4918 z června 2007
Semestrální práce z předmětu X36MTI na téma: Libor Bánovský
pieces: string obsahující 20-bytové SHA1 hashovací hodnoty
Informace pro single-file:
name: jméno souboru
length: velikost v bytech
md5sum: (volitelně) 32-znakový hexadecimální string odpovídající ...
Nové vysoce výkonné nástroje
spirálový závitník E394 při až dvakrát větší řezné rychlosti než je námi doporučená řezná rychlost pro tento závitník. Kromě toho jsme zkoušeli konkurenční
závitník (nejbližší ekvivalent z nabídky ...
české PDF
videopaměti a 2 pokud je v X serveru.
int (*get filled bitmap)(struct bitmap *dest, unsigned char *pattern,
int n bytes)
Před voláním této funkce jsou vyplněny položky x a y v struct bitmap. Obě mu...
Téma 4: Adresy a adresování v TCP/IP, IP adresy verze 4
• pokud se dvě síťová rozhraní nachází ve stejné síti, musí mít jejich IP adresy
stejnou síťovou část (network ID)
• a naopak různé relativní části (host ID)
• pokud se dvě síťová rozhraní nachází ...
Lékárnička – léky
Nepřilnavý obvaz – nepřisychá k ráně (popáleniny, puchýře), v 1 balení je
několik samostatně zabalených čtverců gázy, napuštěných např. bílou
vaselinou (Grassolind neutral, „mastný tyl“) nebo jodpo...
ČSN ISO 690-2
zúčastňují také vládní i nevládní mezinárodní organizace, s nimiž ISO navázala pracovní styk. ISO úzce
spolupracuje s Mezinárodní elektrotechnickou komisí (IEC) ve všech záležitostech normalizace
v...