home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- Network Working Group T. Shepard
- Request for Comments: 2416 C. Partridge
- Category: Informational BBN Technologies
- September 1998
-
-
- When TCP Starts Up With Four Packets Into Only Three Buffers
-
- Status of this Memo
-
- This memo provides information for the Internet community. It does
- not specify an Internet standard of any kind. Distribution of this
- memo is unlimited.
-
- Copyright Notice
-
- Copyright (C) The Internet Society (1998). All Rights Reserved.
-
- Abstract
-
- This memo is to document a simple experiment. The experiment showed
- that in the case of a TCP receiver behind a 9600 bps modem link at
- the edge of a fast Internet where there are only 3 buffers before the
- modem (and the fourth packet of a four-packet start will surely be
- dropped), no significant degradation in performance is experienced by
- a TCP sending with a four-packet start when compared with a normal
- slow start (which starts with just one packet).
-
- Background
-
- Sally Floyd has proposed that TCPs start their initial slow start by
- sending as many as four packets (instead of the usual one packet) as
- a means of getting TCP up-to-speed faster. (Slow starts instigated
- due to timeouts would still start with just one packet.) Starting
- with more than one packet might reduce the start-up latency over
- long-fat pipes by two round-trip times. This proposal is documented
- further in [1], [2], and in [3] and we assume the reader is familiar
- with the details of this proposal.
-
- On the end2end-interest mailing list, concern was raised that in the
- (allegedly common) case where a slow modem is served by a router
- which only allocates three buffers per modem (one buffer being
- transmitted while two packets are waiting), that starting with four
- packets would not be good because the fourth packet is sure to be
- dropped.
-
-
-
-
-
-
- Shepard & Partridge Informational [Page 1]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- Vern Paxson replied with the comment (among other things) that the
- four-packet start is no worse than what happens after two round trip
- times in normal slow start, hence no new problem is introduced by
- starting with as many as four packets. If there is a problem with a
- four-packet start, then the problem already exists in a normal slow-
- start startup after two round trip times when the slow-start
- algorithm will release into the net four closely spaced packets.
-
- The experiment reported here confirmed Vern Paxson's reasoning.
-
- Scenario and experimental setup
-
-
- +--------+ 100 Mbps +---+ 1.5 Mbps +---+ 9600 bps +----------+
- | source +------------+ R +-------------+ R +--------------+ receiver |
- +--------+ no delay +---+ 25 ms delay +---+ 150 ms delay +----------+
-
- | |
- | |
- (we spy here) (this router has only 3 buffers
- to hold packets going into the
- 9600 bps link)
-
- The scenario studied and simulated consists of three links between
- the source and sink. The first link is a 100 Mbps link with no
- delay. It connects the sender to a router. (It was included to have
- a means of logging the returning ACKs at the time they would be seen
- by the sender.) The second link is a 1.5 Mbps link with a 25 ms
- one-way delay. (This link was included to roughly model traversing
- an un-congested, intra-continental piece of the terrestrial
- Internet.) The third link is a 9600 bps link with a 150 ms one-way
- delay. It connects the edge of the net to a receiver which is behind
- the 9600 bps link.
-
- The queue limits for the queues at each end of the first two links
- were set to 100 (a value sufficiently large that this limit was never
- a factor). The queue limits at each end of the 9600 bps link were
- set to 3 packets (which can hold at most two packets while one is
- being sent).
-
- Version 1.2a2 of the the NS simulator (available from LBL) was used
- to simulate both one-packet and four-packet starts for each of the
- available TCP algorithms (tahoe, reno, sack, fack) and the conclusion
- reported here is independent of which TCP algorithm is used (in
- general, we believe). In this memo, the "tahoe" module will be used
- to illustrate what happens. In the 4-packet start cases, the
- "window-init" variable was set to 4, and the TCP implementations were
- modified to use the value of the window-init variable only on
-
-
-
- Shepard & Partridge Informational [Page 2]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- connection start, but to set cwnd to 1 on other instances of a slow-
- start. (The tcp.cc module as shipped with ns-1.2a2 would use the
- window-init value in all cases.)
-
- The packets in simulation are 1024 bytes long for purposes of
- determining the time it takes to transmit them through the links.
- (The TCP modules included with the LBL NS simulator do not simulate
- the TCP sequence number mechanisms. They use just packet numbers.)
-
- Observations are made of all packets and acknowledgements crossing
- the 100 Mbps no-delay link, near the sender. (All descriptions below
- are from this point of view.)
-
- What happens with normal slow start
-
- At time 0.0 packet number 1 is sent.
-
- At time 1.222 an ack is received covering packet number 1, and
- packets 2 and 3 are sent.
-
- At time 2.444 an ack is received covering packet number 2, and
- packets 4 and 5 are sent.
-
- At time 3.278 an ack is received covering packet number 3, and
- packets 6 and 7 are sent.
-
- At time 4.111 an ack is received covering packet number 4, and
- packets 8 and 9 are sent.
-
- At time 4.944 an ack is received covering packet number 5, and
- packets 10 and 11 are sent.
-
- At time 5.778 an ack is received covering packet number 6, and
- packets 12 and 13 are sent.
-
- At time 6.111 a duplicate ack is recieved (covering packet number 6).
-
- At time 7.444 another duplicate ack is received (covering packet
- number 6).
-
- At time 8.278 a third duplicate ack is received (covering packet
- number 6) and packet number 7 is retransmitted.
-
- (And the trace continues...)
-
- What happens with a four-packet start
-
- At time 0.0, packets 1, 2, 3, and 4 are sent.
-
-
-
- Shepard & Partridge Informational [Page 3]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- At time 1.222 an ack is received covering packet number 1, and
- packets 5 and 6 are sent.
-
- At time 2.055 an ack is received covering packet number 2, and
- packets 7 and 8 are sent.
-
- At time 2.889 an ack is received covering packet number 3, and
- packets 9 and 10 are sent.
-
- At time 3.722 a duplicate ack is received (covering packet number 3).
-
- At time 4.555 another duplicate ack is received (covering packet
- number 3).
-
- At time 5.389 a third duplicate ack is received (covering packet
- number 3) and packet number 4 is retransmitted.
-
- (And the trace continues...)
-
- Discussion
-
- At the point left off in the two traces above, the two different
- systems are in almost identical states. The two traces from that
- point on are almost the same, modulo a shift in time of (8.278 -
- 5.389) = 2.889 seconds and a shift of three packets. If the normal
- TCP (with the one-packet start) will deliver packet N at time T, then
- the TCP with the four-packet start will deliver packet N - 3 at time
- T - 2.889 (seconds).
-
- Note that the time to send three 1024-byte TCP segments through a
- 9600 bps modem is 2.66 seconds. So at what time does the four-
- packet-start TCP deliver packet N? At time T - 2.889 + 2.66 = T -
- 0.229 in most cases, and in some cases earlier, in some cases later,
- because different packets (by number) experience loss in the two
- traces.
-
- Thus the four-packet-start TCP is in some sense 0.229 seconds (or
- about one fifth of a packet) ahead of where the one-packet-start TCP
- would be. (This is due to the extra time the modem sits idle while
- waiting for the dally timer to go off in the receiver in the case of
- the one-packet-start TCP.)
-
- The states of the two systems are not exactly identical. They differ
- slightly in the round-trip-time estimators because the behavior at
- the start is not identical. (The observed round trip times may differ
- by a small amount due to dally timers and due to that the one-packet
- start experiences more round trip times before the first loss.) In
- the cases where a retransmit timer did later go off, the additional
-
-
-
- Shepard & Partridge Informational [Page 4]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- difference in timing was much smaller than the 0.229 second
- difference discribed above.
-
- Conclusion
-
- In this particular case, the four-packet start is not harmful.
-
- Non-conclusions, opinions, and future work
-
- A four-packet start would be very helpful in situations where a
- long-delay link is involved (as it would reduce transfer times for
- moderately-sized transfers by as much as two round-trip times). But
- it remains (in the authors' opinions at this time) an open question
- whether or not the four-packet start would be safe for the network.
-
- It would be nice to see if this result could be duplicated with real
- TCPs, real modems, and real three-buffer limits.
-
- Security Considerations
-
- This document discusses a simulation study of the effects of a
- proposed change to TCP. Consequently, there are no security
- considerations directly related to the document. There are also no
- known security considerations associated with the proposed change.
-
- References
-
- 1. S. Floyd, Increasing TCP's Initial Window (January 29, 1997).
- URL ftp://ftp.ee.lbl.gov/papers/draft.jan29.
-
- 2. S. Floyd and M. Allman, Increasing TCP's Initial Window (July,
- 1997). URL http://gigahertz.lerc.nasa.gov/~mallman/share/draft-
- ss.txt
-
- 3. Allman, M., Floyd, S., and C. Partridge, "Increasing TCP's
- Initial Window", RFC 2414, September 1998.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shepard & Partridge Informational [Page 5]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- Authors' Addresses
-
- Tim Shepard
- BBN Technologies
- 10 Moulton Street
- Cambridge, MA 02138
-
- EMail: shep@alum.mit.edu
-
-
- Craig Partridge
- BBN Technologies
- 10 Moulton Street
- Cambridge, MA 02138
-
- EMail: craig@bbn.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shepard & Partridge Informational [Page 6]
-
- RFC 2416 TCP with Four Packets into Three Buffers September 1998
-
-
- Full Copyright Statement
-
- Copyright (C) The Internet Society (1998). All Rights Reserved.
-
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implementation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph are
- included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into languages other than
- English.
-
- The limited permissions granted above are perpetual and will not be
- revoked by the Internet Society or its successors or assigns.
-
- This document and the information contained herein is provided on an
- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shepard & Partridge Informational [Page 7]
-
-