1 / 32

Oefeningen Datacommunicatie

Oefeningen Datacommunicatie. Les 4: Retransmissieprotocols. Julie Neckebroek julie.neckebroek@telin.ugent.be. Les 4: Retransmissieprotocols. Doel – methode Parameters Effici ë ntie Basisprotocols Varianten van basisprotocols. 1. Doel – methode (1).

hallie
Download Presentation

Oefeningen Datacommunicatie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oefeningen Datacommunicatie Les 4: Retransmissieprotocols Julie Neckebroek julie.neckebroek@telin.ugent.be

  2. Les 4: Retransmissieprotocols • Doel – methode • Parameters • Efficiëntie • Basisprotocols • Varianten van basisprotocols

  3. 1. Doel – methode (1) Tot nu toe: foutdetectie, foutcorrectie Maar: wat gebeurt indien fout gedetecteerd? Rx: indien fout frame  weigeren Tx: hoe weet Tx of Rx het frame goed/slecht heeft ontvangen? Protocol nodig 1 1 2 Tx ACK NAK Rx 1 1 2

  4. wachten ACK zenden NAK zenden wachten volgend frame zenden herhaling van huidig frame 1. Doel – methode (2) Protocolbeschrijving: wat doet Tx na zenden? wat doet Rx na ontvangen? • NODIG: • tellers (framenummer) • buffers • Rx: out-of-order • Tx: frames zonder ACK • timers

  5. ACK normaal timer timer ACK ACK ACK frame verloren ACK verloren 1. Doel – methode (3) • Waarom timers ? • frame verloren • verlies van ACK/NAK, of, • geen NAK sturen (protocolvariant)

  6. 2. Parameters (1) • ontwerparameters • (k,n)=lengte (info-,code-) woord • andere (afh. van onderliggende lagen) • Rb: bit-rate (bit/s) • Td: dode tijd (s) (aka round-trip delay) • nodig #transmissies van frame toevalsgrootheid

  7. 2. Parameters (2): voorbeeld Td n/Rb Tx 1 1 2 ACK NAK 1 1 2 Rx #tr = 2 #retr = 1 = #tr - 1

  8. 2. Parameters (3): #transmissies pframe = P[Rx detecteert fout in frame] = 1 - P[Rx detecteert geen fout in frame] = 1 - (P[geen fout in frame] + P[ngf]) = 1 - ((1-p)n+P[ngf])  1 - (1-p)n P[#tr = 0] = 0 P[#tr = 1] = 1 - pframe P[#tr = 2] = pframe(1-pframe) P[#tr = m] = pm-1frame(1-pframe) P[#retr = 0] = 1 - pframe P[#retr = 1] = pframe(1-pframe) P[#retr = 2] = p2frame(1-pframe) P[#retr = m] = pmframe(1-pframe)

  9. 2. Parameters (4): #transmissies P[#tr = m] = pm-1frame(1-pframe) , m > 0 P[#retr = m] = pmframe(1-pframe) E[#tr] = Σm>0m P[#tr = m] E[#retr] = E[#tr] - 1

  10. tijd nodig om k bits te zenden η = gemiddelde transmissietijd per correct ontvangen frame 3. Efficiëntie (1)  tijd tot ACK  tijd tot zender volgend frame begint te zenden = gemiddelde tijd tot ontvanger volgende frame zal onderzoeken protocolafhankelijk notatie : E[Ttr]

  11. 3. Efficiëntie (2): maximaal tijd nodig om k bits te zenden η = gemiddelde transmissietijd per correct ontvangen frame k / Rb ηmax = = k / n n / Rb

  12. 4. Basisprotocols (1) 3 protocols : S&W, GBN, SR efficiëntie bepalen invloed van de parameters

  13. 4. Basisprotocols (2): Stop-And-Wait Td Tx 1 1 2 NAK ACK 1 1 2 Rx Ttr Ttr = #tr . (n / Rb + Td) (in seconden)

  14. Efficiëntie: (Rb / n) k / Rb k / Rb h = = E[Ttr] E[#tr] (n/Rb + Td) (Rb / n) k hS&W = nE[#tr] (1 + s) k (1 - pframe) hS&W = n(1 + s) 4. Basisprotocols (3): Stop-And-Wait s = Td Rb / n = dode tijd in frameduren

  15. 4. Basisprotocols (4): Stop-And-Wait s 1 Tx 1 1 2 ACK NAK 1 1 2 Rx Ttr Ttr = #tr . (1+s) (in frameduren)

  16. voor alle protocols Ttr = #tr . (1+s) (in frameduren) 4. Basisprotocols (5): Stop-And-Wait k h= n E[Ttr] vanaf nu dus steeds Ttr in frameduren

  17. 4. Basisprotocols (6): Go-Back-N 1 + s = N s 1 s NAK NAK ACK Ttr s = dode tijd in frames s = ceil(s) = dode tijd in frames, afgerond naar boven N := 1 + s hGBN =? Ttr = N(#tr - 1) + 1 = N#retr + 1 Ttr = s (#tr - 1) + #tr

  18. Opmerking: Ttr = s(2) + 3 Ttr = s(0) + 1 s s 1 NAK NAK ACK 4. Basisprotocols (7): Go-Back-N Ttr = s (#tr - 1) + #tr

  19. 4. Basisprotocols (8): Go-Back-N k k (1 - pframe) ηGBN = = nE[Ttr] n (1 + pframes ) k (1 - pframe) •  < k/n als pframe 0 • half duplex ηS&W = n(1 + s) E[Ttr] = ( N + 1) Ttr = (N(#tr-1)+1) •  k/n als pframe 0 • full duplex

  20. 4. Basisprotocols (10): Selective Repeat NAK k hSR = = k(1 - pframe)/n n E[#tr] Tx zendt zonder onderbreking bij NAK: 1 frame herzenden Tx: buffer van grootte N Rx: buffer van grootte   enkel van theoretisch belang

  21. 4. Basisprotocols (11): Selective Repeat Zendvenster Doel flow control: Tx zorgt ervoor dat Rx-buffer niet overloopt Methode Tx-buffer van grootte K Beschrijving Tx beperkt het aantal frames waarvoor nog geen ACK ontvangen is tot K

  22. 1+s K 1+s K 4. Basisprotocols (12): Selective Repeat Zendvenster: grootte • Gevallen • K=1 : S&W • K < 1 + s • K  1 + s dode tijd  η daalt tov basisprotocols (SR, GBN) neem K = 1 + s η zelfde als basisversies # frames in Tx-buffer nooit > 1+ s

  23. 1+s K R NAK NAK ACK k K (1 - pframe) ηSR,K = n (1+s) 4. Basisprotocols (12): Selective Repeat Zendvenster: Efficiëntie enkel voor het geval SR, K < 1 + s duur in frames stel R = 1 + s - K 1 + R/K 3 + 3*R/K R wordt gedeeld door K frames Ttr = #tr (1 + R/K)

  24. 5. Varianten van basisprotocols (1) 3 belangrijke methoden op de efficiëntie te berekenen:

  25. 5. Varianten van basisprotocols (2) 1) T uitdrukken als functie van vereiste aantal verstuurde copieën (#tr_frame) van een frame. E[#tr_frame] = 1/(1-p); E[#tr_frame - 1] = p/(1-p);

  26. 5. Varianten van basisprotocols (3) 2) Na een eerste foutieve kopie komt het protocol opnieuw in de beginsituatie Stel T(k) = transmissietijd die correspondeert met #tr_frame = k (k = 1, 2, ...)

  27. 5. Varianten van basisprotocols (4) Gevr.: bepaal T(1) en ΔT voor de driebasisprotocols Met: T(1) tijd nodig voor eerste frame T tijd nodig om terug in beginsituatie te komen (onafh van k)

  28. 5. Varianten van basisprotocols (5) 3) Herformuleer de algemene formule na het opstellen van een tabel voor k (d.w.z. #tr_frame=k) en T(k) de corresponderende tijd

  29. S&W - begrippen 5. Varianten van basisprotocols (6) • Definities en eigenschappen • blok = m * zelfde frame • pblok = P[fout in alle frames van het blok] • = P[frame1 fout  frame2 fout  …  framem fout] • = P[frame1 fout]…P[framem fout] • = pframem • #tr_blok = # keer zelfde blok doorsturen • P[#tr_blok = i] = (1 - pblok)pbloki-1 • E[#tr_blok] = 1/(1-pblok)

  30. S&W – variant 1 5. Varianten van basisprotocols (7) m T NAK NAK ACK E[T]=(m + s) / (1-pmframe)

  31. S&W – variant 3 ACK NAK NAK 5. Varianten van basisprotocols (8) m s E[T] = Σk≥1T(k) P[#tr_frame = k] E[T] = P[#tr_frame = 1] T(1) + P[#tr_frame ≠ 1] E[T|#tr_frames ≠ 1] E[T] = (1-pframe) (1+s)+ pframe [(1+s)+(m+s) E[#tr_blokken|#tr_frames ≠ 1]] met E[#tr_blokken|#tr_frames ≠ 1] = 1/(1-pmframe) E[T]=(1 + s) + pframe.(m+s)/ (1-pmframe)

  32. GBN – variant 1 5. Varianten van basisprotocols (9)

More Related