PEER TO PEER STREAMING



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

Real-time requirements for online games

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

Tentamen i Datorkommunikation den 10 mars 2014

Grundläggande datavetenskap, 4p

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Hur BitTorrent fungerar

5 Internet, TCP/IP och Applikationer

DIG IN TO Nätverksteknologier

Lösningar till tentan i ETS052 Datorkommunikation

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

TCP/IP och Internetadressering

QuickTime Streaming Server, en introduktion

Övningar - Datorkommunikation

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

Denna genomgång behandlar följande:

Instuderingsfrågor ETS052 Datorkommuniktion

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

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

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

5 Internet, TCP/IP och Tillämpningar

Internets historia i Sverige

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

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

Denial of Services attacker. en översikt

Filöverföring i Windowsmiljö

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

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

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

DIG IN TO Nätverksteknologier

Del 1 Frågor om vad höghastighetsnät är:

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

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

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

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

IT för personligt arbete F2

Datakommunika,on på Internet

Bittorrent: Rapport av projektarbetet i kursen Datakommunikation och Distribuerade System

DIG IN TO Administration av nätverk- och serverutrustning

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.

Accelerering av filhämtning

Tentamen i datakommunikation EDA343/DIT420 Vt 2011

File Transfer Protocol (FTP) Problem och lösningar

Skärmbilden i Netscape Navigator

DIG IN TO Administration av nätverk- och serverutrustning

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

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

8SSJLIW.RPELQHUDEHJUHSSPHGGHILQLWLRQHUS

IPv6 Jonas Aronsson 3TEa

Laboration 4 Rekognosering och nätverksattacker

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

Datakommunikation vad är det?

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

Internetprotokollen. Maria Kihl

Kaj Kjellgren Netnod Netnod

Hanna Germundsson, Karl-Johan Lundberg.

Routing Information Protocol

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system

att det finns inte något nätverk som heter Internet Finns Internet? Varför fungerar det då? Nätet? Jag påstår

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

Svar till SSNf angående projekt SKA 3.1, Säker Kund Anslutning. 12 Mars 2008 Version 3.0

SPID och identifiering av obfuskerade protokoll

Manual - Inläsningstjänsts App (ios för iphone och ipad)

Rapport i Mobila systemarkitekturer. Symbian

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

TENTAMEN FÖR KURS DAV C03, DATAKOMMUNIKATION II 5p Sid 1 av 6 Torsdag kl

Informationsteknologi sommarkurs 5p, Datakommunikation

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

Föreläsning 3. Datorkunskap 50p Marcus Weiderstål Bromma Gymnasium

Christer Scheja TAC AB

ETS052 Internet Routing. Jens A Andersson

Transportnivån. Kommunikation mellan processer. Kommunikation mellan processer. Sockets och TCP. UDP (User Datagram Protocol) Checksumman

Mobile First Video on demand och livesändningar på Internet. Juni 2012

Varför fungerar det då? Elektro- och informationsteknik Lunds Tekniska Högskola

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Tips och råd om trådlöst

Tentamen i ETSF15 Kommunikationssystem och Nätverk

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

Datakommunikation vad är det?

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

TeliaSoneras syn på öppenhet

Version lättläst. Så här använder du Legimus app. för Android

DIG IN TO Administration av nätverk- och serverutrustning

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera

Manual - Inläsningstjänsts App (Android)

Att Säkra Internet Backbone

Din guide till en säkrare kommunikation

Tentaexempel. Maria Kihl

Kan vi lita på Internettekniken?

Idag. Streaming media. Översikt. Vad är det? Vad är streaming? Distributionsteknik Uppspelning och presentation Några exempel och demonstration

Kihl & Andersson: , Stallings: , , DHCP beskrivs även bra på

Säkerhet genom simpel nätverksutrustning. Högskoleingenjörsexamensarbete Fredrik Folke

DIG IN TO Administration av nätverk- och serverutrustning

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

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

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

1. Internets Applikationer 8 poäng

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

Routingprotokollet Open Shortest Path First Projektrapport i kursen EDA 390 Datakommunikation och Distribuerade System våren 2005

Transkript:

PEER TO PEER STREAMING Eric Lundmark och Charlotte Tamm Linköpings universitet Linköping 23/2-11

Sammanfattning Att sända musik och video över internet kräver mycket bandbredd. För att effektivisera strömningstekniken utvecklades peer-to-peer streaming. Denna rapport beskriver hur p2p-nätverk kan användas vid streaming och hur man kan effektivisera dessa. Undersökningen är avgränsad till två tillämpningar Spotify och Video on demand. Vi beskriver hur BitTorrent-liknade protokoll kan användas för p2pstreaming. Vi presenterar fördelar och nackdelar med de olika transport protokollen TCP och UDP. TCP ger en säker uppkoppling och congestion control medan UDP ger en snabbare dataöverföring. Även fördelarna med att använda mulitacasting vid streaming då färre kopior behöver skickas över nätet beskrivs. Genom analys av hur streaming kan tillämpas för olika applikationer ser vi att användningen av ett hybridsystem har överlägsna fördelar mot ett streamingsystem enbart uppbyggt på servrar eller p2p. Hybridsystem minskar även risken för bitar av en fil ska falla bort. Dessutom konstaterar vi att multicastsändning minskar behovet av bandbredd. Utökning av servar och bandbredd är kostnadsdrivande för den ständigt ökande efterfrågan på audio- och videotillämpningar. I takt med detta kommer också tekniken för kostnadseffektiva p2p-streaminglösningar fortsätta att utvecklas.

Innehållsförteckning 1 Inledning... 1 1.1 Syfte... 1 1.2 Metod och källor... 1 1.3 Avgränsningar... 1 2 Beskrivning av tekniken... 2 2.1 Bakgrund... 2 2.2 Peer-to-Peer streaming... 2 3 Användnings områden för p2p-streaming... 5 3.1 Spotify... 5 3.2 Video-on-demand... 7 4 Systemets brister... 8 5 Slutsats... 9 6 Källor... 10

1 Inledning En majoritet av dagens internetanvändning är sammanhörande med streaming. Många människor använder sig av streamingtjänster (såsom Spotify) på en daglig basis. Därför har effektiv och sömlösa streaming tjänster inte bara en stor påverkan på användandet av internet utan det påverkar även vårt vardagliga liv. I denna rapport kommer vi att beskriva skillnaden mellan streaming av olika media. Vi kommer att redogöra även hur detta påverkar vårt samhälle samt titta på några av skillnaderna mellan hur Spotify och VoD tillhandahåller deras streaming tjänster. 1.1 Syfte Vårt syfte med den här rapporten är att visa på skillnader mellan olika sorters streaming och hur man har valt att effektivisera dessa. Även hur man har valt att lösa transportdelen inom p2p-streaming. Vi kommer där att jämföra varför man har valt vilket transportprotokoll. 1.2 Metod och källor Rapportens innehåll kommer först och främst baseras på information hämtad från de olika protokollens RFC (Reaquest for Comments) samt en del litteratur från världsledande företag inom nätverk såsom Cisco. 1.3 Avgränsningar Vi kommer avgränsa oss till att kolla på skillnader mellan hur två olika en applikationer streamar med hjälp av peer-to-peer (nämns hädanefter som p2p) baserad streaming. Applikationen vi kommer att betrakta heter Spotify och är en musiktjänst som använder sig av en delad server och p2p lösning. Den kommer vi jämföra med ett Video on Demand system. Ett p2pstreamingsystem kan byggas på flera olika sätt vi har valt att beskriva detta närmare detta: Applikationslagret Modifierat BitTorrent protokoll Transportlagret TCP Nätverkslagret IGMP 1

2 Beskrivning av tekniken Vi kommer här ge en genomgång av de tre viktigaste protokollen inom streamingtekniken. Vi beskriver även bakgrunden till att de tagits fram, när de används. 2.1 Bakgrund Tekniken streaming går ut på att man ska kunna spela upp media samtidigt som man mottager den över ett fysiskt medium (ethernet e.g). Tekniken började utvecklas under 90-talet då man började få tillräckligt billiga och kraftfulla datorer och nätverk. Men när många ville ansluta sig till samma streaming länk insåg man dock att man måste uppnå ett bättre sätt att skala upp anslutningen. Detta resulterade i p2p baserade streaming tjänster. 2.2 Peer-to-Peer streaming Att streama video och musik tar mycket bandbredd. För att effektivisera strömningstekniken så började man använda sig av p2p tekniken vilken går ut på att man lägger distributionen på de datorerna som använder sig av den media som streamas. På detta vis slipper man en central nod.(2.1) Detta resulterar i att man kan skapa ett väldigt stort nätverk och samtidigt behålla kvaliteten, framförallt hastighetsmässigt. 2.2.1 Sändning av data inom ett p2p nät på applicationsnivå Nu när man har en ryggrad av ett multicastingnät som man kan kommunicera på måste man på applikationsnivå ha något som får iväg informationen på rätt sätt och effektivt. BitTorrent-protokollet skulle fungera bra om det inte vore för att det har en brist när det kommer till streaming, den laddar inte hem filerna i följd. Istället för att ladda hem filerna efter varandra så prioriteras de filerna som är sällsynta. Skulle man då använda det systemet inom p2p-streaming så skulle det bli konstanta avbrott. En teknik för att undvika dessa avbrott är. Det är en metod där en peer tar delarna i tur och ordning från olika peers. Den som ska ha en del hamnar i en kö där systemet FCFS (First Come First Served) gäller. Denna modifikation av BitTorrent-protokollet lämpar sig bra för on-demand streaming då det ger likvärdig prestanda som med ovanligast först metoden.[5]

2.2.2 TCP vs. UDP inom p2p Själva leveransen på nätverksnivå sker allt som oftast av TCP protokollet. TCP som är ett säkert överföringsprotokoll då det säkrar att paketen kommer fram genom [ACK] medelanden från noden till källan. TCP använder sig även av Congestion control uppbyggd av tre delar: Slows start Congestion avoidance fast retransmitte Dessa gör att TCP-protokollet tar lång tid på sig vid överföringar mellan två noder. Inom p2p-streaming så räknas ett paket som tappat om det inte kommer fram i tid till mottagaren.[10] UDP är dock ett snabbare transportprotokoll då det saknar funktioner för att se till att paket kommer fram i tid. Det problem som istället uppstår är att paketen kanske inte kommer fram.[10] Det har visats att TCP-baserad p2p-streaming är det bästa överföringsprotokollet överlag. Detta då överföringstiderna är inom accepterade intervall. [10] Vi anser här dock att det är en fördel att använda sig av UDP som transportprotokoll under live-sändningar för behovet av snabb överföring. 2.2.3 IP-multicasting När man skickar information via internetprotokollet brukar man skicka en kopia till varje mottagare. Detta blir mycket prestandakrävande när man ska skicka stora mediafiler. Om man inte skulle använda multicasting inom streaming så skulle det innebära att man vid en video-stream till tre mottagare skulle skicka samma paket i tre olika kopior till dessa. Använder man sig istället utav multicasting så skickar man ut en kopia till de som vill ha den. IP-multicasting är en teknik inom internetprotokollet som bygger på protokollen PIM och IGMP. IGMP (Internet Group Management Protocol) används vid kommunikationen mellan peer och router. Mellan routrarna används PIM (Protocol Independent Multicast) protokollet. Den som vill ansluta sig till multicasten skickar iväg ett IGMP 0x11 meddelande inkapslat i ett IP-paket (med en adress mellan 224.0.0.0 och 239.255.255.255) till närmaste router. Detta skickas sedan vidare till den närliggande routern som sedan sätter upp PIManslutningen till nästa router hela vägen fram till hostens närmaste router.[1][2] När man sedan vill gå ur gruppen så skiljer sig det lite åt beroende på om det är version1 eller två av IGMP. I version 1 är det routern som håller koll på vilka som är aktiva i multicast gruppen genom periodiska utskick av 3

förfrågningar. Efter 3 förfrågningar utan svar stoppas överföringen av paket från routern till noden. I version 2 finns ett meddelande för att lämna gruppen. Detta gör så att tidsfördröjningen i systemet har kunnat förkortas gentemot version 1.[2] Kommunikationen mellan routrarna som protokollet PIM har hand om kan göras på ett par olika sätt. PIM har två olika huvudlägen PIM-SM (sparse mode) och PIM-DM (dense mode), dessa två kan även kombineras i Sparse-Dense Mode. [2] SM är mer äkta multicast än vad DM är. Detta då DM skickar ut multicasting data i hela nätverket, har routrarna som trafiken kommer fram till inga noder anslutna till gruppen så skickas datan tillbaka och routern utesluts ur multicast gruppen. SM skickar istället enbart data till de som har uttalat intresse för att ta emot datat.[2] Effektivast är dock att köra Sparse-Dense Mode. Detta gör att man kan ställa in olika lägen i olika grupper istället för i varje router. Det gör att man kan köra DM där det är många noder nära varandra och SD där det är mer utspritt.[2] Anslutningarna mellan noderna byggs upp genom så kallade träd. Det finns två olika sorters träd: Source tree Shared tree Ett source tree har källan som root och använder sig av den kortaste vägen när det ska skickas information. Ett shared tree använder sig istället av en rendezvous point(rp) som kan ses som en sorts supernod dit all information skickas för att sedan matas vidare till de mottagande noderna.[2] Dessa supernoder används på samma sätt som en tracker gör i BitTorrent-tekniken genom att den håller koll på vem som ska ha vad och vilka delar som är viktigast i vissa noder för att uppspelningen ska kunna fortsätta samt vilka delar det är ont om.[2]

3 Användnings områden för p2pstreaming Det finns huvudsakligen tre former av p2p-streaming, on-demand (mediet finns sparat på en server), live och interaktiv (IP-telefoni). Av dessa beskrivs senare i kapitlet användningsområden för on-demand-streaming, musiktjänsten Spotify som huvuddel men även om Video-on-demand (VoD). Ip-telfoni är interaktiv streaming då båda parter tar emot och sänder media, Skype är ett exempel på en sådan tjänst. Telefoni sker i realtid och är därmed känslig för förseningar, men påverkas däremot inte av små förluster vid transport av data i samtalet. Det är därför en fördel att använda en UDP-uppkoppling. UDP är ett transportprotokoll som gör så gott den kan. Det innebär att fast anslutning inte finns mellan sändaren och mottagare. UDP tar inte heller hänsyn till om paket går förlorat eller om nätverket är överbelastat. Det innebär att det går snabbt att sända, då inget paket behöver skickas om och det behövs ingen tre-stegs handskakning (som det gör för TCP).[11] 3.1 Spotify Spotify är en musikstreaming-tjänst, det går att lyssna på musik och skapa spellistor. Det som behövs för att streama musiken är att installera Spotify på sin dator och skaffa ett konto. 3.1.1 Peer to peer nätverket För att Spotify ska vara snabbt och kostnadseffektivt så använder sig Spotify av ett p2p-streaming system. Spotifys protokoll är en kombination av serverbaserad streaming och p2p-teknik. När programmet startas öppnas en TCP-uppkoppling till Spotifys server, uppkoppling upprätthålls under tiden klienten är online. Musiken cachas för att begränsa användningen av bandbredd. TCP-uppkoppling används även mellan peers. En användares uppkoppling används för att skicka musik till andra användare. TCP är ett protokoll i transportlagret som beskriver hur data ska skickas över internet. TCP är en uppkoppling som kräver en tre-stegs handskakning innan det kan börjas sända material mellan två klienter. TCP-kommunikationen består av tre faser anslutning, överföring och nedkoppling. En fil delas upp i flera segment innan de skickas och i ett TCP-segments header (information om innehållet i segmentet) finns det fält för sekvens nummer och bekräftelse (eng acknowledgment) nummer. Dessa nummer används för att säkerställa att alla segmenten kommer fram och i rätt ordning. När mottagaren har fått ett segment skickar den tillbaka en bekräftelse till sändaren. Får inte sändaren en bekräftelse skickas segmentet igen. 5

Spotify använder sig av TCP-uppkoppling för att det är en pålitlig uppkoppling och inte tillåter bortfall av data, förloras ett segment så skickas det om. Detta är positivt för att hålla hög kvalité på låtarna då de cachas och ska skickas vidare till andra användare. En ytterligare anledning till att använda TCP är congestion control. Den ser till att nätverket inte bli överbelastat. När nätverket blir överbelastat kan det leda till att segment inte kommer fram. För att minska belastningen så skickar färre segment i följ.[11] En låt är en relativt liten fil och kräver endast några få peers för att streama. Då det byts låt ofta är det viktigt med en effektiv sökfunktion för att hitta peers med den önskade låten och då kunna hindra fördröjning till nästa låt. Spotify har på sin server en tracker, en lista på de 20 senast peers som har en specifik låt. När en användare gör en förfrågan efter en låt görs en sökning på trackern vilket ger ett antal peers som har låten cachad. De peers som nu streamar låten till användaren kommer att ingå i användarens nätverk. En förfrågan av en låt kan skickas direkt till peers i nätverket och de i sin tur skickar förfrågan vidare till sina peers i sina nätverk, längre än så går inte förfrågan. Hittas inte låten hos dessa peers skickas förfrågan till server, detta för att minska söktiden. Det finns en begränsning på 60 peers i ett nätverk, då det är kostsamt med flera TCP uppkopplingar och för att hålla protokollet enkelt. 3.1.2 Uppspelning av musiken På Spotifys servrar finns alla låtar och där finns även en tracker som vet vilka som är uppkopplade. Som Spotify användare måste man cacha en viss mängd data på sin dator, detta för att kunna ladda upp till andra användare. Tracken listar även vilka låtar användarna har cachade. De gånger då Spotify inte kan förutse vilken nästa låt är (t.ex. när man slumpmässigt väljer en låt istället för att lyssna på en playlist) och den inte är cachad kommer låten att streamas från Spotifys servrar under de första 15 sekunderna och sedan övergå till p2p-streaming. Blir bufferten låg vid streaming i p2p-anslutningen övergår streamingen till servern. När en klient streamar från servern begränsas uppladdningen till att buffern ligger på max 15 sekunder. Begränsningen finns för att inte belasta serven mer än nödvändigt, till skillnad vid uppladdning från peers då en sådan begränsning inte finns. För en snabb övergång mellan låtar börjar nästa låt på tur att laddas ner innan den första är slut. Skulle den nya låten börja laddas ner tidigt och användaren byter låt, då innebär det att nedladdningen var slöseri på bandbredd. Skulle nedladdningen påbörjas sent finns risken att mottagaren inte har fått tillräckligt med material för att starta låten och skapar då en onödig fördröjning. Spotify har, för att hindra fördröjning men ändå inte bidra till slöseri av bandbredd, valt att nedladdningen av nästa låt påbörjas då det är 30 sek kvar.

Innan varje låt kan börja spelas måste klienten få en bekräftelse från servern på grund av digital rights management. Detta gäller även för cachade låtar med undantag för låtar som är synkroniserade till off-line mode. [11][12] 3.2 Video-on-demand Video-on Demand tillhandahåller ett antal funktioner såsom pause, fast forward, fast rewind etc. BitTorrent är en global standard som har betytt mycket för utvecklingen att skapa effektivare distribution av video-filer över internet. BitTorrent är ett protokoll som använder ett p2p-nätverk för fildelning. BitTorrent effektiviserar nedladdning genom att flera nedladdare hjälps åt. En klient kommunicerar med en tracker som har information om vilka andra BitTorrent-klienter som har hela eller delar av aktuell fil.. När en klient går med i en torrent tilldelas klienten ett slumpmässigt antal valda peers. De peers som klienten lyckas skapa en TCP-uppkoppling med ingår nu i klientens nätverk. Antalet peers i nätverket kommer att variera med tiden. Vid nedladdning används endast fem peers från sitt nätverk, men de uppdateras regelbundet och räknar om prioriteten för peers för en optimal nedladdning. BitTorrent har en lika-för lika policy vilket innebär att en peer ska ladda upp lika mycket som den laddar ner. BitTorrent har utvecklat sitt protokoll så att den ovanligaste delen i nätverket ska laddas ner först, så att ingen bit försvinner ur systemet. BitTorrent tillämpar kryptografiska kontrollsummor (SHA-1) för att säkerställa att data inte blir förvanskat. VoD streaming innebär att samtidigt som en videon laddas ner går det att använda den för uppspelning. Vidare försöker vi hitta ett effektivt sätt för uppspelning. Skulle VoD-streaming tillämpa BitTorrent teknik så att den ovanligaste del laddas ner först, vilket leder till fördröjningar i uppspelningen. Detta genom att bitarna som laddas ner inte behöver ligga i fas med uppspelning. Skulle VoD däremot ladda ner delarna i ordning, kan det skapa fördröjningar i slutet av videon eftersom det finns färre peers som laddar upp. Detta beror på att de flesta lämnar systemet vid slutet av en film. Det medför en stor belastning på sändarna som är kvar i systemet, vilket i sin tur leder till det tar längre tid för sändarna att ladda upp och det skapas förseningar i uppspelningen. Båda dessa sätt att enbart ladda ner bitarna i följd eller ta den ovanligaste biten först skapar fördröjningar och är var för sig ingen optimal lösning. Genom att kombinera de här två metoderna så kan uppspelningshastigheten hållas och de ovanligaste bitarna försvinner inte ur systemet.[13][14] 7

4 Systemets brister Ett uppenbart problem inom p2p streamingen är tidsfördröjningen. När informationen ska skickas genom ett antal noder och routrar innan informationen kommer fram till användaren så ökar fördröjningen med antalet användare av streamen. För att uppnå skalbarhet skickas informationen först till några peers som sedan blir uppladdare. Ligger man sist i den här kedjan uppgår fördröjningen till flera minuter. Problemet existerar dock endast när användaren ska se en live stream, annars märker man inte förseningen. Vi anser att man kan använda sig av UDP som transportprotokoll. Detta drar ner på transporttiden på nätet och får streamen att ligga mer i fas. De övriga problemen med att ha UDP som transpor protokoll kan minskas med att man använder en hybridlösning. En hybridlösning innebär att man använder både p2p och server. Detta gör att möjligt bortfall av delar försvinner och att första delen av sessionen flyter på lika bra som när det är många peers. Bristen på säker och stabil överföring gör att man inte kan sätta in den här tekniken istället för tvnätet. Man har dock försökt utveckla transport protokoll som ska ordna upp det här problemet. Streaming Transport Protocol är en blandning av TCP och UDP. Det enda problemet är dock att det inte finns något inbyggt stöd för det.[6]

5 Slutsats Efter att ha analyserat hur streaming kan se ut och hur olika applikationer har implementerat dem har vi kommit fram till följande saker: Användningen av ett hybridsystem har överlägsna fördelar mot ett streaming-system enbart uppbyggt på servrar eller p2p. Vid användningen av ett hybridsystem minskar risken för att bitar av en fil ska falla ur svärmen. Användning av en multicast-sändning minskar behovet av bandbredd. Vi kan nu säga att p2p-streaming är något som i framtiden kan blie en ersättning till det tvnät vi har i dagsläget. De ovan nämnda problemen måste dock åtgärdas för att få en tillförlitlig uppkoppling. När man sedan väl uppnått dessa mål kan man räkna med en minskad kostnad för de företag som idag enbart använder sig av server streaming. Utvecklingen av ett transportprotokoll för p2p-streaming skulle bidra till att man kan utveckla ett system som skulle kunna användas inom tv-nätet. En utveckling av detta skulle dock innebära att man behöver fler multicastingadresser och att införandet av Ipv6 skulle snabbas på. Detta då fler och fler prylar skulle innehålla applikationer som använder sig utav multicasting och p2p-streaming. I framtiden kan man tänka sig att även mobiltelefoner använder sig av denna teknik och att behovet av servrar kommer minska. 9

6 Källor [1] [www]<http://www.cisco.com/en/us/products/ps6552/products_ios_ technology_home.html> författare: Cisco, årtal: --, titel: Technical Marketing Engineer David Lin describes the benefits of IP Multicast, typ av källa: elektronisk, utgivare: Cisco, hämtad den 2011-02-19 [2] [www] <http://docwiki.cisco.com/wiki/internet_protocol_multicast> författare: Williamson, Beau, årtal: 2000, titel: Internet Protocol Multicast, typ av källa: elektronisk, utgivare: Cisco, hämtad den 2011-02-20 [3] [www] <http://wiki.theory.org/bittorrentspecification> författare: --, årtal: --, titel: BitTorrentSpecification, typ av källa: elektronisk, utgivare: Cisco, hämtad den 2011-02-20 [4] [pdf] http://www.csc.kth.se/~gkreitz/spotify-p2p10/spotify-p2p10.pdf [5] [pdf] < http://www.cse.iitd.ernet.in/~mahanti/papers/sig08.pdf > författare: --, årtal: --, titel: BitTorrentSpecification, typ av källa: elektronisk, utgivare: theory.org, hämtad den 2011-02-20 [6] [www] http://en.wikipedia.org/wiki/streaming_media [7]NE peer-to-peer [8] [www] [http://tools.ietf.org/html/rfc2236] författare: W. Fenner, årtal: 1997, titel: Internet Group Management Protocol, Version 2, typ av källa: elektronisk, utgivare: Network Working Group, hämtad den 2011-02-19 [9] [www] [http://www.ietf.org/rfc/rfc2460.txt] författare: S. Deering m.fl, årtal: 1997, titel: Internet Protocol, Version 6 (IPv6), typ av källa: elektronisk, utgivare: Network Working Group, hämtad den 2011-02-19 [10] [pdf] författare: Jeng-Yuh Chang m.fl, årtal: 2008, titel: An Evaluation of Transport Protocols in Peer-to-Peer Media Streaming, typ av källa: elektronisk, utgivare: San Jose State University, hämtad den 2011-02-19 [11] [tryckt] Kurose, Ross(2010). Computer Networking,. Pearson [12] [pdf] <http://www.csc.kth.se/~gkreitz/spotify-p2p10/spotify-p2p10.pdf> författare: Kreiz, Niemelä, titel: Spotify-Lag Scale, Low Lanency,P2P Musik- On-Demand Streaming typ av källa: elektronisk, hämtad:2011-02-20 [13] [pdf] <http://www.cs.usask.ca/grads/nic169/papers/networking07.pdf> författare: Carlsson,Eager, titel: Peer-assisted on-demand streaming of stored media using BitTorrent-like protocols typ av källa: elektronisk hämtad: 2011-02-18 [14] [pdf] <http://www.scs.stanford.edu/~reddy/research/redcarpet/redcarpet.pdf> författare: Gkantsidis, Rodriguez, och Massoulie titel: Providing Video-on- Demand using Peer-to-Peer Networks typ av källa: elektronisk hämtad. 2011-02-20