Bittorrent

Bittorrent (formellt BitTorrent, av ”bit” och engelska ”torrent” = strid ström, störtflod, skur) är ett filöverföringsprotokoll. Den överföringsmodell som det ursprungliga programmet (BitTorrent) använder har namngivits efter programmet och sedan implementerats av många andra program. Det effektiviserar nedladdningar av stora och populära filer genom att låta alla nedladdare hjälpa varandra i ett slags P2P-nätverk. Effektiviteten kommer av att den del av den totala datamängden en användare laddat ner distribueras vidare till andra användare som inte fått just denna del. BitTorrent använder sig av kryptografiska kontrollsummor (SHA-1) för att säkerställa att datamängden inte blir korrupt. BitTorrent skapades ursprungligen av den amerikanske programmeraren Bram Cohen.

Historik 
Bram Cohen skapade år 2001 ett protokoll som möjliggjorde distribution av filer mellan flera användare, tillsammans med en klient med samma namn (BitTorrent). Senare startade Cohen även företaget BitTorrent, Inc. tillsammans med Ashwin Navin. BitTorrent, Inc. är de som ansvarar för underhållet av BitTorrent-protokollet.

Begrepp 
Svärm (Swarm) - Flera bittorrent-användare som antingen vill ladda ner en och samma fil eller som delar med sig av en och samma fil.
Jämlike (Peer) - Bittorrent-användare, en dator som cirkulerar i svärmen.
Klient (Client) - Ett program som laddar upp och ned data till en källa (en hårddisk).
Tracker – Server som delar ut listor på aktiva peers, så att BitTorrent-klienten kan koppla upp sig mot dessa och starta filöverföringar.
Index - En sökmotor för filer.
Torrentfil (Torrent) - En fil som innehåller metadata som pekar till var programmet kan få tag på delar till en viss fil. Pirate Bay benämner torrent i plural som torrenter.
Distributör (Seeder) – Bittorrent-användare som delar med sig av en/flera hel(a) fil(er). (Hjälper nätverket att distribuera filerna/filen). 
Reciprokör (Leecher) – Bittorrent-användare som laddar ner fil(er) från peers/seeders (kan också ladda upp, men oftast bara nerladdning).

Grunden för Bittorrentanvändning

Skapa fil 
Bittorrentprogrammet ser filen man vill göra en torrentfil av som flera lika stora delar, oftast är delarna mellan 64kB och 4 MB, men delar under 512kB rekommenderas för att upprätthålla hastigheten. Till varje del skapas det en checksumma, den skapas genom att programmet använder sig av en algoritm som heter SHA-1. Det är en hashingalgoritm som ger ifrån sig en 160 bitar lång kontrollsumma, som läggs in i torrentfilen. Torrentfilen laddas sedan upp till en tracker, en server som lagrar torrentfiler som användare kan ladda ner.

Ladda ner fil 
Genom att bittorrentprotokollet i sig inte erbjuder någon tjänst att söka efter filer så använder användaren vanligtvis en torrentsökmotor. Det finns dock både sökmotorer som är trackers i sig och så finns det sökmotorerna som länkar vidare till tracker-servrar där de hämtar .torrent-filen ifrån. På sökmotorerna söker användaren efter den filen de vill ladda ner, när filen har hittats så trycker användaren på filen och hämtar hem .torrent-filen från trackern. Torrentfilen innehåller inte information om vilka som har filen, seeders eller vilka som håller på att ladda ner filen, peers, vilket är ett vanligt missförstånd, utan länkar till trackers, servrar som kopplar ihop olika peers i en svärm. När användarens bittorrentprogram får denna information från trackern så skickar användarens program multipla förfrågningar till peers och seeders i svärmen om slumpmässiga delar av filen, så man laddar olika delar från olika användare i svärmen. För att sedan maximera distributionen och göra det så effektivt som möjligt så använder sig bittorrent av flera principer. En av dessa principer kallas "mest-sällsynta-först", det fungerar som följande. 
I svärmen jämförs alla delar av filen, säg att m st kopior finns det av de delar det är minst av i svärmen. Alla delar det finns m st av skrivs upp på en lista, mest sällsynta först på listan, listan uppdateras så fort någon del antingen läggs in på den eller dras bort från den. I svärmen väljer då peers/leechers slumpmässigt olika delar av den listan att ladda ner, för att på det sättet distribuera de mest sällsynta olika delarna så fort som möjligt.

Ett alternativ till torrent-filer som sökmotorer erbjuder är magnetlänkar (eng. magnet links). Största skillnaden mellan torrent-filer och magnetlänkar är att i de senare fallet identifierar och länkar magnetlänkar till innehåll. Dessa länkar har ökat i popularitet på senare tid och erbjuds av allt fler sökmotorer.

Fördelar och nackdelar

Fördelar 
Genom att bittorrent-protokollet låter användare ladda ner och upp material samtidigt, till och från flera olika källor, så behöver inte all belastning läggas på en enstaka server. Detta kan underlätta för nätverket att motverka överbelastning, eftersom belastningen sprids jämnare. De flesta bredband har asymmetrisk bandbredd, dvs. uppladdningshastigheten är lägre än nerladdningshastigheten. Bittorrent kan hjälpa till att höja hastigheten för den enskilde eftersom den tankar från flera peers/seeders samtidigt, vilket löser problemet med deras långsammare uppladdningshastighet. Detta hjälper även en person som vill distribuera material till många personer att göra så, även om personen inte har tillgång till en server med hög bandbredd.

Nackdelar 
Bittorrent använder sig av principen "en tjänst för en gentjänst" (tit for tat). Det innebär att användaren ska hjälpa nätverket när den har laddat ner en fil genom att inte ta bort den filen från bittorrentprogrammet, utan låta den vara aktiv och på det sättet hjälpa till att distribuera den filen till fler som vill åt den. Detta bidrar i sin tur till att det går fortare/användaren prioriteras högre när den vill ladda ner filen från andra seeders/peers. Ett problem med tjänst-för-en-gentjänst-principen är dock att nya användare, som inte hunnit dela med sig av filer till nätverket prioriteras lågt. Detta har man dock löst med principen optimistisk antistockning som reserverar en del av användarens bandbredd som den delar med sig till slumpmässigt valda leechers/peers på, dels då för att släppa in nya användare i nätverket samt att försöka hitta fler och snabbare källor för egen del.

Klienter 
ABC (Windows)
BitComet (Windows)
BitSpirit (Windows)
BitTornado (Windows, Mac, Linux, m.fl.)
BitTorrent (Windows, Mac, Linux)
BitLord (Windows)
Burst! (Windows)
Deluge (Windows, Mac, Linux, m.fl.)
KTorrent (Linux)
Opera Web Browser (Windows, Mac, Linux, m.fl.)
 qBittorrent (Linux, Mac OS X, Windows, OS/2, FreeBSD).
Shareaza (Windows)
Tixati (Windows, Linux)
Tomato Torrent (Mac)
Transmission (Mac, Linux, BSD, Solaris)
µTorrent (Windows, Mac)
rTorrent (Mac, Linux, BSD)
Vuze (Tidigare Azureus) (Windows, Mac, Linux)

En av de mest populära klienterna för Windows är µTorrent. Ursprungligen tillverkat av ett svenskt bolag, sedan 2006 uppköpt av BitTorrent, Inc.

Källor 
https://howstuffworks.com/bittorrent.htm
http://www.utorrent.com/
http://www.bittorrent.com/
 http://hurgorman.se/ladda-ner-torrents
Cohen, Bram (2001-07-02). "BitTorrent — a new P2P app". Yahoo eGroups. Retrieved on 2007-04-15.
Urvoy-Keller (December 2006). "Rarest First and Choke Algorithms Are Enough" (PDF). imconf.net. Retrieved on 2007-11-10.
https://web.archive.org/web/20081014175906/http://www.vodscape.com/bittorrent/BitTorrentSwarms.html
http://slashdot.org/article.pl?sid=06/12/07/2138208 "BitTorrent, Inc. Acquires uTorrent"

 
Applikationsskiktsprotokoll