Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring Jens A Andersson (Maria Kihl)
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 2
Digitalisering i i 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). 3
Exempel: Bithastighet i h 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 4
Dataöverföring på en länk Två datorer kommunicerar över en länk. Länken består av ett utbredningsmedium. 5
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 dd medför hög överföringsshastighet. i h 6
Digital i kommunikation i (2) 110101 110101 Nätadapter länk Nätadapter Digital transmission: Bitarna representeras av digitala signaler. Analog transmission: Bitarna representeras av analoga signaler. 7
Ö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, i så kallad linjekodning. i 011001 volt nätadapter s Mottagaren läser av amplitudnivån och tolkar signalen. 8
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! 9
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. 10
Översättning från bitar till signaler (2) Ett annat sätt att skicka bitar över en länk är genom att användasåkalladmodulering modulering. Bitarna representeras av en sinusvåg som är olika beroende på om det är en etta eller nolla som skickas. Sinusvåg: gg() g(x)=a*sin(fx+p) ( ) x=0..2π Grundfrekvensen i sinusvågen utgör den så kallade bärfrekvensen. 11
Amplitudmodulering d l i 1 0 tid 12
Frekvensmodulering 1 0 tid 13
Fasmodulering (1) 1 0 tid 14
Fasmodulering (2) 00 01 10 11 tid 15
Spread Spectrum Idé: Sprid signalen över större bandbredd än nödvändigt di Två varianter: FHSS: Frekvenshopp DSSS: Spridningskoder = sekvenser av nollor och ettor så kallade chip-sekvenser (olika långa) 16
Signalkvalitet li Begrepp: Dämpning (attenuation) Distorsion (distorsion Brus (noise) Överhörning (cross-talk) Bitfelsfrekvens (bit error ratio, BER) 18
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! 19
Mänsklig dialog Hej! Hej! Kan du köpa mjölk? Ja visst! Hej då! Hej då! Dialogstart Informationsutbyte Dialogavslutning 20
Datordialog New connection Acknowledged Data request Data transfer End connection Acknowledged Dialogstart Informationsutbyte Dialogavslutning 21
Protokoll Applikation information Applikationsprotokoll Applikation information Nätadapter Fysisk länk Nätadapter 22
Protokoll - Standardisering di i Standardiseringsorgan ITU (tidigare CCITT) IEEE ISO IETF ETSI 3GPP 23
HTTP, ett applikationsprotokoll i k ll Hyper Text Transfer Protocol = HTTP Med HTTP kan man hämta web-sidor. HTTP request HTTP reply 24
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. 25
Att överföra paket 110111 001111 100111 010011 Datapaketen måste komma fram utan fel till mottagaren. 26
Tillförlitlig li li dataöverföring?? 1 länk 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! 27
Länkhanterare I varje dator finns det en länkhanterare som ser till att data skickas k på ett tillförlitligt li li sätt över en länk. applikation data länkhanterare bitar nätadapter länk applikation data länkhanterare bitar nätadapter 28
Länkprotokoll k Länkhanteraren i sändaren och mottagaren använder ett länkprotokoll k ll för att kunna förstå varandra. applikation data länkhanterare bitar nätadapter applikationsprotokoll p länkprotokoll k ll länk applikation data länkhanterare bitar nätadapter 29
Från paket till bitar Sändarens nätadapter skickar en ström av bitar. Mottagaren måste gruppera bitarna i form av datapaket.??? paket nätadapter...01100111... länk bitar nätadapter 30
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 t eller slutar. flagga paket flagga 31
Vad gör man när det blir fel?? 1101011110 1101011111 Om datapaket inte kommer fram korrekt k kan mottagaren inte förstå informationen. 32
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 33
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. 34
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 35
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 36
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 37
Cyklisk k Redundanscheck d (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) 38
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 t d r 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) 39
CRC hos mottagaren Mottagaren tar emot M(x)*x k +R(x)+E(x) E(x) är feltermen. E(x) = 0 vid felfri överföring Mottagaren g utför [M(x)*x () k +R(x)+E(x)]/C(x) () ()] () Om E(x)=0 är resten vid divisionen =0 40