BitTorrent

Rakenne ja toiminta

BitTorrentilla jaettava tieto koostuu kahdesta osasta: varsinaisista jaettavista tiedostoista sekä pienestä .torrent-pää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 palvelimelta, ja BitTorrent-asiakasohjelma huolehtii sen käsittelystä. .torrent-tiedostosta löytyy varsinaisen seurantapalvelimen osoite sekä tiedoston palasten SHA-1-tarkistussummat ja koot. Tämän jälkeen asiakasohjelma ottaa yhteyttä seurantapalvelimeen 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-seurantapalvelimet 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ä.

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. 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.
Kaikki tiedoston lataajat jakavat samaa tiedostoa muille, mikä 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.

Juridiset ongelmat

Protokolla itsessään on täysin laillinen. Ongelmia syntyy kun jaetaan tekijänoikeuksia rikkovaa materiaalia.
BitTorrent-seurantapalvelimien käytöstä on ollut paljon kiistelyä. BitTorrent-metatiedostot eivät sisällä tiedostojen sisältöä, joten BitTorrent itsessään ei ole laiton. On kuitenkin kiistanalaista, rikkooko BitTorrent-metatiedostojen julkaisija tekijänoikeuksia linkittämällä tekijänoikeuksien alaiseen materiaaliin ilman oikeudenomistajien lupaa. Vaikka metatiedosto ei sisälläkään itse varsinaista ladattavaa materiaalia, ilman sitä ei kyseistä materiaalia käytännössä ole olemassa, sillä sen levittäminen ei onnistu.
Merkittävä osa torrent-liikenteestä on tekijänoikeuksia rikkovien tiedostojen siirtämistä. Seurantapalvelimia pyörittäville verkkosivustoille on langetettu useita tuomioita. Huomiota herättäneitä esimerkkejä ovat Suprnova.org, Torrentspy, LokiTorrent, Mininova ja OiNK.cd. Ruotsalaisen ryhmän perustama .torrent-tiedostoja jakava The Pirate Bay -verkkosivusto on tunnettu "lakiuhkaukset"-osiostaan, jossa julkaistaan sivuston saamia väitettyjä tekijänoikeusrikkomuksia koskevia kirjeitä ja vastauksia niihin. Ruotsin poliisi ratsasi 31. toukokuuta 2006 The Pirate Bayn Ruotsissa sijaitsevat palvelimet MPAA:n esittämien syytösten perusteella. Sivusto sai kuitenkin seurantapalvelimensa toimintaan kolmen päivän kuluttua.

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, rtorrent ja KTorrent. Vanhempi PHE-tekniikka oli käytössä vanhoissa BitComet-versioissa.

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. Ohjelma etsii verkosta sellaisen palan tietokantaa, josta löytyy latauksessa olevan torrentin info_hash-tunniste ja tätä torrentia jakavien tai lataavien käyttäjien osoitteet. Näin erillinen seurantapalvelin tulee tarpeettomaksi. Tekniikan ongelmana on useat eri toteutustavat, jotka eivät ole keskenään samassa verkossa. Monet seurantapalvelimet kuitenkin haluavat käyttäjiensä hakevan tiedot toisista käyttäjistä pelkästään omalta palvelimeltaan, jolloin ne lisäävät itse tai pakottavat torrenteja sivustolle lisäävät käyttäjät lisäämään torrenteihin ns. private-lipun. Tämä kehottaa asiakasohjelmaa estämään DHT:n käytön tämän torrentin kohdalla.

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. Myös PeX-toimintoon vaikuttaa sama private-lippu kuin yllä olevaan DHT:hen.

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. Broadcatchingia tukee suosituimmista ohjelmista tällä hetkellä vain µTorrent, joskin se on saatavilla myös Azureukseen lisäosana.

Web seed

Web-lähteellä tarkoitetaan laajennusta, joka mahdollistaa tavallisen Web-palvelimella olevan tiedoston toimimisen torrentin lähteenä - jakavien käyttäjien ohella. Tämä laajennus helpottaa varsinkin tiedoston julkaisijan työtä, sillä tiedoston jakoon ei näin tarvitse asettaa varsinaista BitTorrent-asiakasohjelmaa. Ensimmäiset torrentin lataajat lataavatkin tiedoston Web-palvelimelta, eivätkä tavanomaisesti joltain jakavalta käyttäjältä. Laajennus ratkaisee web-palvelimen kuormitusongelmat kun lataajia on paljon, mutta mahdollistaa myös tiedoston lataamisen vaikka tavallisia jakajia sille ei enää olisikaan - estäen näin torrentin kuolemisen.

LPD

Local Peer Discovery on menetelmä torrentin käyttäjien etsintään lähiverkosta. Usein lähiverkon nopeus on suurempi kuin internet-liittymän nopeus, koska kaikki liikenne tapahtuu operaattorin sisäisessä verkossa tai jopa käyttäjän omassa lähiverkossa. Näin liikenne ei siis kierrä lainkaan ulkoverkon (Internet) kautta. Mikäli sisäverkosta löytyy käyttäjiä, on sillä usein merkittävä vaikutus tiedonsiirron nopeuteen. Lähikäyttäjien haussa LPD hyödyntää Multicastia, koska se ei voi reitittyä Internetiin. Näin siis kaikki Multicastilla mahdollisesti löytyvät käyttäjät ovat samassa lähiverkossa kuin hakija.