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

Storlek: px
Starta visningen från sidan:

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

Transkript

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

2

3 Sammanfattning Denna rapport behandlar streamingtjänsten Spotifys uppbyggnad ur ett dataöverföringsperspektiv. Rapporten presenterar lösningar för överföring av ljud genom att delvis fokusera på användningen av olika kommunikations- och transportprotokoll som UDP, SCTP och TCP. Huvuddelen handlar om Spotifys strömningskonstruktion samt tillämpningar av transportprotokollet TCP. Dessutom behandlas uppbyggnaden av Spotifys nätverk som på ett smidigt och pålitligt sätt levererar musik till tjänstens användare. Rapporten presenterar strömningsbegreppet samt olika lösningar för detta på ett övergripligt plan medan det tekniska djupet i rapporten riktar fokus på Spotifys utnyttjande av TCP(Transmission Control Protocol). Spotify har löst problemen som TCP kan föra med sig, som t.ex. lång väntetid jämfört med andra transportprotokoll. Detta har gjorts genom att bl.a. använda ett peer-to-peer-nätverk ovanpå sitt klient-server-nätverk för att få ut maximal kapacitet av protokollet.

4 Innehållsförteckning 1. Inledning Syfte Metod och källor Avgränsningar Streaming Spotifys streaming Streamingkonstuktionen Kontakten med andra användare Anslutning till andra Peers UDP SCTP RTSP HTTP Livestreaming Transmission Control Protocol (TCP) Handskakningsfunktionen Congestion Control Skillnader mellan TCP och UDP Diskussion och slutsats Fördelar/nackdelar med TCP istället för UDP Referenser...16

5 1. Inledning Spotify är en musiktjänst som med hjälp av streaming erbjuder användare musik från ett musikregister på över 8 miljoner musikstycken. Spotify finns i flera versioner. Det finns två gratisversioner, Spotify Open och Spotify Free. Dessutom finns en betalversion av tjänsten, Spotify Premium, som erbjuder bland annat bättre ljudkvalitet [1]. Tjänsten är uppbyggd genom en fördelning av streamingtrafiken mellan ett serverklient-nätverk samt ett peer-to-peer-nätverk. Vidare är tjänsten uppbyggd på ett sätt som ger kort väntetid mellan dess att en låt väljs och att den börjar spelas upp [1]. I denna rapport behandlas dels streaming i allmänhet men Spotifys streaming i synnerhet. Då det finns många olika lösningar för överföring av ljud så ska vi undersöka dels vilka som finns men framförallt fördjupa oss i Spotifys lösning och utreda varför de har valt just den. Vi kommer även jämföra och utreda fördelar och nackdelar med olika protokoll för streaming av ljud Syfte Anledningen till att vi valt ämnet är för att få en djupare insikt i begreppet streaming, och kunna få en ökad kunskap om hur tjänster som Spotify och liknande fungerar. Vi tror att genom undersökning av streaming kommer vi få en djupare insikt i hur olika protokoll fungerar och då få en ökad förståelse för övriga moment i kursen. Utifrån dessa kunskaper ska vi även försöka hitta lösningar på de problem som kan uppstå Metod och källor Spotify är en proprietär tjänst. Detta innebär bl.a. att vissa av deras metoder för att överföra media är skyddade för att hindra risken för plagiat. Då detta gör det svårt att studera tjänstens funktioner genom t.ex. Wireshark är den huvudsakliga metoden som använts för denna rapport en litteraturstudie av olika slag. Kontakt har tagits med Spotifys kundtjänst för att få ta del av information kring uppbyggnaden av tjänsten. Vi har även undersökt streaming mer allmänt både genom att söka litteratur i skolans bibliotek samt via undersökning av olika protokoll som är vanliga vid streaming. Tack vare en djupare uppfattning om de olika protokollen har vi kunnat dra egna slutsatser om olika tjänster som tillhandahåller streaming Avgränsningar För att på ett begripligt sätt kunna beskriva Spotifys strömning av musik så har vi på en djupare teknisk nivå valt att beskriva hur tjänsten använder sig av TCP vid överföring av ljud. Vi har valt att avgränsa oss till endast TCP då övriga protokoll som används av tjänsten är skyddade i upphovsrättssyfte. För att få insikt i hur Spotifys strömningstjänst skiljer sig jämfört med andra finner vi det relevant att även ge en beskrivning av hur övrig vanligt förekommande streaming går till. Här har vi valt att avgränsa oss till att endast övergripande beskriva denna streaming för att kunna skapa en insikt om skillnader mellan tjänsterna.

6 2. Streaming Streaming eller strömning är multimedia som ständigt tas emot och presenteras för en slutanvändare efter leverans från en källa. Namnet syftar alltså till själva mottagandet av strömmen snarare än distributionen som kan se mycket olika ut. De flesta strömningstjänsterna idag använder sig av någon form av webb-baserad mediaspelare som exempelvis Adobe Flash eller liknande. De använder också oftast en ren server till klient-applikation utan peer-to-peer komponenter [2]. Strömning kan i sin tur ske antingen på begäran (On Demand) eller levande (live), så kallad True Streaming. True Streaming skickar all information direkt till klienten som spelar upp innehållet utan att först lagra det någonstans. Detta ska inte förväxlas med progressive streaming som först lagrar filen på hårddisken men som samtidigt har möjlighet att spela upp den del av filen som är nedladdad. Detta är egentligen en form av nedladdning som On Demand-tjänster använder sig av [2]. Själva strömningen är egentligen bara leveransen av tjänsten men det är flera steg som måste uträttas för att göra strömningen möjlig. Först och främst så måste ljud filen vara komprimerad till en ljud-codec, t.ex. MP3 samt videofilen till en videocodec, t.ex. H.264 eller WebM. Kodade och komprimerade mediafiler samlas i sin tur i en bitström som kan levereras till klienten med hjälp av ett transportprotokoll t.ex. UDP eller TCP. Klienten kan sedan interagera med den strömmande källan genom ett kommunikationsprotokoll (även kallat control protocol) som kan hantera den skickade mediaströmmen. Vanliga protokoll för detta ändamål är RTCP och HTTP- Livestreaming. Vissa protokoll fungerar både som transportprotokoll och control protocol [3]. Vad som också är gemensamt för alla strömningstjänster är att man använder sig av ett content delivery network (CDN) för att distribuera och leverera innehållet. CDN som kan se mycket olika ut är en tjänst som erbjuds kommersiellt av bland annat cdn.com och edgecast.com. Det används för att upprätthålla största möjliga bandbredd för användarna i nätverket genom att låta kopior av data vara placera på flera ställen i nätverket. Klienten kan på så sätt hämta data från närmaste möjliga källa istället för direkt från huvudservern [4]. CDN består alltså av ett antal noder (markerade med nummer 2 i figur 1) strategiskt utplacerade för att kunna både leverera information samt för att kunna omdirigera förfrågningar för att sprida belastningen i nätverket. Om alla klienter istället strömmar direkt från huvudkällan (markerad med nummer 1 i figur 1) så är risken för flaskhalsar stor vilket minskar bandbredden och begränsar antalet användare (markerade med nummer 3 i figur 1). Risken för överbelastning blir också överhängande [5]. 6

7 Figur 1.[6] Bilden visar uppbyggnaden av ett content delivery network. 1: Huvudserver 2: Utplacerade noder 3: Klienter. Själva distributionen och uppbyggnaden av fungerande nätverk har visat sig vara en stor marknad för kommersiella aktörer då problemen som ofta kan uppstå är komplexa och svåra att lösa. Det finns därför många företag som riktar in sig på att sälja in sina strömningslösningar till exempelvis TV-bolag som allt mer övergår till att sända digitalt och erbjuda On-Demand-tjänster [5]. 3. Spotifys streaming Till skillnad från den streaming som beskrivits ovan använder sig Spotify av en annorlunda metod för att kunna erbjuda sina klienter en (vad de anser är) mer optimal streaminglösning. Streamingtjänsten Spotify är uppbyggd delvis av ett klient-server nätverk, men också av ett peer-to-peer-nätverk. Mellan dessa är användarnas trafik fördelad på ett sätt som optimerar streamingtjänsten ur ett tidsperspektiv genom att väntetiden mellan att en låt väljs och att den börjar spela är kort. Spotifys streaming är konstruerad att lägga en stor del av sin internettrafik på peer-to-peer-nätverket för att på ett uppfinningsrikt sätt kunna distribuera musik snabbare [1] Streamingkonstuktionen Precis som genom den streaming som beskrevs tidigare är får en användare som skickat en förfrågan efter en specifik låt tillbaka en ström av musiken från en källa. Då många steamingtjänster använder sig av UDP för att kunna hålla nere fördröjningstider använder sig Spotify istället av TCP som tjänstens transportprotokoll [1]. Detta görs av tre anledningar: 1. Då dataströmmen är pålitlig underlättar detta hanteringen av filen av resten av tjänsten. 2. P.g.a. TCPs congestion control är protokollet mer vänligt mot nätverket och strömmar av media riskerar inte att sätta helt stopp i nätverket. 7

8 3. Då den strömmade median delas i peer-to-peer-nätverket underlättar protokollet för återförfrågningar efter eventuellt försvunna paket. En signifikant del av Spotifys streamingkonstruktion är uppdelningen av dataströmmen. Delvis delas dataströmmen upp i block (1,2,3,4 i figur 2.). Detta är med anledning av att tjänsten använder sig av TCP protokollet och då inte klarar av att skicka hela mediefiler på en gång p.g.a. deras storlek. Dessutom delar Spotify upp varje block i ett antal delströmmar (A1,B1,C1,D1, osv. i figur 2) [1]. Figur 2.[7] Syftet med uppdelningen är att en användare snabbare ska kunna hämta hem ett specifikt block. Detta genomförs genom att en användare kan hämta de olika delarna av ett specifikt block från olika källor och på så sätt endast behöver använda en mindre del av bandbredden till att hämta varje del. Samtidigt kan varje del hämtas från den källan med bäst uppladdningshastighet. Då alla delar av ett block hämtats sammanflätas dessa till ett helt block som kan spelas upp av användarens mjukvara. Detta är en av fördelarna med TCP jämförd med UDP. Med UDP skickas en fil från en klient i rätt ordning men hos mottagaren finns ingen kontroll av vilken ordning de paket som kommer har. Detta gör att hela filen måste laddas ner och sorteras innan filen garanterat kan spelas upp i rätt ordning. TCP använder istället en kontrollfunktion som undersöker vilken ordning blocken kommer till mottagaren. Då detta sker kan t.ex. en ljudfil börja spelas upp redan då första blocket tagits emot av användaren [1]. Då en låt har spelats upp av användaren kodas den om och varje block delas upp i delar igen. Därefter lagras filen i användarens dator. Lagringen görs delvis för att användaren ska kunna spela upp låten direkt från minnet vid ett senare tillfälle. Detta minskar trafiken på nätverket då en användare inte behöver ladda ner samma låt flera gånger. Det bör nämnas att minnet för den lagrade musiken inte är oändligt. Då minneskapaciteten är fylld rensas den äldsta och minst återanvända musiken ut då ny musik lagras. Då musiken lagras på användarens dator kan det tyckas att musiken borde kunna spelas upp även om användaren är offline. Detta är endast möjligt i en av Spotifys tre versioner (Premium-versionen) även att alla tre tillämpas samma lagringsprincip. För de övriga två versionerna krävs en anslutning till Spotifys server. Detta beror på att Spotify använder sig av DRM (digital rights management) vilket är en teknik för att kontrollera spridningen av bl.a. musik. Denna teknik kräver att en användare som vill spela upp en låt från sitt minne måste skicka en förfrågan till Spotifys server om att få spela upp låten. Endast då ett godkännande kommer tillbaka från servern kan Spotify spela upp låten. Dock kan användaren genom att betala extra för Spotify få Premium-versionen där offline-spellistor kan synkroniseras [1]. 8

9 En annan anledning till att musikfiler lagras på en användares hårddisk är att det öppnar upp ytterligare en möjlighet för distribution av musiken. Spotify har designats så att varje användare kan vidaredistribuera den musik som han/hon tidigare laddat hem via tjänsten. Dessa användare kan precis som Spotifys server ta emot förfrågningar efter filer och då skicka en eller flera delar av block till någon annan användare. Detta minskar belastningen på Spotifys server och gör systemet mer redundant då det ökar tillgängligheten av varje fil på nätverket. Serverns får istället en understödjande roll där den hjälper till med distribution då delar av ett block saknas eller då en användare inte tar emot block tillräckligt snabbt. Det senare kan bero på låg uppladdningshastighet hos den distribuerande användaren [1]. För att hålla koll på detta har Spotify ett system som registrerar hur stor del av en fil som finns i en användares buffert på väg att spelas upp. Spotify håller koll på de inkomna paketen genom att ha två signalnivåer implementerade i uppspelningsbufferten, LÅG och HÖG. Om andelen nedladdade blockdelar från en peer understiger LÅG-nivån (Se figur 3,a) växlar Spotify nedladdningen av just den blockdelen till att hämta denna från Spotifyservern. Spotify servern har en garanterad bandbredd till skillnad från användare där ned och uppladdningshastigheten kan variera. Spotifys server fortsätter att förse användaren med blockdelen till dess att antalet av nedladdade blockdelar överstiget HÖG-nivån (Se figur 3,b). Då detta sker växlar nedladdningen från servern till en peer i peer-to-peer-nätverket i syfte att behålla maximal bandbredd hos servern [1]. Figur 3,a [7] Figur 3,b [7] 3.2. Kontakten med andra användare Då en användare loggar in på Spotify upprättas automatiskt en TCP anslutning med vissa av tjänstens servrar. Bland annat skapas en anslutning till en s.k. Tracker (liknande Bittorrents tracker) [1]. En tracker är en server som har till uppgift att hålla koll på vilka datorer som inloggade på ett specifikt nätverk. Trackern kan dessutom hålla koll på vilka filer en specifik användare har att erbjuda och sedan vidarebefordra den informationen till andra användare [8]. Då en Spotifyanvändare är på jakt efter en låt används två principer för att hitta låten och hämta hem den till användaren. Delvis skickas en förfrågan till Spotifys tracker 9

10 efter användare som har den specifika låten. Trackern svarar då med en lista på max 10 sådana användare (om mediefilen finns hos några användare förstås). Därefter väljer användarens mjukvara ut en eller flera användare dit en förfrågan efter låten skickas. Själva valet av användare är bl.a. baserat på uppladdningshastighet hos källan samt hur många andra som källan distribuerar musik till [1]. Spotifys andra sätt att hitta en låt är genom att skicka ut förfrågningar till sina s.k. grannar. Då en användare söker efter en låt med hjälp av trackern, hittar användare och laddar ner låtar från dessa kommer användarens Spotify ihåg dessa användare. Användarna blir då grannar med varandra. Då en användare senare är på jakt efter en ny låt skickas den nya förfrågningen till både Spotifys tracker samtidigt som förfrågningen skickas till alla grannar. Användarna som får förfrågan undersöker delvis om de själva har låten men skickar också vidare förfrågan till sina grannar. Denna metod kan generera ett sänkt tidsintervall mellan att förfrågan skickas och en användare hittas som har låten i jämförelse med att skicka frågan till trackern [2] Anslutning till andra Peers Peer-to-peer-nätverket använder sig av TCP som transport protokoll. Då en peer vill ansluta sig till en annan peer i syfte att ladda ner en låt sker detta i två steg. Först skickas en förfrågan från peer 1 som vill ansluta genom Spotifys server till peer 2 som önskas ansluta till. Förfrågan ber peer 2 att försöka skapa en TCP anslutning med peer 1 som skickat förfrågan. Samtidigt används UPNP protokollet (Universal plug n play) för att be routern hos peer 1 om en port som kan ta emot anslutningar [1]. UPNP är et protokoll som används för att enheter ska kunna ansluta sig till ett nätverk och används vanligtvis för att underlätta för implementation av ett nätverk i hem eller på arbetsplatser [9]. När sedan förfrågan om TCP-anslutning kommer från peer 2, returnerar peer 1 svar till peer 2 med uppgifter om bl.a. anslutningsport. TCP-anslutningen är upprättad och förfrågan om filer kan börja strömma in [1]. Detta kan tyckas vara ett krångligt sätt att ansluta på men det har sina skäl. Eftersom många användare idag använder sig av brandväggar försvårar detta för anslutning mellan två peers. En säkerhetsåtgärd som brandväggar erbjuder är att kontrollera behörighet på den på trafik som vill ansluta till t.ex. ett hemnätverk [10]. Om den som vill ansluta inte har någon behörighet nekas denna anslutning. För att kunna ta sig runt detta i Spotify skickar istället den peer som vill ansluta sin förfrågan via Spotifys server. Spotifys server har en redan upprättad anslutning till den peer som önskas anslutas till vilket gör att denna peer accepterar trafik från servern. Under tiden skapar den peer som vill ansluta en behörighet för en kommande anslutningsförfrågan. 4. Vanligt förekommande protokoll för strömning Nedan följer en presentation av de vanligast förekommande protokollen för strömning av media. Vi har här valt att utelämna TCP här och istället ta upp det i ett eget kapitel UDP Det vanligast förekommande transportprotokollet för strömning av media är UDP (User Datagram Protocol). Den främsta orsaken till detta är att det är ett enkelt och effektivt sätt att leverera paket. Nackdelen är att det inte finns någon mekanism som 10

11 garanterar att alla paket kommer fram. Det är istället upp till klienten att upptäcka när data gått förlorad och skicka en ny begäran till servern vilket kan märkas genom att media hackar eller har störningar. UDP är ett förbindelselöst protokoll som låter information flöda i en riktning från servern till klienten. Det sker alltså ingen verifikation av att mottagaren är beredd att ta emot informationen. UDP lägger alltså över det kvalitativa ansvaret på klienten [11]. Spotify har löst det här problemet genom att använda TCP (Transport Control Protocol) som är ett förbindelseorienterat protokoll för sin transport. Till skillnad från UDP sker TCPs kommunikation mellan två noder i ett nätverk lite annorlunda. Detta presenteras lite mer ingående i nästa kapitel [11] SCTP Ett vanligt återkommande protokoll för livestreaming är SCTP (Stream Control Transmission Protocol) som är skräddarsytt för strömning genom att den utgör en kombination av TCP och UDP. SCTP låter likt UDP dela upp strömmen i mindre mer lätthanterliga bitar men säkerställer ändå likt TCP att paketen kommer fram med hjälp av congestion control. En annan lösning för att hindra förlusten av paket är att SCTP använder sig av flera IP-adresser för att upprätta flera anslutningar till ändpunkterna. Detta gör att om en anknytning förloras så kan överföringen fortsätta på en alternativ väg [12] RTSP RTSP (Real Time Streaming Protocol) används för att kontrollera media mellan två ändstationer. Det är designat för att hantera kommunikationssystem och underlätta kontrollen av strömmande mediaservrar. Protokollet låter bland annat klienten pausa och spola i den strömmande median vilket gör det väldigt likt vanligt filmtittande. Protokollet sköter inte själva transporten av median utan använder sig vanligtvis av transportprotokollet RTP (Real-time Transport Protocol) [13] HTTP Livestreaming HTTP-Livestreaming (HLS) är ett http-baserat mediastreamings kommunikationsprotokoll från Apple Inc. Tekniken låter dela upp dataströmmen i en sekvens av små http-segment. Varje segment laddar i sin tur en liten del av en potentiellt sett obegränsad transportström [14]. Då varje efterfrågan som skickas är av en standardtyp för HTTP-transaktioner så är detta fördelaktigt då alla brandväggar kommer behandla det som vanlig HTTP-trafik till skillnad mot användning av UDP-baserade protokoll. Detta underlättar även genomförandet för CDN [14]. 11

12 5. Transmission Control Protocol (TCP) Transmission Control Protocol eller TCP är ett av de protokoll som används i Spotifytjänsten. TCP är ett protokoll som tillhör transportlagret och är ett av de mest använda transportprotokollen på internet. Ett transportprotokolls roll är att upprätta kontakt mellan noder i ett nätverk. Dessutom ansvarar transportprotokolet för att erbjuda en dataström av paket mellan dessa noder. TCP kan beskrivas som ett pålitligt, förbindelseorienterat transportprotokoll [11]. Nedan förklaras vad som menas med pålitligt och förbindelseorienterat. Dessutom presenteras några vanligt förekommande funktioner hos TCP samt vad som skiljer protokollet från andra transportprotokoll Handskakningsfunktionen Anledningen till att TCP beskrivs som ett förbindelseorienterat transportprotokoll är eftersom protokollet kräver att en förbindelse har upprättats mellan två noder innan dataöverföring kan ske. Därför inleds alltid en dataöverföring där TCP används med en hanskakning mellan de två noderna överföringen ska ske mellan. Det är i detta momentet som förbindelsen skapas [11]. Handskakningsfunktionen kan beskrivas i tre steg. 1. Den nod som vill ansluta skicka ett paket till den nod som ska anslutas till. Paketet innehåller en s.k. synkroniseringsflagga som gör mottagaren uppmärksam på att en ny anslutning ska skapas och att avsändaren är redo att ansluta [11]. 2. Om mottagaren godkänner anslutning skickas ett svar på synkroniseringsflaggan. Mottagaren skickar då tillbaka ett paket med en dels en synkroniseringsflagga och dessutom en s.k. acknowledgementflagga till avsändaren. Acknowledgementflaggan innebär att mottagaren mottagit paketet med synkroniseringsflaggan. Synkroniserigsflaggan som också skickas med innebär att mottagaren också vill upprätta en anslutning och är redo för detta [11]. 3. Den nod som ville ansluta från början skickar som en avslutning på handskakningen tillbaka ett paket med en acknowledgementflagga som en konfirmation på att meddelandet är mottaget. Nu är båda noderna redo att skicka information mellan varandra [11]. Bilden nedan kan illustrera hela handskakningsprocessen. Figur 4. [15] 12

13 5.2. Congestion Control Då mycket information skickas över internet kan det ibland hända att ett paket som en klient skickar iväg försvinner på vägen. Detta kan bero på att trafik som kommer till en router i nätverket kommer i större mängd än vad routern klarar av att hantera. Resultatet blir att de paket som kommer till routern hamnar i en kö som växer och växer. Routern klarar av att hålla en viss mängd paket i kön men då kön blir för lång börjar routern att dumpa paket för att klara av delar av trafiken [11]. Då en klient använder sig av TCP som transport protokoll innefattar detta att klienten som skickar ett paket får ett svar från destinationen om paketet kommit fram. Svaret som klienten får är ett paket med en ACK-flagga samt information om vilket paket som kommit fram [11]. Om en situation skulle uppstå där en klient inte får tillbaka någon konfirmation på att det skickade paketet kommit fram, väntar klienten en viss tid på att svar ska komma. Om det fortfarande saknas svar efter den tiden anses paketet som försvunnet och ett nytt likadant skickas. Detta är en del av TCPs pålitlighet [11]. I många fall finns ett behov hos klienter/servrar att kunna uppnå en optimal hastighet för informationsöverföringen och samtidigt kunna säkra att informationen kommer fram. För att kunna tillhandahålla detta har TCP en funktion som kallas Congestion Control [11]. Tanken bakom funktionen är just att se till att paket levereras så fort som möjligt och samtidigt försöka att undvika att paket försvinner. I processen ingår tre delar [11]: Slow-start Congestion avoidance Fast recovery Slow-start är den inledande delen av funktionen. Då en klient/server vill skicka en mängd paket finns något som heter Maximum segment-size (MSS). Detta är ett mått på hur många paket som får skickas samtidigt. I början av en överföring är ofta MSS = 1. Klienten/Servern skickar ett paket till mottagaren. Då klienten får ett ACK (paketet har kommit fram) från mottagaren ökas MSS på enligt formeln MSS = 2*MSS. Alltså skickas nu istället två paket samtidigt. Då ACK kommer för dessa skickas nästa gång fyra paket och så vidare. Denna exponentiella ökning fortsätter till dess att ett paket försvinner vilket märks av genom att klienten/servern helt enkelt inte får nått ACK för ett paket. Det som sker då är att MSS registreras och en tröskel skapas vid halva MSS (Om MSS är 8 skapas tröskeln vid 4). Därefter återställs MSS till 1 igen. Nu börjar processen med exponentiellt ökande mängd skickade paket till dess att MSS når tröskelnivån. Då detta sker, sker en övergång från Slowstart till Congestion avoidance [11]. Då Congestion avoidance inleds över går ökningen av MSS till formeln MSS = MSS+1. Detta gör att mängden skickade paket ökar linjärt istället från denna punkt. Detta görs för att kunna komma närmare den maximala nivån för hur många paket som kan skickas samtidigt. Processen fortsätter till dess att ett nytt paket försvinner. Då detta sker registreras på samma sätt som tidigare MSS och en tröskel skapas 13

14 precis som tidigare. Därefter sker en övergång från Congestion avoidance till Fast recovery [11]. Fast recovery är en funktion som implementerats i den senaste versionen av TCP (TCP Reno). I den tidigare versionen (TCP Tahoe) återgick Congestion control till Slow-start varje gång ett paket försvann. Fast recovery är istället ett sätt att snabbare återgå till en optimal överföringshastighet. Funktionen triggas då tre ACKs för fel paket har kommit tillbaka till avsändaren. Då paket skickas med TCP hållet protokollet koll på vilket paket som skickades först. Det då svaren kommer tillbaka från mottagaren kommer dessa vanligtvis i samma ordning som paketen skickades ut. På så sätt kan protokollet hålla koll på om paket försvunnit. Anledningen till att det är just tre ACKs som inväntas är att det kan inträffa att ordningen på paket ändras om under tiden de skickas över nätverket. Detta kan göra att ett eller två ACK kommer tillbaka i fel ordning till avsändaren. Dock anses att det finns stor risk för att ett paket försvunnit då tre eller fler ACK för fel paket kommer tillbaka. Då detta sker börjar minskar MSS till tröskelnivån (MSS/2) istället för till 1. Fast recovery börjar alltså skicka fler paket på än gång än tidigare. Då detta sker över går Fast recovery fasen tillbaka till Congestion avoidance därifrån [11] Skillnader mellan TCP och UDP Idag finns många transportprotokoll, men de två vanligast förekommande protokollen är TCP och UDP. Dock finns väsentliga skillnader mellan de två protokollen som kan avgöra om det ena eller andra passar bäst för ett visst ändamål [11]. TCP erbjuder en pålitlig dataström genom en kontroll av vilka paket som skickats över nätverket, vilka paket som inte skickats och vilka paket som kommit fram. Detta gör att om ett paket inte kommit fram kan en ny efterfrågan efter just detta paket skickas. UDP däremot har ingen sådan funktion. Detta göra att då en fil skickas finns ingen garanti för att denna kommer fram [11]. TCP erbjuder congestion control vilket delvis innebär att protokollet strävar mot att uppnå en optimas överföringshastighet med så liten risk för att paket försvinner som möjligt. Detta sker genom slow-start, congestion avoidance, samt fast recovery. Funktionerna minskar risken för att routrar på nätverket dumpar paket. UDP däremot har inte dessa funktioner vilket gör att de paket som skickas med en så maximal överföringshastighet på nätverket som kan uppnås. Detta göra att stora delar av paketen riskerar att dumpas av en router om kö har skapats vid denna [11]. Den tid det tar att överföra filer kan skilja sig mellan de två protokollen. Då TCP bl.a. har många funktioner som ska garantera att hela filer kommer fram påverkar detta överföringstiden. UDP däremot kan minska tiden det tar att överföra en fil genom att inte ha dessa funktioner. Detta gör att de två protokollen lämpar sig bäst i olika arbetsområden. TCP är ofta använt där stor relevans finns för att all information i de filer som skickas kommer fram. Detta applikationer där detta är relevant är t.ex. e- mail eller nedladdning av filmfiler. Applikationer där detta däremot inte är livestreaming eller onlinespel. I dessa fall finns istället större krav på att information når användaren snabbt [11]. 14

15 6. Diskussion och slutsats Spotify är ett system som även att det använder TCP lyckas att strömma musik med en mycket låg väntetid. Systemet är uppbyggt på ett sätt som effektivt avlastar Spotifys server från onödig trafik och samtidigt gör systemet redundant genom att förvara filer hos användare. Tjänsten erbjuder flera möjligheter till att optimera både väntetid på en fil samt nedladdningshastighet. Detta bl.a. genom att de strömmade blocken kan delas upp i delblock som kan hämtas från de användare som har bäst uppladdningsförutsättningar. För att sammanfatta Spotify kan man säga att tjänsten genom sin sina funktioner har tagit strömning av ett steg framåt i utvecklingen mot den optimala strömningsfunktionen. I detta kapitel ska vi försöka reda ut varför Spotify har valt lösningarna som de gjort. Bland annat utreder vi varför Spotifys lösning av tillhandahållande av strömning av musik har blivit mer populär än konkurrenters. Vi ska även ta upp varför de har valt att använda TCP som transportprotokoll och jämföra det med det vanligaste transportprotokollet för streaming UDP Fördelar/nackdelar med TCP istället för UDP Som vi har beskrivit ovan har Spotify genom sina funktioner lyckats att använda sig av TCP protokollet och fortfarande lyckas erbjuda relativt kort väntetid. En annan av de fördelar TCP erbjuder är möjligheten att snabbt kunna upptäcka om någon av den informationen som skickas inte kommer fram. Det är då enkelt att skicka en ny förfrågan för just denna information och snabbt kunna rätta till problemet. UDP är ett protokoll som kan anses ytterligare förkorta väntetiden tills ett musikstycke kan laddas hem. Detta eftersom funktioner så som att sätta upp en anslutning till mellan klient och källa samt att hålla koll på paketens ordning o.s.v. saknas. Dock kan detta påverka kvaliteten på den strömmade musiken då UDP inte ger någon garanti på att hela de strömmade filerna kommer fram. Dessutom skulle inte den konstruktion som Spotify bygger på idag kunna använda sig av UDP. Detta eftersom tjänsten är uppbyggd för att de block som hämtats hem ska kunna spelas upp direkt. Om ingen garanti finns för att ordningen på de block som kommer är i rätt ordning kan detta leda till stora hopp i låtarna. Detta sänker kvaliteten. En annan av fördelarna med TCP är den optimering av överföringshastigheten som han göras tack vare TCPs congestion control. Denna motverkar samtidigt att paket försvinner vid överföring över nätverket. 15

16 Referenser [1]. Patent och registreringsverket. (2009) Beskrivning. Hämtad 8/ från [PDF]< >. [2]. Grant and Meadows. (2009) Communication Technology Update and Fundamentals, 11th Edition. pp.114 [3]. ISO. (2011). Streaming. Hämtad från [www]< [4]. Saltzer. JH, Reed. DP, Clark. DD. (1984) End-to-End Argument System Design, ACM Transactions on Communications, 2 (4) [5]. Hofmann, Markus; Leland R. Beaumont (2005) Content Networking: Architecture, Protocols, and Practice. [6]. Content delivery network CND. Hämtad från [JPG]< [7]. Patent och registreringsverket. (2009) Ritning. Hämtad 08/ från [PDF]< [8]. Wikipedia. (2010) Bittorrent-tracker. Hämtad från [www]< [9]. Wikipedia. (2010) UPnP. Hämtad från [www]< [10]. Wikipedia. (2011) Brandvägg. Hämtat från [www]< [11]. J. Kurose, K. Ross. (2010) Computer Networking A top down approach, fifth edition. [12]. Strewart. R. (2007) RFC 4960 Steam control transmission protocol, Hämtat 22/ från [www]< [13]. Schulzrinne. H, Columbia. U, Rao. A, Lanphier. R (1998) RFC 2326 Real time streaming protocol, Hämtat 22/ från [www]< [14]. GravityLab Multimedia. (2010) HTTP livestream Hämtad från [www]< [15]. IBM (2006) 3-way handshake. Hämtad 19/ från [www]< 16

Tentamen i Datorkommunikation den 10 mars 2014

Tentamen i Datorkommunikation den 10 mars 2014 Tentamen i Datorkommunikation den 10 mars 2014 Tillåtna hjälpmedel: räknedosa Varje uppgift ger 10 poäng. För godkänt krävs 30 poäng. Uppgift 1 Antag att man ska skicka en fil av storleken 10 kbit från

Läs mer

PEER TO PEER STREAMING

PEER TO PEER STREAMING 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

Läs mer

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

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål: Föreläsning 5 Mål: Förstå begreppet vägval Känna till vägvalsstrategier förstå växlingen i Internet Förstå grundfunktionaliteten i TCP och UDP Först skillnaderna mellan TCP och UDP Förstå grundfunktionaliteten

Läs mer

DIG IN TO Nätverksteknologier

DIG IN TO Nätverksteknologier DIG IN TO Nätverksteknologier CCNA 1 Transportskiktet Agenda Transportskiktets syfte Kommunikationskontroller Tillförlitligt och otillförlitlig transport protokoll TCP och UDP protokoll TCP Header TCP

Läs mer

Real-time requirements for online games

Real-time requirements for online games Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping

Läs mer

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

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 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 Läsanvisningarna för denna föreläsning ska kombineras med nästa föreläsning.

Läs mer

Denial of Services attacker. en översikt

Denial of Services attacker. en översikt Denial of Services attacker en översikt Tobias Rogell Säkra datorsysten, HT-04 Vad är en DOS attack En Denail of Service attack går ut på att en attackerare vill hindra en webbserver, router eller någon

Läs mer

TCP/IP och Internetadressering

TCP/IP och Internetadressering Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström TCP/IP och Internetadressering Slideset

Läs mer

5 Internet, TCP/IP och Tillämpningar

5 Internet, TCP/IP och Tillämpningar 5 Internet, TCP/IP och Tillämpningar Syfte: Förstå begreppen förbindelseorienterade och förbindelselösa tjänster. Kunna grundläggande egenskaper hos IP (från detta ska man kunna beskriva de viktigaste

Läs mer

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap Karlstads universitet Institutionen för Informationsteknologi Datavetenskap OMTENTAMEN I DATAKOMMUNIKATION, VT2008 Tisdag 08-06-10 kl. 08.15 13.15 Ansvarig lärare: Katarina Asplund Hjälpmedel: Miniräknare

Läs mer

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

BitTorrent. TDTS09 Datornät och internetprotokol Nicklas Schultz och Tim Bjärengren Linköpings universitet Linköping 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

Läs mer

QuickTime Streaming Server, en introduktion

QuickTime Streaming Server, en introduktion [Översättning saknas] Relaterat: Webbpublicering och Quicktime Streaming från miki Information om hur man lägger upp webbdokument och Quicktime-filmer för streaming från filservern miki. (140) Svenskt

Läs mer

5 Internet, TCP/IP och Applikationer

5 Internet, TCP/IP och Applikationer 5 Internet, TCP/IP och Applikationer Syfte: Förstå begreppen förbindelseorienterade och förbindelselösa tjänster. Kunna grundläggande egenskaper hos IP (från detta ska man kunna beskriva de viktigaste

Läs mer

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

5. Internet, TCP/IP tillämpningar och säkerhet 5. Internet, TCP/IP tillämpningar och säkerhet Syfte: Förstå begreppen förbindelseorienterade och förbindelselösa tjänster. Kunna grundläggande egenskaper hos IP (från detta ska man kunna beskriva de viktigaste

Läs mer

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

Idag. Streaming media. Översikt. Vad är det? Vad är streaming? Distributionsteknik Uppspelning och presentation Några exempel och demonstration Idag Streaming media Erik Runeland erikr@kth.se Vad är streaming? Distributionsteknik Uppspelning och presentation Några exempel och demonstration Vad är det? En mekanism för att överföra tidsrelaterat

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =

Läs mer

Informationsteknologi sommarkurs 5p, Datakommunikation

Informationsteknologi sommarkurs 5p, Datakommunikation Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström kommunikation Slideset 8 Agenda Datorkommunikation,

Läs mer

Hanna Germundsson, Karl-Johan Lundberg. hange595@student.liu.se, karlu823@student.liu.se

Hanna Germundsson, Karl-Johan Lundberg. hange595@student.liu.se, karlu823@student.liu.se 7&3IULHQGO\ %DNJUXQGGHILQLWLRQRFKWLOOlPSQLQJDUL WUDQVSRUWODJUHW Hanna Germundsson, Karl-Johan Lundberg hange595@student.liu.se, karlu823@student.liu.se TDTS09, Datornät och Internetprotokoll Linköpings

Läs mer

DIG IN TO Nätverksteknologier

DIG IN TO Nätverksteknologier DIG IN TO Nätverksteknologier CCNA 1 Nätverksskikt Agenda Host-till-host kommunikation IPv4 protokoll förbindelselös IPv4 protokoll otillförlitlig leverans IPv4 protokoll media oberoende Styrinformation

Läs mer

Hur BitTorrent fungerar

Hur BitTorrent fungerar Hur BitTorrent fungerar dator8.info Introduktion till hur BitTorrent fungerar BitTorrent är ett protokoll som möjliggör snabb nedladdning av stora filer med minst Internet bandbredd. Det kostar inget att

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

Läs mer

Tentamen i datakommunikation EDA343/DIT420 Vt 2011

Tentamen i datakommunikation EDA343/DIT420 Vt 2011 1. Internet-modellen är liksom OSI-modellen baserad på att dela upp funktionerna för datakommunikation i ett antal lager layers. Datamängden efter bearbetningen av ett protokoll vid varje lager kallas

Läs mer

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

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser Orientera på Internet Nuvarande Internet Protocol version 4 (IPv4). Internet är en infrastruktur som förbinder en mängd datorer. Hur hittar vi till en specifik dator? Väl framme vid datorn, hur hittar

Läs mer

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

Grundläggande nätverksteknik. F3: Kapitel 4 och 5 Grundläggande nätverksteknik F3: Kapitel 4 och 5 Kapitel 4 OSI TRANSPORT LAYER Transportlagrets sy=e Segment av data skall nå räa applikabon hos både avsändare och moaagare Uppdelning av dataströmmen från

Läs mer

F8 Meddelandesändning med UDP

F8 Meddelandesändning med UDP F8 Meddelandesändning med UDP EDA0965 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

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

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009 LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 009-03- Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 009 Lokal Valfri. Tillåtna

Läs mer

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

Grundläggande nätverksteknik. F2: Kapitel 2 och 3 Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering

Läs mer

Routing Information Protocol

Routing Information Protocol Routing Information Protocol Problem och lösningar TDTS09 Datornät och internetprotokoll Grupp: DOIP26 Erik Eloff, Annica Lewin eriel743@student.liu.se, annle867@student.liu.se Linköpings universitet 22

Läs mer

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

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson KomSys Hela kursen på en föreläsning ;-) Jens A Andersson Detta är vårt huvudproblem! 11001000101 värd Två datorer som skall kommunicera. värd Datorer förstår endast digital information, dvs ettor och

Läs mer

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.

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. Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator

Läs mer

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

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation Föreläsning 5: ARP (hur hitta MAC-adress) Från till Jens A Andersson (Maria Kihl) Rep: Protokollstruktur i en repeterare Sändare Repeterare Mottagare nätadapter överföring nätadapter nätadapter nätadapter

Läs mer

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

Från användare till användare ARP. (Maria Kihl) Föreläsning 5: Stora datanät Från användare till användare ARP Jens A Andersson (Maria Kihl) Rep: Kapacitetuppdelning i Länkens kapacitet kan delas upp på tre sätt: 1. Rumsmultiplex 2. Frekvensmultiplex

Läs mer

SIZE CONNECT, TEKNISK BESKRIVNING

SIZE CONNECT, TEKNISK BESKRIVNING , TEKNISK BESKRIVNING SIZE erbjuder anslutning av er företagsväxel med säker leverans och stabil teknik där alla samtal och eventuell internettrafik går i SIZE nät. Beroende på typ av växel och förbindelse

Läs mer

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

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn DA 2012: F13 Nätverk 2 Ann-Sofi Åhn Trafik i ett litet lokalt nätverk EF:D5:D2:1B:B9:28 B2:1B:34:F3:F3:7A Alice 19:26:88:F4:10:14 79:D1:95:77:59:0C Alice vill skicka data till Bob CD:C8:7C:46:E2:BC

Läs mer

Rapport i Mobila systemarkitekturer. Symbian

Rapport i Mobila systemarkitekturer. Symbian Rapport i Mobila systemarkitekturer med Symbian Kommunikation Datum: 2008-05-19 Namn: Kurs: Henrik Bäck HI101V Innehållsförteckning Inledning 3 Trådlös kommunikation 3 NMT 3 GSM 3 UMTS 3 802.15.1 (Bluetooth)

Läs mer

Accelerering av filhämtning

Accelerering av filhämtning Accelerering av filhämtning Undersökning av inställningar i Windows för optimerad nedladdning Markus Fridolfsson Mikael Malmström TDTS09 Datornät och internetprotokoll Linköpings universitet Linköpings

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Föreläsning i webbdesign Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Klient Server Klient (Client kund) ED program för ad utnydja tjänster som begärs

Läs mer

Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2

Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2 DT113G - Nätverksteknik 2, 7,5 hp Nätverksteknik 2 Lennart Franked email:lennart.franked@miun.se Tel:060-148683 Informationsteknologi och medier / Informations- och Kommunikationssystem (ITM/IKS) Mittuniversitetet

Läs mer

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

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

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

Föreläsning 5: Stora datanät Från användare till användare ARP Föreläsning 5: Stora datanät Från användare till användare ARP Jens A Andersson (Maria Kihl) Rep: Protokollstruktur i en repeterare Sändare Repeterare Mottagare nätadapter överföring nätadapter nätadapter

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Kan vi lita på Internettekniken?

Kan vi lita på Internettekniken? Kan vi lita på Internettekniken? Per Hurtig Per.Hurtig@kau.se Datavetenskap Agenda Telefoni Internet Telefoni över Internet? Forskning vid Karlstads Universitet Sammanfattning Alltid tillgängligt Telefoni

Läs mer

IT för personligt arbete F2

IT för personligt arbete F2 IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet

Läs mer

Stora datanät. Maria Kihl

Stora datanät. Maria Kihl Stora datanät Maria Kihl Läsanvisningar 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 Läsanvisningarna för denna föreläsning

Läs mer

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system 2005-04-29

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system 2005-04-29 Tidsfördröjningskompensation i distribuerade nätverksmiljöer Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system 2005-04-29 Av: Oscar Andersson 820109-5638 Andreas Sjöstrand 800508-0117

Läs mer

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

Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson Att göra Följ upp resultat = obligatoriska moment Responsgruppsmöte på fredag Läs endim! Matten är jätteviktig

Läs mer

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 F5 Exchange 2007 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 Spam Control and Filtering Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 2 Idag: Relaying Spamhantering och filtrering

Läs mer

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

Kapitel 5: Lokala nät Ethernet o 802.x. Lokala nät. Bryggan. Jens A Andersson (Maria Kihl) Kapitel 5: Lokala nät Ethernet o 802.x Jens A Andersson (Maria Kihl) Lokala nät Ett lokalt nät (Local Area Network, LAN) är ett datanät med en begränsad storlek. Ett LAN kan i sin enklaste form bestå av

Läs mer

Tentamen i ETSF15 Kommunikationssystem och Nätverk

Tentamen i ETSF15 Kommunikationssystem och Nätverk Tentamen i ETSF15 Kommunikationssystem och Nätverk Måndag 14 mars, kl 14.00-19.00 Victoriastadium 1A, 1B Skriv namn/identitet på varje papper. Använd endast en sida av pappret. Börja en ny uppgift på ett

Läs mer

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

Transportnivån. Kommunikation mellan processer. Kommunikation mellan processer. Sockets och TCP. UDP (User Datagram Protocol) Checksumman Transportnivån Kommunikation mellan processer :HEVHUYHU 6RFNHW 0LQSURFHVV 6RFNHW /RJLVNNRPPXQLNDWLRQPHOODQDSSOLNDWLRQV SURFHVVHU1lWYHUNVQLYnQLQQHElUORJLVN NRPPXQLNDWLRQPHOODQQRGHU (QVRFNHWSRUW JUlQVVQLWWPHOODQWUDQVSRUWQLYnQRFK

Läs mer

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram

Läs mer

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

Manual - Inläsningstjänsts App (ios för iphone och ipad) Sidan 1 av 7 App-release: 1.0 Manual - Inläsningstjänsts App (ios för iphone och ipad) Innehållsförteckning 1 Kort om appen... 2 Funktionaliteten i grova drag... 2 Kända begränsningar i denna version...

Läs mer

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

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Se Se också Intro en en streamad videoinspelning som som finns finns på på nätet nätet Innehåll Kort om grundläggande nätverkskoncept

Läs mer

Samsung NVR SRN-473S/873S/1673S Quick guide till web/app anslutning

Samsung NVR SRN-473S/873S/1673S Quick guide till web/app anslutning Samsung NVR SRN-473S/873S/1673S Quick guide till web/app anslutning Förberedelser Anslut dina Samsung kameror till PoE porten på NVR en. Anslut en nätverkskabel till Viewer porten på NVR en och koppla

Läs mer

9 Webbföreläsningar. 9.1 Streaming

9 Webbföreläsningar. 9.1 Streaming 9 Webbföreläsningar Webbföreläsningar innebär att en lärare håller en föreläsning vid sin dator och studenterna kan ta del av den live. För att fler ska kunna titta på detta samtidigt krävs att man använder

Läs mer

TENTAMEN FÖR KURS DAV C03, DATAKOMMUNIKATION II 5p Sid 1 av 6 Torsdag 01-10-25 kl 14.00 19.00

TENTAMEN FÖR KURS DAV C03, DATAKOMMUNIKATION II 5p Sid 1 av 6 Torsdag 01-10-25 kl 14.00 19.00 !#"$ %&(')+*#,&-(*#%$-#./) %$'45%&67%&89 TENTAMEN FÖR KURS DAV C, DATAKOMMUNIKATION II 5p Sid av 6 Torsdag --5 kl 4. 9. Ansvarig lärare: Johan Garcia, Annika Wennström, Katarina Asplund Betygsgränser:

Läs mer

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

Föreläsning 3. Datorkunskap 50p Marcus Weiderstål Bromma Gymnasium Föreläsning 3. Datorkunskap 50p Marcus Weiderstål Bromma Gymnasium Dagens pass: Datorsäkerhet Nätverk Nätverkssäkerhet Så fungerar datatrafik Mats Weiderstål ska till Kazan för att titta på en junior.

Läs mer

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

att det finns inte något nätverk som heter Internet Finns Internet? Varför fungerar det då? Nätet? Jag påstår Finns Internet? Varför fungerar det då? Jens Andersson Elektro- och informationsteknik Lunds Tekniska Högskola Nätet?? Jag påstår att det finns inte något nätverk som heter Internet 4 1 Däremot Det är

Läs mer

Lösningar till tentan i ETS052 Datorkommunikation 131022

Lösningar till tentan i ETS052 Datorkommunikation 131022 Lösningar till tentan i ETS052 Datorkommunikation 131022 1. a. Det finns olika typer av störningar. De som finns beskrivna i boken är dämpning, distortion, och brus. Välj en av dessa och ge en kortfattad

Läs mer

Lastbalansering för webbservrar

Lastbalansering för webbservrar KUNGL TEKNISKA HÖGSKOLAN Institutionen för Mikroelektronik och Informationsteknik RAPPORT 2005-05-24 Mikael Rudholm Svärlinge 1183, 762 96 Rånäs +46 (0) 73 593 32 24 Lastbalansering för webbservrar A A,

Läs mer

Instuderingsfrågor ETS052 Datorkommuniktion - 2014

Instuderingsfrågor ETS052 Datorkommuniktion - 2014 Instuderingsfrågor ETS052 Datorkommuniktion - 2014 October 13, 2014 Fråga 1. Beskriv de två komponenterna i PCM. Fråga 2. Förklara hur länklagret kan skilja på olika inkommande paket från det fysiska lagret.

Läs mer

Användar Guide. är ett varumärke av Google Inc.

Användar Guide. är ett varumärke av Google Inc. Användar Guide Android TM är ett varumärke av Google Inc. - 2 - Tack för att du köpt en MINIX NEO X5mini. Följ denna guide för att ställa in din enhet. MINIX NEO X5mini är en revolutionerande smart media

Läs mer

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

Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a? Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a? Övergång från hög-låg spänning = 0 Övergång från låg-hög spännning = 1 0 1 1 1 0 1 0 0 0 1 0 0 Koda bitsekvensen

Läs mer

Christer Scheja TAC AB

Christer Scheja TAC AB Byggnadsautomation för ingenjörer Byggnadsautomation för ingenjörer VVS-tekniska föreningen, Nordbygg 2004 Christer Scheja TAC AB resentation, No 1 Internet/Intranet Ihopkopplade datornät ingen ägare Internet

Läs mer

OSI-modellen. Skiktade kommunikationsprotokoll. OSI-Modellen. Vad är en bra skiktindelning? Fysiska skiktet. Länkskiktet

OSI-modellen. Skiktade kommunikationsprotokoll. OSI-Modellen. Vad är en bra skiktindelning? Fysiska skiktet. Länkskiktet OSI-modellen Skiktade kommunikationsprotokoll Informationsteknologi Jakob Carlström Open Systems Interconnect Standardiserad av ISO 98 Referensmodell, inte protokollstandard skikt Har påverkat utvecklingen

Läs mer

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

ETS Fördjupningsuppgiften Ämnen. Mål för fördjupningsuppgiften. Hur kommer det att gå till? Jens A Andersson ETS130 2013 Fördjupningsuppgiften Ämnen Jens A Andersson Mål för fördjupningsuppgiften Ni skall självständigt läsa in er på ett aktuellt ämne inom data- och telekom. Få en djup förståelse för detta ämne.

Läs mer

Hjälp! Det fungerar inte.

Hjälp! Det fungerar inte. Hjälp! Det fungerar inte. Prova först att dra ur elsladden på telefonidosan och elsladden till ditt bredbandsmodem/bredbandsrouter (om du har en) och vänta ca 30 min. Koppla därefter först in strömsladden

Läs mer

Ver. 19734. Guide. Nätverk

Ver. 19734. Guide. Nätverk Ver. 19734 Guide Nätverk Innehållsförteckning 1. Introduktion 1 2. Protokoll 1 2.1 FTP 1 2.2 DNS 1 2.3 HTTP 2 2.4 HTTPS 2 2.5 TFTP 2 2.6 SNTP/NTP 2 2.7 SIP 2 2.8 RTP 2 2.9 RTCP 2 3. Nät 3 4. Brandvägg

Läs mer

Övningar - Datorkommunikation

Övningar - Datorkommunikation Övningar - Datorkommunikation 1. Förklara skillnaden på statisk och dynamisk IP konfiguration. Ange även vad som krävs för att dynamisk IP konfiguration ska fungera. 2. Förklara följande förkortningar

Läs mer

Tentamen i Kommunikationssystem och nätverk, ETSF15

Tentamen i Kommunikationssystem och nätverk, ETSF15 Elektro- och informationsteknik Tentamen i Kommunikationssystem och nätverk, ETSF15 10 Maj, 2016 Skriv namn/identitet på varje papper. Använd endast en sida av pappret. Börja en ny uppgift på ett nytt

Läs mer

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

EDA 390 - Datakommunikation och Distribuerade System. Peer-To-Peer system EDA 390 - Datakommunikation och Distribuerade System Peer-To-Peer system Andreas Bernet 810929-0018 beran@etek.chalmers.se Sektion: Elektroteknik Johan Zhang 820401-1830 zhaj@etek.chalmers.se Sektion:

Läs mer

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API

Läs mer

Denna genomgång behandlar följande:

Denna genomgång behandlar följande: itlararen.se Denna genomgång behandlar följande: Olika typer av nätverk Översikt av nätverkskomponenter Många viktiga begrepp gällande nätverk och datorkommunikation Ett nätverk består av enheter som kan

Läs mer

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

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera Instruktionerna till denna kameraguide är en enkel kom igång guide. Grundkrav: En webbkamera som är kopplad till datorn

Läs mer

Nätverksteknik A - Introduktion till Routing

Nätverksteknik A - Introduktion till Routing Föreläsning 8 Nätverksteknik A - Introduktion till Routing Lennart Franked Information och Kommunikationssystem (IKS) Mittuniversitetet 2014-12-02 Lennart Franked (MIUN IKS) Nätverksteknik A - Introduktion

Läs mer

IPv6 Jonas Aronsson 3TEa

IPv6 Jonas Aronsson 3TEa IPv6 Jonas Aronsson 3TEa IPv6 IPv6, sjätte generationens Internetprotokoll, det nya sättet att adressera och överföra data i nätverk. Vad lite mer exakt är detta? Det tänkte jag nu gå igenom i två steg.

Läs mer

TENTAMEN. Kurskod/Kurs: 5DV013, Datakommunikation och datornät. Ansvariga lärare: Jerry Eriksson Anders Broberg

TENTAMEN. Kurskod/Kurs: 5DV013, Datakommunikation och datornät. Ansvariga lärare: Jerry Eriksson Anders Broberg UMEÅ UNIVERSITET Institutionen för Datavetenskap UMEÅ UNIVERSITY Dept of Computing Science TENTAMEN Kurskod/Kurs: 5DV013, Datakommunikation och datornät Ansvariga lärare: Jerry Eriksson Anders Broberg

Läs mer

Kihl & Andersson: , 4.5 Stallings: , , (7.3)

Kihl & Andersson: , 4.5 Stallings: , , (7.3) Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) (eller digital signal) Om en sändare bara skickar en bitström över länken skulle mottagaren ha väldigt svårt för att tolka datan. Det krävs

Läs mer

Konfiguration av LUPP synkronisering

Konfiguration av LUPP synkronisering Konfiguration av LUPP synkronisering 1. Introduktion till LUPP Synkronisering... 2 2. Exempel på införande av synkronisering... 3 2.1. Steg 1 Staben... 4 Steg 1a: Installation av RIB Exchange på Stab...

Läs mer

Manual - Inläsningstjänsts App (Android)

Manual - Inläsningstjänsts App (Android) Sidan 1 av 7 Manual - Inläsningstjänsts App (Android) App-release: Beta Innehållsförteckning 1 Kort om appen... 2 Funktionalitet i grova drag... 2 Kända begränsningar i denna version... 2 2 Var hittar

Läs mer

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap TENTAMEN FÖR KURS DAV B02, DATAKOMMUNIKATION I 5p Sid 1 av 7 Måndag 02-01-14 kl. 14.00 19.00 Ansvariga lärare: Johan Garcia och Annika Wennström Tillåtna hjälpmedel: Kalkylator Betygsgränser: 3=30-39p,

Läs mer

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

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

HDMI, DisplayPort och USB. Utbildningsmaterial med fokus på certifieringar

HDMI, DisplayPort och USB. Utbildningsmaterial med fokus på certifieringar HDMI, DisplayPort och USB Utbildningsmaterial med fokus på certifieringar 1 HDMI 2 2 HDMI versioner HDMI versioner har olika specifikationer och stödjer olika funktioner. Alla nya specifikationer är bakåtkompatibla

Läs mer

3. Remote Procedure Call (RPC)

3. Remote Procedure Call (RPC) 5.18 3. Remote Procedure Call (RPC) Allmän kommunikationsparadigm: request / reply En klientprocess sänder en förfrågan till en serverprocess som svarar med ett svarsmeddelande klient förfrågan server

Läs mer

Att Säkra Internet Backbone

Att Säkra Internet Backbone Att Säkra Internet Backbone Håkan Nohre @cisco.com SEC-210 5428_05_2002_c1 2002, Cisco Systems, Inc. All rights reserved. 1 Vad kan attackeras Attackera routrar/switchars förmåga att vidarebefordra data

Läs mer

Internetprotokollen. Maria Kihl

Internetprotokollen. Maria Kihl Internetprotokollen Maria Kihl Läsanvisningar Kihl & Andersson: 7.1-7.6, 10.1-3 Stallings: 14.1-4, 15.1-3 Forouzan 5th: 9.2.2, 18.1, 18.2.1, 18.4.1-3, 18.5.1, 19.1.1-2, 22.1.1, 22.2, 23, 24.1-3 2 Repetition

Läs mer

TCP och UDP-nivån. Portnummer

TCP och UDP-nivån. Portnummer I det här kapitlet går vi igenom hur UDP och TCP använder portnummer. TCP:s trevägs handskakning förklaras. Headers för TCP och UDP gås igenom. Flödeshanteringen i TCP inklusive sliding windows förklaras

Läs mer

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap TENTAMEN FÖR KURS DAV B02, DATAKOMMUNIKATION I 5p Sid. 1 av 8 Ansvarig lärare: Johan Garcia Tillåtna hjälpmedel: Kalkylator Betygsgränser: 3=30-39p, 4=40-49p, 5=50-60p Frågor av resonerande karaktär (beskriv,

Läs mer

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

Varför fungerar det då? Elektro- och informationsteknik Lunds Tekniska Högskola Finns Internet? Varför fungerar det då? Jens Andersson Elektro- och informationsteknik Lunds Tekniska Högskola Nätet?? Jag påstår å att det finns inte något nätverk som heter Internet 4 Däremot Det är

Läs mer

Konfiguration av synkronisering fo r MSB RIB Lupp

Konfiguration av synkronisering fo r MSB RIB Lupp Konfiguration av synkronisering fo r MSB RIB Lupp 1. Introduktion till Lupp-synkronisering... 2 2. Exempel på införande av synkronisering... 4 2.1. Steg 1 Staben... 5 Steg 1a: Installation av RIB Exchange

Läs mer

Börja med att ladda ner appen Blacklens till din mobil. Finns både till iphone på Apple Store och till Android på Google Play.

Börja med att ladda ner appen Blacklens till din mobil. Finns både till iphone på Apple Store och till Android på Google Play. Sida 1 BLACKLENS APPEN Börja med att ladda ner appen Blacklens till din mobil. Finns både till iphone på Apple Store och till Android på Google Play. ANSLUTNING Det finns två sätt att ansluta kameran på:

Läs mer

DIG IN TO Nätverksteknologier

DIG IN TO Nätverksteknologier DIG IN TO Nätverksteknologier CCNA 1 Datalänkskikt - Ethernet Agenda Ethernet Datalänksskiktets grundtjänster Ethernet ramformat Adressering i Datalänkskiktet Unicast MAC adresser Broadcast MAC adresser

Läs mer

TDTS09 IP telefoni och dess protokoll

TDTS09 IP telefoni och dess protokoll TDTS09 IP telefoni och dess protokoll Erik Johansson(erijo228@student.liu.se) Eric Karlsson (erika440@student.liu.se) Linköpings universitet Linköping Inlämningsdatum: 2011 02-23 Sammanfattning Denna rapport

Läs mer

Datakommunikation vad är det?

Datakommunikation vad är det? Datakommunikation vad är det? Så fort en sändare överför data till en mottagare har vi datakommunikation Sändare Digital information Kanal Mottagare Problem: Sändare och mottagare måste kunna tolka varandra

Läs mer

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

Stora datanät Från användare till användare. Jens A Andersson Föreläsning 5: Stora datanät Från användare till användare ARP Jens A Andersson (Maria Kihl) Rep: Kapacitetuppdelning Länkens kapacitet kan delas upp på tre sätt: 1. Rumsmultiplex 2. Frekvensmultiplex

Läs mer

Bittorrent: Rapport av projektarbetet i kursen Datakommunikation och Distribuerade System

Bittorrent: Rapport av projektarbetet i kursen Datakommunikation och Distribuerade System Bittorrent: Rapport av projektarbetet i kursen Datakommunikation och Distribuerade System Magnus Gunnarsson, D-linjen 1. Inledning Bittorrent protokollet skapades utifrån behovet att på ett snabbt sätt

Läs mer

DIG IN TO Administration av nätverk- och serverutrustning

DIG IN TO Administration av nätverk- och serverutrustning DIG IN TO Administration av nätverk- och serverutrustning CCNA 1 1.- CISCO 2.- Router 3.- IOS 4.- Grundkonfigurationer 5.- Routing 6.- Dynamisk routing 7.- Distansvektor routingprotokoll Agenda ARPANET

Läs mer