BitTorrent. TDTS09 Datornät och internetprotokol Nicklas Schultz och Tim Bjärengren Linköpings universitet Linköping

Relevanta dokument
PEER TO PEER STREAMING

File Transfer Protocol (FTP) Problem och lösningar

Hur BitTorrent fungerar

Grundläggande datavetenskap, 4p

Bittorent som fildelningsprotokoll

Real-time requirements for online games

Bittorrent: Rapport av projektarbetet i kursen Datakommunikation och Distribuerade System

Internets historia i Sverige

Accelerering av filhämtning

TCP/IP och Internetadressering

Tentamen i Datorkommunikation den 10 mars 2014

Datakommunika,on på Internet

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

Skärmbilden i Netscape Navigator

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Föreläsning 5: Stora datanät Från användare till användare ARP

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation

Hanna Germundsson, Karl-Johan Lundberg.

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Från användare till användare ARP. (Maria Kihl)

Filöverföring i Windowsmiljö

Kapitel 5: Lokala nät Ethernet o 802.x. Lokala nät. Bryggan. Jens A Andersson (Maria Kihl)

Instuderingsfrågor ETS052 Datorkommuniktion

ETS Fördjupningsuppgiften Ämnen. Mål för fördjupningsuppgiften. Hur kommer det att gå till? Jens A Andersson

Christer Scheja TAC AB

Tentamen i datakommunikation EDA343/DIT420 Vt 2011

IPv6 Jonas Aronsson 3TEa

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Tentamen i ETSF15 Kommunikationssystem och Nätverk

IT för personligt arbete F2

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

The Pirate Bay-rättegången, dag 6 Fritt nedtecknat

Stora datanät Från användare till användare. Jens A Andersson

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Routing Information Protocol

DIG IN TO Nätverksteknologier

Lastbalansering för webbservrar

Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson

2D1395, Datasäkerhet. GF3 Paketfiltrering

5 Internet, TCP/IP och Tillämpningar

Informationsteknologi sommarkurs 5p, Datakommunikation

Datakommunika,on på Internet

BitTorrent i kommersiella system

Tentamen i Kommunikationssystem och nätverk, ETSF15

EDA Datakommunikation och Distribuerade System. Peer-To-Peer system

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Denial of Services attacker. en översikt

Slutrapport: Statistisk Identifiering av Protokoll

BitTorrent och traffic shaping

INTERNET HUR FUNGERAR DET OCH VAD KAN MAN GÖRA MED DET?

Internetprotokollen. Maria Kihl

Denna genomgång behandlar följande:

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

DIG IN TO Nätverksteknologier

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

8SSJLIW.RPELQHUDEHJUHSSPHGGHILQLWLRQHUS

Projektrapport. MegaLoad. Nätverksprogrammering EDA

Lösningar till tentan i ETS052 Datorkommunikation

DA HT2011: F18. Länklagret och uppkopplingstekniker Ann-Sofi Åhn

IPv6 Beredskap på svenska storföretag och myndigheter. En rapport från.se

Laboration 4 Rekognosering och nätverksattacker

Jämförelser mellan mailprotokoll

Denna genomgång behandlar följande: IP (v4) Nätmasken ARP Adresstilldelning och DHCP

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

Spotify strömning av musik. Fredrik Rosenqvist, Henrik Andersson Linköpings universitet Linköping

Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a?

256bit Security AB Offentligt dokument

DATA CIRKEL VÅREN 2014

5. Internet, TCP/IP tillämpningar och säkerhet

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009

Din guide till en säkrare kommunikation

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

NSL Manager. Handbok för nätverksadministratörer

Datasäkerhet och integritet

Piff och Puffs Chatsystem

Kapitel 6, 7, o 8: IP DNS. Från användare till användare. Jens A Andersson

Planering och RA/DHCPv6 i detalj

Datakommunikation I 5p

Tips och råd om trådlöst

Kapitel 6, 7, o 8: ARP Vägval Från användare till användare. Jens A Andersson (Maria Kihl)

FIRSTCLASS. Innehåll:

Lösningar till tentan i ETS052 Datorkommunikation

Skriftlig tentamen i kursen TDTS0604 och TDTS43 Datornät och distribuerade system kl. 8 12

Manual Sportident Onlinekontroll via GPRS

Webbtjänster med API er

Datakursen PRO Veberöd våren 2011 internet

Detta dokument beskriver enbart konfigurering av FX3U-ENET för att programmera/monitorera via Ethernet.

QuickTime Streaming Server, en introduktion

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

5 Internet, TCP/IP och Applikationer

Datorsystem. Tentamen

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

Omtentamen i Datakommunikation för E2

Transkript:

BitTorrent TDTS09 Datornät och internetprotokol Nicklas Schultz och Tim Bjärengren Linköpings universitet Linköping 2011-02-22

Sammanfattning I den här rapporten studeras protokollet BitTorrent, ett peer-to-peer-protokoll (P2P). Syftet med rapporten är att få en djupare förståelse får hur BitTorrent funkar rent tekniskt och vilka svagheter eller brister det kan ha. Även varför det blivit så stort och framtiden för det. BitTorrent är ett fildelningsprotokoll som ingår i applikationslagret och använder TCP och IP för upprätta direkt kommunikation. BitTorrent använder ingen server att ladda ner filen ifrån utan servern, eller tracker som den kallas, har endast koll på vilka andra användare, eller peers, som har delar av filen som ska laddas ner. Och det är dessa peers som delar av filen hämtas ifrån istället. För att det ska gå så effektivt som möjligt används tekniker som Choke Algorithm och Rarest First. BitTorrent har ett stort problem. Eftersom BitTorrent använder sig av peers istället för servrar, så är BitTorrent beroende av seeders som laddar upp. BitTorrent stora problem är att det är väldigt få som agerar som seeders. Lösningen till detta är att försöka uppmuntra användare att agera som seeders med hjälp av olika metoder. Tack vare att det är så enkelt, effektivt och snabbt har det fått otroligt stor spridning idag och har nästan blivit det primära sättet för att ladda ner större filer. Dessa orsaker har även gjort att tekniken från BitTorrent kommer att implementeras i andra nya områden.

Innehåll BitTorrent... 1 TDTS09 Datornät och internetprotokol... 1 Sammanfattning... 2 1. Inledning... 4 1.1 Syfte... 4 1.2 Metod och källor... 4 1.3 Avgränsningar... 4 2. Protokollet BitTorrent... 5 2.1 Bakgrund... 5 2.2 Underliggande protokoll... 5 2.2.1 TCP Transmission Control Protocol... 5 2.2.2 IP Internet Protocol... 5 2.3 Hur det funkar... 6 2.3.1 Choke Algoritm... 6 2.3.2 Rarest First... 6 2.4 Brister... 6 2.4.1 Seeder-Promotion problem... 6 2.5 Lösningar på bristerna... 7 2.6 Framtid... 7 3. Avslutning... 8 Källor... 9

1. Inledning I kursen Datornät och Internetprotokoll (TDTS09) på Linköpings Universitet ingår ett moment som går ut på att skriva en rapport där vi ska beskriva och utreda något ämne inom kursens ramar. Eftersom vi båda har erfarenhet av BitTorrentanvändning kände vi att det är intressant att studera BitTorrent i detalj för att förstå hur det faktiskt fungerar. 1.1 Syfte Rapportens syfte är att förklara och få en djupare förståelse hur BitTorrent är tänkt att användas och hur det tekniskt fungerar. Utifrån dessa kunskaper ska vi sedan utreda vilka svagheter som protokollet har och vi ska sedan ta reda på vilka lösningar som finns på dessa problem. Vi ska även ta reda på varför BitTorrent slagit igenom så stort som det har gjort. Slutligen vill vi undersöka hur framtiden ser ut för protokollet och hur det kan komma att se ut om ett par år. 1.2 Metod och källor Vi har läst boken Computer Networking - a top-down approach för att få en grundförståelse i hur BitTorrent fungerar. Genom internet har vi fördjupat våra kunskaper och genom att studera olika dokument, så kallade Request For Comment (RFC), har vi tagit reda på hur P2P protokoll är uppbyggda. RFC:er innehåller tekniska beskrivningar över föreslagna internetstandarder. För att faktiskt få reda på hur det går till har vi studerat Wireshark och de rapporter som den samlar upp när vi använder BitTorrentklienter. Eftersom BitTorrent idag har blivit en så pass vanlig teknik finns det väldigt många rapporter och mycket information om det att få fram. Därför är det viktigt att kontrollera all fakta vi läser innan vi använder den och klassar den som riktig. För att göra det har vi gått ner så djup som möjligt i källhänvisningen för att hitta vart informationen från början kom ifrån och därigenom kunna avgöra om informationen är saklig. Där detta inte har varit möjligt har vi fått göra ett omdöme om författaren är trovärdig eller om vi fått hitta andra källor. I och med att det är ett väl utbrett protokoll finns det väldigt många som har väldigt mycket att skriva om det. Därför har vi fått sålla bland all information och fokusera på det väsentliga för vårt projekt. Vi har inte kunnat gå in på alla aspekter utan har fått fokusera på en del av de viktigaste, speciellt när vi studerade svagheter i protokollet där vi fick fokusera på de största och viktigaste. När vi studerade framtiden är det mesta vi har kommit fram till främst framtida projekt och önskemål som har fått undersöka.

1.3 Avgränsningar För att få en djupare förståelse för BitTorrent behöver vi först först beskriva hur det är uppbyggt och hur det fungerar. För att förstå hur det uppbyggt behöver vi beskriva hur BitTorrent i sig och för att förstå hur det fungerar behöver vi även beskriva underliggande protokoll som BitTorrent använder sig av, så som TCP och IP. Vi ska även utreda svagheter i protokollet men vi kommer inte att gå på alla utav endast de viktigaste bristerna. Vi ska sedan utreda vad det är som har gjort att BitTorrent har fått ett sådant genomslag som det har idag och kort kolla på hur det kan se ut i framtiden.

2. Protokollet BitTorrent I den här delen beskrivs själva protokollet, hur det funkar och vilka tekniker som ligger bakom. 2.1 Bakgrund Innan BitTorrent skedde i stort sett all fildelning från en server. I det scenariot är informationen placerad på servern och när någon vill ha tag på den kontaktar de servern som i sin tur skickar informationen till den som frågar efter den. En sådan användare brukar oftast kallas klient och relationen mellan servern och klienten brukar sammanfattas som klient-server. En nackdel med att bara ha en server som källa är när flera klienter vill ha tillgång till innehållet samtidig. Eftersom det finns en begränsning i hur fort information kan förflyttas mellan servern och klienten blir denna begränsning särskilt påtaglig när flera klienter vill ha tag på informationen. Hastigheten måste i dessa fall delas mellan alla klienter. Här insåg Bram Cohen att det fanns ett problem och skapade år 2001 ett protokoll för överföring av information mellan flera användare som förbigick problemet med hastighetsbegränsningen. Han skapade därför BitTorrent. Målet med BitTorrent var helt enkelt snabba upp distribueringen genom att ta tillvara på att klienter som redan laddat ner informationen nu har tillgång till den (Cohen, 2003). Att informationen nu finns tillgänglig på flera ställen gör att nya klienter som söker den kan hämta den från flera källor. Det blir inte längre beroende av en källa och dess hastighetsbegränsning utan kan dela upp informationen och på så sätt öka hastigheten genom att belasta flera källor. Just detta gör att Bittorrent blir betydligt mer effektivare än vanlig klient-server delningen. 2.2 Underliggande protokoll BitTorrent protokollet ligger i det så kallade applikationslagret enligt modellen Open Systems Interconnection (OSI). OSI modellen används för att dela upp kommunikationen mellan olika datorsystem i olika lager eller skikt, där varje skikt har vissa uppgifter och olika funktioner för att hantera en specifik uppgift. Applikationslagret är det lager som ligger närmast användaren. BitTorrent använder sig av TCP (Cohen, 2008), vilket ligger i transportlagret. TCP i sin tur använder IP, vilket är ett protokoll som ligger i nätverkslagret. Dessa 3 lager samarbetar nära med varandra. Applikationslagret och BitTorrent protokollet som ligger däri använder sig av transportlagret och TCP för att transportera data. TCP och de andra transportprotokollen som ligger i transportlagret använder det underliggande nätverkslagret för att adressera paketen som skickas. I detta fall är det IP protokollet som används.

2.2.1 TCP Transmission Control Protocol TCP är ett protokoll som används för att överföra data. I stort sett all kommunikation på nätet använder sig av TCP. En av orsakerna till det är att TCP är ett felkorrigerande protokoll, det innebär att det finns en garanti att alla paket som skickas kommer fram och att de kommer fram i den ordning de skickas. Denna egenskap gör att protokollet lämpar sig bra för applikationer där det är extra viktigt att alla delar av ett paket kommer fram. Exempel på sådana applikationer är t.ex. e- post eller filöverföring. TCP har även ett antal funktioner som kontrollerar att nätverket inte överbelastas. När man pratar om anslutningsfasen i en TCP uppkoppling brukar man prata om en handskakning som består av tre steg. Det första steget i handskakningen innebär att den anslutande datorn skickar ett paket med en så kallad SYN-flagga. Denna flagga är en indikation på att en ny anslutning ska upprättas. Om mottagaren väljer att ta emot förbindelsen skickas då ett nytt paket tillbaka till klienten, med flaggorna SYNACK. Det innebär att både SYN- och ACK-flaggorna är satta. Paket innehåller information som sekvensnumret för den första byte som mottagaren samt klienten skickar. Dock har klientens sekvensnummer ökats med 1. Om mottagaren nekar förfrågan skickas istället ett RST-segment. Detta är det andra steget i trestegshandskakningen. Det tredje och sista steget är när användaren har fått sitt svar från mottagaren. När klienten får SYN-ACK-segmentet skickas ett ACKsegment, och anslutningen ses då som upprättad och data kan börja skickas. 2.2.2 IP Internet Protocol Internet Protocol används för adressering på internet eller andra paketbaserade nätverk. Data som överförs med hjälp av IP delas upp i många små paket som innehåller information om avsändarens samt mottagarens adress. Denna adress kallas för IP-adress. Detta görs för att paketen ska ta sig fram genom nätverket så smidigt som möjligt. Idag är det i stor utsträckning IP version 4 som används. Men den nya versionen IPv6 är också i bruk parallellt med IPv4. Dem fungerar att köra parallellt med varandra eftersom IPv6 är bakåtkompatibelt med den gamla versionen, och om man använder sig av en teknik som kallas embedding. Den stora skillnaden mellan de båda versionerna är adresstorleken. IPv4 har en adresstorlek på 32 bitar, vilket ger 2^32 unika adresser. Medan IPv6 har en 128 bitar lång adress, vilket alltså ger betydligt fler möjliga adresser.

2.3 Hur det funkar BitTorrent är ett protokoll för överföring av filer och använder sig av modellen peerto-peer (P2P). Med det menas att en peer, eller en klient, kopplar upp sig direkt mot en annan peer istället för mot en server. Detta är dock inte fullständigt sant utan det första en ny peer gör när den vill gå med i ett nätverk är att den ansluter till en server kallad tracker och får genom den reda på vilka andra peers som finns i svärmen och kan därefter kontakta och skicka ut multipla förfrågningar till alla peers som finns i svärmen. För att få reda på vilken tracker som en peer ska kontakta måste den först få tag på en.torrent-fil, en fil som innehåller all denna information. Det görs oftast genom att man via en webbsida laddar ner denna fil från en server som kontaktas genom en http-förfrågan. Efter att.torrent-filen är nedladdad, förfrågan är skickad till trackern med svar tillbaka och förfrågningarna är skickade ut till svärmen är det dags för att hämta hem själva filen man är intresserad av. Här är det ett antal tekniker som ligger bakom för att göra att nedladdningen blir så effektiv och snabb som möjligt. Dessa tekniker är Choke Algorithm och Rarest First och de kommer att beskrivas nedan. 2.3.1 Choke Algoritm Denna algoritm beskriver strategin för att välja vilken peer som ska laddas ner ifrån. En peer är inte uppkopplad mot alla andra peers i svärmen samtidigt utan väljer genom denna algoritm ut 5 som den laddar ner ifrån. Det fösta den gör att välja ut de 4 andra som har högst uppladdning, alltså de som det går fortast att ladda ner ifrån. Detta val uppdateras var 10:e sekund för att det hela tiden ska vara de snabbaste. Ett problem med detta är att peers som inte varit med en längre tid kan få svårt att komma igång eftersom ingen vet hur deras hastigheter är. Därför väljs var 30:e sekund en slumpmässig peer ut att ladda ner ifrån. Om det visar sig att denna peer är en effektiv peer kan denna bli vald som en av de 4 bästa att ladda ner ifrån, annars väljs en annan efter 30:e sekunder och möjligheten går till en annan. Detta ger även möjligheten för nya peers att få sin första del av filen så att de har något att dela med sig av (Legout, 2006). 2.3.2 Rarest First Metoden för att välja den del av filen som är mest sällsynt. I.torrent-filen finns information om vilka delar som behövs för att skapa hela filen. För att kunna få tillgång till dessa delar behöver en ny peer först få reda på vilka delar som varje annan peer i svärmen innehar. När väl den nya peeren har all denna information vet den tillräckligt för att göra nedladdningen av filen så effektiv som möjligt. Eftersom BitTorrent baseras väldigt mycket på välvilja hos alla användare är det viktigt att det

finns reservplaner ifall om inte detta skulle uppfyllas. Därför metoden Rarest First. Det som metoden gör är att den sammanställer hur ofta varje del förekommer i svärmen och väljer ut den som är mest sällsynt att ladda ner (Legout, 2006). Genom att göra så minskar riken för att en del ska försvinna fullständigt ur svärmen och filen kan finnas under en längre tid. 2.4 Brister Men även med ovanstående metoder finns det fortfarande problem eller brister med BitTorrent. 2.4.1 Seeder-Promotion problem Trots att BitTorrent har blivit en så stor succé och att det är så pass populärt som det är, finns det ett stort problem med protokollet. Det problemet är tillgänglighet av filer under en längre tid. Man kan se att efter en relativt kort tid slutar många torrents att erbjuda en hel fil. Detta uppstår då vissa delar av filen saknas och hindrar därmed en peer från att återskapa hela filen. Orsaken till problemet är att det så kallade seeder promotion problem. Seeders är de användare som fortsätter att ladda upp efter avklarad nedladdning, vilket resulterar i att vissa delar av filen blir åtskild från resten i svärmen. Vilket innebär att torrents utan seeders levererar ofullständiga filer med försämrad nedladdnings hastighet. Det finns undersökningar som visar att 38 % av alla torrents tappar sina seeders inom första månaden. (Kaune, 2010). Och utav dessa torrents är det ca 75 % som tappar alla sina seeders inom de första 5 dagarna. 2.5 Lösningar på bristerna Det finns flera olika lösningar till seeders promotion problem. Här tas två av dem upp. Den första har blivit kallat single-torrent solutions, och involverar peers inuti en enstaka svärm. Lösningen går ut på att alla peers samarbetar för att garantera tillgängligheten av sällsynta delar. Användning av olika incitament kan användas för att uppmuntra användare ska stanna kvar som seeders en längre tid. Ett exempel på ett sådant incitament skulle kunna vara en form av fil kompensationserbjudande. I den andra lösningen riktar man inte bara in sig på peers i en svärm utan man tittar på peers i flera olika svärmar. Där peers samarbetar mellan svärmarna för att garantera tillgängligheten av sällsynta delar. Som stöd för detta använder man observationer som tyder på att mer än 85 % av alla användare av BitTorrent är

involverade i flera torrents. Denna metod utnyttjar detta för att skapa ett samarbeta mellan svärmar. Användare kan då ladda ner filer i egenintresse samtidigt som de erbjuder filer som de tidigare laddat ner till andra torrents. Denna lösning kallas Cross-Torrent solutions. 2.6 Framtid Framtiden för BitTorrent är inte så mycket om vad man kan komma med för nya funktioner till protokollet. Det innehåller redan funktioner som gör det väldigt effektivt och det är betydligt snabbare än genom vanlig nedladdning från en server. Istället är det att hitta nya användningsområden för BitTorrent. Ett område som kommer att få ta del av tekniken från BitTorrent-protokollet är P2P live streaming. Genom att utnyttja den effektiva och snabba informationsdelningen från BitTorrent kan man förbättra på möjligheterna att sända livesändningar över nätet så fort de har spelats in. På så sätt blir fördröjningen från det att det faktiskt har hänt till det att det går att se på nätet betydligt kortare.

3. Avslutning I rapporten har vi tagit upp att BitTorrent protokollet har ett stort problem. Det är problemet med att det är alltför få som agerar som seeders och att de få som gör det är aktiva alldeles för kort tid. För att behandla detta problem togs 2 lösningar upp. Single-torrent lösningen riktar in sig på peers i en svärm, och går ut på att med hjälp av olika incitament ska man få fler seeders som stannar aktiva under en längre tid. I den andra lösningen Cross-torrent solution berör man flera svärmar som genom samarbete ska garantera full tillgänglighet av sällsynta delar. Ett annat problem som inte har tagits upp tidigare i rapporten är egentligen inte ett problem med protokollet utan, ett problem med hur protokollet tillämpas. Mer än sällan används protokollet för att sprida upphovsrättskyddat material, vilket är olagligt. Den här punkten har skapat väldiga debatter, en av de kanske mest uppmärksammade fallen här i Sverige och även i övriga världen är The Pirate Bay rättegången. The Pirate Bay är en av världens största bittorrent trackers. De blev åtalade för medhjälp till brott mot upphovsrättslagen, eftersom att de förmedlar upphovsrättskyddat material. BitTorrent har idag fått otroligt stor spridning och det används är oftast det primära valet för att överföra stora filer över internet. Det är enkelt att få tillgång till eftersom det endast är ett program som behöver installeras på användarens dator och så fort man väl har fått tag på en.torrent-fil så sköter programmet hela nedladdningsprocessen, från uppkoppling till andra peers, införskaffningen av alla delar och ihopsättningen av dessa till filen som skulle laddas ner. Dessutom går det snabbt. Filen är utdelad bland alla användare istället för att den bara finns på en server. Det gör att fildelningen går snabbare eftersom den går att hämtas hos betydligt fler källor. Just det att det är så enkelt och att det är så effektivt och snabbt har gjort att BitTorrent har fått en så pass stor spridning och det är även just dessa anledningar att tekniken från protokollet kommer att överföras till nya tekniker. En sådan teknik är P2P live streaming.

Källor Sebastian Kaune, Gareth Tyson, Konstantin Pussep, Andreas Mauthe, Aleksandra Kovacevic and Ralf Steinmetz. The Seeder Promotion Problem: Measurements, Analysis and Solution Space. In Proc. IEEE 19th International Conference on Computer Communication Networks (ICCCN), Zurich, Switzerland (2010) B. Cohen. Incentives Build Robustness in BitTorrent. In Proc. Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA (2003) A. Legout, G. Urvoy-Keller, and P. Michiardi. Rarest First and Choke Algorithms are Enough. In Proc. ACM IMC, Rio de Janeiro, Brazil (2006) Wikipedia (2011) Transmission Control Protocol <http://en.wikipedia.org/wiki/transmission_control_protocol> hämtat 2011-02-20 Wikipedia (2011) IP Internet Protocol <http://en.wikipedia.org/wiki/internet_protocol> hämtat 2011-02-20 Bram Cohen, The BitTorrent Protocol Specification, januari 2008 TCP congestion control <http://condor.depaul.edu/jkristof/technotes/congestion.pdf> hämtat 2011-02-20 Bram Cohen on the Future of BitTorrent <http://gigaom.com/video/bram-cohen-on-the-future-of-bittorrent/> hämtat 2011-02-21 BitTorrent Aims for the Live Video Web <http://gigaom.com/video/bittorrent-aims-for-the-live-video-web/> hämtat 2011-02-21