BitTorrent
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.