Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring Jens A Andersson (Maria Kihl) Att göra Kursombud 2 Att sända information mellan datorer 11001000101 värd värd Två datorer som skall kommunicera. Datorer förstår endast digital information, dvs ettor och nollor 3 1
2 Digitalisering av ljud Omvandling av ljud till binär data sker i tre steg: 1) Sampling 2) Kvantisering 3) Kodning Detta kallas för Pulse Code Modulation (PCM). 4 Exempel: Bithastighet för telefoni Analog signal i frekvensbandet 0-4kHz. Nyqvist-teoremet medför att samplingsfrekvensen blir 8 khz = 8000 sampel per sekund. 8-bitars kodning av varje sampel. Bithastigheten blir 64 kbit per sekund 5 Dataöverföring på en länk Två datorer kommunicerar över en länk. Länken består av ett utbredningsmedium. 6
3 Länkens kapacitet En länk kan överföra data med en viss hastighet, som anges i bitar per sekund. Ett annat mått på länkens kapacitet är bandbredd. Hög bandbredd medför hög överföringsshastighet. 7 Digital kommunikation (2) 110101 110101 Nätadapter länk Nätadapter Digital transmission: Bitarna representeras av digitala signaler. Analog transmission: Bitarna representeras av analoga signaler. 8 Översättning från bitar till signaler Det enklaste sättet att skicka bitar på en länk är genom att använda olika spänningsnivåer, så kallad linjekodning. 011001 volt s Mottagaren läser av amplitudnivån och tolkar signalen. 9
4 Non-return to zero (NRZ) Nolla = låg spänningsnivå Etta = hög spänningsnivå 0 0 1 0 1 1 0 1 0 0 Problem? Synkronisering! 10 Manchester Kombinerar NRZ och en klockpuls. Inga problem med synkronisering. 0 0 1 0 1 1 1 1 0 1 0 Signalfrekvensen är dubbelt så hög jämfört med NRZ. 11 Differential Manchester 0 0 1 0 1 1 1 1 0 1 0 En övergång i början av ett intervall betyder en nolla. 12
5 Översättning från bitar till signaler (2) Ett annat sätt att skicka bitar över en länk är genom att använda så kallad modulering. Bitarna representeras av en sinusvåg som är olika beroende på om det är en etta eller nolla som skickas. Sinusvåg: g(x)=a*sin(fx+p) x=0..2π Grundfrekvensen i sinusvågen utgör den så kallade bärfrekvensen. 13 Amplitudmodulering 1 0 tid 14 Frekvensmodulering 1 0 tid 15
Fasmodulering (1) 1 0 tid 16 Fasmodulering (2) 00 01 10 11 tid 17 Spread Spectrum Idé: Sprid signalen över större bandbredd än nödvändigt Två varianter: FHSS: Frekvenshopp DSSS: Spridningskoder = sekvenser av nollor och ettor så kallade chip-sekvenser (olika långa) 18 6
Hedy Lamarr 19 Signalkvalitet Begrepp: Dämpning (attenuation) Distorsion (distorsion Brus (noise) Överhörning (cross-talk) Bitfelsfrekvens (bit error ratio, BER) 20 Att få datorer att kommunicera När människor kommunicerar använder vi ett språk. Datorer kommunicerar med hjälp av protokoll. Två människor måste använda samma språk för att förstå varandra! Två datorer måste använda samma protokoll för att förstå varandra! 21 7
8 Mänsklig dialog Hej! Hej! Kan du köpa mjölk? Ja visst! Hej då! Hej då! Dialogstart Informationsutbyte Dialogavslutning 22 Datordialog New connection Acknowledged Data request Data transfer End connection Acknowledged Dialogstart Informationsutbyte Dialogavslutning 23 Protokoll information Applikationsprotokoll Applikation information Applikation Nätadapter Fysisk länk Nätadapter 24
9 Protokoll - Standardisering Standardiseringsorgan ITU (tidigare CCITT) IEEE ISO IETF ETSI 3GPP 25 HTTP, ett applikationsprotokoll Hyper Text Transfer Protocol = HTTP Med HTTP kan man hämta web-sidor. HTTP request HTTP reply 26 Datapaket När data skall skickas mellan två datorer delas den (oftast) först upp i mindre delar, så kallade paket. Ett paket består av upp till tre delar: huvud, data och svans huvud (header) data (payload) svans (tail) Huvud och svans innehåller kontrollinformation. 27
10 Att överföra paket 110111 001111 100111 010011 Datapaketen måste komma fram utan fel till mottagaren. 28 Tillförlitlig dataöverföring?? länk 1 0 Om en etta kommer fram som en nolla har det inträffat ett bitfel. Tillförlitlig dataöverföring innebär att sändare och mottagare ser till att all information kommer fram korrekt! 29 Det uppstår fel länk 30
Länkhanterare I varje dator finns det en länkhanterare som ser till att data skickas på ett tillförlitligt sätt över en länk. applikation data länkhanterare bitar länk applikation data länkhanterare bitar 31 Länkprotokoll Länkhanteraren i sändaren och mottagaren använder ett länkprotokoll för att kunna förstå varandra. applikation data länkhanterare bitar applikationsprotokoll länkprotokoll länk applikation data länkhanterare bitar 32 Från paket till bitar Sändarens skickar en ström av bitar. Mottagaren måste gruppera bitarna i form av datapaket.??? paket...01100111... länk bitar 33 11
12 Från bitar till paket Hur kan mottagaren omvandla en bitström till en följd av datapaket? Ett exempel är att använda flaggor. En flagga är ett antal bitar med ett specifikt värde. När en flagga kommer vet mottagaren att en ny ram startar eller slutar. flagga paket flagga 34 Vad gör man när det blir fel?? 1101011110 1101011111 Om datapaket inte kommer fram korrekt kan mottagaren inte förstå informationen. 35 Att upptäcka bitfel Det är viktigt att mottagaren kan detektera om bitfel uppstår. Sändaren lägger till en eller flera bitar vars värde beror på innehållet i paketet. data extrabitar 36
Att upptäcka bitfel (2) Mottagaren kontrollerar att data och extrabitar stämmer överens. Om de gör det, har paketet kommit fram korrekt. Annars är paketet felaktigt och måste kastas. 37 Paritetsbit Sändaren lägger till en bit i slutet av paketet. Jämn paritet = jämnt antal ettor i hela paketet. Ojämn paritet = ojämnt antal ettor i hela paketet. Exempel på jämn paritet: 10011100 + 0 = 100111000 38 Kontrollsumma (checksum) Upptäcker fler fel än paritetsbit Princip, sändning: Dela upp bitströmmen i flera lika stora segment Summera segmenten Överskjutande ettor adderas till Gör ett-komplement på den nya summan Skicka segmenten + komplementet av summan 39 13
Kontrollsumma (checksum) (2) Princip, mottagning: Dela upp hela mottagna bitströmmen i segment (lika stora som mottagaren) Addera alla segmenten Addera överskjutande bitar Tag ett-komplement av summan Om komplementet av summan = 0 är mottagen bitström korrekt 40 Cyklisk Redundanscheck (CRC) Låt bitarna i paketet representeras av ett polynom. Exempel: 10011010 = x 7 +x 4 +x 3 +x = M(x) Använd ett generatorpolynom av grad k. Exempel: C(x) = x 3 +x 2 +1 (k=3) 41 CRC forts. Hitta ett annat polynom, R(x), så att M(x)*x k +R(x) = C(x) * f(x) [f(x) är ett ointressant polynom] betyder att M(x)*x k + R(x) jämnt delbart med C(x) Skicka iväg bitarna som representeras av M(x)*x k +R(x) 42 14