Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl

Relevanta dokument
Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl

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

Kapitel 4: Tillförlitlig dataöverföring Kapitel 5:Lokala nät. Repetition. Länkprotokoll. Jens A Andersson (Maria Kihl) länk

Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)

Tillförlitlig dataöverföring. Jens A Andersson

Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)

Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring. Att göra. Att sända information mellan datorer

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Laborationer onsdag/fredag. Laborationer onsdag/fredag. Tillförlitlig dataöverföring Multiplexering Lokala nät (inledning) Labbmanual

Tentaexempel. Maria Kihl

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

Föreläsning 3. Datakodning (Data encoding) Mål (fortsättning) Länk Mottagare. Sändare

TENTAMEN. Kurskod/Kurs: 5DV013, Datakommunikation och datornät 5DV065, Datakommunikation och Internet

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Datalänklagret. Datalänklagret ska:

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

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

NATIONELLA MATEMATIKTÄVLING

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

SANNOLIKHET. Sannolikhet är: Hur stor chans (eller risk) att något inträffar.

Väga paket och jämföra priser

Distribuerade Informationssystem VT-04

Snabbslumpade uppgifter från flera moment.

Två konstiga klockor

Access till nätet. Maria Kihl

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Instuderingsfrågor ETS052 Datorkommuniktion

ELEV- HANDLEDNING (Ansökan via webben)

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

Utbildningsplan för arrangörer

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

Datorövning 2 Statistik med Excel (Office 2007, svenska)

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

Vi skall skriva uppsats

Lathund, procent med bråk, åk 8

Fullför installation av ELIQ

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student

Modul 6: Integraler och tillämpningar

Föreningen Nordens lokala hemsidor

Enkätresultat för elever i åk 9 i Borås Kristna Skola i Borås hösten Antal elever: 20 Antal svarande: 19 Svarsfrekvens: 95% Klasser: Klass 9

Föreläsning 3. Datakodning (Data encoding) T Introduktion till modern telekommunikation Gunnar Karlsson, Bengt Sahlin 1

4-6 Trianglar Namn:..

Exempel på tentamensuppgifter i LMA100, del 1

Handbok Ämnesprov 2016 Lärarinmatning I Dexter Åk 3. Uppdaterad: /HL Version: IST AB

Tränarguide del 1. Mattelek.

Du ska nu skapa ett litet program som skriver ut Hello World.

Administration Excelimport

Visma Proceedo. Att attestera - Manual. Version 1.4. Version 1.4 /

Systematiskt kvalitetsarbete

Lokala nät Ethernet o 802.x. (Maria Kihl)

Webb-bidrag. Sök bidrag på webben Gäller från

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

Menys webbaserade kurser manual för kursdeltagare. Utbildningsplattform: Fronter

Skriva B gammalt nationellt prov

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

Dina inloggningsuppgifter är samma som du använder för att logga in på skolans datorer.

Sammanfattning på lättläst svenska

Mål Blå kurs Röd kurs

Vad är WordPress? Medlemmar

Har vi lösningen för en bättre hemtjänst? Självklart.

Repetition av cosinus och sinus

Utveckla arbetsmiljö och verksamhet genom samverkan

ANVÄNDARHANDLEDNING FÖR

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

Texturbild. Lagerpaletten du kommer arbeta med ser du till höger. 1. Kopiera bakgrunden till ett nytt lager och gör den svartvit.

Kiwiböckerna metod och begrepp

Arbetsbeskrivning, att förbereda för studenternas registrering kommande termin. 1. Studenter antagna på fristående kurs 2

Hävarmen. Peter Kock

Vägledning inför ansökan om statsbidrag för verksamhetsåret 2013

Mer än bara fotboll VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS ELEVERNA TRÄNAR FÖLJANDE FÖRMÅGOR LGRS 11 CENTRALT INNEHÅLL SOM TRÄNAS

Kundservicerapport Luleå kommun 2015

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Laganmälan & Laghantering

Anva ndarhja lp IMYR -Myndighetsrapportering

Tentamen i Tillämpad matematisk statistik LMA521 för EPI och MI den 14 dec 2011

Vanliga frågor. LEGOeducation.com. Konceptet. Processen

Det är bra om även distriktsstyrelsen gör en presentation av sig själva på samma sätt som de andra.

Från min. klass INGER BJÖRNELOO

Enkätresultat för vårdnadshavare till elever i Centralskolan Söder 4-9 i Grästorp hösten Antal svar: 50

Hjälpprotokoll till IP

Hur utvecklar man användbara system? Utvärdering. Användbarhet handlar om kvalitet. Utvärdering. Empiriska mätningar. Metoder

ETSF05 Repetition av KomSys

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.

Individuellt Mjukvaruutvecklingsprojekt

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

Mätningar på op-förstärkare. Del 3, växelspänningsförstärkning med balanserad ingång.

DEMOKRATI 3 DEMOKRATINS VILLKOR

En skola fri från mobbning och kränkningar

TIMREDOVISNINGSSYSTEM

Statsbidrag för läxhjälp till huvudmän 2016

Administratör Rollbeskrivning och stödjande instruktion. e-tjänst för ansökan om statsbidrag Senast uppdaterad:

Enkätresultat för elever i år 2 i Nösnäsgymnasiet 2 i Stenungsund våren 2014

Din Guide till Second Life

Axiell Arena. Samarbeta om bilder Regionbiblioteket i Kalmar län

Matriks Doc 3 Import scannade leverantörsfakturor

Datorövning 2 Statistik med Excel (Office 2003, engelska)

Enkätresultat för elever i år 2 i Praktiska Skövde i Praktiska Sverige AB hösten 2014

Enkätresultat för elever i år 2 i Mega Musik gymnasium hösten Antal elever: 47 Antal svarande: 46 Svarsfrekvens: 98% Klasser: MM13

Transkript:

Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl

Läsanvisningar Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) Forouzan 5th: (9.1), 10.1-3, 10.4.1, 11.1-2, 11.4, 23.2 2

Repetition (eller digital signal) 3

Modulering i mobilnät UMTS använder olika varianter av fasmodulering (PSK) LTE (4G) använder OFDM som också moduleras med olika varianter av PSK. http://www.radio-electronics.com/info/cellulartelecomms/umts/umtswcdma-modulation.php http://en.wikipedia.org/wiki/orthogonal_frequencydivision_multiplexing 4

Att skicka data över en länk 11001000101 värd värd 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 regler för hur datatransmissionen ska gå till. 5

Datapaket Grundläggande principen är att all data som ska skickas läggs i datapaket. header data svans I varje datapaket finns en header som innehåller kontrollinformation för det protokoll som används. 6

Att skicka data över en länk Applikationen ska inte behöva veta hur länken fungerar. Det behövs ett annat protokoll som tar hand om kommunikationen över en fysisk länk. 110111 001111 100111 010011 7

Länkprotokoll Sändare och mottagare använder ett länkprotokoll för kommunikationen över en länk. Applikation Applikationsprotokoll Applikation Länk bitar Nätadapter meddelande Länkprotokoll Protokoll för fysiskt lager meddelande Länk bitar Nätadapter 8

Länkprotokollets uppgifter Länkprotokollet har tre grundläggande uppgifter: 1. Framing (inramning) 2. Feldetektering (detektera bitfel) 3. Felhantering (finns inte i alla länkprotokoll) 4. Flödeskontroll 9

1. Framing (Inramning) På länken skickas en bitström. Länkprotokollet måste kunna översätta bitarna så att protokollet kan tolka data i varje paket. Därför används flaggor som ramar in varje paket. En flagga är ett specifikt bitmönster. Exempel: 01111110 Ett datapaket på länklagret brukar kallas för ram. Flagga Kontroll Data Kontroll Flagga 10

Bitutfyllnad (Bitstuffing) Bitutfyllnad (bitstuffing) används så att data inte kan tolkas som en flagga. 11

Tentaexempel Följande bitström har tagits emot. Flaggan 01111110 används. Identifiera eventuella flaggor och bitstuffade 0:or. 00010111110000101111110111100011111000001 12

2. Feldetektering? 1101011110 1101001110 störning Mottagarens länkprotokoll måste kunna detektera ett bitfel! 13

Att hitta bitfel Det är viktigt att mottagaren kan hitta de bitfel som uppstår. Sändaren lägger till en eller flera redundanta bitar vars värde beror på innehållet i meddelandet. data extrabitar 14

Tre metoder för feldetektering (block coding) Paritetsbit (Simple Parity-Check Code) Cyklisk Redundanscheck (CRC) Kontrollsumma (Checksum) 15

Paritetsbit Sändaren lägger till en bit i slutet av meddelandet. Jämn paritet = jämnt antal ettor i hela meddelandet. Ojämn paritet = ojämnt antal ettor i hela meddelandet. Exempel på jämn paritet: 10011100 + 0 = 100111000 Med hjälp av paritetsbit kan man hitta ett udda antal bitfel i ett meddelande. 16

Tentaexempel Följande meddelande har tagits emot. Protokollet använder en paritetsbit (jämn paritet). Har meddelandet tagits emot korrekt? 000101111100001 17

Cyklisk redundanscheck (CRC) I CRC, använder sändare och mottagare ett förutbestämt generatortal (divisor) för att beräkna de extra bitarna. Matten bakom valet av generatortal ingår inte i den här kursen (men läs gärna extramaterial på kursens hemsida). 18

Polynomrepresentation Ett block med k bitar (dataword) representeras av ett polynom, M(x) (D(x) i Forouzan och Stallings). 19

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) (P(x) i Stallings) 20

Modulo-2 aritmetik CRC-beräkningarna görs med modulo-2 aritmetik. Detta är binär addition utan överskjutande bitar (carries). Tex. 10 2 +10 2 = 00 2 (kort sagt: 1+1 = 0 ) 21

CRC hos sändaren Hitta ett polynom, R(x), så att k M( x) x R( x) C( x) f ( x) (f(x) är ett ointressant polynom) M( x) x k R( x) ska vara jämnt delbart med C(x) Skicka iväg bitarna som representeras av M( x) x k R( x) 22

CRC-exempel Dataword: 1001 Polynomrepresentation: x 3 1 Generatortal (divisor): 1011 Generatorpolynom: x 3 x 1 Dataword multiplicerat med : x 3 6 x x 3 23

CRC-exempel forts. 24

CRC hos mottagaren De mottagna bitarna (codeword) är P(x)+E(x) där E(x) är en representation av bitfelen som inträffat under transmissionen. Mottagaren beräknar följande: Mottaget codeword g(x) = P(x) g(x) + E(x) g(x) Om resultatet blir 0 så kan de mottagna bitarna antagas korrekta. 25

Några standardiserade generatorpolynom 26

Tentaexempel Beräkna en 3-bitars CRC för sekvensen 101101 med generatortalet 1011. 27

Kontrollsumma (Checksum) Kontrollsumma används av olika Internetprotokoll, dock inte på länklagret. Grundprincipen är att dela upp data i segment bestående av n bitar. Sedan adderas motsvarande binära tal och summan används som kontrollsumma. 28

Exempel på kontrollsumma (sändaren) Meddelande: 10101001 10111001 8-bitars kontrollsumma: 10101001 + 10111001 = 1 01100010 Addera överskjutande bitar (one s complement): 00000001 + 01100010 = 01100011 Komplementet på kontrollsumman skickas för att hjälpa mottagaren: 10101001 10111001 10011100 29

Exempel på kontrollsumma (mottagaren) Mottagaren adderar alla segment med one s complement. Om det inte har inträffat några bitfel ska resultatet bli bara ettor (som sedan inverteras till nollor): 10101001 10111001 10011100 1 11111110 11111111 30

Tentaexempel Beräkna en 4-bitars kontrollsumma för bitsekvensen 1100 0010 1111 31

3. Felhantering Länkprotokollet ska se till att bitfel hanteras så att mottagaren får korrekt data. Applikation Applikationsprotokoll Applikation Länk bitar Nätadapter meddelande Länkprotokoll Protokoll för fysiska lagret meddelande Länk bitar Nätadapter 32

Felhantering (error control) När en korrupt ram detekteras så måste felet korrigeras Två grundläggande principer: Forward Error Correction (FEC) Data kodas på ett sådant sätt att bitfel kan korrigeras. FEC ingår inte i denna kurs. Omsändning av data Felaktiga ramar skickas om tills dess att sändningen är felfri. 33

4. Flödeskontroll Sändaren måste skicka ramar i en takt som mottagaren klarar av att hantera. Applikation Applikationsprotokoll Applikation Länk bitar Nätadapter meddelande Länkprotokoll meddelande Länk bitar Nätadapter 34

Felhantering och flödeskontroll Den grundläggande principen i felhantering via omsändningar samt flödeskontroll är att mottagaren skickar acknowledgments (ACK) för alla korrekt mottagna paket/ramar. Data ACK 35

Automatic Repeat Request (ARQ) Tre grundläggande metoder: Stop-and-wait ARQ Go-back-N ARQ Selective Repeat ARQ Stallings har ändrat i Go-back-N och lagt in REJ meddelanden. Dessutom beskriver Stallings Selective-Reject istället för Selective-Repeat. Fouruzan 5th edition är ganska förvirrad när det gäller ARQ-metoder som är beskrivna i två olika kapitel. Följ föreläsningsbilderna för en mer kompakt beskrivning. 36

Sekvensnummer Sekvensnummer används för att kunna detektera vilka paket som är korrekt mottagna och vilka som behöver sändas om. A B 1 2 3 4 1 3 4 (I fortsättningen antas att ett bitfel genererar en paketförlust) 5 5 37

Stop-and-wait ARQ Mottagaren skickar en ACK för varje paket. Sändaren skickar nästa paket när den fått en ACK för det senast skickade paketet. Sändaren använder en time-out för varje skickat paket. Om inget ACK har kommit innan time-out så skickas paketet igen. Paketen är identifierade med sekvensnummer som alternerar mellan 0 och 1. 38

Time-out Exempel: Stop-and-Wait ARQ Sändare Paket 0 Mottagare ACK 1 Paket 1 Paket 1 ACK 0 39

Tentaexempel En dator skickar 5 paket (DATA 1-5) till en annan dator. DATA 3 försvinner (men alla andra paket kommer fram korrekt). Hur många paket (DATA och ACK) skickas mellan de två datorerna om de använder Stop-and-wait ARQ? 40

Go-back-n ARQ Sändaren kan skicka flera paket åt gången. Antalet paket som kan skickas bestäms med hjälp av ett så kallat sändfönster (sliding window). Mottagaren skickar ACK för de paket som tas emot i rätt ordning (mottagaren skickar ACK x+1 där x är det paket som tagits emot). Nya paket kan skickas i samma takt som mottagaren skickar ACK. Mottagaren brukar spara paket som kommit fram korrekt, även om paketet innan saknas. 41

Sändfönster Sändfönstret innehåller de sekvensnummer som är involverade i sändningen just nu. Sändfönsterstorleken används som flödeskontroll och anger hur många paket som sändaren kan skicka utan att få ACK. 6 7 0 1 2 3 4 5 6 7 0 S F S S L 42

Exempel : Go-back-N ARQ (inga bitfel) Sändfönsterstorlek = 4 1 2 3 4 5 ACK 2 ACK 3 ACK 4 ACK 5 6 ACK 6 ACK 7 43

Exempel : Go-back-N ARQ (paketförlust) Sändfönsterstorlek = 4 1 Time-out (alternativ: Duplicerat ACK) 2 3 4 5 ACK 2 (sparas) ACK 2 (sparas) ACK 2 2 3 (sparas) ACK 2 4 5 ACK 6 kastas kastas 44

Exempel : Go-back-N ARQ (förlorat ACK) Sändfönsterstorlek = 4 1 2 Ett förlorat ACK kan upptäckas om nästa ACK kommer fram korrekt 3 4 5 6 ACK 2 ACK 3 ACK 4 ACK 5 ACK 6 45

Notering Go-back-N ARQ finns i olika varianter beroende på vilket protokoll som det används i. Det viktiga är att förstå den grundläggande principen för Go-back-N ARQ och att kunna förklara vad som händer när man skickar paket och något paket försvinner. På kursens hemsida finns länkar till bra beskrivningar av Go-back-N ARQ. 46

Tentaexempel En dator skickar 5 paket (DATA 1-5) till en annan dator. DATA 3 försvinner (men alla andra paket kommer fram korrekt). Hur många paket (DATA och ACK) skickas mellan de två datorerna om de använder Go-back-N ARQ med fönsterstorlek 3? 47

Selective repeat ARQ Fungerar som Go-back-N så länge som det inte är några paketförluster. Grundprincip: Mottagaren kan skicka en negativ acknowledgment (NAK) om den detekterar att ett paket är förlorat. Enbart de förlorade paketen omsänds. 48

Exempel: Selective repeat ARQ Sändfönsterstorlek = 3 1 2 3 4 ACK 2 (sparas) NAK 2 2 (sparas) NAK 2 ACK 5 49

Point-to-Point Protocol (PPP) Point-to-point protocol (PPP) är ett av de klassiska länkprotokollen. Används i bland annat bredbandsaccess och mobila nät. PPP är ett byte-orienterat (character-orienterat) protokoll, dvs all data i ramen räknas i bytes. Ramformat: 01111110 1 byte 1 byte 2 byte Variabel 2 eller 4 byte 01111110 Flagga Adress Kontroll Protokoll Data CRC Flagga 11111111 00000011

Byte stuffing Protokollet måste se till att bitmönstret för flaggan inte finns i data. Eftersom PPP är ett byte-orienterat protokoll, används byte stuffing. Varje gång bitmönstret för flaggan återfinns i data lägger man till en byte 01111101 före så att användaren vet att nästa byte inte är en flagga.

Feldetektering PPP använder en 2 eller 4-byte CRC för feldetektering. Men, protokollet innehåller ingen felhantering eller flödeskontroll. 52

Protokollfaser En PPP förbindelse går igenom följande faser:

Hjälp-protokoll PPP använder flera andra protokoll för att hantera förbindelsen: Link Control Protocol (LCP) är ansvarigt för att etablera, upprätthålla, konfigurera, och avsluta förbindelsen. Password Authentication Protocol (PAP) och Challenge Handshake Authentication Protocol (CHAP) används för autentisering. Autentisering innebär att sändare och mottagare kan validera varandras identitet. Ett Network Control Protocol (NCP) konfigurerar förbindelsen för ett visst nätprotokoll. Ett exempel är Internet Protocol Control Protocol (IPCP) för Internet.

De andra protokollen skickas i PPPramar

Inför PPP-laboration Läs online-manual med förberedelser! http://www.eit.lth.se/ppplab/overview.htm Om du behöver läsa mer om PPP: http://en.wikipedia.org/wiki/point-to-point_protocol http://www.tcpipguide.com/free/t_pointtopointprotoc olppp.htm 56