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 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ä.
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 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 tracker-ohjelma , 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ä trakkerin kanssa käytetään jotain www-käyttöliittymää, esimerkiksi TorrentTraderia.