BitTorrent
Wikipedia
BitTorrent on tiedostojen siirtoon tarkoitettu vertaisverkkomainen protokolla. BitTorrent protokollan ja ensimmäisen sitä käyttävän toteutuksen kehitti yhdysvaltalainen Bram Cohen. Kun perinteisesti tiedostojen jakamiseen tarvitaan palvelin ja paljon tiedonsiirtokapasiteettia, BitTorrent eliminoi tämän tarpeen sillä, että kaikki tiedostoa tai tiedostoja lataavat käyttäjät jakavat tiedostoja samanaikaisesti myös toisilleen.
BitTorrentilla jaettava tieto koostuu kahdesta osasta: varsinaisista jaettavista tiedostoista, sekä pienestä .torrent-tiedostopäätteisestä aputiedostosta, jonka tiedostojen jakaja luo asiakasohjelmansa avulla. Tiedon jakamiseen kuuluu yleensä kolme osapuolta: käyttäjät, seurantapalvelin eli trakkeri (engl. "tracker"), sekä WWW-palvelin joka levittää .torrent-tiedostoja. Yleensä nämä kaksi jälkimmäistä ovat yksi ja sama palvelin. Tiedonsiirto ilman varsinaista seurantapalvelinta on myös tullut mahdolliseksi laajennusten avulla.
Käyttäjä lataa .torrent-päätteisen tiedoston WWW-selaimellaan palvelimelta, ja BitTorrent-asiakasohjelma huolehtii sen käsittelystä. .torrent-tiedostosta löytyy varsinaisen trakkerin osoite, sekä tiedoston palasten SHA-1-tarkistussummat ja koot. Tämän jälkeen asiakasohjelma ottaa yhteyttä trakkeriin ja saa sitä kautta selville missä muita tiedostojen osia tarjoavat käyttäjät ovat, ja alkaa hakea heiltä tiedostojen osia.
WWW-palvelimia on tarpeen mukaan monenlaisia; mikään ei estä .torrent-tiedostojen laittamista normaaleille WWW-sivuille, mutta esimerkiksi julkiset BitTorrent-trackerit tarjoavat monipuolisempia kategorisointi- ja hakutoimintoja. Periaatteessa mikään ei estä muitakaan tapoja levittää .torrent-tiedostoja. Niitä voi levittää esimerkiksi IRCissä.
Tiedostojen lataajat tarvitsevat BitTorrent-asiakasohjelman ("client"). Koska BitTorrent on avoimen lähdekoodin protokolla, erilaisia asiakasohjelmia on syntynyt useita. BitTorrentin tekijän virallinen asiakasohjelma on hyvin yksinkertainen, kun taas monipuolisemmissa ohjelmissa on erilaisia latausjono- ja nopeusrajoitusjärjestelmiä.
7. joulukuuta 2006 virallista BitTorrent-asiakasohjelmaa kehittävä BitTorrent Inc. ilmoitti ostaneensa µTorrent AB:n, suosittua µTorrent-asiakasohjelmaa valmistavan yrityksen. Bram Cohen ja µTorrentin kehittäjä Ludvig "Ludde" Strigeus julkaisivat asiasta yhteisen tiedotteen µTorrentin keskustelualueella. Kaupalla yritykset pyrkivät yhdistämään µTorrentin tehokkaan toteutuksen ja käyttöliittymän BitTorrentin asiantuntemukseen verkkoprotokollista. µTorrentin käyttäjäyhteisöissä uutista ei tosin otettu vastaan kovin tervetulleena.
Sisällysluettelo |
[muokkaa] Käyttötavat
Perinteisestä vertaisverkkojakamisesta (mm. FastTrack tai eDonkey2000) BitTorrent eroaa siten, että se on tarkoitettu yksittäisten tiedostojen tai tiedostopakettien levittämiseen. Kukin käyttäjä jakaa niitä tiedostoja, joita he itse ovat äskettäin BitTorrentilla ladanneet tai ovat parhaillaan lataamassa. Näin ollen BitTorrent on suosittu myös laillisessa tiedostonjaossa. Esimerkiksi useiden Linux-jakelujen CD-kuvatiedostoja (image) on ladattavissa BitTorrentilla. Myös esimerkiksi Opera-selain on ladattavissa BitTorrentilla Opera Softwarelta saatavan torrentin avulla ja Opera 9 -selain sisältää itsessään BitTorrent-tuen. Wikipedian sisällöstä opetuskäyttöön tehty CD tulee jakeluun BitTorrentilla.
Se, että kaikki tiedoston lataajat jakavat samaa tiedostoa muille, mahdollistaa erittäin suuret siirtonopeudet. Varjopuolena on se, että torrentit "kuolevat" nopeasti, usein jo parin viikon päästä torrentin julkaisusta sillä ei ole enää yhtään jakajaa. Uudet lataajat eivät sitten enää saa tiedostoa kuin pyytämällä jotakuta jakamaan tiedostoa uudelleen ("reseed"). Periaatteena on, että se joka kopioi itselleen jotakin, myös lähettää takaisin saman määrän dataa (1:1 suhde), jolloin lähetys on saatavilla myös muille.
BitTorrent sopii mm. tiettyinä aikoina julkaistavien tiedostojen pikaiseen levittämiseen, kun taas esimerkiksi jonkin musiikkikappaleen etsimiseen järjestelmää ei voi käyttää. BitTorrent ei sisällä minkäänlaisia hakumahdollisuuksia.
Microsoftin Windows XP:n Service Pack 2 -päivitys laitettiin ilman lupaa jakoon torrenttina, koska ylikuormittuneilta Microsoftin palvelimilta sitä sai odotella pitkään. Microsoft kuitenkin kielsi sen jakamisen P2P-verkoissa. Saman kohtalon koki myöhemmin myös vistatorrent.com-sivusto, joka yritti helpottaa Windows Vista Beta 2 -kokeiluversion jakelua.
[muokkaa] Laajennukset
[muokkaa] MSE/PE
Protocol Encryption (PE), Message stream encryption (MSE) ja Protocol header encrypt (PHE) ovat tekniikoita, joita BitTorrent-ohjelmat käyttävät oman protokollansa salaamiseen. Protokollan salauksen tarkoitus on vaikeuttaa palveluntarjoajien käyttämää bittorrent-verkkoliikenteen rajoittamista salaamalla käyttäjien väliset yhteydenotot siten, ettei niitä voida tunnistaa bittorrent-liikenteeksi ja rajoittaa. PE/MSE-tekniikkaa tukevat tällä hetkellä kaikki suosituimmat BitTorrent-asiakasohjelmat: µTorrent, Azureus, BitComet ja KTorrent. Vanhempi PHE-tekniikka oli käytössä vanhoissa BitComet-versioissa.
[muokkaa] DHT
Distributed Hash Table eli torrenttien tiivistetietokannan hajauttaminen Kademlia-tyyppisesti. DHT:tä tukevat asiakasohjelmat osaavat etsiä verkosta käyttäjiä pelkän .torrent-tiedostosta saamansa info_hash-tiivisteen avulla. Ohjelman etsii verkosta sellaisen palan tietokantaa, josta löytyy latauksessa olevan torrentin info_hash-tunniste ja jonkun tätä torrentia jakavan käyttäjän osoite. Näin erillinen tracker tulee tarpeettomaksi. Tekniikan ongelmana on vain latauksen hidas käynnistyminen, koska muita käyttäjiä voi olla vaikea löytää.
[muokkaa] PEX
Peer Exchange eli käyttäjien osoitteiden jakaminen käyttäjien keskuudessa. Käyttäjien vaihtoa tukevat ohjelmat vaihtavat listaa tietämistään samaa torrentia lataavista käyttäjistä muiden jo yhteydessä olevien käyttäjien kesken.
[muokkaa] Broadcatching
Broadcatchingillä voidaan yhdistää RSS-syötteet BitTorrentiin. Kyse on yksinkertaisesti siitä, että asiakasohjelma kirjautuu esimerkiksi syötteeseen, joka listaa jonkin TV-sarjan jaksot heti kun nämä tulevat saataville. Aina kun syötteeseen tulee uusi ilmoitus, lataa ohjelma siinä osoitetun .torrentin ja sitä kautta varsinaisen jakson täysin automaattisesti. Broadcatching:ia tukee suosituimmista ohjelmista tällä hetkellä vain µTorrent, joskin se on saatavilla myös Azureukseen lisäosana.
[muokkaa] Multitracker
Alkuperäiseen BitTorrent metadatamuotoon tehty epävirallinen laajennus, joka mahdollistaa useiden seurantapalvelimien announce-osoitteiden tallennuksen .torrent-tiedostooon. Näin torrentista tulee vikasietoisempi, eikä yhden palvelimen toimintahäiriö vaikuta torrentin toimivuuteen. Announce-osoitteet tallennetaan sidoksiin ("tier"), josta asiakasohjelma satunnaisesti valitsee yhden ja mikäli tämä ei toimi, etenee listalla seuraavaan. Spesifikaatio
[muokkaa] Termejä
- announce
- ilmoitus, tiedustelu
- Asiakasohjelma pyytää seurantapalvelimelta tietoja torrentin tilasta ja ilmoittaa samalla kuinka paljon itsellä on valmiina. Announcella (toisin kuin scrapella) asiakasohjelma ilmoittaa myös palvelimelle että se haluaa liittyä parveen. Vastauksena ohjelma saa muiden torrentia lataavien ja jakavien käyttäjien IP-osoitteet, portit ja valmiuden. Tiedustelu suoritetaan uudelleen tietyin väliajoin, usein noin 15-30 minuutin välein, jotta saataisiin mm. mahdollisten uusien käyttäjien osoitteet.
- availability, distributed copies
- saatavuus, kokonaisia, valmiita
- Kokonaisten saatavilla olevien kopioiden määrä. Yksi jakaja tekee torrentin saatavuudeksi 1.0. Kun jakajan lisäksi on kaksi lataajaa joilla on 20% ja 6%, on saatavuus 1.26 mikäli lataajilla ei ole yhtäkään samaa osaa. Mikäli taas jakajan lisäksi on kaksi lataajaa joilla on samat 15% torrentista, on saatavuus 1.15.
- leecher
- lataaja
- Käyttäjä, jolla ei ole kaikkia torrentin tiedostoja ja joka lataa niitä muilta käyttäjiltä ja samalla jakaa edelleen muille lataajille
- Negatiivisessa merkityksessä käyttäjä, joka on haitaksi parvelle pelkästään lataamalla torrentia. Leecher:in tunnistaa huonosta jakosuhteesta, hänellä saattaa olla epäsymmetrinen internet-yhteys (esim. 8/1), eikä hän jätä torrentia jakamaan kun on itse saanut 100% ladattua.
- peer, client
- käyttäjä, vertainen, lataaja
- Kuka tahansa kyseistä torrentia lataava tai jakava käyttäjä
- Käyttäjä, jolla ei ole kaikkia torrentin tiedostoja ja joka lataa niitä muilta käyttäjiltä ja samalla jakaa edelleen muille lataajille
- ratio
- jakosuhde
- Paljonko tietoa on lähetetty suhteessa latausmäärään. Mitä suurempi tämä suhde on, sen parempi. Hyvänä suhteena voidaan pitää 1.5 eli on jaettu 1.5 kertaa niin paljon kuin ollaan ladattu. Riittävänä suhteena voidaan puolestaan pitää 1.0.
- scrape
- raapaisu, pikapäivitys
- Melkein sama asia kuin announce, mutta scrapella asiakasohjelma vain kysyy palvelimelta tietoja torrentin (tai siis tarkemmin parven) tilasta. Eli scrape ei lisää asiakasohjelmaa mukaan palvelimen tietämään parveen.
- seeder
- jakaja, lähde
- Käyttäjä, jolla on kaikki torrentin tiedostot ja joka tarjoaa niitä muille ladattaviksi. Mitä enemmän jakajia löytyy, sitä paremmat ovat latausnopeudet ja sitä varmemmin torrent valmistuu.
- swarm
- parvi, ryhmä
- Kaikki torrentia lataavat ja jakavat käyttäjät yhdessä.
- tracker
- seurantapalvelin
- Erillinen palvelin, joka pitää kirjaa kunkin parven jakajista ja lataajista. Tracker kertoo myös asiakasohjelmille muiden käyttäjien osoitteet, jotta nämä voivat aloittaa tiedonsiirron.
[muokkaa] Aiheesta muualla
- BitTorrentin virallinen kotisivu – Sivulta voi ladata virallisen BitTorrent-asiakasohjelman.
- BitTorrentSpecification – BitTorrent protokollan määritykset
- Comparison of BitTorrent software – Laaja vertailutaulukko englanninkielisessä Wikipediassa
- Muita BitTorrent-asiakasohjelmia
-
- Azureus – Monipuolinen, käyttöjärjestelmäriippumaton (java), Open Source
- µTorrent – Pieni, kevyt ja monipuolinen. Vain Windows.
- BitComet – Monipuolinen, mutta monen trackerin mustalla listalla. Vain Windows.
- ABC – Kehittynyt avoimen-lähdekoodin ohjelma. Nykyään vain Windows.
- Myös Opera-selaimessa on BitTorrent-tuki