The Problem: Reliable Transport Protocol
The Problem: Reliable Transport Protocol
The Problem
                                                                                                                          •  Given: Best-effort network in which
                                                                                                                                 –      Packets may be lost arbitrarily
                                                                                                                                 –      Packets may be reordered arbitrarily
                                                                                                                                 –      Packet delays are variable (queueing)
                                                                                                                                 –      Packets may even be duplicated
6.02 Fall 2012 Lecture 21, Slide #1 6.02 Fall 2012 Lecture 21, Slide #2
                                                                                              R TT = round-trip time
      – Periodically check un-ACKed list for packets sent awhile ago
             •  Retransmit, update xmit time in case we have to do it again!                                                              2
                                                                                                                                  ACK                 Timeout      Data
             •  “awhile ago”: xmit time < now  timeout                                                                                                                 1
                                                                                                                                     Data            Retransmit
                                                                                                                                          3
                                                                                                                                                                                               Data
•  Receiver                                                                                                                                                                    1
                                                                                                                                                                                                    1
                                                                                                                                      3                                 ACK
      – Send ACK for each received packet, reference sequence number                                                              ACK
      – Deliver packet payload to application
                                                                                                                                                                                                                            1
                                                                                                                                                                                          11/28/12
6.02 Fall 2012 Lecture 21, Slide #5 6.02 Fall 2012 Lecture 21, Slide #6
                                                                                                                                                                                                2
                                                                                                                                                                    11/28/12
                                                                                                                                                   Receiver
                                                                                        Sender1                  Sender s window size = 5
                   Sliding Window in Action                                                   2                                                     ACKs
                                                                                              3                                                     1
                 window = 2-6
                 window = 3-7                                                                 4                                                     2
                                                                                              5                                                     3
             1   2 3 4 5 6 7
                                                                                                                                                    4
                                                                                                                                                    5
Sndr
                                                                                                     6
                      a1 a2 a3                                                                       7
                                                                                                     8                                              6
                                                                                                     9                    XPacket lost              7
                                                                                           TIMEOUT   10
                                                                                                     1
Rcvr                                                                                                                                               9
                  p1 p2 p3                                                                                                                         10
                                                                                                                                                   1
                                                                                                     1
                                                                                                     11
        Window definition: If window is W, then max number of                                        1
                                                                                                     12
                    unacknowledged packets is W
                                                                                                                                                   11
                                                                                                     1
                                                                                                     133                                           12
                                                                                        RXMIT
                     This is a fixed-size sliding window                                              8
                                                                                                     144                                           13
6.02 Fall 2012                                                  Lecture 21, Slide #11       6.02 Fall 2012
                                                                                                       012
                                                                                                         2                                  Lecture
                                                                                                                                            Lectu
                                                                                                                                            Lect
                                                                                                                                            L      8
                                                                                                                                               turre
                                                                                                                                               tu  e 21,
                                                                                                                                                     2 Slide #12
                                                                                                                                                                          3
                                                                                                                                                                                                                                    11/28/12
RTT Measurements
                           Courtesy of the Cooperative Association for Internet Data Analysis. Used with permission.                                http://nms.csail.mit.edu/papers/index.php?detail=208
                                                                                                                              © Association for Computing Machinery. All rights reserved. This content is excluded from our
                                                                                                                              Creative Commons license. For more information, see http://ocw.mit.edu/fairuse.
                   6.02 Fall 2012                                                                     Lecture 21, Slide #15       6.02 Fall 2012                                                            Lecture 21, Slide #16
                                                                                                                                                                                                                                          4
                                                                                                                                                                                                    11/28/12
                                                                                                   	
                                                                                                                                                                                   	
                                                                     17            Time (s)
               6.02 Fall 2012                                              Lecture 21, Slide #17               6.02 Fall 2012                                               Lecture 21, Slide #18
 CDF of RTT over Verizon Wireless 3G Network                                                                                     Estimating RTT from Data
Cumulative probability (CDF)
                                                                                                               •  Gather samples of RTT by comparing time when ACK arrives
                                                                                                                  with time corresponding packet was transmitted
                                                                                                                     – Sample of random variable with some unknown distribution (not
                                                                                                                       necessarily Gaussian!)
6.02 Fall 2012 Lecture 21, Slide #19 6.02 Fall 2012 Lecture 21, Slide #20
                                                                                                                                                                                                          5
                                                                                                                                                                          11/28/12
α decreases
                                                                                                   α = 0.1                                  α = 0.5
                                                                                                                                    Responds too quickly?
6.02 Fall 2012 Lecture 21, Slide #23 6.02 Fall 2012 Lecture 21, Slide #24
                                                                                                                                                                                6
MIT OpenCourseWare
http://ocw.mit.edu
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.