One document matched: draft-ietf-dccp-ccid4-01.ps


%!PS-Adobe-3.0
%%BoundingBox: 24 24 588 768
%%Title: Enscript Output
%%For: Sally Floyd
%%Creator: GNU enscript 1.6.1
%%CreationDate: Sun Nov 18 11:03:15 2007
%%Orientation: Portrait
%%Pages: (atend)
%%DocumentMedia: Letter 612 792 0 () ()
%%DocumentNeededResources: (atend)
%%EndComments
%%BeginProlog
%%BeginResource: procset Enscript-Prolog 1.6 1
%
% Procedures.
%

/_S {	% save current state
  /_s save def
} def
/_R {	% restore from saved state
  _s restore
} def

/S {	% showpage protecting gstate
  gsave
  showpage
  grestore
} bind def

/MF {	% fontname newfontname -> -	make a new encoded font
  /newfontname exch def
  /fontname exch def

  /fontdict fontname findfont def
  /newfont fontdict maxlength dict def

  fontdict {
    exch
    dup /FID eq {
      % skip FID pair
      pop pop
    } {
      % copy to the new font dictionary
      exch newfont 3 1 roll put
    } ifelse
  } forall

  newfont /FontName newfontname put

  % insert only valid encoding vectors
  encoding_vector length 256 eq {
    newfont /Encoding encoding_vector put
  } if

  newfontname newfont definefont pop
} def

/SF { % fontname width height -> -	set a new font
  /height exch def
  /width exch def

  findfont
  [width 0 0 height 0 0] makefont setfont
} def

/SUF { % fontname width height -> -	set a new user font
  /height exch def
  /width exch def

  /F-gs-user-font MF
  /F-gs-user-font width height SF
} def

/M {moveto} bind def
/s {show} bind def

/Box {	% x y w h -> -			define box path
  /d_h exch def /d_w exch def /d_y exch def /d_x exch def
  d_x d_y  moveto
  d_w 0 rlineto
  0 d_h rlineto
  d_w neg 0 rlineto
  closepath
} def

/bgs {	% x y height blskip gray str -> -	show string with bg color
  /str exch def
  /gray exch def
  /blskip exch def
  /height exch def
  /y exch def
  /x exch def

  gsave
    x y blskip sub str stringwidth pop height Box
    gray setgray
    fill
  grestore
  x y M str s
} def

% Highlight bars.
/highlight_bars {	% nlines lineheight output_y_margin gray -> -
  gsave
    setgray
    /ymarg exch def
    /lineheight exch def
    /nlines exch def

    % This 2 is just a magic number to sync highlight lines to text.
    0 d_header_y ymarg sub 2 sub translate

    /cw d_output_w cols div def
    /nrows d_output_h ymarg 2 mul sub lineheight div cvi def

    % for each column
    0 1 cols 1 sub {
      cw mul /xp exch def

      % for each rows
      0 1 nrows 1 sub {
        /rn exch def
        rn lineheight mul neg /yp exch def
        rn nlines idiv 2 mod 0 eq {
	  % Draw highlight bar.  4 is just a magic indentation.
	  xp 4 add yp cw 8 sub lineheight neg Box fill
	} if
      } for
    } for

  grestore
} def

% Line highlight bar.
/line_highlight {	% x y width height gray -> -
  gsave
    /gray exch def
    Box gray setgray fill
  grestore
} def

% Column separator lines.
/column_lines {
  gsave
    .1 setlinewidth
    0 d_footer_h translate
    /cw d_output_w cols div def
    1 1 cols 1 sub {
      cw mul 0 moveto
      0 d_output_h rlineto stroke
    } for
  grestore
} def

% Column borders.
/column_borders {
  gsave
    .1 setlinewidth
    0 d_footer_h moveto
    0 d_output_h rlineto
    d_output_w 0 rlineto
    0 d_output_h neg rlineto
    closepath stroke
  grestore
} def

% Do the actual underlay drawing
/draw_underlay {
  ul_style 0 eq {
    ul_str true charpath stroke
  } {
    ul_str show
  } ifelse
} def

% Underlay
/underlay {	% - -> -
  gsave
    0 d_page_h translate
    d_page_h neg d_page_w atan rotate

    ul_gray setgray
    ul_font setfont
    /dw d_page_h dup mul d_page_w dup mul add sqrt def
    ul_str stringwidth pop dw exch sub 2 div ul_h_ptsize -2 div moveto
    draw_underlay
  grestore
} def

/user_underlay {	% - -> -
  gsave
    ul_x ul_y translate
    ul_angle rotate
    ul_gray setgray
    ul_font setfont
    0 0 ul_h_ptsize 2 div sub moveto
    draw_underlay
  grestore
} def

% Page prefeed
/page_prefeed {		% bool -> -
  statusdict /prefeed known {
    statusdict exch /prefeed exch put
  } {
    pop
  } ifelse
} def

% Wrapped line markers
/wrapped_line_mark {	% x y charwith charheight type -> -
  /type exch def
  /h exch def
  /w exch def
  /y exch def
  /x exch def

  type 2 eq {
    % Black boxes (like TeX does)
    gsave
      0 setlinewidth
      x w 4 div add y M
      0 h rlineto w 2 div 0 rlineto 0 h neg rlineto
      closepath fill
    grestore
  } {
    type 3 eq {
      % Small arrows
      gsave
        .2 setlinewidth
        x w 2 div add y h 2 div add M
        w 4 div 0 rlineto
        x w 4 div add y lineto stroke

        x w 4 div add w 8 div add y h 4 div add M
        x w 4 div add y lineto
	w 4 div h 8 div rlineto stroke
      grestore
    } {
      % do nothing
    } ifelse
  } ifelse
} def

% EPSF import.

/BeginEPSF {
  /b4_Inc_state save def    		% Save state for cleanup
  /dict_count countdictstack def	% Count objects on dict stack
  /op_count count 1 sub def		% Count objects on operand stack
  userdict begin
  /showpage { } def
  0 setgray 0 setlinecap
  1 setlinewidth 0 setlinejoin
  10 setmiterlimit [ ] 0 setdash newpath
  /languagelevel where {
    pop languagelevel
    1 ne {
      false setstrokeadjust false setoverprint
    } if
  } if
} bind def

/EndEPSF {
  count op_count sub { pos } repeat	% Clean up stacks
  countdictstack dict_count sub { end } repeat
  b4_Inc_state restore
} bind def

% Check PostScript language level.
/languagelevel where {
  pop /gs_languagelevel languagelevel def
} {
  /gs_languagelevel 1 def
} ifelse
%%EndResource
%%BeginResource: procset Enscript-Encoding-88591 1.6 1
/encoding_vector [
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/space        	/exclam       	/quotedbl     	/numbersign   	
/dollar       	/percent      	/ampersand    	/quoteright   	
/parenleft    	/parenright   	/asterisk     	/plus         	
/comma        	/hyphen       	/period       	/slash        	
/zero         	/one          	/two          	/three        	
/four         	/five         	/six          	/seven        	
/eight        	/nine         	/colon        	/semicolon    	
/less         	/equal        	/greater      	/question     	
/at           	/A            	/B            	/C            	
/D            	/E            	/F            	/G            	
/H            	/I            	/J            	/K            	
/L            	/M            	/N            	/O            	
/P            	/Q            	/R            	/S            	
/T            	/U            	/V            	/W            	
/X            	/Y            	/Z            	/bracketleft  	
/backslash    	/bracketright 	/asciicircum  	/underscore   	
/quoteleft    	/a            	/b            	/c            	
/d            	/e            	/f            	/g            	
/h            	/i            	/j            	/k            	
/l            	/m            	/n            	/o            	
/p            	/q            	/r            	/s            	
/t            	/u            	/v            	/w            	
/x            	/y            	/z            	/braceleft    	
/bar          	/braceright   	/tilde        	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/.notdef      	/.notdef      	/.notdef      	/.notdef      	
/space        	/exclamdown   	/cent         	/sterling     	
/currency     	/yen          	/brokenbar    	/section      	
/dieresis     	/copyright    	/ordfeminine  	/guillemotleft	
/logicalnot   	/hyphen       	/registered   	/macron       	
/degree       	/plusminus    	/twosuperior  	/threesuperior	
/acute        	/mu           	/paragraph    	/bullet       	
/cedilla      	/onesuperior  	/ordmasculine 	/guillemotright	
/onequarter   	/onehalf      	/threequarters	/questiondown 	
/Agrave       	/Aacute       	/Acircumflex  	/Atilde       	
/Adieresis    	/Aring        	/AE           	/Ccedilla     	
/Egrave       	/Eacute       	/Ecircumflex  	/Edieresis    	
/Igrave       	/Iacute       	/Icircumflex  	/Idieresis    	
/Eth          	/Ntilde       	/Ograve       	/Oacute       	
/Ocircumflex  	/Otilde       	/Odieresis    	/multiply     	
/Oslash       	/Ugrave       	/Uacute       	/Ucircumflex  	
/Udieresis    	/Yacute       	/Thorn        	/germandbls   	
/agrave       	/aacute       	/acircumflex  	/atilde       	
/adieresis    	/aring        	/ae           	/ccedilla     	
/egrave       	/eacute       	/ecircumflex  	/edieresis    	
/igrave       	/iacute       	/icircumflex  	/idieresis    	
/eth          	/ntilde       	/ograve       	/oacute       	
/ocircumflex  	/otilde       	/odieresis    	/divide       	
/oslash       	/ugrave       	/uacute       	/ucircumflex  	
/udieresis    	/yacute       	/thorn        	/ydieresis    	
] def
%%EndResource
%%EndProlog
%%BeginSetup
%%IncludeResource: font Courier-Bold
%%IncludeResource: font Courier
/HFpt_w 10 def
/HFpt_h 10 def
/Courier-Bold /HF-gs-font MF
/HF /HF-gs-font findfont [HFpt_w 0 0 HFpt_h 0 0] makefont def
/Courier /F-gs-font MF
/F-gs-font 10 10 SF
/#copies 1 def
% Pagedevice definitions:
gs_languagelevel 1 gt {
  <<
    /PageSize [612 792] 
  >> setpagedevice
} if
/d_page_w 564 def
/d_page_h 744 def
/d_header_x 0 def
/d_header_y 744 def
/d_header_w 564 def
/d_header_h 0 def
/d_footer_x 0 def
/d_footer_y 0 def
/d_footer_w 564 def
/d_footer_h 0 def
/d_output_w 564 def
/d_output_h 744 def
/cols 1 def
%%EndSetup
%%Page: (1) 1
%%BeginPageSetup
_S
24 24 translate
/pagenum 1 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 632 M
(Internet Engineering Task Force                              Sally Floyd) s
5 621 M
(INTERNET-DRAFT                                                      ICIR) s
5 610 M
(Intended status: Experimental                               Eddie Kohler) s
5 599 M
(Expires: 18 May 2008                                                UCLA) s
5 588 M
(                                                        18 November 2007) s
5 555 M
(        Profile for Datagram Congestion Control Protocol \(DCCP\)) s
5 544 M
( Congestion ID 4: TCP-Friendly Rate Control for Small Packets \(TFRC-SP\)) s
5 533 M
(                     draft-ietf-dccp-ccid4-01.txt) s
5 500 M
(Status of This Memo) s
5 478 M
(   By submitting this Internet-Draft, each author represents that any) s
5 467 M
(   applicable patent or other IPR claims of which he or she is aware) s
5 456 M
(   have been or will be disclosed, and any of which he or she becomes) s
5 445 M
(   aware will be disclosed, in accordance with Section 6 of BCP 79.) s
5 423 M
(   Internet-Drafts are working documents of the Internet Engineering) s
5 412 M
(   Task Force \(IETF\), its areas, and its working groups.  Note that) s
5 401 M
(   other groups may also distribute working documents as Internet-) s
5 390 M
(   Drafts.) s
5 368 M
(   Internet-Drafts are draft documents valid for a maximum of six months) s
5 357 M
(   and may be updated, replaced, or obsoleted by other documents at any) s
5 346 M
(   time.  It is inappropriate to use Internet-Drafts as reference) s
5 335 M
(   material or to cite them other than as "work in progress.") s
5 313 M
(   The list of current Internet-Drafts can be accessed at) s
5 302 M
(   http://www.ietf.org/ietf/1id-abstracts.txt.) s
5 280 M
(   The list of Internet-Draft Shadow Directories can be accessed at) s
5 269 M
(   http://www.ietf.org/shadow.html.) s
5 247 M
(   This Internet-Draft will expire on 18 May 2008.) s
5 225 M
(Copyright Notice) s
5 203 M
(   Copyright \(C\) The IETF Trust \(2007\).) s
5 181 M
(Abstract) s
5 159 M
(   This document specifies an experimental profile for Congestion) s
5 148 M
(   Control Identifier 4, the Small-Packet variant of TCP-Friendly Rate) s
5 104 M
(Floyd, et al.             Expires: 18 May 2008                  [Page 1]) s
_R
S
%%Page: (2) 2
%%BeginPageSetup
_S
24 24 translate
/pagenum 2 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   Control \(TFRC\), in the Datagram Congestion Control Protocol \(DCCP\).) s
5 676 M
(   CCID 4 is for experimental use, and uses TFRC-SP [RFC4828], a variant) s
5 665 M
(   of TFRC designed for applications that send small packets.  CCID 4 is) s
5 654 M
(   considered experimental because TFRC-SP is itself experimental, and) s
5 643 M
(   is not proposed for widespread deployment in the global Internet at) s
5 632 M
(   this time.  The goal for TFRC-SP is to achieve roughly the same) s
5 621 M
(   bandwidth in bits per second \(bps\) as a TCP flow using packets of up) s
5 610 M
(   to 1500 bytes but experiencing the same level of congestion.  CCID 4) s
5 599 M
(   is for experimental use for senders that send small packets and would) s
5 588 M
(   like a TCP-friendly sending rate, possibly with Explicit Congestion) s
5 577 M
(   Notification \(ECN\), while minimizing abrupt rate changes.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                  [Page 2]) s
_R
S
%%Page: (3) 3
%%BeginPageSetup
_S
24 24 translate
/pagenum 3 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   TO BE DELETED BY THE RFC EDITOR UPON PUBLICATION:) s
5 665 M
(   Changes from draft-ietf-dccp-ccid4-00.txt:) s
5 643 M
(   * Added that the RFC 4342 errata applies to CCID 4 as well.  From) s
5 632 M
(   email from Leandro Sales.) s
5 610 M
(   * Added the phrase "If the sender is calculating the loss event rate) s
5 599 M
(   itself" to a non-normative description in Section 5.  Feedback from) s
5 588 M
(   Gerrit Renker.) s
5 566 M
(   * Deleted the Send Dropped Packets feature, since it is not used in) s
5 555 M
(   CCID 4.  In CCID 4, the Dropped Packets option is mandatory.) s
5 533 M
(   Changes from draft-floyd-dccp-ccid4-01.txt:) s
5 511 M
(   * Title changed to draft-ietf-dccp-ccid4-00.txt.) s
5 489 M
(   * Incorporated material from draft-kohler-dccp-ccid3-drops-01.txt.) s
5 467 M
(   * Added a reference to RFC3448bis.) s
5 445 M
(   * Added a sentence saying that this is Experimental because TFRC-SP) s
5 434 M
(   is Experimental.) s
5 412 M
(   * General editing in response to feedback from Gorry.) s
5 390 M
(   Changes from draft-floyd-dccp-ccid4-00.txt:) s
5 368 M
(   * Added a subsection describing calculation of the average loss) s
5 357 M
(   interval in TFRC-SP.) s
5 335 M
(   * Changed the assumed DCCP-Data header size from 12 bytes to 16) s
5 324 M
(   bytes, for 48-bit sequence numbers.  Feedback from Ian McDonald.) s
5 302 M
(   * Added that the CCID4 sender can send two packets in a burst, if) s
5 291 M
(   limited by OS granularity.  From Ian McDonald.) s
5 269 M
(   * Added that the implementor may track Faster Restart and implement) s
5 258 M
(   it before an explicit update to the CCID4 RFC.  From Ian McDonald.) s
5 236 M
(   * Added an example to Section 8.4 of when errors can occur in using) s
5 225 M
(   the Window Counter to detect loss intervals of at most two round-trip) s
5 214 M
(   times.) s
5 192 M
(   Changes from draft-floyd-ccid4-00.txt:) s
5 170 M
(   * Added the Dropped Packets option for reporting the number of) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                  [Page 3]) s
_R
S
%%Page: (4) 4
%%BeginPageSetup
_S
24 24 translate
/pagenum 4 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   packets dropped in a loss interval.) s
5 665 M
(   * Added examples to Section 8.4 of the receiver incorrectly inferring) s
5 654 M
(   whether a loss interval was short or not.) s
5 632 M
(   END OF SECTION TO BE DELETED.) s
5 610 M
(Table of Contents) s
5 588 M
(   1. Introduction ....................................................6) s
5 577 M
(   2. Conventions .....................................................6) s
5 566 M
(   3. Usage ...........................................................7) s
5 555 M
(      3.1. Relationship with TFRC .....................................7) s
5 544 M
(      3.2. Example Half-Connection ....................................7) s
5 533 M
(   4. Connection Establishment ........................................8) s
5 522 M
(   5. Congestion Control on Data Packets ..............................8) s
5 511 M
(      5.1. Response to Idle and Application-limited Periods ..........10) s
5 500 M
(      5.2. Response to Data Dropped and Slow Receiver ................10) s
5 489 M
(      5.3. Packet Sizes ..............................................10) s
5 478 M
(   6. Acknowledgements ...............................................10) s
5 467 M
(      6.1. Loss Interval Definition ..................................10) s
5 456 M
(      6.2. Congestion Control on Acknowledgements ....................11) s
5 445 M
(      6.3. Acknowledgements of Acknowledgements ......................11) s
5 434 M
(      6.4. Quiescence ................................................11) s
5 423 M
(   7. Explicit Congestion Notification ...............................11) s
5 412 M
(   8. Options and Features ...........................................11) s
5 401 M
(      8.1. Window Counter Value ......................................12) s
5 390 M
(      8.2. Elapsed Time Options ......................................12) s
5 379 M
(      8.3. Receive Rate Option .......................................13) s
5 368 M
(      8.4. Send Loss Event Rate Feature ..............................13) s
5 357 M
(      8.5. Loss Event Rate Option ....................................13) s
5 346 M
(      8.6. Loss Intervals Option .....................................13) s
5 335 M
(      8.7. Dropped Packets Option ....................................14) s
5 324 M
(           8.7.1. Example ............................................15) s
5 313 M
(   9. Verifying Congestion Control Compliance With ECN ...............16) s
5 302 M
(      9.1. Verifying the ECN Nonce Echo ..............................16) s
5 291 M
(      9.2. Verifying the Reported Loss Intervals and Loss Event Rate) s
5 280 M
(      ................................................................17) s
5 269 M
(   10. Implementation Issues .........................................17) s
5 258 M
(      10.1. Timestamp Usage ..........................................17) s
5 247 M
(      10.2. Determining Loss Events at the Receiver ..................17) s
5 236 M
(      10.3. Sending Feedback Packets .................................17) s
5 225 M
(   11. Security Considerations .......................................17) s
5 214 M
(   12. IANA Considerations ...........................................17) s
5 203 M
(      12.1. Reset Codes ..............................................17) s
5 192 M
(      12.2. Option Types .............................................18) s
5 181 M
(      12.3. Feature Numbers ..........................................18) s
5 170 M
(   13. Thanks ........................................................18) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                  [Page 4]) s
_R
S
%%Page: (5) 5
%%BeginPageSetup
_S
24 24 translate
/pagenum 5 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   Normative References ..............................................18) s
5 676 M
(   Informative References ............................................19) s
5 665 M
(   Authors' Addresses ................................................20) s
5 654 M
(   Full Copyright Statement ..........................................20) s
5 643 M
(   Intellectual Property .............................................20) s
5 632 M
(   Acknowledgement ...................................................21) s
5 610 M
(List of Tables) s
5 588 M
(   Table 1: DCCP CCID 4 Options ......................................11) s
5 577 M
(   Table 2: DCCP CCID 4 Feature Numbers ..............................12) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                  [Page 5]) s
_R
S
%%Page: (6) 6
%%BeginPageSetup
_S
24 24 translate
/pagenum 6 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(1.  Introduction) s
5 665 M
(   This document contains the profile for Congestion Control Identifier) s
5 654 M
(   4, TCP-Friendly Rate Control for Small Packets \(TFRC-SP\), in the) s
5 643 M
(   Datagram Congestion Control Protocol \(DCCP\) [RFC4340].  CCID 4) s
5 632 M
(   differs from CCID 3 in that CCID 4 uses TFRC-SP, the Small-Packet) s
5 621 M
(   variant of TFRC, while CCID 3 [RFC4342] uses standard TFRC [RFC3448].) s
5 610 M
(   This document assumes that the reader is familiar with [RFC4342],) s
5 599 M
(   instead of repeating from that document unnecessarily.) s
5 577 M
(   CCID 4 differs from CCID 3 only in the following respects:) s
5 555 M
(   o  Header size: For TFRC-SP, the allowed transmit rate in bytes per) s
5 544 M
(      second is reduced by a factor that accounts for packet header) s
5 533 M
(      size.  This is specified for TFRC-SP in Section 4.2 of [RFC4828],) s
5 522 M
(      and described for CCID 4 in Section 5 below.) s
5 500 M
(   o  Minimum sending rate: TFRC-SP enforces a minimum interval of) s
5 489 M
(      10 milliseconds between data packets.  This is specified for TFRC-) s
5 478 M
(      SP in Section 4.3 of [RFC4828], and described for CCID 4 in) s
5 467 M
(      Section 5 below.) s
5 445 M
(   o  Loss rates for short loss intervals: For short lost intervals of) s
5 434 M
(      at most two round-trip times, the loss rate is computed by) s
5 423 M
(      counting the actual number of packets lost or marked.  For such a) s
5 412 M
(      short loss interval with N data packets, including K lost or) s
5 401 M
(      marked data packets, the loss interval length is calculated as) s
5 390 M
(      N/K, instead of as N.  This is specified for TFRC-SP in Section) s
5 379 M
(      4.4 of [RFC4828].  If the sender is computing the loss event rate,) s
5 368 M
(      the Dropped Packets option specified in Section 8.7 is required,) s
5 357 M
(      in addition to the default CCID 3's Loss Intervals option.) s
5 346 M
(      Section 8.7 describes the use of the Dropped Packets option in) s
5 335 M
(      calculating the loss event rate.  The computation of the loss rate) s
5 324 M
(      by the receiver for the Loss Event Rate option is described for) s
5 313 M
(      CCID 4 in Section 8.4 below.) s
5 291 M
(   o  The nominal segment size: In TFRC-SP, the nominal segment size) s
5 280 M
(      used by the TCP throughput equation is set to 1460 bytes.  This is) s
5 269 M
(      specified for TFRC-SP in Section 4.5 of [RFC3448], and described) s
5 258 M
(      for CCID 4 in Section 5 below.) s
5 236 M
(2.  Conventions) s
5 214 M
(   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",) s
5 203 M
(   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this) s
5 192 M
(   document are to be interpreted as described in [RFC2119].) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008      Section 2.  [Page 6]) s
_R
S
%%Page: (7) 7
%%BeginPageSetup
_S
24 24 translate
/pagenum 7 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   Additional terminology is described in Section 2 of [RFC4342].) s
5 665 M
(3.  Usage) s
5 643 M
(   Like CCID 3, CCID 4's congestion control is appropriate for flows) s
5 632 M
(   that would prefer to minimize abrupt changes in the sending rate,) s
5 621 M
(   including streaming media applications with small or moderate) s
5 610 M
(   receiver buffering before playback.) s
5 588 M
(   CCID 4 is designed to be used either by applications that use a small) s
5 577 M
(   fixed segment size, or by applications that change their sending rate) s
5 566 M
(   by varying the segment size.  If CCID 4 is used by an application) s
5 555 M
(   that varies its segment size in response to changes in the allowed) s
5 544 M
(   sending rate in bps, we note that CCID 4 doesn't dictate the segment) s
5 533 M
(   size to be used by the application; this is done by the application) s
5 522 M
(   itself.  The CCID 4 sender determines the allowed sending rate in) s
5 511 M
(   bps, in response to on-going feedback from the CCID 4 receiver, and) s
5 500 M
(   the application can use information about the current allowed sending) s
5 489 M
(   rate to decide whether to change the current segment size.) s
5 467 M
(   We note that in some environments there will be a feedback loop, with) s
5 456 M
(   changes in the packet size or in the sending rate in bps affecting) s
5 445 M
(   congestion along the path, therefore affecting the allowed sending) s
5 434 M
(   rate in the future.) s
5 412 M
(3.1.  Relationship with TFRC) s
5 390 M
(   The congestion control mechanisms described here follow the TFRC-SP) s
5 379 M
(   mechanism specified in [RFC4828].  As with CCID 3, conformant CCID 4) s
5 368 M
(   implementations MAY track updates to the TCP throughput equation) s
5 357 M
(   directly, as updates are standardized in the IETF, rather than) s
5 346 M
(   waiting for revisions of this document.  This document is based on) s
5 335 M
(   CCID 3 [RFC4342] as modified by the RFC 4342 Errata [RFC4342Errat],) s
5 324 M
(   and on TFRC [RFC3448] as modified by the RFC 3448 Errata) s
5 313 M
(   [RFC3448Errat].  \(We don't expect that errata would be added to CCID) s
5 302 M
(   3 that didn't apply to CCID 4, but if this should happen, we would) s
5 291 M
(   say this explicitly in the errata.\)  If [RFC3448bis] is standardized) s
5 280 M
(   in the IETF as a revision of [RFC3448], then [RFC3448bis] MAY be) s
5 269 M
(   implemented with CCID4 without having to wait for an explicit update) s
5 258 M
(   to this document.) s
5 236 M
(3.2.  Example Half-Connection) s
5 214 M
(   This example shows the typical progress of a half-connection using) s
5 203 M
(   CCID 4's TFRC Congestion Control, not including connection initiation) s
5 192 M
(   and termination.  The example is informative, not normative.  This) s
5 181 M
(   example differs from that for CCID 3 in [RFC4342] only in that the) s
5 170 M
(   allowed transmit rate is determined by [RFC4828] as well as by) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008    Section 3.2.  [Page 7]) s
_R
S
%%Page: (8) 8
%%BeginPageSetup
_S
24 24 translate
/pagenum 8 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   [RFC3448].) s
5 665 M
(   1. The sender transmits DCCP-Data packets, where the sending rate is) s
5 654 M
(      governed by the allowed transmit rate as specified in [RFC4828].) s
5 643 M
(      Each DCCP-Data packet has a sequence number, and the DCCP header's) s
5 632 M
(      CCVal field contains the window counter value, used by the) s
5 621 M
(      receiver in determining when multiple losses belong in a single) s
5 610 M
(      loss event.) s
5 588 M
(      In the typical case of an ECN-capable half-connection, each DCCP-) s
5 577 M
(      Data and DCCP-DataAck packet is sent as ECN-Capable, with either) s
5 566 M
(      the ECT\(0\) or the ECT\(1\) codepoint set.  The use of the ECN Nonce) s
5 555 M
(      with TFRC is described in Section 9.) s
5 533 M
(   2. The receiver sends DCCP-Ack packets acknowledging the data packets) s
5 522 M
(      at least once per round-trip time, unless the sender is sending at) s
5 511 M
(      a rate of less than one packet per round-trip time [RFC3448]) s
5 500 M
(      \(Section 6\).  Each DCCP-Ack packet uses a sequence number,) s
5 489 M
(      identifies the most recent packet received from the sender, and) s
5 478 M
(      includes feedback about the recent loss intervals experienced by) s
5 467 M
(      the receiver.) s
5 445 M
(   3. The sender continues sending DCCP-Data packets as controlled by) s
5 434 M
(      the allowed transmit rate.  Upon receiving DCCP-Ack packets, the) s
5 423 M
(      sender updates its allowed transmit rate as specified in [RFC3448]) s
5 412 M
(      \(Section 4.3\)  and [RFC4828].  This update is based upon a loss) s
5 401 M
(      event rate calculated by the sender, based on the receiver's loss) s
5 390 M
(      intervals feedback.  If it prefers, the sender can also use a loss) s
5 379 M
(      event rate calculated and reported by the receiver.) s
5 357 M
(   4. The sender estimates round-trip times and calculates a nofeedback) s
5 346 M
(      time, as specified in [RFC3448] \(Section 4.4\).  If no feedback is) s
5 335 M
(      received from the receiver in that time \(at least four round-trip) s
5 324 M
(      times\), the sender halves its sending rate.) s
5 302 M
(4.  Connection Establishment) s
5 280 M
(   The connection establishment is as specified in Section 4 of) s
5 269 M
(   [RFC4342].) s
5 247 M
(5.  Congestion Control on Data Packets) s
5 225 M
(   CCID 4 uses the congestion control mechanisms of TFRC [RFC3448] and) s
5 214 M
(   TFRC-SP [RFC4828].  [RFC4828] MUST be considered normative except) s
5 203 M
(   where specifically indicated.) s
5 181 M
(   Loss Event Rate) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008      Section 5.  [Page 8]) s
_R
S
%%Page: (9) 9
%%BeginPageSetup
_S
24 24 translate
/pagenum 9 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   As with CCID 3, the basic operation of CCID 4 centers around the) s
5 676 M
(   calculation of a loss event rate: the number of loss events as a) s
5 665 M
(   fraction of the number of packets transmitted, weighted over the last) s
5 654 M
(   several loss intervals.  For CCID 4, this loss event rate, a round-) s
5 643 M
(   trip time estimate, and a nominal packet size of 1460 bytes are) s
5 632 M
(   plugged into the TCP throughput equation, as specified in RFC 3448) s
5 621 M
(   \(Section 3.1\) and [RFC4828].) s
5 599 M
(   Because CCID 4 is intended for applications that send small packets,) s
5 588 M
(   the allowed transmit rate derived from the TCP throughput equation is) s
5 577 M
(   reduced by a factor that accounts for packet header size, as) s
5 566 M
(   specified in Section 4.2 of [RFC4828].  The header size on data) s
5 555 M
(   packets is estimated as 36 bytes \(20 bytes for the IP header, and 16) s
5 544 M
(   bytes for the DCCP-Data header with 48-bit sequence numbers\).  If the) s
5 533 M
(   DCCP sender is sending N-byte data packets, the allowed transmit rate) s
5 522 M
(   is reduced by N/\(N+36\).  CCID 4 senders are limited to this fair) s
5 511 M
(   rate.  The header size would be 32 bytes instead of 36 bytes when) s
5 500 M
(   24-bit sequence numbers were used in the DCCP-Data header.) s
5 478 M
(   As explained in Section 4.2 of [RFC4828], the actual header could be) s
5 467 M
(   larger or smaller than the assumed value, due to IP or DCCP options,) s
5 456 M
(   IPv6, IP tunnels, header compression, and the like.  Because we are) s
5 445 M
(   only aiming at rough fairness, and at a rough incentive for) s
5 434 M
(   applications, the default use of a 32-byte or 36-byte header in the) s
5 423 M
(   calculations of the header bandwidth is sufficient for both IPv4 and) s
5 412 M
(   IPv6.) s
5 390 M
(   If the sender is calculating the loss event rate itself, the loss) s
5 379 M
(   event rate can be calculated using recent loss interval lengths) s
5 368 M
(   reported by the receiver.  Loss intervals are precisely defined in) s
5 357 M
(   Section 6.1 of [RFC4342],  with the modification in [RFC4828]) s
5 346 M
(   \(Section 3\) for loss intervals of at most two round-trip times.  In) s
5 335 M
(   summary, a loss interval is up to 1 RTT of possibly lost or ECN-) s
5 324 M
(   marked data packets, followed by an arbitrary number of non-dropped,) s
5 313 M
(   non-marked data packets.  The CCID 3 Loss Intervals option is used to) s
5 302 M
(   report loss interval lengths; see Section 8.6.) s
5 280 M
(   For loss intervals of at most two round-trip times, CCID 4 calculates) s
5 269 M
(   the loss event rate for that interval by counting the number of) s
5 258 M
(   packets lost or marked, as described in Section 4.4 of [RFC4828].) s
5 247 M
(   Thus, for such a short loss interval with N data packets, including K) s
5 236 M
(   lost or marked data packets, the loss interval length is calculated) s
5 225 M
(   as N/K, instead as N.  The Dropped Packets option is used to report) s
5 214 M
(   K, the count of lost or marked data packets.) s
5 192 M
(   Unlike CCID 3, the CCID 4 sender enforces a minimum interval of 10 ms) s
5 181 M
(   between data packets, regardless of the allowed transmit rate.  If) s
5 170 M
(   operating system scheduling granularity makes this impractical, up to) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008      Section 5.  [Page 9]) s
_R
S
%%Page: (10) 10
%%BeginPageSetup
_S
24 24 translate
/pagenum 10 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   one additional packet MAY be sent per timeslice, providing that no) s
5 676 M
(   more than three packets are sent in any 30 ms interval.) s
5 654 M
(   Other Congestion Control Mechanisms) s
5 632 M
(   The other congestion control mechanisms such as slow-start, feedback) s
5 621 M
(   packets, and the like are exactly as in CCID 3, and are described in) s
5 610 M
(   the subsection on "Other Congestion Control Mechanisms" of Section 5) s
5 599 M
(   in [RFC4342].) s
5 577 M
(5.1.  Response to Idle and Application-limited Periods) s
5 555 M
(   This is described in Section 5.1 of [RFC4342].  If Faster Restart is) s
5 544 M
(   standardized in the IETF for TFRC [KFS07], then Faster Restart MAY be) s
5 533 M
(   implemented in CCID4 without having to wait for an explicit update to) s
5 522 M
(   this document.) s
5 500 M
(5.2.  Response to Data Dropped and Slow Receiver) s
5 478 M
(   This is described in Section 5.2 of [RFC4342].) s
5 456 M
(5.3.  Packet Sizes) s
5 434 M
(   CCID 4 is intended for applications that use a fixed small segment) s
5 423 M
(   size, or that vary their segment size in response to congestion.) s
5 401 M
(   The CCID 4 sender uses a segment size of 1460 bytes in the TCP) s
5 390 M
(   throughput equation.  This gives the CCID 4 sender roughly the same) s
5 379 M
(   sending rate in bytes per second as a TFRC flow using 1460-byte) s
5 368 M
(   segments but experiencing the same packet drop rate.) s
5 346 M
(6.  Acknowledgements) s
5 324 M
(   The acknowledgements are as specified in Section 6 of [RFC4342] with) s
5 313 M
(   the exception of the Loss Interval lengths specified below.) s
5 291 M
(6.1.  Loss Interval Definition) s
5 269 M
(   The loss interval definition is as defined in Section 6.1 of) s
5 258 M
(   [RFC4342], except as specified below.  Section 6.1.1 of RFC 4342) s
5 247 M
(   specifies that for all loss intervals except the first one, the data) s
5 236 M
(   length equals the sequence length minus the number of non-data) s
5 225 M
(   packets the sender transmitted during the loss interval, with a) s
5 214 M
(   minimum data length of one packet.  For TFRC-SP, for short loss) s
5 203 M
(   intervals of at most two round-trip times, the loss interval length) s
5 192 M
(   is computed not as the data length of the loss interval, but instead) s
5 181 M
(   as the data length divided by the number of dropped or marked data) s
5 170 M
(   packets.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008   Section 6.1.  [Page 10]) s
_R
S
%%Page: (11) 11
%%BeginPageSetup
_S
24 24 translate
/pagenum 11 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   Section 5.4 of RFC 4342 described when to use the most recent loss) s
5 676 M
(   interval in the calculation of the average loss interval.  [RFC4828]) s
5 665 M
(   adds to this procedure the restriction that the most recent loss) s
5 654 M
(   interval is only used in the calculation of the average loss interval) s
5 643 M
(   if the most recent loss interval is greater than two round-trip) s
5 632 M
(   times.  The pseudocode is given in Section 3 of [RFC4828].) s
5 610 M
(6.2.  Congestion Control on Acknowledgements) s
5 588 M
(   The congestion control on acknowledgements is as specified in Section) s
5 577 M
(   6.2 of [RFC4342].) s
5 555 M
(6.3.  Acknowledgements of Acknowledgements) s
5 533 M
(   Procedures for the acknowledgement of acknowledgements are as) s
5 522 M
(   specified in Section 6.3 of [RFC4342].) s
5 500 M
(6.4.  Quiescence) s
5 478 M
(   The procedure for detecting that the sender has gone quiescent is as) s
5 467 M
(   specified in Section 6.4 of [RFC4342].) s
5 445 M
(7.  Explicit Congestion Notification) s
5 423 M
(   Procedures for the use of Explicit Congestion Notification \(ECN\) are) s
5 412 M
(   as specified in Section 7 of [RFC4342].) s
5 390 M
(8.  Options and Features) s
5 368 M
(   CCID 4 can make use of DCCP's Ack Vector, Timestamp, Timestamp Echo,) s
5 357 M
(   and Elapsed Time options, and its Send Ack Vector and ECN Incapable) s
5 346 M
(   features.  CCID 4 also imports the currently defined CCID 3-specific) s
5 335 M
(   options and features [RFC4342], augmented by the Dropped Packets) s
5 324 M
(   option specified in this document.  Each CCID 4-specific option and) s
5 313 M
(   feature contains the same data as the corresponding CCID 3 option or) s
5 302 M
(   feature, and is interpreted in the same way, except as specified) s
5 291 M
(   elsewhere in this document.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008     Section 8.  [Page 11]) s
_R
S
%%Page: (12) 12
%%BeginPageSetup
_S
24 24 translate
/pagenum 12 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(                  Option                        DCCP-   Section) s
5 676 M
(         Type     Length     Meaning            Data?  Reference) s
5 665 M
(         -----    ------     -------            -----  ---------) s
5 654 M
(        128-191              Reserved) s
5 643 M
(          192        6       Loss Event Rate      N      8.5) s
5 632 M
(          193     variable   Loss Intervals       N      8.6) s
5 621 M
(          194        6       Receive Rate         N      8.3) s
5 610 M
(          195     variable   Dropped Packets      N      8.7) s
5 599 M
(        196-255              Reserved) s
5 577 M
(                      Table 1: DCCP CCID 4 Options) s
5 566 M
(   The "DCCP-Data?" column indicates that all currently defined) s
5 555 M
(   CCID 4-specific options MUST be ignored when they occur on DCCP-Data) s
5 544 M
(   packets.) s
5 522 M
(   As with CCID 3, the following CCID-specific features are also) s
5 511 M
(   defined.) s
5 489 M
(                                       Rec'n Initial        Section) s
5 478 M
(     Number   Meaning                  Rule   Value  Req'd Reference) s
5 467 M
(     ------   -------                  -----  -----  ----- ---------) s
5 456 M
(     128-191  Reserved) s
5 445 M
(       192    Send Loss Event Rate      SP      0      N      8.4) s
5 434 M
(     193-255  Reserved) s
5 412 M
(                  Table 2: DCCP CCID 4 Feature Numbers) s
5 390 M
(   More information is available in Section 8 of [RFC4342].) s
5 368 M
(8.1.  Window Counter Value) s
5 346 M
(   The use of the Window Counter Value in the DCCP generic header's) s
5 335 M
(   CCVal field is as specified in Section 8.1 of [RFC4342].  In addition) s
5 324 M
(   to their use described in CCID 3, the CCVal counters are used by the) s
5 313 M
(   receiver in CCID 4 to determine when the length of a loss interval is) s
5 302 M
(   at most two round-trip times.  None of these procedures require the) s
5 291 M
(   receiver to maintain an explicit estimate of the round-trip time.) s
5 280 M
(   However, Section 8.1 of [RFC4342] gives a procedure that implementors) s
5 269 M
(   may use if they wish to keep such an RTT estimate using CCVal.) s
5 247 M
(8.2.  Elapsed Time Options) s
5 225 M
(   The use of the Elapsed Time option is defined in Section 8.2 of) s
5 214 M
(   [RFC4342].) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008   Section 8.2.  [Page 12]) s
_R
S
%%Page: (13) 13
%%BeginPageSetup
_S
24 24 translate
/pagenum 13 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(8.3.  Receive Rate Option) s
5 665 M
(   The Receive Rate option is as specified in Section 8.3 of [RFC4342].) s
5 643 M
(8.4.  Send Loss Event Rate Feature) s
5 621 M
(   The Send Loss Event Rate feature is as defined in Section 8.4 of) s
5 610 M
(   [RFC4342].) s
5 588 M
(   See [RFC3448], Section 5 and [RFC4828], Section 4.4 for a normative) s
5 577 M
(   calculation of the loss event rate.  Section 4.4 of [RFC4828]) s
5 566 M
(   modifies the calculation of the loss interval size for loss intervals) s
5 555 M
(   of at most two round-trip times.) s
5 533 M
(   If the CCID 4 receiver is using the Loss Event Rate option, the) s
5 522 M
(   receiver needs to be able to determine if a loss interval is short,) s
5 511 M
(   of at most two round-trip times.  The receiver can heuristically) s
5 500 M
(   detect a short loss interval by using the Window Counter in arriving) s
5 489 M
(   data packets.  The sender increases the Window Counter by 1 every) s
5 478 M
(   quarter of a round-trip time, with the caveat that the Window Counter) s
5 467 M
(   is never increased by more than five, modulo 16, from one data packet) s
5 456 M
(   to the next.  Using the Window Counter to detect loss intervals of at) s
5 445 M
(   most two round-trip times could result in some false positives, with) s
5 434 M
(   some longer loss intervals incorrectly identified as short ones.  For) s
5 423 M
(   example, if the loss interval contained data packets with only two) s
5 412 M
(   Window Counter values, say, k and k+5, then the receiver could not) s
5 401 M
(   tell if the loss interval was at most two round-trip times long or) s
5 390 M
(   not.  Similarly, if the sender sent data packets with Window Counter) s
5 379 M
(   values of 4, 8, 12, 0, 5, but the packets with Window Counter values) s
5 368 M
(   of 8, 12, and 0 were lost in the network, then the receiver would) s
5 357 M
(   only receive data packets with Window Counter values of 4 and 5, and) s
5 346 M
(   would incorrectly infer that the loss interval was at most two round-) s
5 335 M
(   trip times.) s
5 302 M
(8.5.  Loss Event Rate Option) s
5 280 M
(   The Loss Event Rate option is as specified in Section 8.5 of) s
5 269 M
(   [RFC4342].) s
5 247 M
(   See [RFC3448] \(Section 5\) and [RFC4828] for a normative calculation) s
5 236 M
(   of the loss event rate.) s
5 214 M
(8.6.  Loss Intervals Option) s
5 192 M
(   The Loss Intervals option is as specified in Section 8.6 of) s
5 181 M
(   [RFC4342].) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008   Section 8.6.  [Page 13]) s
_R
S
%%Page: (14) 14
%%BeginPageSetup
_S
24 24 translate
/pagenum 14 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(8.7.  Dropped Packets Option) s
5 665 M
(   This section describes the Dropped Packets option, a mechanism for) s
5 654 M
(   reporting the number of lost and marked packets per loss interval.) s
5 643 M
(   By reporting both the Loss Intervals and Dropped Packets options on) s
5 632 M
(   the feedback packets, the receiver gives the sender sufficient) s
5 621 M
(   information to calculate the loss event rate, or to verify the) s
5 610 M
(   calculation of the reported loss event rate, if the sender so) s
5 599 M
(   desires.) s
5 577 M
(   The core information reported by CCID 4 receivers is a list of recent) s
5 566 M
(   loss intervals, where a loss interval begins with a lost or ECN-) s
5 555 M
(   marked data packet; continues with at most one round-trip time's) s
5 544 M
(   worth of packets that may or may not be lost or marked; and completes) s
5 533 M
(   with an arbitrarily long series of non-dropped, non-marked data) s
5 522 M
(   packets.  Loss intervals model the congestion behavior of TCP NewReno) s
5 511 M
(   senders, which reduce their sending rate at most once per window of) s
5 500 M
(   data packets.  Consequently, the number of packets lost in a loss) s
5 489 M
(   interval is not important for either TCP's or TFRC's congestion) s
5 478 M
(   response.  CCID 3's Loss Intervals option reports the length of each) s
5 467 M
(   loss interval's lossy part, not the number of packets that were) s
5 456 M
(   actually lost or marked in that lossy part.) s
5 434 M
(   However, for computing the loss event rate for periods that include) s
5 423 M
(   short loss intervals the TFRC-SP sender needs to know the number of) s
5 412 M
(   packets lost or marked in a loss interval, over and above the length) s
5 401 M
(   of the loss interval in packets.  The Dropped Packets option, a) s
5 390 M
(   CCID 4-specific option, reports this information.  Together with the) s
5 379 M
(   existing Loss Intervals option, the Dropped Packets option allows the) s
5 368 M
(   CCID 4 sender to discover exactly how many packets were dropped from) s
5 357 M
(   each loss interval.  The receiver reports the number of lost or) s
5 346 M
(   marked packets in its recently observed loss intervals using the) s
5 335 M
(   Dropped Packets option.) s
5 313 M
(   The Dropped Packets Option is specified as follows:) s
5 291 M
(   +--------+--------+-------...-------+--------+-------) s
5 280 M
(   |11000011| Length |   Drop Count    | More Drop Counts...) s
5 269 M
(   +--------+--------+-------...-------+--------+-------) s
5 258 M
(    Type=195               3 bytes) s
5 236 M
(   The Dropped Packets option contains information about one to 84) s
5 225 M
(   consecutive loss intervals, always including the most recent loss) s
5 214 M
(   interval.  As with the Loss Intervals option, intervals are listed in) s
5 203 M
(   reverse chronological order.  Should more than 84 loss intervals need) s
5 192 M
(   to be reported, multiple Dropped Packets options can be sent; the) s
5 181 M
(   second option begins where the first left off, and so forth.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008   Section 8.7.  [Page 14]) s
_R
S
%%Page: (15) 15
%%BeginPageSetup
_S
24 24 translate
/pagenum 15 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   One Drop Count is specified per loss interval.  Drop Count is a) s
5 676 M
(   24-bit number that equals the number of packets lost or received ECN-) s
5 665 M
(   marked during the corresponding loss interval.  By definition, this) s
5 654 M
(   number MUST NOT exceed the corresponding loss interval's Loss Length.) s
5 632 M
(   CCID 4 receivers MUST report Dropped Packets options with every) s
5 621 M
(   feedback packet.  Any packet containing a Loss Intervals option MUST) s
5 610 M
(   also contain a Dropped Packets option covering the same loss) s
5 599 M
(   intervals.  If a feedback packet does not include a relevant Dropped) s
5 588 M
(   Packets option, and the CCID 4 sender is computing the loss event) s
5 577 M
(   rate itself, the sender MUST treat the relevant loss intervals' Drop) s
5 566 M
(   Counts as equal to the corresponding Loss Lengths, as specified) s
5 555 M
(   below.  This conservative assumption leads to the minimum send rate) s
5 544 M
(   for the corresponding loss intervals.) s
5 522 M
(   Consider a CCID 4 receiver.  As specified in Section 8.6.1 of RFC) s
5 511 M
(   4342, the receiver sends the Loss Intervals option for all intervals) s
5 500 M
(   that have not been acknowledged by the sender.  When this receiver) s
5 489 M
(   sends a feedback packet containing information about the N most) s
5 478 M
(   recent loss intervals \(packaged in one or more Loss Intervals) s
5 467 M
(   options\), then the receiver includes on the same feedback packet one) s
5 456 M
(   or more Dropped Packets options covering exactly those N loss) s
5 445 M
(   intervals.  CCID 4 senders MUST ignore Drop Counts information for) s
5 434 M
(   loss intervals not covered by a Loss Intervals option on the same) s
5 423 M
(   feedback packet.  Conversely, a CCID 4 sender might want to) s
5 412 M
(   interpolate Drop Counts information for a loss interval not covered) s
5 401 M
(   by any Dropped Packets options; such a sender MUST use the) s
5 390 M
(   corresponding loss interval's Loss Length as its Drop Count.) s
5 368 M
(   Each loss interval's Drop Count MUST by definition be less than or) s
5 357 M
(   equal to its Loss Length.  A Drop Count that exceeds the) s
5 346 M
(   corresponding Loss Length MUST be treated as equal to the Loss) s
5 335 M
(   Length.) s
5 313 M
(8.7.1.  Example) s
5 291 M
(   Consider the following sequence of packets, where "-" represents a) s
5 280 M
(   safely delivered packet and "*" represents a lost or marked packet.) s
5 269 M
(   This sequence is repeated from [RFC4342].) s
5 247 M
(   Sequence) s
5 236 M
(    Numbers: 0         10        20        30        40  44) s
5 225 M
(             |         |         |         |         |   |) s
5 214 M
(             ----------*--------***-*--------*----------*-) s
5 192 M
(   Assuming that packet 43 was lost, not marked, this sequence might be) s
5 181 M
(   divided into loss intervals as follows:) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008 Section 8.7.1.  [Page 15]) s
_R
S
%%Page: (16) 16
%%BeginPageSetup
_S
24 24 translate
/pagenum 16 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(             0         10        20        30        40  44) s
5 676 M
(             |         |         |         |         |   |) s
5 665 M
(             ----------*--------***-*--------*----------*-) s
5 654 M
(             \\________/\\_______/\\___________/\\_________/) s
5 643 M
(                 L0       L1         L2          L3) s
5 621 M
(   A Loss Intervals option sent on a packet with Acknowledgement Number) s
5 610 M
(   44 to acknowledge this set of loss intervals might contain the bytes) s
5 599 M
(   193,39,2, 0,0,10, 128,0,1, 0,0,10, 0,0,8, 0,0,5, 0,0,10, 0,0,8,) s
5 588 M
(   0,0,1, 0,0,8, 0,0,10, 128,0,0, 0,0,15; for interpretation of this) s
5 577 M
(   option, see [RFC4342].  A Dropped Packets option sent in tandem on) s
5 566 M
(   this packet would contain the bytes 195,14, 0,0,1, 0,0,4, 0,0,1,) s
5 555 M
(   0,0,0.  This is interpreted as follows.) s
5 533 M
(   195 The Dropped Packets option number.) s
5 511 M
(   14  The length of the option, including option type and length bytes.) s
5 500 M
(       This option contains information about \(14 - 2\)/3 = 4 loss) s
5 489 M
(       intervals.  Note that the two most recent sequence numbers are) s
5 478 M
(       not yet part of any loss interval -- the Loss Intervals option) s
5 467 M
(       includes them in its Skip Length -- and are thus not included in) s
5 456 M
(       the Dropped Packets option.) s
5 434 M
(   0,0,1) s
5 423 M
(       These bytes define the Drop Count for L3, which is 1.  As) s
5 412 M
(       required, the Drop Count is less than or equal to L3's Loss) s
5 401 M
(       Length, which is also 1.) s
5 379 M
(   0,0,4) s
5 368 M
(       The Drop Count for L2 is 4.) s
5 346 M
(   0,0,1) s
5 335 M
(       The Drop Count for L1 is 1.) s
5 313 M
(   0,0,0) s
5 302 M
(       Finally, the Drop Count for L0 is 0.) s
5 280 M
(9.  Verifying Congestion Control Compliance With ECN) s
5 258 M
(   Verifying congestion control compliance with ECN is as discussed in) s
5 247 M
(   Section 9 of [RFC4342].) s
5 225 M
(9.1.  Verifying the ECN Nonce Echo) s
5 203 M
(   Procedures for verifying the ECN Nonce Echo are as specified in) s
5 192 M
(   Section 9.1 of [RFC4342].) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008   Section 9.1.  [Page 16]) s
_R
S
%%Page: (17) 17
%%BeginPageSetup
_S
24 24 translate
/pagenum 17 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(9.2.  Verifying the Reported Loss Intervals and Loss Event Rate) s
5 665 M
(   Section 9.2 of [RFC4342] discusses the sender's possible verification) s
5 654 M
(   of loss intervals and loss event rate information reported by the) s
5 643 M
(   receiver.) s
5 621 M
(10.  Implementation Issues) s
5 599 M
(10.1.  Timestamp Usage) s
5 577 M
(   The use of the Timestamp option is as discussed in Section 10.1 of) s
5 566 M
(   [RFC4342].) s
5 544 M
(10.2.  Determining Loss Events at the Receiver) s
5 522 M
(   The use of the window counter by the receiver to determine if) s
5 511 M
(   multiple lost packets belong to the same loss event is as described) s
5 500 M
(   in Section 10.2 of [RFC4342].) s
5 478 M
(10.3.  Sending Feedback Packets) s
5 456 M
(   The procedure for sending feedback packets is as described in Section) s
5 445 M
(   10.3 of [RFC4342].) s
5 412 M
(11.  Security Considerations) s
5 390 M
(   Security considerations include those discussed in Section 11 of) s
5 379 M
(   [RFC4342]. There are no new security considerations introduced by) s
5 368 M
(   CCID 4.) s
5 346 M
(12.  IANA Considerations) s
5 324 M
(   This specification defines the value 4 in the DCCP CCID namespace) s
5 313 M
(   managed by IANA.) s
5 291 M
(   CCID 4 also uses three sets of numbers whose values should be) s
5 280 M
(   allocated by IANA, namely CCID 4-specific Reset Codes, option types,) s
5 269 M
(   and feature numbers.  This document makes no particular allocations) s
5 258 M
(   from the Reset Code range, except for experimental and testing use) s
5 247 M
(   [RFC3692].  We refer to the Standards Action policy outlined in) s
5 236 M
(   [RFC2434].) s
5 203 M
(12.1.  Reset Codes) s
5 181 M
(   Each entry in the DCCP CCID 4 Reset Code registry contains a) s
5 170 M
(   CCID 4-specific Reset Code, which is a number in the range 128-255; a) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008  Section 12.1.  [Page 17]) s
_R
S
%%Page: (18) 18
%%BeginPageSetup
_S
24 24 translate
/pagenum 18 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   short description of the Reset Code; and a reference to the RFC) s
5 676 M
(   defining the Reset Code.  Reset Codes 184-190 and 248-254 are) s
5 665 M
(   permanently reserved for experimental and testing use.  The remaining) s
5 654 M
(   Reset Codes -- 128-183, 191-247, and 255 -- are currently reserved,) s
5 643 M
(   and should be allocated with the Standards Action policy, which) s
5 632 M
(   requires IESG review and approval and standards-track IETF RFC) s
5 621 M
(   publication.) s
5 599 M
(12.2.  Option Types) s
5 577 M
(   Each entry in the DCCP CCID 4 option type registry contains a) s
5 566 M
(   CCID 4-specific option type, which is a number in the range 128-255;) s
5 555 M
(   the name of the option, such as "Loss Intervals"; and a reference to) s
5 544 M
(   the RFC defining the option type.  The registry is initially) s
5 533 M
(   populated using the values in Table 1, in Section 8.  This includes) s
5 522 M
(   the value 195 allocated for the Dropped Packets option.  This) s
5 511 M
(   document allocates option types 192-195, and option types 184-190 and) s
5 500 M
(   248-254 are permanently reserved for experimental and testing use.) s
5 489 M
(   The remaining option types -- 128-183, 191, 196-247, and 255 -- are) s
5 478 M
(   currently reserved, and should be allocated with the Standards Action) s
5 467 M
(   policy, which requires IESG review and approval and standards-track) s
5 456 M
(   IETF RFC publication.) s
5 423 M
(12.3.  Feature Numbers) s
5 401 M
(   Each entry in the DCCP CCID 4 feature number registry contains a) s
5 390 M
(   CCID 4-specific feature number, which is a number in the range) s
5 379 M
(   128-255; the name of the feature, such as "Send Loss Event Rate"; and) s
5 368 M
(   a reference to the RFC defining the feature number.  The registry is) s
5 357 M
(   initially populated using the values in Table 2, in Section 8.  This) s
5 346 M
(   document allocates feature number 192, and feature numbers 184-190) s
5 335 M
(   and 248-254 are permanently reserved for experimental and testing) s
5 324 M
(   use.  The remaining feature numbers -- 128-183, 191, 193-247, and 255) s
5 313 M
(   -- are currently reserved, and should be allocated with the Standards) s
5 302 M
(   Action policy, which requires IESG review and approval and standards-) s
5 291 M
(   track IETF RFC publication.) s
5 269 M
(13.  Thanks) s
5 247 M
(   We thank Gorry Fairhurst, Ian McDonald, Gerrit Renker, and Leandro) s
5 236 M
(   Sales for feedback on this document.) s
5 214 M
(Normative References) s
5 192 M
(   [RFC2119]      S. Bradner. Key Words For Use in RFCs to Indicate) s
5 181 M
(                  Requirement Levels. RFC 2119.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                 [Page 18]) s
_R
S
%%Page: (19) 19
%%BeginPageSetup
_S
24 24 translate
/pagenum 19 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   [RFC2434]      T. Narten and H. Alvestrand.  Guidelines for Writing) s
5 676 M
(                  an IANA Considerations Section in RFCs.  RFC 2434.) s
5 654 M
(   [RFC3448]      M. Handley, S. Floyd, J. Padhye, and J. Widmer, TCP) s
5 643 M
(                  Friendly Rate Control \(TFRC\): Protocol Specification,) s
5 632 M
(                  RFC 3448, Proposed Standard, January 2003.) s
5 610 M
(   [RFC3448Errat] RFC Errata for RFC 3448, URL "http://www.rfc-) s
5 599 M
(                  editor.org/errata.php".) s
5 577 M
(   [RFC3692]      T. Narten.  Assigning Experimental and Testing Numbers) s
5 566 M
(                  Considered Useful.  RFC 3692.) s
5 544 M
(   [RFC4340]      Kohler, E., Handley, M., and S. Floyd.  Datagram) s
5 533 M
(                  Congestion Control Protocol \(DCCP\), RFC 4340, March) s
5 522 M
(                  2006.) s
5 500 M
(   [RFC4342]      Floyd, S., Kohler, E., and J. Padhye.  Profile for) s
5 489 M
(                  Datagram Congestion Control Protocol \(DCCP\) Congestion) s
5 478 M
(                  Control ID 3: TCP-Friendly Rate Control \(TFRC\), RFC) s
5 467 M
(                  4342, March 2006.) s
5 445 M
(   [RFC4342Errat] RFC Errata for RFC 4342, URL "http://www.rfc-) s
5 434 M
(                  editor.org/errata.php".) s
5 412 M
(   [RFC4828]      S. Floyd and E. Kohler.  TCP Friendly Rate Control) s
5 401 M
(                  \(TFRC\): the Small-Packet \(SP\) Variant.  RFC 4828,) s
5 390 M
(                  April 2007.) s
5 368 M
(Informative References) s
5 346 M
(   [KFS07]        Kohler, E., S. Floyd, and A. Sathiaseelan, Faster) s
5 335 M
(                  Restart for TCP Friendly Rate Control \(TFRC\),) s
5 324 M
(                  Internet-draft draft-ietf-dccp-tfrc-faster-) s
5 313 M
(                  restart-04.txt, work-in-progress, September 2007.) s
5 291 M
(   [RFC3448bis]   M. Handley, S. Floyd, J. Padhye, and J. Widmer, TCP) s
5 280 M
(                  Friendly Rate Control \(TFRC\): Protocol Specification,) s
5 269 M
(                  internet-draft draft-ietf-dccp-rfc3448bis-02.txt,) s
5 258 M
(                  work-in-progress, July 2007.) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                 [Page 19]) s
_R
S
%%Page: (20) 20
%%BeginPageSetup
_S
24 24 translate
/pagenum 20 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(Authors' Addresses) s
5 665 M
(   Sally Floyd) s
5 654 M
(   ICSI Center for Internet Research) s
5 643 M
(   1947 Center Street, Suite 600) s
5 632 M
(   Berkeley, CA 94704) s
5 621 M
(   USA) s
5 599 M
(   Email:  floyd@icir.org) s
5 577 M
(   Eddie Kohler) s
5 566 M
(   4531C Boelter Hall) s
5 555 M
(   UCLA Computer Science Department) s
5 544 M
(   Los Angeles, CA 90095) s
5 533 M
(   USA) s
5 511 M
(   Email: kohler@cs.ucla.edu) s
5 489 M
(Full Copyright Statement) s
5 467 M
(   Copyright \(C\) The IETF Trust \(2007\).) s
5 445 M
(   This document is subject to the rights, licenses and restrictions) s
5 434 M
(   contained in BCP 78, and except as set forth therein, the authors) s
5 423 M
(   retain all their rights.) s
5 401 M
(   This document and the information contained herein are provided on an) s
5 390 M
(   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS) s
5 379 M
(   OR IS SPONSORED BY \(IF ANY\), THE INTERNET SOCIETY, THE IETF TRUST AND) s
5 368 M
(   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS) s
5 357 M
(   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF) s
5 346 M
(   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED) s
5 335 M
(   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.) s
5 313 M
(Intellectual Property) s
5 291 M
(   The IETF takes no position regarding the validity or scope of any) s
5 280 M
(   Intellectual Property Rights or other rights that might be claimed to) s
5 269 M
(   pertain to the implementation or use of the technology described in) s
5 258 M
(   this document or the extent to which any license under such rights) s
5 247 M
(   might or might not be available; nor does it represent that it has) s
5 236 M
(   made any independent effort to identify any such rights.  Information) s
5 225 M
(   on the procedures with respect to rights in RFC documents can be) s
5 214 M
(   found in BCP 78 and BCP 79.) s
5 192 M
(   Copies of IPR disclosures made to the IETF Secretariat and any) s
5 181 M
(   assurances of licenses to be made available, or the result of an) s
5 170 M
(   attempt made to obtain a general license or permission for the use of) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                 [Page 20]) s
_R
S
%%Page: (21) 21
%%BeginPageSetup
_S
24 24 translate
/pagenum 21 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT          Profile for DCCP's CCID-4          November 2007) s
5 687 M
(   such proprietary rights by implementers or users of this) s
5 676 M
(   specification can be obtained from the IETF on-line IPR repository at) s
5 665 M
(   http://www.ietf.org/ipr.) s
5 643 M
(   The IETF invites any interested party to bring to its attention any) s
5 632 M
(   copyrights, patents or patent applications, or other proprietary) s
5 621 M
(   rights that may cover technology that may be required to implement) s
5 610 M
(   this standard.  Please address the information to the IETF at ietf-) s
5 599 M
(   ipr@ietf.org.) s
5 577 M
(Acknowledgement) s
5 555 M
(   Funding for the RFC Editor function is provided by the IETF) s
5 544 M
(   Administrative Support Activity \(IASA\).) s
5 126 M
(Floyd, et al.             Expires: 18 May 2008                 [Page 21]) s
_R
S
%%Page: (22) 22
%%BeginPageSetup
_S
24 24 translate
/pagenum 22 def
/fname (draft-ietf-dccp-ccid4-01.txt) def
/fdir () def
/ftail (draft-ietf-dccp-ccid4-01.txt) def
/user_header_p false def
%%EndPageSetup
_R
S
%%Trailer
%%Pages: 22
%%DocumentNeededResources: font Courier-Bold Courier 
%%EOF

PAFTECH AB 2003-20262026-04-22 21:01:11