Bittorrent - jak začít
    Homepage      Download     Fórum      RSS-News      RSS-Fórum     Weblinks    CZ trackerlist   CZ hublist     IRC kanál    Přidat k oblíbeným stránkám
www.sdileni.cz
  .......TOP NEWS......
Kdo jsou čeští piráti
Bavte se na novém IRC kanálu
PeerGuardian 2
Kazaa KLR 3.0
Máte taky problémy s Aresem?
Azureus - návod
Blog Torrent

  Hlavní menu
Homepage
Fórum
IRC kanál
Download
Můj profil
Weblinks
Ankety
Přidat HUB
Inzerce
TOP 15
Tracker

Redakce

  Seznam rubrik
  Bittorrent
  DC++
  Filetopia
  Kazaa
  Soulseek
  WinMX
  Ares/Warezp2p
  eDonkey2k
  Gnutella
  IP telefonie
 
E-Hovory
  hublisty
  Ostatní
  Zajímavosti

  Informace
  Podpora
 
homepage
 
www.sdileni.cz
 
kontakt :
 
sdileni@sdileni.cz


  Spřátelené weby
Satelit

Shareforum


  Kalendář

Červenec 2010

Po Út St Čt So Ne
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Svátek má

Marta


  hledat na sdileni.cz
  

  Nejnovější komentáře

Databáze je prázdná!


téma Bittorrent - jak začít
Vydáno dne 11. 02. 2004 (80473 přečtení)

Jak začít, podrobný popis

Jak začít
1.stažením, instalací a konfigurací klienta pro bittorrent / vybrat si můžete v sekci download /
2.vyhledáním příslušného torent souboru na trackeru / tracker - server kde se skladují torrent soubory /
3.stahovat

<>Klienti a Torrentcreatory - stručný seznam nejznámějších aplikací.
ABC Bittorrent Client CZ DOPORUČENO
Toren Topia Client DOPORUČENO
Official Bittorrent Client v3.3
g3-torrent
PTC Bittorrent Client
TheSHAD0W's EXPERIMENTAL Bittorrent Client 
Original EXPERIMENTAL Bittorrent Client 
Azureus Client CZ DOPORUČENO
Completedir (Creates Torrents)
MakeTorrent CZ DOPORUČENO

Trackery aneb kde hledat
Asi nejznámější trackerem s největší databází torrent souborů je suprnova.org
Nejlpším vyhledávačem pak asi isohunt.com
Existuje ale další velké množství specificky zaměřených trackerů.

Eventuelně můžete použít nějaký vyhledávač torrent souborů  např. GoSuprnova. Pozor na aplikaci torentsearch prolezlou spywarem.

klikněte zde!

Co je to Bittorrent - podrobný popis
BitTorrent je protokol určený k distribuci souborů. Narozdíl od běžného přenosu souboru přes HTTP nebo FTP zde jednotlivé počítače stahující soubor zároveň slouží jako servery a nabízejí ke sdílení již staženou část souboru. To znamená, že s rostoucím počtem připojených klientů jsou data na síti zastoupena ve stále větším počtu kopií, což snižuje zátěž původního serveru (uživatelé nestahují soubor pouze z něj, ale i od sebe navzájem).
Všechny podpůrné aplikace jsou napsané v jazyce Python. BitTorrent je open source aplikace, vydaná pod MIT licencí. Autorem BitTorrentu je Brian Cohen, domovská stránka projektu je http://bitconjurer.org/BitTorrent/.
Architektura
Tracker je aplikace běžící zpravidla na výchozím serveru. Jeho úkolem je koordinovat spojení mezi jednotlivými klienty a řídit distribuci souborů. Jeden tracker může koordinovat stahování velkého počtu souborů, jednotlivé relace jsou identifikovány SHA1 hashem svého metasouboru.
Metasoubor (.torrent) je soubor obsahující URL trackeru a informace o souboru (souborech) k jejichž distribuci slouží. Jeho struktura bude podrobněji popsána dále.
BitTorrent klient (downloader) je aplikace sloužící k vlastnímu stahování souboru. Zároveň slouží jako server a umožňuje stažení již přenesených dat. Pokud jsou stažena všechna data, slouží BitTorrent klient čistě jako server.
Pro distribuci souborů je zapotřebí
Web server
Na webovém serveru jsou k dispozici metasoubory (.torrent) k distribuovaným datům. Spuštění downloaderu na klientském počítači je zajištěno pomocí MIME asociace (application/x-bittorrent).
Tracker Stačí jeden i pro velký počet souborů. Musí běžet na počítači přístupném zvenčí, počítač by měl běžet pokud možno nepřetržitě.
Zdroj (downloader) pro každý metasoubor.
Distribuované soubory
Klientský PC vyžaduje webový prohlížeč, BitTorrent downloader
Komunikace probíhá následovně:
Klient si vyžádá z web serveru metasoubor.
Spustí se downloader, uživatel si vybere, kam chce uložit soubory popsané příslušným metasouborem.
Pokud soubory existují, downloader si ověří jejich obsah (pomocí SHA1 hashe). Pokud ne, alokuje pro ně místo na disku (vytvoří adresářovou strukturu se soubory vyplněnými samými nulami (00H).
Downloader získá od trackeru náhodný seznam dalších downloaderů. Tento přenos probíhá přes HTTP nebo HTTPS.
Downloader zasílá trackeru informace o svém aktuálním stavu, zároveň downloadery přenášejí data mezi sebou. To se děje pomocí BitTorrent protokolu, který je vybudován nad TCP. Zdroj se chová stejně jako ostatní downloadery, protože však již má kompletní soubory, data pouze odesílá.
Protokol
Komunikace s trackerem – HTTP nadstavba. Metasoubory.
Data jsou posílána v ASCII, mohou obsahovat řetězce, celá čísla, seznamy (lists) a struktury (dictionaries). Kódování je následující:
Řetězec: <délka>:<text>
Příklad: 10:BitTorrent
Celé číslo: i<číslo>e
Číslo nesmí začínat nulou, pokud to není nula.
Příklad: i42e
Seznam: l<položka><položka>...e
Příklad: l10:BitTorrent5:pokuse
[‘BitTorrent’,’pokus’]
Struktura: d<klíč><hodnota><klíč><hodnota>...e
Klíč musí být řetězec.
Příklad: d4:file14:BitTorrent.txt6:lengthi3520ee
(‘file’:’BitTorrent.txt’,’length’:3520)
Metasoubor (.torrent) je struktura se dvěma položkami:
announce URL trackeru
info struktura popisující dat
Struktura info
name doporučené jméno souboru / výchozího adresáře
piece length délka datového bloku – menší je zpravidla lepší, ale zvětšuje velikost metasouboru.. Běžně se používá 256 KB.
pieces řetězec skládající se z SHA1 hashů jednotlivých datových bloků. Každému bloku přísluší 20 bytů.
length délka souboru v bytech
files seznam souborů
Struktura info obsahuje buď položku length (pokud popisuje jediný soubor) nebo položku files (pokud popisuje adersářovou strukturu s více soubory)
Položka files:
Seznam struktur se 2 položkami:
length délka souboru v bytech
path seznam udávající cestu k souboru, položky jsou jednotlivé podadresáře výchozího adresáře, poslední položka je jméno souboru
Komunikace s trackerem probíhá následovně:
Downloader zasílá trackeru HTTP GET žádost s následujícími parametry:
info_hash SHA1 hash struktury info z metasouboru
peer_id 20 znaků dlouhý identifikátor downloaderu. Generuje se náhodně při spuštění.
ip IP adresa počítače na kterém downloader běží. Nepovinná položka.
port číslo portu na kterém downloader běží. Implicitně první volný port >= 6881.
uploaded zatím odesláno dat
downloaded zatím přijato dat
left počet bytů, které je ještě potřeba stáhnout
event nepovinná položka – viz dále
Parametr event může nabývat následujících hodnot:
started při zahájení stahování
completed když jsou stažena všechna data – dále se již jen odesílá
stopped při ukončení stahování
<prázdný> běžná zpráva – zasílá se periodicky
Odpověď je struktura v Pythonu zakódovaná stejně jako metasoubor. Obsahuje buď klíč failure reason s chybovým hlášením (které se zobrazí uživateli), nebo 2 klíče:
interval doba v sekundách mezi pravidelnými žádostmi. Downloader může poslat žádost i mimo přidělený interval, pokud např. nemá odkud stahovat.
peers seznam dalších klientů pro komunikaci
Položka peers je seznam následujících struktur:
id identifikátor downloaderu
ip IP adresa nebo DNS jméno počítače s downloaderem
port port který má downloader otevřený
Komunikace mezi downloadery
Spojení je realizováno na bázi TCP. Je symetrické – zprávy v obou směrech vypadají stejně a data mohou téct oběma směry.
Bloky dat jsou indexovány od nuly v pořadí, v jakém jsou uvedeny v metasouboru. Po obdržení bloku a ověření, že je neporušený (shoduje se hash) jsou na to upozorněny všechny downloadery na seznamu.
Každé spojení má na každém konci 2 stavové bity: interested a choked. Bit interested znamená, že druhá strana má nějaký blok, který tento downloader ještě nemá. Bit choked znamená, že spojení je z této strany blokováno – druhá strana nebude dostávat data, dokud nebude odblokována. Počáteční stav každého spojení je choked=1 a interested=0.
Pro zvýšení efektivity přenosu jsou bloky rozděleny do podbloků a vždy je k dispozici fronta žádostí o podblok – jakmile je jeden stažen, vysílá se žádost o další.
Navázání spojení (handshake)
Spojení začíná znakem 19d, následuje řetězec „BitTorrent protocol“. Celočíselné hodnoty v dalších fázích protokolu jsou vždy big-endian na 4 byty.
Po hlavičce následuje 8 bytů, jejich hodnota je zatím 0 a jsou rezervovány pro pozdější rozšíření.
Dále následuje 20 bytů SHA1 hash struktury info z metasouboru.
Následuje 20 bytů identifikační kód downloaderu
Tím končí handshake, následují zprávy prefixované délkou. Zprávy délky 0 slouží pro udržení spojení, implicitně se posílají každé 2 minuty.
První byte každé zprávy s délkou >0 určuje její typ. Může to býr
0 – choke
1 – unchoke
2 – interested
3 – not interested
4 – have
5 – bitfield
6 – request
7 – piece
8 – cancel
Zprávy choke, unchoke, interested a not interested nenesou žádná další data a slouží k oznámení stavu bitů choked a interested na straně odesílatele. Posílají se při změně.
Zpráva bitfield se zasílá na začátku spojení. Downloader jí oznamuje, které bloky má již stažené a k dipozici. Data zprávy jsou bitové pole. Jednotlivé bity počínaje nejvýznamnějším odpovídají blokům počínaje blokem s indexem 0. Nevyužité bity mají hodnotu 0. Pokud downloader začíná a nemá ještě žádná data, zprávu bitfield může vynechat.
Zpráva have obsahuje index právě staženého bloku. Zasílá se všem ostatním po úspěšném ověření hashe.
Zpráva request slouží k vyžádání podbloku od jiného downloaderu. Obsahuje index bloku, začátek a délku. Ofset začátku a délka musí být mocniny dvou.
Zpráva cancel slouží ke zrušení žádosti poslané zprávou request. Parametry má stejné.
Zpráva piece slouží k vlastnímu přenosu dat. Obsahuje index bloku, ofset začátku a data.
Strategie výběru, řízení toku
Výběr partnerů pro download
V současné implementaci je prováděna náhodně. Je experimentálně ověřeno, že takto získaný graf má vyhovující parametry. Alternativou bývá stromová topologie, tam se ale nevyužije upload kapacita listů.
Pipelining
Aby během přenosu nebyly výpadky v toku dat, jsou bloky rozděleny na podbloky (zpravidla 16 KB velké). Každé spojení má frontu zpravidla 5 čekajících žádostí, jakmile je obdržen podblok, posílá se další žádost.
Začátek downloadu
Je zapotřebí rychle získat alespoň 1 blok, aby bylo co uploadovat (což má za následek rychlejší download). Snažit se v tomto okamžiku získat nejvzácnější blok v síti by nebylo dobrou strategií, lepší je volit takové bloky, které má více uživatelů (a lze tedy stahovat více podbloků najednou). Jakmile je stažen první kompletní blok, přejde se na následující strategii.
Download
Při výběru bloku během hlavní fáze downloadu se používá strategie „nejvzácnější-nejdřív“, tj. stahují se přednostně ty bloky, které má nejméně uživatelů v síti. To znamená, že:
- dokud zdroj nerozešle všechny bloky, nikdo nemůže ukončit stahování. Tato strategie zajistí, že zdroj určitě odešle všechny bloky dříve, než se některé začnou opakovat.
- vzácné bloky, u kterých má výpadek klienta, který je poskytuje, největší dopad na rychlost celého systému, se zálohují přednostně
- rozšířené bloky se nechávají na konec, takže šance, že klient s volnou kapacitou pro upload nemá žádná užitečná data, je menší
Závěrečná fáze
Během downloadu může nastat situace, kdy některý blok je stahován od uživatele s velmi malou přenosovou rychlostí. Normálně to není problém (je otevřených mnoho spojení současně a nízká rychlost jednoho nemá na výsledek vliv), v závěrečné fázi, kdy tento přenos může být poslední, to zbytečně zdržuje. Proto v okamžiku, kdy je na všechny zbývající podbloky odeslána žádost (zpráva request), klient pošle žádost o všechny podbloky všem ostatním klientům v síti. Jakmile některý z nich obdrží, zruší tuto žádost u všech ostatních klientů pomocí zprávy cancel.
Tato metoda přináší velké zrychlení závěrečné fáze downloadu za cenu mírného zvýšení zátěže sítě (netrvá příliš dlouho, takže negativní dopad není nijak vážný).
Blokování a odblokování
Blokování (choking) se používá ze dvou důvodů:
1) při současném odchozím provozu přes velký počet socketů dochází nefungují mechanismy řízení toku dat u TCP optimálně, je tedy vhodné počet odchozích aktivních spojení omezit
2) jako mechanismus „odměňování“ klientů poskytujících rychlý upload a naopak „trestání“ těch, co data pouze přijímají.
Blokované TCP spojení zůstává otevřené, klient přes něj ale neposílá data.)
BitTorrent klient standardně používá 4 otevřená spojení. Stav se aktualizuje každých 10 sekund, kritériem pro výběr je klouzavý průměr rychlosti downloadu z jednotlivých spojení za posledních 20 sekund.
V každém cyklu klient odblokuje (choked=0) 4 klienty, od kterých má nejrychlejší download a mají zájem o data (interested=1). Pokud existuje klient s vyšší rychlostí downloadu, který nemá zájem o data, je též odblokován. Pokud se během cyklu změní jeho stav interested na 1, bude zablokován nejpomalejší ze 4 klientů vybraných předtím.
Tato metoda by sama o sobě neumožňovala zjistit, jestli některé z právě nevyužívaných spojení není lepší než ta právě využívaná. Proto je v každém okamžiku jeden klient odblokován bez ohledu na rychlost downloadu od něj. To, který klient to je, se mění jednou za 3 cykly (30 sekund). Klient, který dosud nemá žádná data, která by mohl nabízet, má 3x vyšší šanci, že bude takto odblokován. Pokud tento klient začne stahovat (interested=1), počítá se mezi 4 povolená aktivní spojení, na rozdíl od nich ale nemůže být zablokován, pokud je nejpomalejší.
Dokončené stahování
Po dokončení stahování se již nelze rozhodovat podle rychlosti downloadu. Klient proto preferuje poskytování dat klientům, ke kterým má nejrychlejší upload, a klientům, kterým momentálně nikdo neposílá data.
Výhody a nevýhody
Výhody
Pro distribuci souborů stačí linka s mnohem menší propustností než např. u FTP.
Výsledná přenosová rychlost u koncového uživatele se u běžných připojení blíží propustnosti linky.
Systém dobře zvládá velké nárazové zatížení (např. při uvolnění nové verze programu), protože s počtem požadavků roste i počet „serverů“.
Systém by měl být odolný vůči žalobě – žaloby proti výměnným sítím jsou stále velmi populární, u BitTorrentu se však dá snadno nastavit, co přesně se bude sdílet (jednalo by se o drobnou modifikaci zdrojového kódu trackeru, aby přijímal pouze spojení, která mají svůj hash uvedený v seznamu). Argumenty, že se BitTorrent používá k nelegálnímu sdílení souborů, by pak neměly šanci obstát.
Nevýhody
BitTorrent downloader během stahování souboru zároveň odesílá velké množství dat ostatním downloaderům. Jelikož je to podmínkou pro dosažení použitelné rychlosti stahování (viz kapitola o řízení toku), není možné tento objem dat příliš omezovat. Vzhledem k tomu, že v ČR toto často znamená omezení celkového objemu upload+download, je tento protokol v našich podmínkách pro uživatele počítaného připojení značně nevýhodný (stažení souboru je 1,5-3x dražší).



Související články:
Nový Azureus v. 2.5.0.0 (29.08.2006)
Švédští piráti jdou do ulic (05.06.2006)
BitComet 0.59 s DHT (10.06.2005)
Nová verze programu ABC (12.05.2005)
Nová verze programu ABC (26.03.2005)
Nový eXeem 0.21 beta bez cydooru (09.02.2005)
eXeem - prvotní nadšení střídá skepse (25.01.2005)
Leden na Tracker vlezem - duben ještě tam bude? (05.01.2005)
eXeem poprvé - screenshot a první review (30.12.2004)
Suprnova.org jde vstříc decentralizaci (01.12.2004)
Nová verze programu TorrenTopia (23.11.2004)
Suprnova.org versus spam a top 10 BT sites. (02.11.2004)
Azureus - podrobný návod (27.10.2004)
Český BT tracker před zánikem? II (18.10.2004)
SuprNova končí s poskytováním databáze jiným klientům a serverům! (19.09.2004)
"Bezbřehé ignorantství ministra Mlynáře potírá možnosti sdílení," říká CZ-BT Tracker (01.09.2004)
Švédský bittorrent tracker se vysmívá upozornění na porušování zákona DMCA! (01.09.2004)
Slotorrent Toolbar (27.08.2004)
Suprnova.org Lite (18.08.2004)
Bittorrent sites (17.08.2004)
České BT trackery (07.08.2004)
ABC Bittorrent klient 2.6.9 opět v češtině! (20.07.2004)
Azureus Java Bittorrent klient (10.07.2004)
Český BT tracker před zánikem? (09.07.2004)
ABC 2.6.8 CZ - chyby (11.06.2004)
ABC 2.6.8 CZ (08.06.2004)
Bitoogle (31.05.2004)
TorrenTopia 1.45a CZ (30.05.2004)
GoSupernova (19.05.2004)
Make torrent 2.1 CZ (03.05.2004)
Bittorrent pod zvětšeným tlakem ? (14.04.2004)
TorrenTopia (10.03.2004)
Jak vytvořit torrent (30.02.2004)
Co je to bittorent (30.01.2004)

[Akt. známka: 1,95] 1 2 3 4 5

( Celý článek | Autor: admin | Počet komentářů: 2 | Přidat komentář | Informační e-mailVytisknout článek )

  Anketa
Best CZ bittorrent tracker
který se vám líbí nejvíc?


BR tracker
30027  (30027 hl.)
CZ+SK helevole
10296  (10296 hl.)
Escom.biztracker
3883  (3883 hl.)
Amip SK tracker
3948  (3948 hl.)
CZtorrent Testament
7320  (7320 hl.)

Celkem hlasovalo: 55474


  Doporučujeme

  Anděla se vrátila

Ahoj
Jmenuji se Anděla, mám ráda pivo,Kazaa,.DC++ a Bittorrent a hledám přítele s podobnými zájmy.

Chcete se prezentovat na www.sdileni.cz stejně jako slečna Anděla ?
napište nám.
Chcete se podílet na tvorbě webu www.sdileni.cz stejně jako slečna Anděla ?
napište nám


  Foto týdne




Tento web byl vytvořen pomocí redakčního systému phpRS, kopyrajt www.sdileni.cz :-) Nový design s použitím kombinace několika layoutů stvořili TB & J_J_J.

UPOZORNĚNÍ: Tento server je pouze informační magazín a v žádném případě neslouží jako úložiště nebo prostředek ke sdílení nelegálních dat chráněných autorským zákonem. Dostupné údaje o uživatelích kteří se budou ve svých příspěvcích ve fóru nebo v komentářích k článkům snažit zneužít tento server jako "odkazovač" na jakýkoliv nelegální obsah "warez" budou s maximální snahou předany zodpovědným organizacím v případě, že o ně požádají.