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

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

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

Tillförlitlig dataöverföring. 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

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. 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

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

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

Tentaexempel. Maria Kihl

Datalänklagret. Datalänklagret ska:

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

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

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

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

Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll IP. Felkorrektion. Att bekräfta paket. Jens A Andersson (Maria Kihl)

ETSF05 Repetition av KomSys

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

Tentamen i Datorkommunikation den 10 mars 2014

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

Kihl & Andersson: , Stallings: , 12.1, 12.2, 13.1, 13.3

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

Kapitel 5: Lokala nät Ethernet o 802.x. Felkorrektion. Att bekräfta paket. Jens A Andersson (Maria Kihl)

Internetprotokollen. Maria Kihl

Stora datanät. Maria Kihl

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Access till nätet. Maria Kihl

Internetprotokollen. Maria Kihl

Kihl & Andersson: , 3.3 Stallings: , 12.1, 12.2, 13.1, 13.3

LTH, Institutionen för Elektro- och Informationsteknik (EIT)

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

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

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

Föreläsning 4: Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll Transportprotokoll. 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

Föreläsning 4: Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll Transportprotokoll. Jens A Andersson

Lösningar ETS052 Datorkommunikation,

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

Sammanfattning Datorkommunikation

Instuderingsfrågor ETS052 Datorkommuniktion

Övning 2 ETS052 Datorkommuniktion Feldektering, felhantering och flödeskontroll

Access till nätet. Maria Kihl

LTH, Institutionen för Elektro- och Informationsteknik (EIT) ETS052 Datorkommunikation Sluttentamen: , 14-19

DATALINK-NÄTVERK. Hårdvarubyggklossar

Föreläsning 4: Lokala nät (forts ) Ethernet o 802.x Stora nät och behovet av nätprotokoll Transportprotokoll. Emma Fitzgerald

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

Transportskiktets uppgifter. Transportskiktet UDP. UDP-kapning (DNS) DNS-sökning, Ethernet-ram <#>

Transportskiktet. Sidorna , i boken

Digital kommunikation. Maria Kihl

Digital kommunikation. Maria Kihl

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

ETSF05 Internetprotokoll. Jens Andersson

Lösningar till tentan i ETS052 Datorkommunikation

ETSF05. Repetition av KomSys. Detta är vårt huvudproblem! Information och binärdata. Jens A Andersson

LTH, Institutionen för Elektro- och Informationsteknik (EIT)

Omtentamen i Datakommunikation för E2

Kihl & Andersson: , 3.1-2, (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2

ETSF05 Repetition av KomSys

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

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Kapitel 6, 7, o 8: IP DNS Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar.

KomSys Repetition. Tenta tisdag 22/10. Projektarbetet (avslutningen) Jens A Andersson. Tid Plats: MA:10 Tillåtna hjälpmedel. Regler.

Läs anvisningarna noga, och följ dem!

DIG IN TO Nätverksteknologier

6. Blandade uppgifter

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

LTH, Institutionen för Elektro- och Informationsteknik (EIT) ETS052 Datorkommunikation Sluttentamen: , 08-13

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

DIG IN TO Administration av nätverk- och serverutrustning

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

MAC-(sub)lagret. Nätlagret. Datalänklagret. Fysiska lagret LLC MAC. LLC = Logical Link Control-sublager MAC = Media Access Control-sublager

Performance QoS Köteori. Jens A Andersson (Maria Kihl)

Länk Mottagare. Sändare. transmission linjekodning modulering inramning kontrolldata och nyttolast Adressering Felkontroll Flödeskontroll

Hjälpprotokoll till IP

KomSys Repetition Jens A Andersson

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

TCP/IP och Internetadressering

KomSys Repetition. Jens A Andersson

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Tentamen i ETSF15 Kommunikationssystem och Nätverk

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

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

DIG IN TO Nätverksteknologier

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

Tentamen i Kommunikationssystem och nätverk, ETSF15

Binär addition papper och penna metod

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

Sammanfattning av kursen. Maria Kihl

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

2PWHQWDPHQL'DWRUNRPPXQLNDWLRQI U'

ETSF05: Network models Användarmodeller/Paradigmer Länkprotokoll: Flödeskontroll vs felhantering Routingalgoritmer.

Digital- och datorteknik

ETSF05: Användarmodeller/Paradigmer ARQ Routingalgoritmer

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Grundläggande datavetenskap, 4p

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) 2

Repetition (eller digital signal) 3

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. 4

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. 5

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 6

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 7

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 8

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 9

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

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

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

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 13

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

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. 15

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

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). 17

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

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) 19

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 ) 20

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) 21

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 22

CRC-exempel forts. = 1001 110 23

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. 24

Några standardiserade generatorpolynom 25

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

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. 27

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 28

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 29

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

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 31

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. 32

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 33

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 34

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. 35

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 36

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. 37

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

Tentaexempel: Stop-and-wait ARQ 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? 39

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. 40

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 41

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 42

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 43

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 44

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. 45

Tentaexempel: Go-back-N ARQ 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? 46

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. 47

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

Point-to-Point Protocol (PPP) Point-to-point protocol (PPP) är ett av de klassiska länkprotokollen. Användes 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. 51

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 55