1 Foutcontrole met feedback Communicatietheorie Partim Datacommunicatie
2 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
3 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Inleiding4 Stel: aan ontvanger geen foutcorrectie, enkel foutdetectie hoe fouten verbeteren? retransmissie foutieve codewoord Hoe retransmissie? Zender: stuurt frames (frame = groep van bits, vb. codewoord) –Elk frame heeft rangnummer frame(i) –Verstuur frame(i) naar ontvanger –Steek frame(i) in buffer (tijdelijk bewaren) Ontvanger –Controle of er fouten zitten in frame(i) –JA: verstuur NAK (negative acknowledgement) naar zender zender stuurt frame(i) opnieuw, frame(i) blijft in zenderbuffer –NEEN: verstuur ACK (positive acknowledgement) naar zender zender verwijdert frame(i) uit zenderbuffer ? niet gedetecteerde fout? wordt als correct ontvangen beschouwd fout
Inleiding5 Retransmissieprotocol = beschrijft manier waarop retransmissie plaatsvindt efficiëntie retransmissieprotocol? tijdens retransmissie kan geen nieuw frame verstuurd worden efficiëntie met aantal retransmissies –Nuttige frameduur = tijd nodig om de informatiebits te versturen k = # informatiebits/frameR b =bitsnelheid nuttige frameduur = k/R b –Niet nuttig deel frame = overhead bij versturen pariteitsbits, bits voor rangnummer frame, … –Totale transmissietijd = tijd nodig om frame correct naar ontvanger te krijgen = (# retransmissies+1) duur frame + wachttijden zender Stel: ACK, NAK steeds correct ontvangen door zender korte berichten, dus kleine kans op fouten zender verstuurt niets
6 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Statistiek (re)transmissies7 Statistiek van het aantal (re)transmissies van een frame # keer dat frame verstuurd wordt = toevalsgrootheid #tr Pr[#tr=m] Stel: kans dat fout gedetecteerd = p frame kanaal genereert willekeurig bitfouten fout in frame onafhankelijk van fout in ander frame #tr = m (m 1) : als m-1 eerste transmissies fout en m de juist Pr[#tr=m] = p frame (1-p frame )m=1,2,… m-1 laatste juisteerste m-1 fout
Statistiek (re)transmissies8 #retr = aantal retransmissies nodig = #tr - 1 Pr[#retr=j] = Pr[#tr=j+1]= p frame (1-p frame )j=0,1,2,… Gemiddeld aantal (re)transmissies j
Statistiek (re)transmissies9 ? p frame ? welke gevallen correct/niet correct gedetecteerd? p frame = Pr[NAK] = 1- Pr[geen transmissiefout]-Pr[niet gedetecteerde fout] Als d voldoende groot p d << 1-(1-p) n Pr[ngf] verwaarlozen (1-p) n, n=# bits in frame hangt af van code, ~p d 1-(1-p) n np als p<<1
10 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Stop-and-wait11 Stop-and wait protocol Zender: verstuur frame(i) wacht met versturen andere frames tot ontvangstbericht NAK: verstuur frame(i) opnieuw ACK: verstuur frame(i+1) dode tijd
Stop-and-wait12 Nadeel S&W protocol = dode tijd T d (round trip delay) na elk frame = tijd tussen einde vorige frame en begin volgende frame T d = 2 t prop + t proc_rec + t acq + t proc_tr Totale transmissietijd voor correct frame #tr duur frame + #tr dode tijd duur frame = n/R b propagatietijd tussen zender en ontvanger verwerkingstijd zender verwerkingstijd ontvanger duur ontvangstbericht ACK/NAK aantal benodigde transmissies aantal bits in frame (n-k = overhead) (1-p frame ) -1 s = verhouding duur dode tijd (T d ) tot totale frameduur (n/R b ) s
Stop-and-wait13 Praktijk: meestal verwerkingstijden en duur ontvangstbericht << propagatietijd T d 2t prop t prop ? koperdraad: m/s 100 m kabel 0.5 s draadloos: m/s geostationaire satelliet (±35000 km boven de aarde) grootteorde 0.25 s Groot verschil tussen propagatietijden mogelijk Voordelen S&W: –Kleine zenderbuffer (= 1 frame) –Volgorde frames behouden –Zender en ontvanger maken nooit gelijktijdig gebruik van het kanaal (half duplex) Nadeel S&W: –Lage efficiëntie (grote dode tijd) S&W enkel bruikbaar als s<<1 (lage bitrate, korte propagatietijd)
14 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Go-back-N15 Go-back-N protocol Zender: verstuur onafgebroken frames als NAK(i) ontvangen (= frame(i) foutief ontvangen) stel: reeds verstuurd: frames i i+N-1 retransmissie frames i i+N-1 (gaat N frames terug in tijd) als ACK(i) ontvangen: ga voort met versturen frames N=3 correcte frames in goede volgorde aan ontvanger wacht tot frame volledig verstuurd N=1+ s
Go-back-N16 Efficiëntie: NAK = N nutteloze frames totale transmissietijd = duur correct ontvangen frame + #retr duur N ontvangen frames = n/R b + #retr N n/R b Voordelen GBN –Frames komen in juiste volgorde toe aan ontvanger –Geen dode tijden efficiëntie (meestal) hoger dan bij S&W Nadelen GBN –Zender en ontvangen gebruiken gelijktijdig kanaal full duplex –Zenderbuffer van N frames nodig GBN als p frame klein en s groot N=1+ s E[#retr] = p frame /(1-p frame )
17 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Selective repeat18 Selective repeat Zender: verstuur onafgebroken frames zolang ACK ontvangen als NAK(i) ontvangen (= frame(i) foutief ontvangen) enkel retransmissie frame(i) gevolg: volgorde frames aan ontvanger door elkaar
Selective repeat19 Efficiëntie: geen dode tijden (S&W), geen frames onnodig versturen (GBN) kortst mogelijke transmissietijd totale transmissietijd = # tr duur correct ontvangen frame = n/R b Voordelen SR –Efficiëntie hangt niet af van s (round trip delay) = Bovengrens voor efficiëntie alle retransmissieprotocols Nadelen SR –Zender en ontvangen gebruiken gelijktijdig kanaal full duplex –Buffer aan zender en ontvanger nodig Zender: 1+ s frames Ontvanger: frames (geen bovengrens op aantal retransmissies) E[#tr] = (1-p frame ) -1
Selective repeat20 Selective repeat in praktijk niet gebruikt wegens bufferlengte aan ontvanger Enkel theoretisch als bovengrens efficiëntie Varianten SR in de praktijk? –Eindige buffer aan ontvanger –Als buffer aan ontvanger vol enkel NAK sturen als ontvangen frame niet in buffer geen overloop buffer efficiëntie omdat NAK ten onrechte verstuurd
21 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
Vergelijking efficiënties22 Invloed k, n, s en p frame Vergelijk efficiëntie van de verschillende retransmissieprotocols als functie van p frame voor verschillende s Merk op:
Vergelijking efficiënties23 s=1
Vergelijking efficiënties24 s=4
Vergelijking efficiënties25 s=19
Vergelijking efficiënties26 s=0.25
Vergelijking efficiënties27 Conclusies: SR: –onafhankelijk van s –grootste efficiëntie S&W: –afhankelijk van s ( ~ 1/(1+s)) – als s GBN: –afhankelijk van s ( ~ 1/(1+ s p frame )) GBN SR als p frame 0 –s geheel: GBN beter dan S&W, GBN S&W als p frame 1 –s niet geheel: GBN slechter dan S&W als p frame 1 S&W kan direct na ACK/NAK frame versturen GBN moet wachten tot vorige frame afgehandeld verschil vooral zichtbaar als s >1
Vergelijking efficiënties28 Combinatie van foutdetectie en foutcorrectie Efficiëntie retransmissieprotocol = functie van p frame p frame =kans fout gedetecteerd 1- (1-p) n np p<<1 kans op niet gedetecteerde fout (~p d ) verwaarloosbaar Efficiëntie code door p frame hoe p frame ? –Concatenatie codes –Combinatie foutdetectie en -correctie
Vergelijking efficiënties29 Concatenatie codes = foutcorrigerende code (2) + foutdetecterende code (1) = informatiebits encoder 2 = codebits encoder decoder 2 corrigeert fouten kans op decodeerfout p' ~ p (d2-1)/2 frameprobabiliteit decoder 1 1-(1-p') n << 1-(1-p) n d2 = Hammingafstand code 2 equivalent kanaal met foutprobabiliteit p' R c,1 =k/n'R c,2 =n'/n R c =R c,1 R c,2 =k/n
Vergelijking efficiënties30 Gecombineerde foutdetectie en –correctie = slechts één code stel d>2t+1 corrigeer alle fouten met gewicht w t detecteer alle andere fouten kans op retransmissie : ~ p t+1 (i.p.v. p wanneer enkel foutdetectie) kans op decodeerfout : ~ p d-t (i.p.v. p d wanneer enkel foutdetectie) MAAR: p d-t 2t+1) effect decodeerfouten klein
31 Overzicht Foutcontrole met feedback Inleiding De statistiek van het aantal (re)transmissies van een frame Het stop-and-wait protocol Het go-back-N protocol Het selective-repeat protocol De efficiëntie van de beschouwde retransmissieprotocols Controle van de informatiestroom
32 Controle van de informatiestroom Stel: ontvanger kan tijdelijk geen frames verwerken ontvangen frames worden tijdelijk opgeslagen in buffer met lengte K hoe buffer overflow voorkomen? zender stuurt K frames en stopt = ZENDVENSTER zolang geen geldig ACK/NAK ontvangen verder niets versturen Oorzaak ongeldige/geen ACK/NAK –Ontvanger tijdelijk niet beschikbaar geen berichten verstuurd, frames tijdelijk opgeslagen in buffer –Frames verloren gegaan bij versturen geen berichten –Ontvangstbericht ACK/NAK verloren of fout Wachten tot geldig ontvangstbericht voor verdere transmissie (=flow control)
Controle van de informatiestroom33 Frame verloren bij transmissie zender kan niet blijven wachten gebruik TIMER frame heruitzenden na TIMEOUT-INTERVAL retransmissie is verzekerd in volgende gevallen: –Frame verloren bij transmissie –Foutief frame ontvangen, NAK fout of verloren –Correct frame ontvangen, ACK fout of verloren (duplicaat correct frame negeren + ACK terugsturen voor alle duplicaten geen nieuwe duplicaten) Niet detecteerbare transmissiefouten –ACK NAK : frame opnieuw verstuurd, duplicaat negeren + versturen ACK –NAK ACK : definitief verloren
Controle van de informatiestroom34 Grootte K zendvenster effect op efficiëntie? –K=1 stop and wait –K<1+s (SR) dode tijd van s+1-K frames na elke K frames
Controle van de informatiestroom35 –K<1+s (GBN) dode tijd van s+1-K frames na eerste K frames retransmissie van blok K frames K opeenvolgende ACK’s K<1+s: efficiëntie door dode tijden
Controle van de informatiestroom36 –K 1+s geen dode tijden bij SR en GBN efficiëntie zelfde als bij K= (geen zendvenster) #frames in zenderbuffer 1+ s K= 1+ s geschikte keuze zendvenster Merk op: indien s niet exact gekend, neem grootst mogelijke waarde Efficiëntie SR als K<1+s totale transmissietijd = #tr frameduur + #tr frameduur (s+1-K)/K < SR want K<s+1 > S&W met factor K dode tijd s+1-K frames per K verstuurde frames