Known TCP Implementation Problems
Vern Paxson, Mark C. Allman, Scott Dawson, W. Fenner, Jim Griner, I. Heavens, K. Lahey, Jeffrey Semke, Bernie Volz · 1999
ImplicationsWhy the problem is viewed as a problem.Relevant RFCs The RFCs defining the TCP specification with which the problem conflicts.These RFCs often qualify behavior using terms such as MUST, SHOULD, MAY, and others written capitalized.See RFC 2119 for the exact interpretation of these terms.Trace file demonstrating the problem One or more ASCII trace files demonstrating the problem, if applicable.Trace file demonstrating correct behavior One or more examples of how correct behavior appears in a trace, if applicable.References References that further discuss the problem.How to detect How to test an implementation to see if it exhibits the problem.This discussion may include difficulties and subtleties associated with causing the problem to manifest itself, and with interpreting traces to detect the presence of the problem (if applicable).How to fix For known causes of the problem, how to correct the implementation.2. Known implementation problems 2.1.Name of Problem No initial slow start Classification Congestion control Description When a TCP begins transmitting data, it is required by RFC 1122, 4.2.2.15, to engage in a "slow start" by initializing its congestion window, cwnd, to one packet (one segment of the maximum size).(Note that an experimental change to TCP, documented in [RFC2414], allows an initial value somewhat larger than one packet.)It subsequently increases cwnd by one packet for each ACK it receives for new data.The minimum of cwnd and the Paxson, et.al.