home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_s_z / draft-shepard-tcp-4-packets-3-buff-00.txt < prev    next >
Text File  |  1997-07-31  |  10KB  |  280 lines

  1.  
  2.  
  3. draft-shepard-tcp-4-packets-3-buff-00.txt                    Tim Shepard
  4. Internet Draft                                           Craig Partridge
  5.                                                         BBN Technologies
  6.                                                                July 1997
  7.  
  8. This Internet Draft expires February 4, 1998.
  9.  
  10.  
  11.  
  12.       When TCP Starts Up With Four Packets Into Only Three Buffers
  13.  
  14.  
  15. Status of this Memo
  16.  
  17.    This document is an Internet-Draft.  Internet-Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its areas,
  19.    and its working groups.  Note that other groups may also distribute
  20.    working documents as Internet-Drafts.
  21.  
  22.    Internet-Drafts are draft documents valid for a maximum of six months
  23.    and may be updated, replaced, or obsoleted by other documents at any
  24.    time.  It is inappropriate to use Internet-Drafts as reference
  25.    material or to cite them other than as "work in progress."
  26.  
  27.    To view the entire list of current Internet-Drafts, please check the
  28.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  29.    Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe),
  30.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  31.    ftp.isi.edu (US West Coast).
  32.  
  33.    This memo provides information for the Internet community.  This memo
  34.    does not specify an Internet standard of any kind. Distribution of
  35.    this memo is unlimited.
  36.  
  37. Background and Abstract
  38.  
  39.    Sally Floyd has proposed that TCPs start their initial slow start by
  40.    sending as many as four packets (instead of the usual one packet) as
  41.    a means of getting TCP up-to-speed faster.  (Slow starts instigated
  42.    due to timeouts would still start with just one packet.)  Starting
  43.    with more than one packet might reduce the start-up latency over
  44.    long-fat pipes by two round-trip times.  This proposal is documented
  45.    further in [1] and in [2] and we assume the reader is familiar with
  46.    the details of this proposal.
  47.  
  48.    On the end2end-interest mailing list, concern was raised that in the
  49.    (allegedly common) case where a slow modem is served by a router
  50.    which only allocates three buffers per modem (one buffer being
  51.  
  52.  
  53.  
  54. Shepard & Partridge                                             [Page 1]
  55.  
  56. draft-shepard-tcp-4-packets-3-buff-00.txt                      July 1997
  57.  
  58.  
  59.    transmitted while two packets are waiting), that starting with four
  60.    packets would not be good because the fourth packet is sure to be
  61.    dropped.
  62.  
  63.    Vern Paxson replied with the comment (among other things) that the
  64.    four-packet start is no worse than what happens after two round trip
  65.    times in normal slow start, hence no new problem is introduced by
  66.    starting with as many as four packets.   If there is a problem with a
  67.    four-packet start, then the problem already exists in a normal slow-
  68.    start startup after two round trip times when the slow-start
  69.    algorithm will release into the net four closely spaced packets.
  70.  
  71.    This memo is to document that in the case of a 9600 bps modem at the
  72.    edges of a fast Internet where there are only 3 buffers before the
  73.    modem (and the fourth packet of a four-packet start will surely be
  74.    dropped), no significant degradation in performance is experienced
  75.    with a four-packet start when compared with a normal slow start
  76.    (which starts with one packet).
  77.  
  78. Scenario and experimental setup
  79.  
  80.    The scenario studied and simulated consists of three links between
  81.    the source and sink.  The first link is a 100 Mbps link with no
  82.    delay. (It was included to have a means of logging the returning ACKs
  83.    at the time they would be seen by the sender.)  The second link is a
  84.    1.5 Mbps link with a 25 ms one-way delay.  The third link is a 9600
  85.    bps link with a 150 ms one-way delay.  The queue limits for the
  86.    queues at each end of the first two links were set to 100 (a value
  87.    sufficiently large that this limit was never a factor).  The queue
  88.    limits at each end of the 9600 bps link were set to 3 packets (which
  89.    can hold at most two packets while one is being sent).
  90.  
  91.    Version 1.2a2 of the the NS simulator (available from LBL) was used
  92.    to simulate both one-packet and four-packet starts for each of the
  93.    available TCP alogorithms (tahoe, reno, sack, fack) and the
  94.    conclusion reported here is independent of which TCP algorithm is
  95.    used (in general, we believe).  The "tahoe" module will be used to
  96.    illustrate what happens in this memo.  In the 4-packet start cases,
  97.    the "window-init" variable was set to 4, and the TCP implementations
  98.    were modified to use the value of the window-init variable only on
  99.    connection start, but to set cwnd to 1 on other instances of a slow-
  100.    start. (The tcp.cc module as shipped with ns-1.2a2 would use the
  101.    window-init value in all cases.)
  102.  
  103.    The packets in simulation are 1024 bytes long for purposes of
  104.    determining the time it takes to transmit them through the links.
  105.    (The TCP modules included with the LBL NS simulator do not simulate
  106.    the TCP sequence number mechanisms.  They use just packet numbers.)
  107.  
  108.  
  109.  
  110. Shepard & Partridge                                             [Page 2]
  111.  
  112. draft-shepard-tcp-4-packets-3-buff-00.txt                      July 1997
  113.  
  114.  
  115.    Observations are made of all packets and acknowledgements crossing
  116.    the 100 Mbps no-delay link.  (All descriptions below are from this
  117.    point of view.)
  118.  
  119. What happens with normal slow start
  120.  
  121.    At time 0.0 packet number 1 is sent.
  122.  
  123.    At time 1.222 an ack is received covering packet number 1, and
  124.    packets 2 and 3 are sent.
  125.  
  126.    At time 2.444 an ack is received covering packet number 2, and
  127.    packets 4 and 5 are sent.
  128.  
  129.    At time 3.278 an ack is received covering packet number 3, and
  130.    packets 6 and 7 are sent.
  131.  
  132.    At time 4.111 an ack is received covering packet number 4, and
  133.    packets 8 and 9 are sent.
  134.  
  135.    At time 4.944 an ack is received covering packet number 5, and
  136.    packets 10 and 11 are sent.
  137.  
  138.    At time 5.778 an ack is received covering packet number 6, and
  139.    packets 12 and 13 are sent.
  140.  
  141.    At time 6.111 a duplicate ack is recieved (covering packet number 6).
  142.  
  143.    At time 7.444 another duplicate ack is received (covering packet
  144.    number 6).
  145.  
  146.    At time 8.278 a third duplicate ack is received (covering packet
  147.    number 6) and packet number 7 is retransmitted.
  148.  
  149.    (And the trace continues...)
  150.  
  151. What happens with a four-packet start
  152.  
  153.    At time 0.0, packets 1, 2, 3, and 4 are sent.
  154.  
  155.    At time 1.222 an ack is received covering packet number 1, and
  156.    packets 5 and 6 are sent.
  157.  
  158.    At time 2.055 an ack is received covering packet number 2, and
  159.    packets 7 and 8 are sent.
  160.  
  161.    At time 2.889 an ack is received covering packet number 3, and
  162.    packets 9 and 10 are sent.
  163.  
  164.  
  165.  
  166. Shepard & Partridge                                             [Page 3]
  167.  
  168. draft-shepard-tcp-4-packets-3-buff-00.txt                      July 1997
  169.  
  170.  
  171.    At time 3.722 a duplicate ack is received (covering packet number 3).
  172.  
  173.    At time 4.555 another duplicate ack is received (covering packet
  174.    number 3).
  175.  
  176.    At time 5.389 a third duplicate ack is received (covering packet
  177.    number 3) and packet number 4 is retransmitted.
  178.  
  179.    (And the trace continues...)
  180.  
  181. Discussion
  182.  
  183.    At the point left off in the two traces above, the two different
  184.    systems are in almost identical states.  The two traces from that
  185.    point on are almost the same, modulo a shift in time of (8.278 -
  186.    5.389) = 2.889 seconds and a shift of three packets.  If the normal
  187.    TCP (with the one-packet start) will deliver packet N at time T, then
  188.    the TCP with the four-packet start will deliver packet N - 3 at time
  189.    T - 2.889 (seconds).
  190.  
  191.    Note that the time to send three 1024-byte TCP segments through a
  192.    9600 bps modem is 2.66 seconds.  So at what time does the four-
  193.    packet-start TCP deliver packet N?  At time T - 2.889 + 2.66 = T -
  194.    0.229 in most cases, and in some cases earlier, in some cases later,
  195.    because different packets (by number) experience loss in the two
  196.    traces.
  197.  
  198.    Thus the four-packet-start TCP is in some sense 0.229 seconds (or
  199.    about one fifth of a packet) ahead of where the one-packet-start TCP
  200.    would be.  (This is due to the extra time the modem sits idle while
  201.    waiting for the dally timer to go off in the receiver in the case of
  202.    the one-packet-start TCP.)
  203.  
  204.    The states of the two systems are not exactly identical.  They differ
  205.    slightly in the round-trip-time estimators because the behavior at
  206.    the start is not identical. (The observed round trip times may differ
  207.    by a small amount due to dally timers and due to that the one-packet
  208.    start experiences more round trip times before the first loss.)  In
  209.    the cases where a retransmit timer did later go off, the additional
  210.    difference in timing was much smaller than the 0.229 second
  211.    difference discribed above.
  212.  
  213. Conclusion
  214.  
  215.    In this particular case, the four-packet start is not harmful.
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222. Shepard & Partridge                                             [Page 4]
  223.  
  224. draft-shepard-tcp-4-packets-3-buff-00.txt                      July 1997
  225.  
  226.  
  227. Non-conclusions, opinions, and future work
  228.  
  229.    A four-packet start would be very helpful in situations where a long-
  230.    delay link is involved (as it would reduce transfer times for
  231.    moderately-sized transfers by as much as two round-trip times).  But
  232.    it remains (in the authors' opinions at this time) an open question
  233.    whether or not the four-packet start would be safe for the network.
  234.  
  235.    It would be nice to see if this result could be duplicated with real
  236.    TCPs, real modems, and real three-buffer limits.
  237.  
  238. References
  239.  
  240. 1.   S. Floyd, Increasing TCP's Initial Window (January 29, 1997). URL
  241.      ftp://ftp.ee.lbl.gov/papers/draft.jan29.
  242.  
  243. 2.   S. Floyd and M. Allman, Increasing TCP's Initial Window (July,
  244.      1997). URL http://gigahertz.lerc.nasa.gov/~mallman/share/draft-
  245.      ss.txt (To be submitted as an Internet Draft).
  246.  
  247. Authors' Addresses:
  248.  
  249.    Tim Shepard, Craig Partridge
  250.    BBN Technologies
  251.    10 Moulton Street
  252.    Cambridge, MA 02138
  253.  
  254.    shep@bbn.com, craig@bbn.com
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278. Shepard & Partridge                                             [Page 5]
  279.  
  280.