1 - 2 - 6 - 8 - A - B - C - D - E - F - G - H - I - K - L - M - N - O - P - Q - R - S - T - U - V - W - X
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 ...
... 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
...
... 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,
...
... 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
...
... 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. ...
