The Data Link Layer: Automatic Repeat Request Protocols

The Data Link Layer: Automatic Repeat Request Protocols

16.36: Communication Systems and Networks Lecture 19 - The Data Link Layer: Automatic Repeat Request Protocols Igor Kadota and Eytan Modiano Laboratory for Information and Decision Systems Massachusetts Institute of Technology Eytan Modiano Slide 1 Cambridge, May 2, 2019 Two Generals’ Problem A1 B A2 Eytan Modiano Slide 2 Two Generals’ Problem General 1 Message ACK ACK time Enemy (p=0.01) … ACK ACK ACK time General 2 Infinite handshakes are needed for both Generals to be sure that a consensus was reached. Eytan Modiano Slide 3 One General Problem General 1 Message time Enemy (p=0.01) ACK time General 2 Only 2 handshakes are needed for General 1 to be sure about the reception of the message. Eytan Modiano Slide 4 Automatic Repeat ReQuest (ARQ) • Transmission with ACK • Error detection (CRC) • Error recovery with ARQ: – request retransmission of packets received with error • Three common schemes – Stop & Wait – Go Back N – Selective Repeat Protocol (SRP) Eytan Modiano Slide 5 ARQ Protocols: Stop & Wait Eytan Modiano Slide 6 Stop and Wait Protocol Packet 1 Packet 2 Requested Requested Transmitter Sends 0 1 packet 1 2 time Sequence Number (SN) Unreliable Channel time Request Number 1 ACK for packet 0 2 (RN) is the same as PACKET Receiver Request for packet 1 Packet 0 Packet 1 ACK Accepted Accepted Eytan Modiano Slide 7 Stop and Wait Protocol Packet 1 Packet 1 Requested Requested 0 1 1 time Error time 1 1 Timeout Retransmit the request Packet 0 for packet 1after timeout Accepted Eytan Modiano Slide 8 Stop and Wait Protocol Packet 1 Retransmit the same Requested packet after timeout Timeout 0 0 1 time Error time 1 1 Packet 0 NOT accepted Packet 0 Receiver does not accept repeated packets Accepted The receiver resend the ACK Eytan Modiano Slide 9 Stop and Wait Protocol: Exercise 0 ? ? time time ? ? ? Timeout Packet ? Packet ? Accepted Accepted Eytan Modiano Slide 10 Stop and Wait Protocol: Exercise 0 time time Timeout Packet Packet Accepted Accepted Eytan Modiano Slide 11 Stop and Wait Protocol - Algorithm Algorithm at sender: (with initial condition SN=0) 1) Accept packet from higher layer when available; Then, assign number SN to the packet 2) Transmit packet SN 3) Wait for an error free ACK from B i. if received and it contains RN>SN in the request # field, set SN to RN and go to 1 ii. if not received within given timeout (TO), go to 2 Eytan Modiano Slide 12 Stop and Wait Protocol - Algorithm Algorithm at receiver: (with initial condition RN=0) 1) Whenever an error-free packet is received from A with a SN equal to RN, release received packet to higher layer and increment RN. 2) At arbitrary times, but within bounded delay after receiving any error_free frame from A, transmit a frame to A containing RN in the request # field. Eytan Modiano Slide 13 Stop and Wait Protocol • Packet numbering: – Sender: Sequence Numbers (SN) – Receiver: Request Numbers (RN) RN = j is the same as an ACK for packet j-1 • Sender transmits one packet at a time and waits for the respective ACK – Idle while waiting for ACK – Retransmits the packet after a timeout (TO) • Receiver only ACKnowledges the packet it requested – Retransmits the last ACK after a timeout (TO) • Does this mechanism work? Eytan Modiano Slide 14 Correctness of Stop and Wait • Informal proof that Stop and Wait is correct. • Correct: a never-ending stream of packets can be delivered to B, in order and without repetitions or deletions. • Proof is break into two parts: safety and liveness. – Safe: algorithm never produces an incorrect result – Live: it can continue forever (no deadlock) • Assumptions: – Errors are detected by the CRC; – There is a probability > 0 that each frame is received with no errors; – Link is initially empty; – Transmitter has SN=0 and receiver is awaiting the packet with SN=0. Eytan Modiano Slide 15 Correctness of Stop and Wait • SAFETY: show that no packet is ever released out of order or more than once – Start with packet ‘0’ and receiver does not increment its RN until ‘0’ is received; upon which it can only accept packet ‘1’, etc. • LIVENESS: show that every packet is eventually released – The sender keeps sending a packet until it gets an ACK, so eventually every packet is correctly received Note on packet numbering: packets are numbered modulo 2 (0 or 1) • At any time, the received packet can only be RN or RN-1. • Mod 2 numbering can be used to distinguish between these packets. Eytan Modiano Slide 16 Numbering – Mod 2 Timeout 0 0 1 1 time Sequence Number (SN) time Request Number 1 Packet 1 1 Packet 1 0 Packet 0 (RN) requested requested requested Packet 0 NOT accepted. Packet 0 Receiver does not accept Packet 1 accepted repeated packets. accepted The receiver resend the ACK Eytan Modiano Slide 17 Efficiency of Stop and Wait High efficiency When? Example? 0 time DTP = S S = D + D + D + D TP P A P time 1 D = Packet time DTA DTP= propagation time D = ACK time Eytan Modiano P Slide 18 A Efficiency of Stop and Wait – Examples • 56kbps modem – Low propagation delay environment, distance = 5 miles ~ 8km 8 Dp = 8km / 3x10 = 27μs – R = 56,000bps; Packet length = 1000 bits; ACK= 50 bits DTP = 17857 μs ; DTA = 893 μs S = 18804⇒ μs Efficiency = 17857/18804 ~ 95% ⇒ • High Speed Metropolitan Area Network – R = 100Mbps, distance = 100 miles ~ 160km -5 -7 -4 DTP = 10 seconds, DTA = 5x10 seconds, Dp = 5x10 seconds S⇒ = 10-3 seconds Efficiency = 10-5/10-3 = 1% ⇒ Eytan Modiano Slide 19 Efficiency of Stop and Wait with Errors Let P = the probability of an error in the transmission of a packet or in its acknowledgment S A packet No Error: ACK B DTP DP DP DTA TO A packet Error: ACK B Eytan Modiano Slide 20 Efficiency of Stop and Wait with Errors Let P = the probability of an error in the transmission of a packet or in its acknowledgment S = DTP + 2DP + DTA TO = the timeout interval X = the amount of time that it takes to transmit a packet and receive its ACK. This time accounts for retransmissions due to errors = + # of errors = + ∗ /(1 ) Efficiency = ∗ / [−] Eytan Modiano Slide 21 Efficiency of Stop and Wait Low efficiency How to solve? 0 time DTP = time 1 PACKET Round-trip time: S ACK Eytan Modiano Slide 22 ARQ Protocols: Go Back-N Eytan Modiano Slide 23 Go Back N – Efficiency Packet 1 Requested = 1 0 time DTP = time 1 Round-trip time: S Supposing there are no Eytan Modiano transmission errors Slide 24 Go Back N – Efficiency Packet 1 Requested = 2 0 1 time DTP 2 = time 1 2 Round-trip time: S Supposing there are no Eytan Modiano transmission errors Slide 25 Go Back N – Efficiency Packet 1 Requested = 6 0 1 2 3 4 5 time DTP = min , 1 time 1 2 3 4 5 6 Round-trip time: S The entire time-interval was Eytan Modiano utilized for transmitting data Slide 26 Go Back N – Sliding Window • Go Back N or Sliding Window Protocol • Window size = N – Sender can transmit up to N packets without ACKnowledgement – Packet i+N cannot be transmitted before receiving the ACK with RN=i+1 – Window ranges from the last value of RN obtained from the receiver (denoted SNmin) to SNmin+N-1 Receiver does NOT change. Receiver operates like in Stop and Wait. – Receive packets in order. Accepts ONLY the packet with SN=RN – Send RN = RN + 1 ACK for all packets up to and including i ⇒ Eytan Modiano Slide 27 Go Back N – Sliding Window Sender Max ACK received SNmin Next seqnum SNmax Sender window SNmin to SNmin+N-1 Sent & Acked Sent Not Acked OK to Send Not OK to Send (out of range) Eytan Modiano Slide 28 Go Back N – Sliding Window – Example For = 6 High efficiency when no error occurs Window [0,5] [1,6] [2,7] … 0 1 2 3 4 5 6 time time 1 2 3 4 5 6 Eytan Modiano Slide 29 Go Back N – Sliding Window – Example For = 3 Had to retransmit the entire window due to the low N Window [0,2] [1,3] [2,4] [3,5] … 0 1 2 0 1 2 3 4 time time 1 2 3 3 3 3 Eytan Modiano Slide 30 Example of Go Back 7 ARQ Bi-directional traffic and piggyback <--Frame Header ---------> SN RN Packet CRC Eytan Modiano Slide 31 Example of Go Back 7 ARQ ? ? ? ? ? ? ? ? Packets are being transmitted in both directions. Every packet has a Sequence Number. Request Numbers are piggybacked. Suppose node A (transmitter) starts with SN=0 and node B (receiver) starts with RN=0. Eytan Modiano What are the missing values? Slide 32 Example of Go Back 7 ARQ Eytan Modiano Slide 33 Example of Go Back 4 with Error • Entire window has to be retransmitted after a forward error. • Larger N, helps or makes it worse? Eytan Modiano Slide 34 Example of Go Back 4 with (Reverse) Error • When an error occurs in the reverse direction the ACK may still arrive in time. • Packet 2 is retransmitted because RN = 4 did not arrive in time, however it did arrive in time to prevent retransmission of packet 3. Eytan Modiano Slide 35 • Larger N, helps? Example of Go Back 4 with Long Frames • Long frames in feedback direction slow down the ACKs. • This can cause retransmissions. • Larger N, helps? Eytan Modiano Slide 36 Efficiency of Go Back N N*DTP S S = DTP + 2DP + DTA A packet packet packet packet B ACK D D TP P DP DTA • We want to choose N large enough to allow continuous transmission while waiting for an ACK for the first packet of the window, N > S/ DTP • Without errors the efficiency of Go Back N is, Eytan Modiano E = min{1, N*D /S} Slide 37 TP Exercise • High-speed DSL Modem – R = 10Mbps, Packet = 1000 bits, ACK = 1000 bits, Dp = 100μs -4 -4 – DTP = DTA = Dp = 10 seconds S = 4x10 seconds – Efficiency for N = 1? ⇒ – Min N such that Efficiency = 100%? • Geo satellite link -3 – R = 1Mbps DTP = DTA = 10 seconds – Dp = 0.12 sec⇒ S = 0.242 second – Efficiency for ⇒N = 1? – Min N such that Efficiency = 100%? Eytan Modiano Slide 38 Efficiency of Go Back N with Errors Assume: TO = N*DTP P = prob.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    49 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us