One document matched: draft-fairhurst-tsvwg-dccp-qs-01.txt

Differences from draft-fairhurst-tsvwg-dccp-qs-00.txt


Internet Engineering Task Force                         Gorry Fairhurst 
Internet Draft                                      Arjuna Sathiaseelan 
Document: draft-fairhurst-tsvwg-dccp-qs-01.txt   University of Aberdeen 
Expires: January 2008                            
                                                                        
                                                                        
Category: Draft intended for EXPERIMENTAL                     July 2007 
 
    
   Quick-Start for DCCP  
    
Status of this Draft 
    
   By submitting this Internet-Draft, each author represents that any 
   applicable patent or other IPR claims of which he or she is aware 
   have been or will be disclosed, and any of which he or she becomes 
   aware will be disclosed, in accordance with Section 6 of BCP 79. 
    
   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups. Note that 
   other groups may also distribute working documents as Internet- 
   Drafts. Internet-Drafts are draft documents valid for a maximum of 
   six months and may be updated, replaced, or obsoleted by other 
   documents at any time. It is inappropriate to use Internet-Drafts as 
   reference material or to cite them other than as "work in progress". 
    
   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/1id-abstracts.html  
   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 
    
   This Internet-Draft will expire on January, 2008. 
    
    
Abstract 
    
   The Datagram Congestion Control Protocol (DCCP) is a transport 
   protocol that allows the transmission of congestion-controlled, 
   unreliable datagrams. It is intended for applications such as 
   streaming media, Internet telephony, and on-line games.  In DCCP, an 
   application has a choice of congestion control mechanisms, each 
   specified by a Congestion Control Identifier (CCID). This document 
   specifies a framework for the use of the Experimental Quick-Start 
   mechanism by DCCP, and specific procedures for the use of Quick-
   Start with DCCP CCID-2 and CCID-3. 
    
    
    
    
    
    
    
    
    

  
Expires January 2008                                          [page 1] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
Table of Contents 
    
    
   1. Introduction 
    
   2. Quick-Start for DCCP 
        2.1 Sending a Quick-Start Request for a DCCP flow 
        2.2 Receiving a Quick-Start Request for a DCCP flow 
        2.2.1 The Quick-Start Response Option 
        2.3 Receiving a Quick-Start Response 
        2.4 Procedure when no response to a Quick-Start Request 
        2.5 Procedure when a Quick-Start packet is dropped 
        2.6 Interactions with Path MTU Discovery 
        2.7 Interactions with Middle boxes 
    
   3. Mechanisms for Specific CCIDs 
        3.1 Quick-Start for CCID-2 
        3.1.1 The Quick-Start Request for CCID-2 
        3.1.2 Sending a Quick-Start Response 
        3.1.3 Using the Quick-Start Response with CCID-2 
        3.2 Quick-Start for CCID-3 
        3.2.1 The Quick-Start Request for CCID-3 
        3.2.2 Sending a Quick-Start Response 
        3.2.3 Using the Quick-Start Response with CCID-3 
        3.2.4 The Quick-Start Validation Phase 
        3.2.5 Reported Loss during Quick-Start Mode or Validation Phase 
        3.2.6 An Example Quick-Start Scenario with CCID-3 
        3.2.7 Controlling Acknowledgement Traffic on the Reverse Path 
    
   4. Discussion of Issues 
        4.1 Over-run and Quick-Start Validation  
 
   5. Summary 
    
   6. IANA Considerations 
    
   7. Acknowledgments 
    
   8. Security Considerations 
    
   9. References 
       9.1 Normative References 
       9.2 Informative References 
    
   10. Authors' Addresses 
    
   11. IPR Notices 
       11.1 Intellectual Property Statement 
       11.2 Disclaimer of Validity 
    
    
   12. Copyright Statement 
     
  
Expires January 2008                                          [page 2] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
1. Introduction 
    
    
   The Datagram Congestion Control Protocol (DCCP) [RFC4340] is a 
   transport protocol for congestion-controlled, unreliable datagrams, 
   intended for applications such as streaming media, Internet 
   telephony, and on-line games.   
    
   In DCCP, an application has a choice of congestion control 
   mechanisms, each specified by a Congestion Control Identifier (CCID) 
   [RFC4340]. There are general procedures applicable to all DCCP CCIDs 
   that are described in Section 2, and details that relate to how 
   individual CCIDs should operate, which are described in Section 3. 
   This separation of CCID-specific and DCCP general functions is in 
   the spirit of the modular approach adopted by DCCP. 
    
   Quick-Start [RFC4782] is an Experimental mechanism for transport 
   protocols. In cooperation with routers, it allows a sender to 
   determine an allowed sending rate at the start and at times in the 
   middle of a data transfer (e.g., after an idle period). 
    
   This document assumes that the reader is familiar with RFC4782 
   [RFC4782]. RFC4782 specifies the use of Quick-Start with IP and with 
   TCP. Section 7 of RFC4782 also provides guidelines for the use of 
   Quick-Start with other transport protocols, including DCCP. This 
   document answers some of the issues that were raised by RFC4782 and 
   provides a definition of how Quick-Start must be used with DCCP. 
 
   In using Quick-Start, the sending DCCP end host indicates the 
   desired sending rate in bytes per second, using a Quick-Start option 
   in the IP header of a DCCP packet.  Each Quick-Start capable 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. 
    
   If the Quick-Start Request is approved by all the routers along the 
   path, then the DCCP receiver returns an appropriate Quick-Start 
   Response. On receipt of this, the sending end host can send at up to 
   the approved rate for one round-trip time.  Subsequent transmissions 
   will be governed by the default CCID congestion control mechanisms 
   for that connection. If the Quick-Start Request is not approved, 
   then the sender must use the default congestion control mechanisms. 
    
 
 
 
 
 
 
 
 
 
 
  
Expires January 2008                                          [page 3] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
2. Quick-Start for DCCP 
 
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in RFC 2119 [RFC2119]. 
    
   Unless otherwise specified, the DCCP end host follows the procedures 
   specified in Section 4 of [RFC4782], following the use specified for 
   Quick-Start with TCP.  
    
    
2.1 Sending a Quick-Start Request for a DCCP flow 
    
   A DCCP sender MAY use a Quick-Start Request during the start of a 
   connection, when the sender would prefer to have a larger initial 
   rate than allowed by [RFC3390].  
    
   A Quick-Start Request MAY be also used once a DCCP flow is connected 
   (in the middle of a DCCP flow). In standard operation, DCCP CCIDs 
   can constrain the sending rate (or window) to less than that desired 
   (e.g. when an application increases the rate at which it wishes to 
   send). A DCCP sender that has data to send after an idle period or 
   data-limited period (where the sender transmits at less than the 
   allowed sending rate) can send a Quick-Start Request using the 
   procedures defined in Section 3. 
    
   Quick-Start Requests will be more effective if the Quick-Start Rate 
   is not larger than necessary. Each requested Quick-Start Rate that 
   has been approved, but was not fully utilized, takes away from the 
   bandwidth pool maintained by Quick-Start routers that would be 
   otherwise be available for granting successive requests [RFC4782]. 
 
   In contrast to most TCP applications, many DCCP applications have 
   the notion of a media rate that they wish to achieve. For example, 
   during the initial connection, a host may request a Quick-Start rate 
   equal to the media rate of the application.  
 
   Excessive use of the Quick-Start mechanism is undesirable, end hosts 
   therefore MUST NOT make a subsequent Quick-Start Request within a 
   period known as the Quick-Start Interval. 
    
   When the connection is established, the Quick-Start Interval is 
   initialized to a value of max(1s, max (prevQS-Interval * 2, 4*RTT)) 
   where prevQS-Interval is the value of the previous Quick-Start 
   Interval which is initialized to 0 during the start of the 
   connection. The Quick-Start Interval is reset to this value whenever 
   a Quick-Start Request is approved. When a host sends a Quick-Start 
   Request, the Quick-Start Interval is doubled (resulting in an 
   exponential backoff when a Quick-Start Request is not approved). The 
   maximum time the sender can backoff is 64 seconds, after which it 

  
Expires January 2008                                          [page 4] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   must cease using Quick-Start and MUST NOT send any further Quick-
   Start Requests.  
    
   When sending a Quick-Start Request, the DCCP sender SHOULD send the 
   Request on a packet that requires an acknowledgement, such as a 
   DCCP-Request, DCCP-Response, or DCCP-Data. 
    
    
2.2 Receiving a Quick-Start Request for a DCCP flow 
    
   The procedure for processing a received Quick-Start Request is 
   normatively defined in [RFC4782], and summarised in this paragraph. 
   An end host that receives an IP packet containing a Quick-Start 
   Request passes the Quick-Start Request, along with the value in the 
   IP TTL field, to the receiving DCCP layer. If the receiving host is 
   willing to permit the Quick-Start Request, then a Quick-Start 
   Response option is included in the DCCP header of the corresponding 
   feedback 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 DCCP 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.  The QS Nonce in the Response is set to the 
   received value of the QS Nonce in the Quick-Start option. 
    
   On receipt of a Quick-Start Request, the receiver SHOULD respond 
   immediately by sending a packet that carries the Quick-Start 
   Response option using either DCCP-Ack packet or in a DCCP-DataAck 
   packet. 
 
   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 
   Response [RFC4782]. 
    
   The Quick-Start Response MUST NOT be resent if it is lost in the 
   network [RFC4782]. Packet loss could be an indication of congestion 
   on the return path, in which case it is better not to approve the 
   Quick-Start Request. 
 
    
2.2.1 The Quick-Start Response Option 
    
   This section defines a DCCP Header Option to carry the Quick-Start 
   response, in a format that resembles that defined for TCP in 
   [RFC4782]. This header option is REQUIRED for end hosts to utilise 
   the Quick-Start mechanism for DCCP flows.  
    
    
    
    
    
 

  
Expires January 2008                                          [page 5] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
    0                   1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |  Type=xQSOx   |  Length=8     | Resv. | Rate  |   TTL Diff    | 
   |               |               |       |Request|               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                   QS Nonce                                | R | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
      Figure 1.  The Quick-Start Response option. 
    
   ### IANA ACTION, PLEASE REPLACE xQSOx with the assigned value in 
   figure above AND in next paragraph. ### 
    
   The first byte of the Quick-Start Response option contains the 
   option kind, identifying the DCCP option (xQSOx). 
    
   The second byte of the Quick-Start Response option contains the 
   option length in bytes.  The length field MUST be set to 8 bytes. 
    
   The third byte of the Quick-Start Response option contains a four-
   bit Reserved field, and the four-bit allowed Rate Request, formatted 
   as in the Quick-Start Rate Request option. 
    
   The fourth byte of the DCCP Quick-Start Response option contains the 
   TTL Diff.  The TTL Diff contains the difference between the IP TTL 
   and QS TTL fields in the received Quick-Start Request packet, as 
   calculated in [RFC4782]. 
    
   Bytes 5-8 of the DCCP option contain the 30-bit QS Nonce and a two-
   bit Reserved field. 
    
    
2.3 Receiving a Quick-Start Response  
    
   The procedure for processing a Quick-Start Response packet is CCID-
   specific and described in Section 3. 
    
 
2.4 Procedure when no response to a Quick-Start Request 
    
   As in TCP, if a Quick-Start Request is dropped (i.e., the Request or 
   Response is not delivered by the network) the DCCP sender MUST 
   revert to the congestion control mechanisms it would have used if 
   the Quick-Start Request had not been approved.  
    
    
2.5 Procedure when a Quick-Start packet is dropped 
    
   While the sender is in the QS Mode, all sent packets are known as 
   Quick-Start Packets [RFC4782].  Loss of a Quick-Start Packet is an 
   indication of potential network congestion. The behaviour of a DCCP 

  
Expires January 2008                                          [page 6] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   sender following the loss of a Quick-Start Packet is specific to a 
   particular CCID (see section 3).  
                                    
 
2.6 Interactions with Path MTU Discovery 
    
   While DCCP implementations are encouraged to support PMTUD, the 
   protocol is datagram-based and therefore the size of the segments 
   that are sent is a function of application behaviour as well as 
   being constrained by the largest supported Path MTU.  
    
    
2.7 Interactions with Middle boxes 
    
   XXX Note: To be completed in a later revision of the document XXX 
    
    
3. Mechanisms for Specific CCIDs 
 
    
3.1 Quick-Start for CCID-2 
    
   This section describes the Quick-Start mechanism to be used with 
   DCCP CCID-2 [RFC4341]. CCID-2 uses a TCP-like congestion control 
   mechanism. 
 
3.1.1 The Quick-Start Request for CCID-2 
                    
   A Quick-Start Request MAY be sent to allow the sender to determine 
   if it is safe to use a larger initial cwnd. This permits a faster 
   start-up of a new DCCP CCID-2 flow.  
    
   A Quick-Start Request MAY be also sent to request a higher sending 
   rate after an idle period or data-limited period (as described in 
   section 2.1). This allows a receiver to use the larger cwnd than 
   allowed with standard operation. 
 
 
3.1.2 Sending a Quick-Start Response 
 
   When processing a received Quick-Start Request, the receiver uses     
   the method described in Section 2.2. On receipt of a QS-Request, the  
   receiver MUST send a QS-Response even if the receiver is constrained   
   by the ACK Ratio. 
 
3.1.3 Using the Quick-Start Response with CCID-2 
    
   The sender SHOULD NOT ignore an ACK packet containing a Quick-Start 
   Response option.  
    


  
Expires January 2008                                          [page 7] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   On receipt of a valid Quick-Start Response option, the sender enters 
   the Quick-Start Mode. The sender continues in the Quick-Start Mode 
   for a maximum period of 1 RTT, during which it sends Quick-Start 
   packets. 
    
   On receipt of a Quick-Start Response, the sending host sets its 
   Quick-Start cwnd (QS-cwnd) as follows: 

             QS-cwnd = (R * T) / (s + H)                          (1) 
 
   where R the Rate Request in bytes per second, s is the packet size, 
   and H the estimated DCCP/IP header size in bytes (e.g., 32 bytes). 
 
   A CCID-2 host MAY then increase its cwnd to the QS-cwnd, if the QS-
   cwnd is greater than cwnd. The cwnd SHOULD NOT be reduced (i.e., a 
   QS-cwnd lower than cwnd should be ignored). CCID-2 is not a rate-
   paced protocol. Therefore, if the QS-cwnd is used, the sending host 
   MUST pace the rate at which the Quick-Start packets are sent until 
   it receives an ACK for a packet sent during the Quick-Start mode 
   [RFC4782]. The sending host SHOULD also record the previous cwnd and 
   note that the new cwnd has been determined by Quick-Start rather by 
   other means (e.g. by setting a flag to indicate that it is in Quick-
   Start Mode).  
    
   When the sender receives the first ACK to a packet sent in the 
   Quick-Start mode, the sender MUST reduce the cwnd to the actual 
   flight size (the current amount of unacknowledged data sent) 
   [RFC4782]. 
    
   The sender MUST send a Quick-Start Approved option [RFC4782] on the 
   first Quick-Start packet or using a DCCP control packet if there are 
   no Quick-Start Data packets to be sent. 
 
 
3.2 Quick-Start for CCID-3 
 
   This section describes the Quick-Start mechanism to be used with 
   DCCP CCID-3 [RFC4342]. The rate-based congestion control mechanism 
   used by CCID-3, leads to specific issues that need to be addressed 
   by Quick-Start. 
    
    
3.2.1 The Quick-Start Request for CCID-3 
    
   A Quick-Start Request MAY be sent to allow the sender to determine 
   if it is safe to use a larger initial sending sate. This permits a 
   faster start-up of a new DCCP flow.  
    
   A Quick-Start Request MAY be also sent to request a higher sending 
   rate after an idle period or data-limited period (as described in 
   section 2.1). This allows a receiver to increase the sending rate 
   faster than allowed with standard operation, where CCID-3 does not 

  
Expires January 2008                                          [page 8] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   allow the sender to send more than twice as fast as reported by the 
   receiver in the most recent feedback message. 
    
 
   An idle period is defined in this context as one in which the 
   nofeedback timer expires [ID.DCCP-FR].  
    
   XXX Note: Future drafts may use common terminology to DCCP FR draft 
   XXX 
 
   When resuming a flow that has been idle, the requested rate must 
   consider the current loss event rate (if any), either from 
   calculation at the sender or from feedback received from the 
   receiver. A sender MUST not request more than this upper bound 
   dictated by the loss event rate. 
    
   XXX Author comment: Is it appropriate to also ask using QS after 
   receiving a loss-event, as a way of getting more capacity than 
   allowed by the throughput equation ??? XXX 
    
   XXX Author comment:  One view is that under the current 
   circumstances, the sender does not have a proper knowledge of the 
   network. So on that basis, the sender based on the current loss 
   event rate (current here means the loss event rate that was during 
   the start of the idle period), requests the rate. This MUST be an 
   upper bound. This is similar to asking for the last achieved rate 
   during slow start. This places an upper bound on the sending rate, 
   dictated by the loss event rate is an upper bound on the requested 
   Quick-Start rate. Later, mobility events can also be taken into 
   account. XXX 
    
 
3.2.2 Sending a Quick-Start Response 
    
   When processing a received Quick-Start Request, the receiver uses 
   the method described in Section 2.2. In addition, if the CCID-3 
   receiver uses the window counter to send periodic feedback messages, 
   then the receiver sets its local variable last_counter to the value 
   of the window counter reported by the segment containing the QS-
   Request. The next feedback message would then be sent when the 
   window_counter is greater or equal to last_counter + 4. If the CCID-
   3 receiver uses a feedback timer to send period feedback messages, 
   then the DCCP receiver MUST reset the CCID-3 feedback timer. This 
   helps to align the timing of feedback to the start and end of the 
   period in which Quick-Start packets are sent, and will normally 
   result in feedback at a time that is approximately the end of the 
   period when Quick-Start packets are received  
    
 
3.2.3 Using the Quick-Start Response with CCID-3 
    

  
Expires January 2008                                          [page 9] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   The sender SHOULD NOT ignore a feedback packet containing a Quick-
   Start Response option.  
    
   On receipt of a valid Quick-Start Response option, the sender enters 
   the Quick-Start Mode. The sender continues in the Quick-Start Mode 
   for a maximum period of 1 RTT, during which it sends Quick-Start 
   Packets. 
 
   On receipt of a Quick-Start response, the sending host sets its 
   Quick-Start sending rate (QS-sendrate) as follows: 

       QS-sendrate = R * s/(s + H)                                (2) 
 
   where R the Rate Request in bytes per second, s is the packet size, 
   and H the estimated DCCP/IP header size in bytes (e.g., 32 bytes). 
   A CCID-3 host MAY then increase its sending rate (sendrate) to the 
   QS-sendrate, if the QS-sendrate is greater than sendrate. The rate 
   SHOULD NOT be reduced (i.e., a QS-sendrate lower than sendrate 
   should be ignored). CCID-3 is a rate-paced protocol. Therefore, if 
   the QS-sendrate is used, the sending host MUST pace the rate at 
   which the Quick-Start packets are sent over the next RTT. The 
   sending host SHOULD also record the previous congestion-controlled 
   rate and note that the new rate has been determined by Quick-Start 
   rather by other means (e.g. by setting a flag to indicate that it is 
   in Quick-Start Mode).  
    
   The sender MUST send a Quick-Start Approved option [RFC4782] on the 
   first Quick-Start packet or using a control packet if there are no 
   Quick-Start packets to be sent. 
    
   The sender exits the Quick-Start Mode after either: 
    
   * A feedback packet acknowledging one or more Quick-Start Packets, 
   * A period of 1 RTT after receipt of a QS-Response, 
   or  
   * Detection of a loss or congestion event (see Section 3.2.5).  
    
   If no loss (or ECN marking) is reported, the sender then enters the 
   Quick-Start Validation Phase. 
    
3.2.4 The Quick-Start Validation Phase 
    
   After transmitting a set of Quick-Start Packets (and providing that 
   no loss, ECN marking is reported), the sender enters the Quick-Start 
   Validation Phase. This phase comprises a period during which the 
   sender seeks to affirm that the capacity used by the Quick-Start 
   Packets did not introduce congestion. (This phase is introduced 
   because unlike TCP (and CCID-2), CCID-3 does not receive frequent 
   feedback that indicates the congestion state of the forward path). 
   While in the Quick-Start Validation Phase, the sender is tentatively 
   permitted to continue sending at the QS-sendrate. On conclusion of 
   the Validation Phase, the sender expects to find assurance that it 
   may safely use the current rate. 
  
Expires January 2008                                         [page 10] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
    
   The sender MUST exit the Quick-Start Validation Phase on receipt of 
   feedback that reports a loss or congestion event (see Section 
   3.2.5). 
 
   The sender SHOULD exit the Quick-Start Validation Phase on receipt 
   of feedback that acknowledges all packets sent in the Quick-Start 
   Mode (i.e. all Quick-Start Packets). It MUST also exit this phase on 
   expiry of the Quick-Start validation time. The Quick-Start 
   Validation Phase is limited to a maximum of 1.5 RTTs, the Quick-
   Start Validation Time.  
    
   After completion of the Quick-Start Validation phase (with no 
   reported packet loss or congestion), the sender stops using the QS-
   sendrate and MUST recalculate a suitable sending rate using the 
   standard congestion control mechanisms [RFC4342].  For example, if 
   the DCCP sender was in slow-start prior to the Quick-Start Request, 
   and no packets were lost or marked since that time, then the sender 
   continues in slow-start after exiting Quick-Start Mode until the 
   sender sees a packet loss, or congestion is reported.  
 
   If no feedback is received within the Quick-Start Validation Phase, 
   the sender MUST return to the minimum of the original rate (at the 
   start of the Quick-Start Mode) and one half of the QS-sendrate.  
 
    
3.2.5 Reported Loss during Quick-Start Mode or Validation Phase 
 
   If a feedback packet arrives that reports a packet loss or 
   congestion, the sender MUST immediately leave the Quick-Start Mode 
   or Validation Phase and enter the congestion avoidance phase 
   [RFC4342].  This implies re-calculating the send rate X as follows: 
    
        X = max(min(X_calc, min(2*X_recv, 2* QS_recv-rate)), s/t_mbi); 
    
   where X_recv is the previously cached receiver rate and QS recv-rate 
   is the receiver rate reported by the feedback due to the arrival of 
   Quick-Start packets. 
     
3.2.6  An Example Quick-Start Scenario with CCID-3 
    
                      DCCP Sender                     DCCP Receiver 
    
   Quick-Start      +----------------------------------------------+ 
   Request/Response | Quick-Start Request -->                      | 
                    |                    <-- Quick-Start Response  | 
                    | Quick-Start Approve -->                      | 
                    +----------------------------------------------+ 
                    +----------------------------------------------+ 
   Quick-Start      | Quick-Start Packets -->                      | 
   Mode             |                                              | 
                    |                    <-- Feedback from Receiver| 
                    +----------------------------------------------+ 
  
Expires January 2008                                         [page 11] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
                    +---------------------------------------------- 
   Quick-Start      | Packets -->                                  | 
   Validation Phase |                                              | 
                    |                    <-- Feedback from Receiver| 
                    +----------------------------------------------+ 
   CCID-3             Packets --> 
   Congestion 
   Control                               <-- Feedback from Receiver 
    
          Figure 2.  The Quick-Start Mode and Validation Phase. 
    
   Figure 2 shows an example of the use of Quick-Start with CCID-3. 
    
3.2.7 Controlling Feedback Traffic on the Reverse Path 
    
   A CCID-3 receiver sends feedback at least once each RTT. Using 
   Quick-Start would not significantly increase traffic on the reverse 
   path. 
 
 
4. Discussion of Issues 
 
   XXX Note: This Section to be completed later, please send issues to 
   the authors XXX 
 
   Quick-Start [RFC4782] describes many paths where Quick-Start 
   Requests would not be approved.  These paths include all paths 
   containing routers, IP tunnels, MPLS paths, and the like that do not 
   support Quick-Start.  These paths also include paths with routers or 
   middleboxes that drop packets containing IP options.  Quick-Start 
   Requests could be difficult to approve over paths that include 
   multi-access layer-two networks.  [RFC4782] also describes 
   environments where the Quick-Start process could fail with false 
   positives, with the sender incorrectly assuming that the Quick-Start 
   Request had been approved by all of the routers along the path.  As 
   a result of these concerns, and as a result of the difficulties and 
   seeming absence of motivation for routers such as core routers to 
   deploy Quick-Start, Quick-Start has been proposed as a mechanism 
   that could be of use in controlled environments, and not as a 
   mechanism that would be intended or appropriate for ubiquitous 
   deployment in the global Internet. 
    
   XXX Note: Need to consider implications of alternate paths, etc and 
   examine if there are specific issues. XXX 
    
4.1 Over-run and Quick-Start Validation  
 
   CCID-3 raises an issue in that the sender may continue to use the 
   capacity allocated by Quick-Start for a period that exceeds that 
   which TCP would have used. This over-run is a result of the less 
   frequent feedback interval (once per RTT rather than once for a few 
   packets) used by TFRC (i.e. CCID-3), and is bounded by the Quick-
   Start Validation Time.   
  
Expires January 2008                                         [page 12] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
    
   The currently selected value is chosen as a compromise that reflects 
   the need to terminate quickly following loss of a feedback packet, 
   and the need to allow sufficient time for end host and router 
   processing as well as the different perceptions of the path RTT held 
   at the sender and receiver. Any reported loss or congestion results 
   in immediate action without waiting for completion of the validation 
   period. 
 
    
5. Summary 
    
   Quick-Start with TCP has been normatively defined in RFC 4782 
   [RFC4782]. The appendix in RFC 4782 also discusses some issues when 
   Quick-Start is used with other protocols including DCCP, but does 
   specify the mechanisms to be used.  
    
   This document specifies the operation of DCCP with Quick-Start and 
   defines how Quick-Start operates when using CCID-2 and CCID-3.  
  
    
    
6. IANA Considerations  
    
   This document requires IANA involvement for the assignment of a DCCP 
   Option Type from the DCCP Option Types Registry. The Option is known 
   as the "Quick-Start Response" Option and is defined in Section 
   2.2.1. It specifies a length value in the format used for options 
   numbered 32-128. 
    
   XXX This option is DCCP-Specific, not CCID-Specific. XXX 
    
    
7. Acknowledgments 
    
   The author gratefully acknowledges the previous work by Sally Floyd 
   to identify issues that impact Quick-Start for DCCP, and her 
   comments to improve this document.  
    
    
8. Security Considerations 
    
   Security issues are discussed in [RFC4782]. No new security issues 
   are raised within this document. 
    
    
9. References 
 
 
9.1 Normative References  
    
   [RFC2119] Bradner, S., "Key Words for Use in RFCs to Indicate 
   Requirement Levels", BCP 14, RFC 2119, 1997. 
  
Expires January 2008                                         [page 13] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
 
   [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram 
   Congestion Control Protocol (DCCP)", RFC 4340, March 2006. 
    
   [RFC4341] Floyd, S. and E. Kohler, "Profile for Datagram Congestion 
   Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion 
   Control", RFC 4341, March 2006. 
 
   [RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for 
   Datagram Congestion Control Protocol (DCCP) Congestion Control ID 3: 
   TCP-Friendly Rate Control (TFRC)", RFC 4342, March 2006. 
    
   [RFC4782] Floyd, S., Allman, M., Jain, A., and P. Sarolahti, "Quick-
   Start for TCP and IP", RFC 4782, January 2007. 
    
    
    
9.2 Informative References 
       
   [RFC3390] Allman, M., Floyd, S., Partridge, C., "Increasing TCP's  
   Initial Window", RFRC 3390, October 2002. 
    
   [ID.DCCP-FR] Kohler, E., Floyd, F., "Faster Restart for TCP  
   Friendly Rate Control (TFRC) ", IETF Work In Progress, 2007.  
    
    
10. Authors' Addresses 
    
   Godred Fairhurst 
   Department of Engineering 
   University of Aberdeen 
   Aberdeen, AB24 3UE 
   UK 
   Email: gorry@erg.abdn.ac.uk 
   Web: http://www.erg.abdn.ac.uk/users/Gorry 
    
   Arjuna Sathiaseelan 
   Department of Engineering 
   University of Aberdeen 
   Aberdeen, AB24 3UE 
   UK 
   Email: arjuna@erg.abdn.ac.uk 
   Web: http://www.erg.abdn.ac.uk/users/arjuna 
    
    
11. IPR Notices 
    
    
11.1 Intellectual Property Statement 
    
   The IETF takes no position regarding the validity or scope of any 
   Intellectual Property Rights or other rights that might be claimed  
   to pertain to the implementation or use of the technology described 
  
Expires January 2008                                         [page 14] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
   in this document or the extent to which any license under such  
   rights might or might not be available; nor does it represent that 
   it has made any independent effort to identify any such rights. 
   Information on the procedures with respect to rights in RFC  
   documents can be found in BCP 78 and BCP 79. 
    
   Copies of IPR disclosures made to the IETF Secretariat and any 
   assurances of licenses to be made available, or the result of an 
   attempt made to obtain a general license or permission for the use 
   of such proprietary rights by implementers or users of this 
   specification can be obtained from the IETF on-line IPR repository 
   at http://www.ietf.org/ipr. 
    
   The IETF invites any interested party to bring to its attention any 
   copyrights, patents or patent applications, or other proprietary 
   rights that may cover technology that may be required to implement 
   this standard.  Please address the information to the IETF at ietf- 
   ipr@ietf.org. 
    
    
11.2 Disclaimer of Validity 
    
   This document and the information contained herein are provided on 
   an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE 
   IETF TRUST AND  THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. 
    
12. Copyright Statement 
    
   Copyright (C) The IETF Trust (2007).  
    
   This document is subject to the rights, licenses and restrictions  
   contained in BCP 78, and except as set forth therein, the authors  
   retain all their rights.  
    
   Acknowledgment  
    
   Funding for the RFC Editor function is currently provided by the  
   Internet Society.  
    
    
    
    
    
    
   ------------------------------------------------------------------- 
    
   [RFC EDITOR NOTE:  
   This section must be deleted prior to publication] 
  
Expires January 2008                                         [page 15] 
INTERNET DRAFT Quick-Start for DCCP                          July 2007  
 
 
    
   DOCUMENT HISTORY 
    
   Individual Draft 00 
   This is the first presentation of this document. 
    
   Individual Draft 01 
   This includes fixes for NiTs (thanks Pasi) 
   It also includes a note on initial rates in 2.1 
   All mention of packet loss now qualified with loss/congestion. 
   It adds supports for CCID-2. 
   It also defines the Quick-Start Interval as a way of controlling the 
   rate at which hosts may issue QS requests. 
 
    
   [END of RFC EDITOR NOTE]  
  




































  
Expires January 2008                                         [page 16] 

PAFTECH AB 2003-20262026-04-23 11:34:45