Ero sivun ”BitTorrent” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(tuotu kieltä huoltaen ja wikittäen toiminnasta kertova kappale raja-anturan artikkelista "Mikä ihmeen BitTorrent ? - Protokolla ja käyttöönotto", kirjoittanut tuxu)
p (kh)
Rivi 5: Rivi 5:


==Toiminta==
==Toiminta==
Kuvitellaan, että haluamme ladata jonkin [[jakelu]]n [[levykuva]]n. Etsimme tiedoston nettilinkin, klikkaamme sitä ja BitTorrent alkaa lataamaan. Latauksen alettua BitTorrent yhdistää "trackeriin", tracker kertoo asiakasohjelmallemme mistä tietokoneissa tiedosto löytyy, mitä osia tiedostosta löytyy jne. Kun BitTorrent saa tiedot halutusta tiedostosta, se alkaa lataamaan, mutta ei suinkaan yhtä tiedostoa yhdestä paikasta vaan yhden tiedoston 256Kt osia eri tietokoneilta. Heti kun yksi 256Kt:n siivu on ladattu, BitTorrent automaattisesti laittaa sen siivun jakoon, vähentäen samalla kuormitusta verkon kaistalta. Juuri tällä tekniikalla myös sinä saat tiedoston nopeammin perille. Käytännössä tämä tarkoittaa sitä, että kun verkon laajuus kasvaa, kasvaa myös saman tiedoston jakajien määrä ja kaistan kulutus yksittäisten käyttäjien keskuudessa tasoittuu. Jo muutaman sekunnin kuluttua latauksen aloittamisesta myös sinä laajennat tätä verkkoa. Nyt herää kysymys, että mitä hyötyä on jos sama siivu löytyy tuhannelta käyttäjältä? Ei mitään, mutta BitTorrent ei lataakaan tiedostoa "järjestyksessä", vaan trackerin avulla se etsii tiedostosiivut, joita on vähiten liikenteessä, lataa ensin ne ja tällä tavalla tasoittaa myös tiedoston saatavuuden verkon sisällä.
Kuvitellaan, että haluamme ladata jonkin [[jakelu]]n [[levykuva]]n. Etsimme tiedoston nettilinkin, klikkaamme sitä ja BitTorrent aloittaa lataamisen. Aluksi BitTorrent yhdistää seurantapalvelimeen (engl. ''tracker''), joka kertoo asiakasohjelmallemme mistä tietokoneissa tiedosto löytyy, mitä osia tiedostosta löytyy jne. Kun BitTorrent saa tiedot halutusta tiedostosta, se alkaa lataamaan, mutta ei suinkaan yhtä tiedostoa yhdestä paikasta vaan yhden tiedoston 256kt osia eri tietokoneilta. Heti kun yksi 256ht:n siivu on ladattu, BitTorrent automaattisesti laittaa sen siivun jakoon vähentäen samalla kuormitusta verkossa. Juuri tällä tekniikalla myös sinä saat tiedoston nopeammin perille. Käytännössä tämä tarkoittaa sitä, että kun verkon laajuus kasvaa, kasvaa myös saman tiedoston jakajien määrä ja kaistan kulutus yksittäisten käyttäjien keskuudessa tasoittuu. Jo muutaman sekunnin kuluttua latauksen aloittamisesta myös sinä laajennat tätä verkkoa. Nyt herää kysymys, että mitä hyötyä on jos sama siivu löytyy tuhannelta käyttäjältä? Ei mitään, mutta BitTorrent ei lataakaan tiedostoa "järjestyksessä", vaan seurantapalvelimen avulla se etsii tiedostosiivut, joita on vähiten liikenteessä, lataa ensin ne ja tällä tavalla tasoittaa myös tiedoston saatavuuden verkon sisällä.


Tiedostot siis haetaan nettilinkkiä klikkaamalla pieni siivu kerrallaan ja kun kaikki tiedoston siivut ovat tulleet tietokoneelle niin BitTorrent koostaa tiedoston kokonaisiksi. Tässä piilee perinteinen ongelma, kuten jokaisessa tiedostonjakoon liittyvässä ohjelmassa: Jos haemme tiedoston pieninä palasina useasta eri lähteestä niin miten voimme olla varmoja että tiedosto on varmasti toimiva ja kunnossa oleva? Helposti, trackerin ja BitTorrent-asiakkaan välillä tapahtuu myös keskustelua jossa lähetetään tiedostosta [[CRC]]-tarkistuslukuja. Nämä toimivat samalla tapaa kuin GNU/Linux jakelupakettien testaamiseen tarkoitetut [[Md5sum|md5-summat]], 32-bittinen tarkistussumma lasketaan erikseen jokaiselle pienelle tiedostonpätkälle ja jos se on viallinen, ei sitä ladata vaan etsitään oikeellinen tiedostosiivu ja yritetään uudestaan.
Tiedostot siis haetaan nettilinkkiä klikkaamalla pieni siivu kerrallaan ja kun kaikki tiedoston siivut ovat tulleet tietokoneelle BitTorrent koostaa tiedoston kokonaisiksi. Tässä piilee perinteinen ongelma, kuten jokaisessa tiedostonjakoon liittyvässä ohjelmassa: jos haemme tiedoston pieninä palasina useasta eri lähteestä, niin miten voimme olla varmoja että tiedosto on varmasti toimiva ja kunnossa? Helposti, seurantapalvelimen ja BitTorrent-asiakkaan välillä tapahtuu myös keskustelua jossa lähetetään tiedostosta [[CRC]]-tarkistuslukuja. Nämä toimivat samalla tapaa kuin GNU/Linux jakelupakettien testaamiseen tarkoitetut [[Md5sum|md5-summat]], 32-bittinen tarkistussumma lasketaan erikseen jokaiselle pienelle tiedostonpätkälle ja jos se on viallinen, ei sitä ladata vaan etsitään oikeellinen tiedostosiivu ja yritetään uudestaan.


== Asiakasohjelma ==
== Asiakasohjelma ==
Rivi 14: Rivi 14:


==  Bttrack ==
==  Bttrack ==
Bittorrent-paketin mukana tulee myös tracker-ohjelma , jota voi käyttää komennolla <tt>bttrack</tt>. Ohjelma voitaisiin käynnistää esim. seuraavalla tavalla:
Bittorrent-paketin mukana tulee myös seurantapalvelinohjelma , jota voi käyttää komennolla <tt>bttrack</tt>. Ohjelma voitaisiin käynnistää esim. seuraavalla tavalla:
  bttrack --port 6689 --dfile my_dstate --allowed_dir /var/www/tt/uploads/ &
  bttrack --port 6689 --dfile my_dstate --allowed_dir /var/www/tt/uploads/ &
Jossa port on kuunneltava portti, dfile tiedosto jossa ohjelma säilyttää lataajien tietoja ja allowed_dir hakemisto, jossa torrent-tiedostot sijaitsevat. Kaikkien parametrien selitykset saa komennolla <tt>man bttrack</tt>.
Jossa <tt>port</tt> on kuunneltava portti, <tt>dfile</tt> tiedosto jossa ohjelma säilyttää lataajien tietoja ja <tt>allowed_dir</tt> hakemisto, jossa torrent-tiedostot sijaitsevat. Kaikkien parametrien selitykset saa komennolla <tt>man bttrack</tt>.


Yleensä trakkerin kanssa käytetään jotain www-käyttöliittymää, esimerkiksi [http://www.torrenttrader.com/index.php TorrentTraderia].
Yleensä seurantapalvelimen kanssa käytetään jotain www-käyttöliittymää, esimerkiksi [http://www.torrenttrader.com/index.php TorrentTraderia].


==Katso myös==
==Katso myös==

Versio 19. elokuuta 2007 kello 14.05

Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.

BitTorrent Wikipediassa

BitTorrent on P2P-tiedonsiirtoprotokolla, jonka avulla suuretkin tiedostot siirtyvät suurillekin ihmismäärille kohtalaisella nopeudella. Se ei sisällä minkäänlaista hakumenetelmää, kuten P2P-järjestelmillä on tapana, vaan BitTorrent-levitykseen tiedoston laittava levittää itutiedostoa, joka avataan BitTorrent -asiakasohjelmalla. Jossain vaiheessa kolmannes Internetin liikenteestä muodostui BitTorrent-liikenteestä, ja se on kasvattanut asemaansa nopeasti — BitTorrent on ollut saatavissa vasta muutaman vuoden ajan.

Toiminta

Kuvitellaan, että haluamme ladata jonkin jakelun levykuvan. Etsimme tiedoston nettilinkin, klikkaamme sitä ja BitTorrent aloittaa lataamisen. Aluksi BitTorrent yhdistää seurantapalvelimeen (engl. tracker), joka kertoo asiakasohjelmallemme mistä tietokoneissa tiedosto löytyy, mitä osia tiedostosta löytyy jne. Kun BitTorrent saa tiedot halutusta tiedostosta, se alkaa lataamaan, mutta ei suinkaan yhtä tiedostoa yhdestä paikasta vaan yhden tiedoston 256kt osia eri tietokoneilta. Heti kun yksi 256ht:n siivu on ladattu, BitTorrent automaattisesti laittaa sen siivun jakoon vähentäen samalla kuormitusta verkossa. Juuri tällä tekniikalla myös sinä saat tiedoston nopeammin perille. Käytännössä tämä tarkoittaa sitä, että kun verkon laajuus kasvaa, kasvaa myös saman tiedoston jakajien määrä ja kaistan kulutus yksittäisten käyttäjien keskuudessa tasoittuu. Jo muutaman sekunnin kuluttua latauksen aloittamisesta myös sinä laajennat tätä verkkoa. Nyt herää kysymys, että mitä hyötyä on jos sama siivu löytyy tuhannelta käyttäjältä? Ei mitään, mutta BitTorrent ei lataakaan tiedostoa "järjestyksessä", vaan seurantapalvelimen avulla se etsii tiedostosiivut, joita on vähiten liikenteessä, lataa ensin ne ja tällä tavalla tasoittaa myös tiedoston saatavuuden verkon sisällä.

Tiedostot siis haetaan nettilinkkiä klikkaamalla pieni siivu kerrallaan ja kun kaikki tiedoston siivut ovat tulleet tietokoneelle BitTorrent koostaa tiedoston kokonaisiksi. Tässä piilee perinteinen ongelma, kuten jokaisessa tiedostonjakoon liittyvässä ohjelmassa: jos haemme tiedoston pieninä palasina useasta eri lähteestä, niin miten voimme olla varmoja että tiedosto on varmasti toimiva ja kunnossa? Helposti, seurantapalvelimen ja BitTorrent-asiakkaan välillä tapahtuu myös keskustelua jossa lähetetään tiedostosta CRC-tarkistuslukuja. Nämä toimivat samalla tapaa kuin GNU/Linux jakelupakettien testaamiseen tarkoitetut md5-summat, 32-bittinen tarkistussumma lasketaan erikseen jokaiselle pienelle tiedostonpätkälle ja jos se on viallinen, ei sitä ladata vaan etsitään oikeellinen tiedostosiivu ja yritetään uudestaan.

Asiakasohjelma

Bittorrenttia voi käyttää sekä graafisesti että tekstitilassa. Alkuperäinen asiakasohjelma on tehty pythonilla, mutta asiakasohjelmista löytyy runsas valikoima. Tekstitilassa torrentin lataus voidaan aloittaa komennolla

btdownloadcurses tiedosto.torrent

Bttrack

Bittorrent-paketin mukana tulee myös seurantapalvelinohjelma , jota voi käyttää komennolla bttrack. Ohjelma voitaisiin käynnistää esim. seuraavalla tavalla:

bttrack --port 6689 --dfile my_dstate --allowed_dir /var/www/tt/uploads/ &

Jossa port on kuunneltava portti, dfile tiedosto jossa ohjelma säilyttää lataajien tietoja ja allowed_dir hakemisto, jossa torrent-tiedostot sijaitsevat. Kaikkien parametrien selitykset saa komennolla man bttrack.

Yleensä seurantapalvelimen kanssa käytetään jotain www-käyttöliittymää, esimerkiksi TorrentTraderia.

Katso myös

Linkkejä

BitTorrentin kotisivu