RFC 4782:Quick-Start for TCP and IP
RFC-Ref

connection


Click on the red underlined text to get to the source

... Each connection begins with a question: "What is the appropriate sending rate for the current network ...
... sending rate for the current network path?" The question is not answered explicitly, but each TCP connection determines the sending rate by probing the network path and altering the congestion window ...
... congestion window (cwnd) based on perceived congestion. Each TCP connection starts with a pre-configured initial congestion window ...
... MSS) ([RFC2581], [RFC3390]). The TCP connection then probes the network for available bandwidth ...
... of RTTs in slow-start before the TCP connection begins to fully use the available bandwidth of the network ...
... slow-start stage is only a fraction of the total transfer time. However, in the case of moderate-sized transfers, the connection might carry out its entire transfer in the slow-start phase, taking ...
... segments based on the MSS used by the connection [RFC3390]. Our underlying premise is that explicit feedback from all the routers ...
... routers along the path would be required, in the current architecture, for best-effort connections to use initial windows significantly larger than those allowed by [RFC3390 ...
... Quick-Start Request, a router does not give preferential treatment to subsequent packets from that connection; the router is only asserting that it is currently underutilized and believes there ...
... TCP congestion control mechanisms of that connection. If the Quick-Start Request is not approved, then the sender would use the default ...


... * The data transfer in the two directions of a connection traverses different queues, and possibly even different routers ...
... sense, a Quick-Start Request cannot be approved for a particular connection unless both end-nodes and all the routers along the path ...
... routers along the path would be required, in the current architecture, for best-effort connections to use initial windows significantly larger than those allowed by [RFC3390], in the ...
... TCP follows in Sections 3 and 4. Quick-Start could be used in the middle of a connection, e.g., after an idle or underutilized period, as well as for the initial sending rate; these ...


... We note that, unlike a Quick-Start Request sent at the beginning of a connection, when a Quick-Start Request is sent in the middle of a connection ...
... connection, when a Quick-Start Request is sent in the middle of a connection, the connection could already have an established congestion window ...
... Quick-Start Request is sent in the middle of a connection, the connection could already have an established congestion window or sending rate ...
... congestion window or sending rate. The Rate Request is the requested total rate for the connection, including the current rate of the connection ...
... connection, including the current rate of the connection; the Rate Request is *not* a request for an additional sending rate over and above the current sending rate ...
... sending rate over and above the current sending rate. If the Rate Request is denied, or lowered to a value below the connection's current sending rate, then the sender ...
... Quick-Start Request does not report the current sending rate of the connection sending the request; in the default case of a router (or IP-layer ...
... router to affect the treatment of the data packets that arrive from this connection in the next few round-trip times. That is, the approval by the router ...
... the subsequent Quick-Start data packets from this connection will not change the current underutilized state of the router ...
... A router that uses multipath routing for packets within a single connection MUST NOT approve a Quick-Start Request. This is discussed in more detail in Section 9.2. ...
... Approved Rate is higher than the rate that the router actually approved for this connection in the previous round-trip time, then the router ...


... In addition to the use of Quick-Start when a connection is established, there are several additional points in a connection when ...
... Quick-Start when a connection is established, there are several additional points in a connection when a transport protocol may want to issue a Rate Request. We first ...
... Quick-Start may be useful: (1) At or soon after connection initiation, when the transport has no idea of the capacity of the network ...
... flow. (An example could be a persistent-HTTP connection when a new HTTP request is received after an idle period ...
... addresses (and therefore network paths) in mid-connection. If the transport has concrete knowledge of a changing network ...
... sending rate larger than it is able to use over the next round-trip time of the connection (or over 100 ms, if the round-trip time is not known), except as required to round up the desired sending rate ...
... Section 4.7 discusses some of the issues of using Quick-Start at connection initiation, and Section 4.8 discusses issues that arise when Quick-Start is used to request a larger sending rate ...
... host MUST NOT send additional Quick-Start Requests during the life of the connection. Whether or not the Quick-Start Request was successful, the host ...
... When Quick-Start is used at the beginning of a connection, before any packet marks or losses have been reported, the TCP host ...
... slow-start threshold at the beginning of a connection to avoid overshooting the path capacity. (The initial value of ssthresh is allowed to be arbitrarily high, and some TCP ...
... sender SHOULD NOT make future Quick-Start Requests for this connection. We note that ECN ...
... MAF04] show that for 70% of the Web servers investigated, no connection is established if the TCP SYN packet contains an unknown IP option ...
... IP option (and for 43% of the Web servers, no connection is established if the TCP SYN packet contains an IP ...
... TCP: A Quick-Start Request in the Middle of a Connection ...
... Start is used by TCP to request a larger window in the middle of a connection, such as after an idle period: (1) determining the rate to request; (2) when to make a request; and (3) the response if Quick- ...
... (1) Determining the rate to request: For a connection that has not yet had a congestion event (that is, a marked or dropped packet), the TCP ...
... To use a Quick-Start Request in a connection that has already experienced a congestion event, and that has not had a recent ...
... sender can determine the largest congestion window that the TCP connection achieved since the last packet drop and translate this to a sending rate to get the ...
... A Quick-Start Request sent in the middle of a TCP connection SHOULD be sent on a data packet. ...
... (2) When to make a request: A TCP connection MAY make a Quick-Start Request before the connection ...
... TCP connection MAY make a Quick-Start Request before the connection has experienced a congestion event, or after an idle period of at least one RTO ...
... Quick-Start packets are dropped: If Quick-Start packets are dropped in the middle of connection, then the sender MUST revert to half the Quick-Start ...
... Quick-Start for setting their initial windows. This is similar to Figures 1 and 2 in Section 2.1, except that it illustrates a TCP connection with both TCP hosts sending Quick-Start Requests ...


... data sender does not necessarily have information about the size of the data transfer at connection initiation; for example, in request-response protocols such as HTTP, ...
... HTTP, the server doesn't know the size or name of the requested object during connection initiation. [SAF06] explores some of the performance ...


... Quick-Start is the faster start-up for the transport connection itself. For a small TCP transfer of one to five packets, Quick-Start ...
... packets, Quick-Start is probably of very little benefit; at best, it might shorten the connection lifetime from three to two round-trip times (including the round-trip time ...
... lifetime from three to two round-trip times (including the round-trip time for connection establishment). Similarly, for a very large transfer, where the slow-start phase ...
... Similarly, for a very large transfer, where the slow-start phase would have been only a small fraction of the connection lifetime, Quick-Start ...
... Quick-Start would be of limited benefit. Quick-Start would not significantly shorten the connection lifetime, but it might eliminate or at least shorten the start ...
... or at least shorten the start-up phase. However, for moderate-sized connections in a well-provisioned environment, Quick-Start could possibly allow the entire transfer of M packets to be completed in ...
... This section discusses the costs of Quick-Start for the connection and for the routers along the path. ...
... Quick-Start Request had not been approved, so the performance cost to the connection of having a Quick-Start packet dropped is small, compared to the performance ...
... One limitation of Quick-Start is that it presumes that the data packets of a connection will follow the same path as the Quick-Start request packet. If this is not the case, then the connection could ...
... data packets of a connection will follow the same path as the Quick-Start request packet. If this is not the case, then the connection could be sending the Quick-Start packets, at the approved rate, along a ...
... Quick-Start packets, at the approved rate, along a path that was already congested, or that became congested as a result of this connection. Thus, Quick-Start could give poor performance ...
... different path from that of the original Quick-Start Request. This is, however, similar to what would happen for a connection with sufficient data, if the connection's path was changed in the middle ...
... is, however, similar to what would happen for a connection with sufficient data, if the connection's path was changed in the middle of the connection, which had already established the allowed initial ...
... sufficient data, if the connection's path was changed in the middle of the connection, which had already established the allowed initial rate. ...
... router that uses multipath routing for packets within a single connection must not approve a Quick-Start Request. Quick-Start would not perform robustly in an environment ...
... Quick-Start would not perform robustly in an environment with multipath routing, where different packets in a connection routinely follow different paths. In such an environment, the Quick-Start Request ...
... Quick-Start Request and some fraction of the packets in the connection might take an underutilized path, while the rest of the packets take an alternate, congested path. ...
... the network in the previous Quick-Start Request from that connection. The required Approved Rate report also allows traffic policers to ...
... Quick-Start Request approved for that sender for that connection in the previous round-trip time, then the router ...
... Quick-Start Request, then either the sender could be cheating, or the connection's path could have changed since the Quick-Start Request was sent. In either case, the router ...
... router could decide to deny future Quick-Start Requests for this connection. In particular, it is reasonable for the router to deny a Quick-Start request ...
... router to deny a Quick-Start request if either the sender is cheating, or if the connection path suffers from path changes or multipathing. ...
... router would be justified in denying future Quick-Start Requests for this connection. In any of the cases mentioned in the three paragraphs above (i.e., an ...
... measured by a performance metric such as the completion time for its connections, sometimes it might be in the sender's interests to cheat, and sometimes it might not; in some cases, it could be ...
... approved request could be dropped in the network, to the possible disadvantage of the connection. Thus, while the ingress and egress routers could collude to prevent intermediate routers ...
... routers from denying a Quick-Start Request, it would not always be to the connection's advantage for this to happen. One defense against such a collusion ...
... router between the ingress and egress nodes that denied the request to monitor connection performance, penalizing connections ...
... connection performance, penalizing connections that seem to be using Quick-Start after a Quick-Start Request was denied, or that are reporting an Approved Rate higher ...
... routers from approving Quick-Start Requests from other connections. Routers can protect against the first kind of attack ...
... per-flow state for Quick-Start connections, in protecting the availability of Quick-Start bandwidth ...
... SAF06] explore the following: the potential benefit of Quick-Start for the connection, the relative benefits of different router-based algorithms ...


... socket API, this could be a socket option that is set before a connection is established. Some applications, such as those that use TCP for bulk transfers, do not have interest in the transmission rate ...
... these networks sometimes have variable additional delays due to resource allocation that could be avoided by keeping the connection path constantly utilized, starting from initial slow-start ...
... slow-start is a major performance limitation in the beginning of the connection. A large initial congestion window would be useful to users of such satellite links ...
... one of the routers along the end-to-end path, a connection's use of Quick-Start requires Quick-Start ...
... Quick-Start is capable of dramatically increasing the throughput of connections in underutilized environments [SAF06]. ...


... Section 6.2 discusses possible problems of Quick-Start used by connections carried over simple tunnels that are not compatible with Quick-Start ...


... Quick-Start mechanism as a simple, understandable, and incrementally deployable mechanism that would be sufficient to allow some connections to start up with large initial rates, or large initial congestion windows ...


... routers more control over the decrease rates of active connections. In addition, any evaluation of Quick-Start ...
... co-located hosts to estimate each connection's fair share of the network resources. Based on such estimation and the transfer size, ...
... network. Sharing information among TCP connections: The Congestion Manager [RFC3124 ...
... RFC2140] both propose sharing congestion information among multiple TCP connections with the same endpoints. With the Congestion ...
... endpoints. With the Congestion Manager, a new TCP connection could start with a high initial cwnd, if it was sharing the path and the cwnd with a pre-existing TCP connection ...
... TCP connection could start with a high initial cwnd, if it was sharing the path and the cwnd with a pre-existing TCP connection to the same destination that had already obtained a high congestion window ...
... congestion window. RFC 2140 discusses ensemble sharing, where an established connection's congestion window could be `divided up' to be shared with a new connection ...
... connection's congestion window could be `divided up' to be shared with a new connection to the same host. However, neither of these approaches addresses ...
... host. However, neither of these approaches addresses the case of a connection to a new destination, with no existing or recent connection ...
... connection to a new destination, with no existing or recent connection (and therefore congestion control state ...
... Techniques that attempt to assess the available bandwidth at connection start-up using implicit techniques are more error- prone than techniques that involve every element in the network ...
... A fourth issue would be to quantify the performance hit to the connection when a packet is dropped from one of the initial windows. ...
... P00] investigates the use of a slightly different IP option for TCP connections to discover the available bandwidth along the path. In that proposal, the IP option ...
... check to determine if the network path is significantly underutilized such that a connection can start faster and then fall back to TCP's ...
... KK03] are two such proposals for below-best-effort TCP, with the purpose of allowing TCP connections to use the bandwidth unused by TCP ...
... traffic that wishes to receive at least as much bandwidth as competing best-effort connections. ...


... ICMP packet would mean that the middlebox behavior would not affect the connection as a whole. (To get this robustness to middleboxes with TCP using an IP ...
... IP packets that can only be altered by the routers on the connection path. Finally, as a minor concern, using ICMP would cause a small amount of additional ...
... of soft state, because Quick-Start does not require per-connection state in routers ...
... request is 1.3 Gbps. It seems to us that an upper limit of 1.3 Gbps would be fine for the Quick-Start rate request, and that connections wishing to start up with a higher initial sending rate ...
... transport protocol. For example, for TCP with Window Scaling, the maximum window is at most 2**30 bytes. For a TCP connection with a long, 1 second round-trip time, this would give a maximum sending rate ...
... For a Quick-Start Request sent in the middle of a connection, there are two possible semantics for the Rate Request field, as follows: ...
... (1) Total Rate: The requested Rate Request is the requested total rate for the connection, including the current rate; or (2) Additional Rate: The requested Rate Request is the requested ...
... (2) Additional Rate: The requested Rate Request is the requested increase in the total rate for that connection, over and above the current sending rate. ...
... and (2) above. However, a Quick-Start Request can also be sent in the middle of a connection that has not been idle, e.g., after a mobility event, or after an application-limited period when the ...
... semantics makes it easier for routers to "allocate" the same rate to all connections. This lends itself to fairness, and improves convergence ...
... fairness, and improves convergence times between old and new connections. With the Additional Rate semantics, the router ...
... The Additional Rate semantics also lends itself to gaming by the connection, with senders sending frequent Quick-Start Requests in the ...
... router is granting the same maximum rate for all rate requests, then there is little benefit to a connection of sending a rate request over and over again. However, if the router is granting an *additional* rate with each rate ...
... request, over and above the current sending rate, then it is in a connection's interest to send as many rate requests as possible, even if very few of them are, in fact, granted. ...
... congestion window and continue in congestion avoidance. However, we note that this would not have been a desirable response for either the connection or for the network as a whole. The packet loss ...
... This proposal for Quick-Start is a rather coarse-grained mechanism that would allow a connection to use a higher sending rate along underutilized paths, but that does not attempt to provide a next- ...
... give robust performance even in the case where different packets within a connection routinely follow different paths. XCP achieves relatively robust performance ...
... window to take effect when that particular packet is acknowledged, not about the allowed sending rate for the connection as a whole. In contrast, Quick-Start ...
... Semantics: | Allowed sending rate | Change in rate/window, | per connection. | per-packet. +------------------+----------------------+----------------------+ ...


... would be using the Rate Request field to report the current estimated sending rate for that connection. This could accompany a second Quick-Start Request in the same packet containing a standard rate ...
... Quick-Start Request in the same packet containing a standard rate request, for a connection that is using Quick-Start to increase its current sending rate ...
... Increase Sending Rate' in the Function field would indicate that the connection is not idle or just starting up, but is attempting to use Quick-Start ...
... Bandwidth Use: A Temporary codepoint has been proposed to indicate that a connection would only use the requested bandwidth for a single time interval. ...


... S. Kunniyur, "AntiECN Marking: A Marking Scheme for High Bandwidth Delay Connections", Proceedings, IEEE ICC '03, May 2003. <http://www.seas.upenn.edu/~kunniyur/>. ...
... Joon-Sang Park, Bandwidth Discovery of a TCP Connection, report to John Heidemann, 2000, private communication. Citation for acknowledgement purposes only. ...
... V. Visweswaraiah and J. Heidemann, Improving Restart of Idle TCP Connections, Technical Report 97-661, University of Southern California, November 1997. ...



Google
Web
RFC-Ref