Ero sivun ”BitTorrent” versioiden välillä

Siirry navigaatioon Siirry hakuun
Ei muutosta koossa ,  19. elokuuta 2007
p
typo
p (kh)
p (typo)
Rivi 5: Rivi 5:


==Toiminta==
==Toiminta==
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ä.
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 256kt: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 [[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.

Navigointivalikko