Ero sivun ”BitTorrent” versioiden välillä

Siirry navigaatioon Siirry hakuun
60 merkkiä lisätty ,  19. elokuuta 2007
p
kh
(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==

Navigointivalikko