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

start


Click on the red underlined text to get to the source

... (cwnd) based on perceived congestion. Each TCP connection starts with a pre-configured initial congestion window (ICW ...
... network for available bandwidth using the slow-start procedure ([Jac88], [RFC2581]), doubling cwnd during each ...
... RTT). The slow-start algorithm can be time-consuming --- especially over networks ...
... bandwidth or long delays. It may take a number of RTTs in slow-start before the TCP connection begins to fully use the available bandwidth ...
... congestion window of 4 segments. This time in slow-start is not a problem for large file transfers, where the slow-start ...
... slow-start is not a problem for large file transfers, where the slow-start stage is only a fraction of the total transfer time. However, in the case of moderate-sized transfers, the connection ...
... However, in the case of moderate-sized transfers, the connection might carry out its entire transfer in the slow-start phase, taking many round-trip times, where one or two RTTs ...
... RFC3390], in the absence of other information about the path. In using Quick-Start, a TCP host (say, host ...
... desired sending rate in bytes per second, using a Quick-Start Option in the IP header of a TCP ...
... router along the path could, in turn, either approve the requested rate, reduce the requested rate, or indicate that the Quick-Start Request is not approved. (We note that the `routers' referred to in this document also include the ...
... routers' referred to in this document also include the IP-layer processing of the Quick-Start Request at the sender.) In approving a Quick-Start Request ...
... Quick-Start Request at the sender.) In approving a Quick-Start Request, a router does not give preferential treatment to subsequent packets from that connection ...
... sender's requested rate. The Quick-Start mechanism can determine if there are routers along the path that do not understand the Quick-Start Option ...
... Quick-Start mechanism can determine if there are routers along the path that do not understand the Quick-Start Option, or have not agreed to the Quick-Start rate request. TCP ...
... routers along the path that do not understand the Quick-Start Option, or have not agreed to the Quick-Start rate request. TCP host B ...
... host A in a transport- level Quick-Start Response in an answering TCP packet. ...
... TCP packet. If the Quick-Start Request is approved by all routers along the path, then the TCP ...
... congestion control mechanisms of that connection. If the Quick-Start Request is not approved, then the sender would use the default congestion control ...
... congestion control mechanisms. Quick-Start would not be the first mechanism for explicit communication from routers to transport protocols ...
... [RFC3168]. In contrast, routers would not use Quick-Start to give congestion information, but instead would use Quick-Start ...
... Quick-Start to give congestion information, but instead would use Quick-Start as an optional mechanism to give permission to transport protocols to use ...
... significantly underutilized. Section 2 gives an overview of Quick-Start. The formal specifications for Quick-Start are contained in Sections 3, 4, 6.1.1, ...
... Section 2 gives an overview of Quick-Start. The formal specifications for Quick-Start are contained in Sections 3, 4, 6.1.1, and 6.3. In particular, Quick-Start is specified for IPv4 ...
... specifications for Quick-Start are contained in Sections 3, 4, 6.1.1, and 6.3. In particular, Quick-Start is specified for IPv4 and for IPv6 ...
... non-normative discussion of interactions of Quick-Start with IP tunnels and MPLS; however, Section 6.1.1 and 6.3 ...
... MPLS; however, Section 6.1.1 and 6.3 specify behavior for IP tunnels that are aware of Quick-Start. The rest of the document is non-normative ...
... The rest of the document is non-normative, as follows. Section 5 shows that Quick-Start is compatible with IPsec AH (Authentication Header). Section 7 gives a non-normative ...
... Authentication Header). Section 7 gives a non-normative set of guidelines for specifying Quick-Start in other transport protocols, and Section 8 discusses using Quick-Start ...
... Quick-Start in other transport protocols, and Section 8 discusses using Quick-Start in transport end-nodes and routers ...
... routers. Section 9 gives an evaluation of the costs and benefits of Quick- Start, and Section 10 discusses implementation and deployment issues. The appendices discuss related work, Quick-Start ...
... Start, and Section 10 discusses implementation and deployment issues. The appendices discuss related work, Quick-Start design decisions, and possible router algorithms ...


... This section describes the assumptions and general principles behind the design of the Quick-Start mechanism. Assumptions: ...
... * The path between the two endpoints is relatively stable, such that the path used by the Quick-Start Request is generally the same path used by the Quick-Start packets one round-trip time ...
... the path used by the Quick-Start Request is generally the same path used by the Quick-Start packets one round-trip time later. [ZDPS01 ...
... Internet semantics. We note that, while Quick-Start is incrementally deployable in this sense, a Quick-Start Request cannot be approved for a particular ...
... note that, while Quick-Start is incrementally deployable in this sense, a Quick-Start Request cannot be approved for a particular connection unless both end-nodes ...
... nodes and all the routers along the path have been configured to support Quick-Start. General Principles: ...
... * A router should only approve a Quick-Start Request if the output link is underutilized. Any other approach will result in either ...
... router from storing per-flow state for making Quick-Start decisions or for checking for misbehaving nodes. ...
... Overview of Quick-Start ...
... In this section, we give an overview of the use of Quick-Start with TCP to request a higher congestion window ...
... congestion window. The description in this section is non-normative; the normative description of Quick-Start with IP and TCP ...
... with IP and 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 uses of Quick-Start are discussed later in the document. Quick-Start ...
... Quick-Start are discussed later in the document. Quick-Start requires end-points and routers to work together, with ...
... end-points requesting a higher sending rate in the Quick-Start (QS) option in IP ...
... IP, and routers along the path approving, modifying, discarding, or ignoring (and therefore disallowing) the Quick-Start Request. The receiver uses reliable, transport-level mechanisms to ...
... transport-level mechanisms to inform the sender of the status of the Quick-Start Request. For example, when TCP is used, the TCP ...
... receiver sends feedback to the sender using a Quick-Start Response option in the TCP header. In addition, Quick-Start ...
... Quick-Start Response option in the TCP header. In addition, Quick-Start assumes a unicast, congestion-controlled ...
... congestion-controlled transport protocol; we do not consider the use of Quick-Start for multicast traffic. ...
... multicast traffic. When sent as a request, the Quick-Start Option includes a request for a sending rate in bits per second ...
... a sending rate in bits per second, and a Quick-Start Time to Live (QS TTL) to be decremented by every router ...
... QS TTL) to be decremented by every router along the path that understands the option and approves the request. The Quick-Start TTL is initialized by the sender ...
... receiver returns the rate, information about the TTL, and the Quick- Start Nonce to the sender using transport-level ...
... TCP, the receiver sends this information in the Quick-Start Response in the TCP header. In particular, the receiver ...
... TCP header. In particular, the receiver computes the difference between the Quick-Start TTL and the IP TTL (the TTL ...
... TTL in the IP header) of the Quick-Start Request packet, and returns this in the Quick- Start Response. The sender ...
... of the Quick-Start Request packet, and returns this in the Quick- Start Response. The sender uses the TTL difference to determine if ...
... TTL difference to determine if all the routers along the path decremented the Quick-Start TTL, approving the Quick-Start Request ...
... Quick-Start TTL, approving the Quick-Start Request. If the request is approved by all the routers ...
... ACK packet is received. Figure 1 shows a successful use of Quick-Start, with the sender's IP layer and both routers ...
... sender's IP layer and both routers along the path approving the Quick-Start Request, and the TCP receiver using the Quick-Start ...
... Quick-Start Request, and the TCP receiver using the Quick-Start Response to return information to the TCP sender ...
... return information to the TCP sender. In this example, Quick-Start is used by TCP to establish the initial congestion window ...
... | <TTL Diff: 28> | Quick-Start Request | in SYN or SYN ...
... | <TTL Diff: 28> | Return Quick-Start | info to sender in ...
... | info to sender in | Quick-Start Response | <-- in TCP ACK packet. ...
... | <TTL Diff: 28> | Quick-Start approved, | translate to cwnd. | Report Approved Rate. ...
... RTT. --> Figure 1: A Successful Quick-Start Request. Figure 2 shows an unsuccessful use of Quick-Start ...
... Quick-Start Request. Figure 2 shows an unsuccessful use of Quick-Start, with one of the routers along the path not approving the Quick-Start Request ...
... Quick-Start, with one of the routers along the path not approving the Quick-Start Request. If the Quick-Start Request is not approved, then the sender ...
... routers along the path not approving the Quick-Start Request. If the Quick-Start Request is not approved, then the sender uses the default congestion control ...
... | <TTL Diff: 28> | Quick-Start Request | in SYN or SYN ...
... | Forward packet | without modifying | Quick-Start Option. --> | | <IP TTL ...
... | <TTL Diff: 29> | Return Quick-Start | info to sender in ...
... | info to sender in | Quick-Start Response | <-- in TCP ACK packet. ...
... | <TTL Diff: 29> | Quick-Start not approved. | Report approved rate. V Use default initial cwnd. --> ...
... V Use default initial cwnd. --> Figure 2: An Unsuccessful Quick-Start Request. ...


... The Quick-Start Option in IP ...
... The Quick-Start Option for IPv4 ...
... The Quick-Start Request for IPv4 is defined as follows: ...
... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: The Quick-Start Option for IPv4. A Quick-Start Request ...
... Quick-Start Option for IPv4. A Quick-Start Request. The first byte contains the option field, which includes the one-bit ...
... The third byte includes a four-bit Function field. If the Function field is set to "0000", then the Quick-Start Option is a Rate Request. In this case, the second half of the third byte is a four- bit Rate ...
... bit Rate Request field. For a Rate Request, the fourth byte contains the Quick-Start TTL (QS TTL) field. The sender ...
... random value. Routers that approve the Quick-Start Request decrement the QS TTL (mod 256) by the same amount that they decrement the IP TTL ...
... elsewhere in this document, we use the term `router' imprecisely to also include the Quick-Start functionality at the IP layer at the sender ...
... sender to detect if all the routers along the path understood and approved the Quick-Start option. For a Rate Request, the transport ...
... IP TTL value, and the QS TTL value in the Quick-Start Request packet, as follows: TTL Diff ...
... Routers can approve the Quick-Start Request for a lower rate by decreasing the Rate Request in the Quick-Start Request. Section 4.2 ...
... Routers can approve the Quick-Start Request for a lower rate by decreasing the Rate Request in the Quick-Start Request. Section 4.2 discusses the Quick-Start Response from the TCP ...
... decreasing the Rate Request in the Quick-Start Request. Section 4.2 discusses the Quick-Start Response from the TCP receiver to the TCP ...
... TCP sender's mechanism for determining if a Quick-Start Request has been approved. 0 1 2 3 ...
... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: The Quick-Start Option for IPv4. Report of Approved Rate. ...
... Report of Approved Rate. If the Function field in the third byte of the Quick-Start Option is set to "1000", then the Quick-Start Option is a Report of Approved ...
... If the Function field in the third byte of the Quick-Start Option is set to "1000", then the Quick-Start Option is a Report of Approved Rate. In this case, the second four bits in the third byte are the ...
... Rate Report field, formatted exactly as in the Rate Request field in a Rate Request. For a Report of Approved Rate, the fourth byte of the Quick-Start Option is not used. Bytes 5-8 contain a 30-bit QS Nonce and a 2-bit ...
... After an approved Rate Request, the sender MUST report the Approved Rate, using a Quick-Start Option configured as a Report of Approved Rate with the Rate Report field set to the approved rate, and the QS Nonce set to the QS Nonce ...
... Rate with the Rate Report field set to the approved rate, and the QS Nonce set to the QS Nonce sent in the Quick-Start Request. The packet containing the Report of Approved Rate MUST be either a control packet sent before the first Quick-Start ...
... Quick-Start Request. The packet containing the Report of Approved Rate MUST be either a control packet sent before the first Quick-Start data packet, or a Quick-Start Option ...
... Quick-Start data packet, or a Quick-Start Option in the first data packet itself. The Report of Approved Rate does not have to be sent reliably; for example, if the ...
... does not necessarily know if the control packet has been dropped in the network. If the packet containing the Quick-Start Request is acknowledged, but the acknowledgement packet does not contain a Quick-Start ...
... Quick-Start Request is acknowledged, but the acknowledgement packet does not contain a Quick-Start Response, then the sender MUST assume that the Quick- Start ...
... Quick-Start Response, then the sender MUST assume that the Quick- Start Request was denied, and set a Report of Approved Rate with a rate of zero. Routers may choose to ignore the Report of Approved ...
... set to zero. We note that, unlike a Quick-Start Request sent at the beginning of a connection, when a Quick-Start Request ...
... Quick-Start Request sent at the beginning of a connection, when a Quick-Start Request is sent in the middle of a connection, the connection ...
... transport protocol. The use of the Quick-Start Option does not require the additional use of the Router Alert Option [RFC2113 ...
... The Quick-Start Option for IPv6 ...
... The Quick-Start Option for IPv6 is placed in the Hop-by-Hop Options ...
... 8 bytes. For a Quick-Start Request, the transport receiver compares the ...
... transport receiver compares the Quick-Start TTL with the IPv6 Hop Limit field to calculate the TTL Diff ...
... Unlike IPv4, modifying or deleting the Quick-Start IPv6 Option does not require checksum ...
... header does not have a checksum field, and modifying the Quick-Start Request in the IPv6 Hop-by-Hop ...
... flow label must be originated with the same hop-by-hop header contents, which would be incompatible with Quick-Start. However, a later IPv6 flow label ...
... IPv6 and removes this restriction. Therefore, Quick-Start is compatible with the current IPv6 specifications. ...
... Processing the Quick-Start Request at Routers ...
... The Quick-Start Request does not report the current sending rate of the connection ...
... sending rate is zero. Each participating router can either terminate or approve the Quick-Start Request. A router MUST only approve a Quick-Start Request ...
... Quick-Start Request. A router MUST only approve a Quick-Start Request if the output link is underutilized, and if the router ...
... senders. Otherwise, the router reduces or terminates the Quick-Start Request. While the paragraph above defines the *semantics ...
... While the paragraph above defines the *semantics* of approving a Quick-Start Request, this document does not specify the specific algorithms to be used by routers ...
... algorithms to be used by routers in processing Quick-Start Requests or Reports. This is similar to RFC 3168prop, which specifics the ...
... A router that wishes to terminate the Quick-Start Request SHOULD either delete the Quick-Start Request ...
... Quick-Start Request SHOULD either delete the Quick-Start Request from the IP header or zero the QS TTL ...
... QS TTL, QS Nonce, and Rate Request fields. Deleting the Quick-Start Request saves resources because downstream routers will have no ...
... routers to implement. As suggested in [B05], future additions to Quick-Start could define error codes for routers to ...
... QS Nonce field to report back to the sender the reason that the Quick-Start Request was denied, e.g., that the router is denying all Quick-Start Requests ...
... Quick-Start Request was denied, e.g., that the router is denying all Quick-Start Requests at this time, or that this router, as a matter of policy, does not grant Quick-Start requests ...
... Quick-Start Requests at this time, or that this router, as a matter of policy, does not grant Quick-Start requests. A router that doesn't understand the Quick-Start Option ...
... Quick-Start requests. A router that doesn't understand the Quick-Start Option will simply forward the packet with the Quick-Start Request unchanged (ensuring ...
... router that doesn't understand the Quick-Start Option will simply forward the packet with the Quick-Start Request unchanged (ensuring that the TTL Diff will not match and Quick-Start ...
... Quick-Start Request unchanged (ensuring that the TTL Diff will not match and Quick-Start will not be used). If the participating router ...
... If the participating router has decided to approve the Quick-Start Request, it does the following: * The router ...
... * If the router is only willing to approve a Rate Request less than that in the Quick-Start Request, then the router replaces the Rate Request with a smaller value. The router ...
... Request with a smaller value. The router MUST NOT increase the Rate Request in the Quick-Start Request. If the router decreases ...
... If the router approves the Quick-Start Request, this approval SHOULD be taken into account in the router's decision to accept or reject ...
... be taken into account in the router's decision to accept or reject subsequent Quick-Start Requests (e.g., using a variable that tracks the recent aggregate of accepted Quick-Start Requests). This ...
... subsequent Quick-Start Requests (e.g., using a variable that tracks the recent aggregate of accepted Quick-Start Requests). This consideration of earlier approved Quick-Start Requests is necessary ...
... the recent aggregate of accepted Quick-Start Requests). This consideration of earlier approved Quick-Start Requests is necessary to ensure that the router only approves a Quick-Start Request ...
... Quick-Start Requests is necessary to ensure that the router only approves a Quick-Start Request when the router judges that the output link ...
... router judges that the output link will remain underutilized if this and earlier Quick-Start Requests are used by the senders. ...
... senders. In addition, the approval of a Quick-Start Request SHOULD NOT be used by the router to affect the treatment of the data packets ...
... round-trip times. That is, the approval by the router of a Quick-Start Request does not give differential treatment for Quick-Start data packets ...
... router of a Quick-Start Request does not give differential treatment for Quick-Start data packets at that router; ...
... router that the router believes that the subsequent Quick-Start data packets from this connection will not ...
... A non-participating router forwards the Quick-Start Request unchanged, without decrementing the QS TTL. The non-participating ...
... RFC1812]. As a result, the sender will be able to detect that the Quick-Start Request had not been understood or approved by all of the routers along the path. ...
... 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. ...
... If the Quick-Start Option has the Function field set to "1000", then this is a Report of Approved Rate, rather than a Rate Request. The router ...
... router may implement some policy for cheaters. For instance, the router MAY decide to deny future Quick-Start Requests from this sender, including, if desired, deleting Quick-Start Requests ...
... Quick-Start Requests from this sender, including, if desired, deleting Quick-Start Requests from future packets from this sender. Section 9.4.1 discusses misbehaving ...
... downstream routers have approved the Quick-Start Request for a smaller rate or denied the use of Quick- Start, and adjust its bandwidth ...
... Quick-Start Request for a smaller rate or denied the use of Quick- Start, and adjust its bandwidth allocations accordingly. ...
... The QS Nonce gives the Quick-Start sender some protection against ...


... The Quick-Start Mechanisms in TCP ...
... This section describes how the Quick-Start mechanism would be used in TCP. We first sketch the procedure and then tightly define it in the ...
... TCP sender (say, host A) would like to use Quick-Start, the TCP sender ...
... sending rate in bits per second, appropriately formatted, in the Quick-Start Option in the IP header of the TCP ...
... IP header of the TCP packet, called the Quick-Start Request packet. (We will be somewhat loose in our use of "packet" vs. "segment" in this ...
... be somewhat loose in our use of "packet" vs. "segment" in this section.) When used for initial start-up, the Quick-Start Request packet can be either the SYN ...
... segment" in this section.) When used for initial start-up, the Quick-Start Request packet can be either the SYN or SYN ...
... receiver (say, host B) returns the Quick-Start Response option in the TCP header in the responding SYN ...
... SYN/ACK packet or ACK packet, called the Quick-Start Response packet, informing host ...
... host A of the results of their request. If the acknowledging packet does not contain a Quick-Start Response, or contains a Quick-Start Response with the wrong value for the TTL Diff ...
... If the acknowledging packet does not contain a Quick-Start Response, or contains a Quick-Start Response with the wrong value for the TTL Diff or the QS Nonce, then host ...
... TTL Diff or the QS Nonce, then host A MUST assume that its Quick-Start request failed. In this case, host A sends a Report of Approved Rate with a Rate Report of zero, and uses TCP ...
... TCP's default congestion control procedure. For initial start-up, host A uses the default initial congestion window ...
... If the returning packet contains a valid Quick-Start Response, then host A uses the information in the response, along with its ...
... host A uses the information in the response, along with its measurement of the round-trip time, to determine the Quick-Start congestion window (QS ...
... congestion window (QS-cwnd). Quick-Start data packets are defined as data packets ...
... data packets are defined as data packets sent as the result of a successful Quick-Start request, up to the time when the first Quick-Start packet is acknowledged. ...
... data packets sent as the result of a successful Quick-Start request, up to the time when the first Quick-Start packet is acknowledged. The sender also sends a Report of Approved Rate. In order to use ...
... The sender also sends a Report of Approved Rate. In order to use Quick-Start, the TCP host MUST use rate-based pacing [VH97 ...
... host MUST use rate-based pacing [VH97] to transmit Quick-Start packets at the rate indicated in the Quick-Start Response, at the level of granularity possible by the sending host ...
... VH97] to transmit Quick-Start packets at the rate indicated in the Quick-Start Response, at the level of granularity possible by the sending host. ...
... TCP end-hosts can independently decide whether to request Quick-Start. For example, host A could send a Quick-Start Request in ...
... Quick-Start. For example, host A could send a Quick-Start Request in the SYN packet, and host ...
... the SYN packet, and host B could also send a Quick-Start Request in the SYN/ACK ...
... Sending the Quick-Start Request ...
... When sending a Quick-Start Request, the TCP sender SHOULD send the ...
... ACK, or data packet. In this case, if the packet is acknowledged but no Quick-Start Response is included, then the sender knows that the Quick-Start Request ...
... Quick-Start Response is included, then the sender knows that the Quick-Start Request has been denied, and can send a Report of Approved Rate. ...
... Approved Rate. In addition to the use of Quick-Start when a connection is established, there are several additional points in a connection ...
... a transport protocol may want to issue a Rate Request. We first reiterate the notion that Quick-Start is a coarse-grained mechanism. That is, Quick-Start's Rate Requests are not meant to be used for ...
... reiterate the notion that Quick-Start is a coarse-grained mechanism. That is, Quick-Start's Rate Requests are not meant to be used for fine-grained control of the transport's sending rate ...
... sending rate. The following are potential points where Quick-Start may be useful: (1) At or soon after connection initiation ...
... RFC3124], or other mechanisms for sharing congestion information may not need Quick-Start to determine an appropriate rate.) ...
... transport sender may use Quick-Start to probe the network to see if it can send at a ...
... probe the network to see if it can send at a higher rate. (Alternatively, traditional slow-start should be used in this case when Quick-Start is not available.) ...
... higher rate. (Alternatively, traditional slow-start should be used in this case when Quick-Start is not available.) (4) After an application-limited period ...
... capacity and has no valid estimate for its fair share. In this case, Quick-Start may be an appropriate mechanism to determine if the sender can send at a higher rate. For instance, consider an ...
... TCP sender MAY attempt to use Quick-Start in cases (1) and (2). It is NOT RECOMMENDED that a TCP sender ...
... a TCP sender use Quick-Start for case (3) at the current time. Case (3) requires external notifications not presently defined for TCP ...
... transport protocols. Finally, a TCP SHOULD NOT use Quick- Start for case (4) at the current time. Case (4) requires further thought and investigation with regard to how the transport protocol ...
... could determine it was in a situation that would warrant transmitting a Quick-Start Request. As a general guideline, a TCP ...
... round-trip time. Section 4.7 discusses some of the issues of using Quick-Start at connection initiation, and Section 4.8 discusses issues that arise ...
... connection initiation, and Section 4.8 discusses issues that arise when Quick-Start is used to request a larger sending rate after an idle period ...
... The Quick-Start Response Option in the TCP header ...
... In order to approve the use of Quick-Start, the TCP receiver responds ...
... TCP receiver responds to the receipt of a Quick-Start Request with a Quick-Start Response, using the Quick-Start ...
... receiver responds to the receipt of a Quick-Start Request with a Quick-Start Response, using the Quick-Start Response Option in the TCP header ...
... Quick-Start Request with a Quick-Start Response, using the Quick-Start Response Option in the TCP header. TCP's ...
... TCP header. TCP's Quick-Start Response option is defined as follows: 0 1 2 3 ...
... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: The Quick-Start Response Option in the TCP Header. ...
... TCP Header. The first byte of the Quick-Start Response option contains the option kind, identifying the TCP option. ...
... TCP option. The second byte of the Quick-Start Response option contains the option length in bytes. The length field MUST be set to 8 bytes. ...
... 8 bytes. The third byte of the Quick-Start Response option contains a four- bit Reserved field ...
... Reserved field, and the four-bit allowed Rate Request, formatted as in the Quick-Start Rate Request option. The fourth byte of the TCP option ...
... IP TTL and QS TTL fields in the received Quick-Start Request packet, as calculated in equations (1) or (2) (depending on whether IPv4 or IPv6 ...
... We note that, while there are limitations on the potential size of the Quick-Start Response Option, a Quick-Start Response Option of eight bytes should not be a problem. The TCP Options ...
... We note that, while there are limitations on the potential size of the Quick-Start Response Option, a Quick-Start Response Option of eight bytes should not be a problem. The TCP Options field can ...
... TCP: Sending the Quick-Start Response ...
... host B) that receives an IP packet containing a Quick-Start Request passes the Quick-Start Request, along with the value in the IP TTL ...
... IP packet containing a Quick-Start Request passes the Quick-Start Request, along with the value in the IP TTL field, to the receiving ...
... If the TCP host is willing to permit the Quick-Start Request, then a Quick-Start Response option is included in the TCP header ...
... host is willing to permit the Quick-Start Request, then a Quick-Start Response option is included in the TCP header of the corresponding acknowledgement packet. The Rate Request in the ...
... TCP header of the corresponding acknowledgement packet. The Rate Request in the Quick-Start Response option is set to the received value of the Rate Request in the Quick-Start Option, or to a lower value if the TCP ...
... Quick-Start Response option is set to the received value of the Rate Request in the Quick-Start Option, or to a lower value if the TCP ...
... receiver is only willing to allow a lower Rate Request. The TTL Diff in the Quick-Start Response is set to the difference between the IP TTL value and the QS TTL value as given in equation (1) or (2) ...
... Response is set to the received value of the QS Nonce in the Quick- Start Option. If an end host ...
... If an end host receives an IP packet with a Quick-Start Request with a rate request of zero, then that host SHOULD NOT send a Quick-Start ...
... Quick-Start Request with a rate request of zero, then that host SHOULD NOT send a Quick-Start Response. ...
... Response. The Quick-Start Response MUST NOT be resent if it is lost in the network. Packet loss ...
... congestion on the return path, in which case it is better not to approve the Quick- Start Request. ...
... TCP: Receiving and Using the Quick-Start Response Packet ...
... host (say, TCP host A) that sent a Quick-Start Request and receives a Quick-Start Response in an acknowledgement first checks ...
... host A) that sent a Quick-Start Request and receives a Quick-Start Response in an acknowledgement first checks that the Quick-Start Response is valid ...
... receives a Quick-Start Response in an acknowledgement first checks that the Quick-Start Response is valid. The Quick-Start Response is ...
... that the Quick-Start Response is valid. The Quick-Start Response is valid if it contains the correct value for the TTL Diff ...
... TTL Diff, and an equal or lesser value for the Rate Request than that transmitted in the Quick-Start Request. In addition, if the received Rate Request is K, then the rightmost 2K bits of the QS Nonce ...
... bits in the QS Nonce sent in the Quick-Start Request. If these checks are not successful, then the Quick-Start Request failed, and the TCP ...
... QS Nonce sent in the Quick-Start Request. If these checks are not successful, then the Quick-Start Request failed, and the TCP host ...
... TCP congestion window that it would have used without Quick-Start. If the rightmost 2K bits of the QS Nonce do not ...
... match those bits in the QS Nonce sent in the Quick-Start Request, for a received Rate Request of K, then the TCP host ...
... TCP host MUST NOT send additional Quick-Start Requests during the life of the connection. Whether or not the Quick-Start Request ...
... Quick-Start Requests during the life of the connection. Whether or not the Quick-Start Request was successful, the host receiving ...
... host receiving the Quick-Start Response MUST send a Report of Approved Rate. Similarly, if the packet containing the Quick-Start Request is ...
... receiving the Quick-Start Response MUST send a Report of Approved Rate. Similarly, if the packet containing the Quick-Start Request is acknowledged, but the acknowledgement does not include a Quick-Start ...
... Rate. Similarly, if the packet containing the Quick-Start Request is acknowledged, but the acknowledgement does not include a Quick-Start Response, then the sender MUST send a Report of Approved Rate. ...
... and the TCP host is going to use the Quick-Start Request, it MUST start using it within one round-trip time ...
... host is going to use the Quick-Start Request, it MUST start using it within one round-trip time of receiving the Quick- ...
... round-trip time of receiving the Quick- Start Response, or within three seconds, whichever is smaller. To use the Quick-Start Request, the host ...
... Start Response, or within three seconds, whichever is smaller. To use the Quick-Start Request, the host sets its Quick-Start congestion window ...
... use the Quick-Start Request, the host sets its Quick-Start congestion window (in terms of MSS-sized segments ...
... QS-cwnd is used, the TCP host sets a flag that it is in Quick-Start mode, and while in Quick-Start mode, the TCP ...
... host sets a flag that it is in Quick-Start mode, and while in Quick-Start mode, the TCP sender MUST use rate- ...
... TCP sender MUST use rate- based pacing to pace out Quick-Start packets at the approved rate. If, during Quick-Start mode, the TCP ...
... based pacing to pace out Quick-Start packets at the approved rate. If, during Quick-Start mode, the TCP sender receives ACKs ...
... sender receives ACKs for packets sent before this Quick-Start mode was entered, these ACKs are processed as usual, following the default congestion control ...
... processed as usual, following the default congestion control mechanisms. Quick-Start mode ends when the TCP host receives an ACK ...
... host receives an ACK for one of the Quick-Start packets. If the congestion window ...
... If the congestion window has not been fully used when the first ack arrives ending the Quick-Start mode, then the congestion window is decreased to the amount that has actually been used so far. This is ...
... congestion window is decreased to the amount that has actually been used so far. This is necessary because when the Quick-Start Response is received, the TCP sender ...
... routers processing the IP Quick-Start Option, or because of delays at the receiver in responding to the Quick-Start Request ...
... Quick-Start Option, or because of delays at the receiver in responding to the Quick-Start Request packet. In this case, an overly large round-trip-time estimate could have caused the TCP ...
... TCP sender to translate the approved Quick-Start sending rate in bytes per second into a congestion window ...
... sender receiving an ACK for the first Quick- Start packet before the entire congestion window has been used. Thus, when the ...
... TCP sender receives the first ACK for a Quick-Start packet, the sender MUST reduce the congestion window ...
... As an example, a