One document matched: draft-ietf-tcpm-ecnsyn-03.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 17:17:53 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 731 M
(Internet Engineering Task Force                            A. Kuzmanovic) s
5 720 M
(INTERNET-DRAFT                                                 A. Mondal) s
5 709 M
(Intended status: Proposed Standard               Northwestern University) s
5 698 M
(Expires: 18 May 2008                                            S. Floyd) s
5 687 M
(                                                                    ICIR) s
5 676 M
(                                                       K.K. Ramakrishnan) s
5 665 M
(                                                                    AT&T) s
5 654 M
(                                                        18 November 2007) s
5 610 M
(        Adding Explicit Congestion Notification \(ECN\) Capability) s
5 599 M
(                        to TCP's SYN/ACK Packets) s
5 588 M
(                     draft-ietf-tcpm-ecnsyn-03.txt) s
5 555 M
(Status of this Memo) s
5 533 M
(   By submitting this Internet-Draft, each author represents that any) s
5 522 M
(   applicable patent or other IPR claims of which he or she is aware) s
5 511 M
(   have been or will be disclosed, and any of which he or she becomes) s
5 500 M
(   aware will be disclosed, in accordance with Section 6 of BCP 79.) s
5 478 M
(   Internet-Drafts are working documents of the Internet Engineering) s
5 467 M
(   Task Force \(IETF\), its areas, and its working groups.  Note that) s
5 456 M
(   other groups may also distribute working documents as Internet-) s
5 445 M
(   Drafts.) s
5 423 M
(   Internet-Drafts are draft documents valid for a maximum of six months) s
5 412 M
(   and may be updated, replaced, or obsoleted by other documents at any) s
5 401 M
(   time.  It is inappropriate to use Internet-Drafts as reference) s
5 390 M
(   material or to cite them other than as "work in progress.") s
5 368 M
(   The list of current Internet-Drafts can be accessed at) s
5 357 M
(   http://www.ietf.org/ietf/1id-abstracts.txt.) s
5 335 M
(   The list of Internet-Draft Shadow Directories can be accessed at) s
5 324 M
(   http://www.ietf.org/shadow.html.) s
5 302 M
(   This Internet-Draft will expire on December 2007.) s
5 280 M
(Copyright Notice) s
5 258 M
(   Copyright \(C\) The IETF Trust \(2007\).) s
5 203 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(Abstract) s
5 665 M
(   This draft specifies a modification to RFC 3168 to allow TCP SYN/ACK) s
5 654 M
(   packets to be ECN-Capable.  For TCP, RFC 3168 only specifies setting) s
5 643 M
(   an ECN-Capable codepoint on data packets, and not on SYN and SYN/ACK) s
5 632 M
(   packets.  However, because of the high cost to the TCP transfer of) s
5 621 M
(   having a SYN/ACK packet dropped, with the resulting retransmit) s
5 610 M
(   timeout, this document specifies the use of ECN for the SYN/ACK) s
5 599 M
(   packet itself, when sent in response to a SYN packet with the two ECN) s
5 588 M
(   flags set in the TCP header, indicating a willingness to use ECN.) s
5 577 M
(   Setting TCP SYN/ACK packets as ECN-Capable can be of great benefit to) s
5 566 M
(   the TCP connection, avoiding the severe penalty of a retransmit) s
5 555 M
(   timeout for a connection that has not yet started placing a load on) s
5 544 M
(   the network.  The sender of the SYN/ACK packet must respond to a) s
5 533 M
(   report of an ECN-marked SYN/ACK packet by reducing its initial) s
5 522 M
(   congestion window from two, three, or four segments to one segment,) s
5 511 M
(   thereby reducing the subsequent load from that connection on the) s
5 500 M
(   network.) s
5 478 M
(Table of Contents) s
5 456 M
(   1. Introduction ....................................................4) s
5 445 M
(   2. Conventions .....................................................5) s
5 434 M
(   3. Proposal ........................................................6) s
5 423 M
(   4. Discussion ......................................................9) s
5 412 M
(   5. Related Work ...................................................12) s
5 401 M
(   6. Performance Evaluation .........................................13) s
5 390 M
(      6.1. The Costs and Benefit of Adding ECN-Capability ............13) s
5 379 M
(      6.2. An Evaluation of Different Responses to ECN-Marked SYN/ACK) s
5 368 M
(      Packets ........................................................14) s
5 357 M
(   7. Security Considerations ........................................15) s
5 346 M
(   8. Conclusions ....................................................16) s
5 335 M
(   9. Acknowledgements ...............................................17) s
5 324 M
(   A. Report on Simulations ..........................................17) s
5 313 M
(      A.1. Simulations with RED in Packet Mode .......................18) s
5 302 M
(      A.2. Simulations with RED in Byte Mode .........................19) s
5 291 M
(   Normative References ..............................................20) s
5 280 M
(   Informative References ............................................20) s
5 269 M
(   IANA Considerations ...............................................22) s
5 258 M
(   Full Copyright Statement ..........................................22) s
5 247 M
(   Intellectual Property .............................................23) s
5 214 M
(   NOTE TO RFC EDITOR: PLEASE DELETE THIS NOTE UPON PUBLICATION.) s
5 192 M
(   Changes from draft-ietf-tcpm-ecnsyn-02:) s
5 170 M
(   * Added to the discussion in the Security section of whether) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(     ECN-Capable TCP SYN packets have problems with firewalls,) s
5 676 M
(     over and above the known problems of TCP data packets) s
5 665 M
(     \(e.g., as in the Microsoft report\).  From a question raised) s
5 654 M
(     at the TCPM meeting at the July 2007 IETF.) s
5 632 M
(   * Added a sentence to the discussion of routers or middleboxes that) s
5 621 M
(     *might* drop TCP SYN packets on the basis of IP header fields.) s
5 610 M
(     Feedback from Remi Denis-Courmont.) s
5 588 M
(   * General editing.  Feedback from Alfred Henes.) s
5 566 M
(   Changes from draft-ietf-tcpm-ecnsyn-01:) s
5 544 M
(   * Changes in response to feedback from Anil Agarwal.) s
5 522 M
(   * Added a look at the costs of adding ECN-Capability to) s
5 511 M
(     SYN/ACKs in a highly-congested scenario.) s
5 500 M
(     From feedback from Mark Allman and Janardhan Iyengar.) s
5 478 M
(   * Added a comparative evaluation of two possible responses) s
5 467 M
(     to an ECN-marked SYN/ACK packet.  From Mark Allman.) s
5 445 M
(   Changes from draft-ietf-tcpm-ecnsyn-00:) s
5 423 M
(   * Only updating the revision number.) s
5 401 M
(   Changes from draft-ietf-twvsg-ecnsyn-00:) s
5 379 M
(   * Changed name of draft to draft-ietf-tcpm-ecnsyn.) s
5 357 M
(   * Added a discussion in Section 3 of "Response to) s
5 346 M
(     ECN-marking of SYN/ACK packets".  Based on) s
5 335 M
(     suggestions from Mark Allman.) s
5 313 M
(   * Added a discussion to the Conclusions about adding) s
5 302 M
(     ECN-capability to relevant set-up packets in other) s
5 291 M
(     protocols.  From a suggestion from Wesley Eddy.) s
5 269 M
(   * Added a description of SYN exchanges with SYN cookies.) s
5 258 M
(     From a suggestion from Wesley Eddy.) s
5 236 M
(   * Added a discussion of one-way data transfers, where the) s
5 225 M
(     host sending the SYN/ACK packet sends no data packets.) s
5 203 M
(   * Minor editing, from feedback from Mark Allman and Janardhan) s
5 192 M
(     Iyengar.) s
5 170 M
(   * Future work: a look at the costs of adding) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(     ECN-Capability in a worst-case scenario.) s
5 676 M
(     From feedback from Mark Allman and Janardhan Iyengar.) s
5 654 M
(   * Future work: a comparative evaluation of two) s
5 643 M
(     possible responses to an ECN-marked SYN/ACK packet.) s
5 621 M
(   Changes from draft-kuzmanovic-ecn-syn-00.txt:) s
5 599 M
(   * Changed name of draft to draft-ietf-twvsg-ecnsyn.) s
5 577 M
(   END OF NOTE TO RFC EDITOR.) s
5 555 M
(1.  Introduction) s
5 533 M
(   TCP's congestion control mechanism has primarily used packet loss as) s
5 522 M
(   the congestion indication, with packets dropped when buffers) s
5 511 M
(   overflow.  With such tail-drop mechanisms, the packet delay can be) s
5 500 M
(   high, as the queue at bottleneck routers can be fairly large.) s
5 489 M
(   Dropping packets only when the queue overflows, and having TCP react) s
5 478 M
(   only to such losses, results in:) s
5 467 M
(   1\) significantly higher packet delay;) s
5 456 M
(   2\) unnecessarily many packet losses; and) s
5 445 M
(   3\) unfairness due to synchronization effects.) s
5 423 M
(   The adoption of Active Queue Management \(AQM\) mechanisms allows) s
5 412 M
(   better control of bottleneck queues [RFC2309].  This use of AQM has) s
5 401 M
(   the following potential benefits:) s
5 390 M
(   1\) better control of the queue, with reduced queueing delay;) s
5 379 M
(   2\) fewer packet drops; and) s
5 368 M
(   3\) better fairness because of fewer synchronization effects.) s
5 346 M
(   With the adoption of ECN, performance may be further improved.  When) s
5 335 M
(   the router detects congestion before buffer overflow, the router can) s
5 324 M
(   provide a congestion indication either by dropping a packet, or by) s
5 313 M
(   setting the Congestion Experienced \(CE\) codepoint in the  Explicit) s
5 302 M
(   Congestion Notification \(ECN\) field in the IP header [RFC3168].  The) s
5 291 M
(   IETF has standardized the use of the Congestion Experienced \(CE\)) s
5 280 M
(   codepoint in the IP header for routers to indicate congestion.  For) s
5 269 M
(   incremental deployment and backwards compatibility, the RFC on ECN) s
5 258 M
(   [RFC3168] specifies that routers may mark ECN-capable packets that) s
5 247 M
(   would otherwise have been dropped, using the Congestion Experienced) s
5 236 M
(   codepoint in the ECN field.  The use of ECN allows TCP to react to) s
5 225 M
(   congestion while avoiding unnecessary retransmissions and, in some) s
5 214 M
(   cases, unnecessary retransmit timeouts.  Thus, using ECN has several) s
5 203 M
(   benefits:) s
5 181 M
(   1\) For short transfers, a TCP connection's congestion window may be) s
5 170 M
(   small.  For example, if the current window contains only one packet,) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   and that packet is dropped, TCP will have to wait for a retransmit) s
5 676 M
(   timeout to recover, reducing its overall throughput.  Similarly, if) s
5 665 M
(   the current window contains only a few packets and one of those) s
5 654 M
(   packets is dropped, there might not be enough duplicate) s
5 643 M
(   acknowledgements for a fast retransmission, and the sender might have) s
5 632 M
(   to wait for a delay of several round-trip times using Limited) s
5 621 M
(   Transmit [RFC3042].  With the use of ECN, short flows are less likely) s
5 610 M
(   to have packets dropped, sometimes avoiding unnecessary delays or) s
5 599 M
(   costly retransit timeouts.) s
5 577 M
(   2\) While longer flows may not see substantially improved throughput) s
5 566 M
(   with the use of ECN, they experience lower loss. This may benefit TCP) s
5 555 M
(   applications that are latency- and loss-sensitive, because of the) s
5 544 M
(   avoidance of retransmissions.) s
5 522 M
(   RFC 3168 only specifies marking the Congestion Experienced codepoint) s
5 511 M
(   on TCP's data packets, and not on SYN and SYN/ACK packets.  RFC 3168) s
5 500 M
(   specifies the negotiation of the use of ECN between the two TCP end-) s
5 489 M
(   points in the TCP SYN and SYN-ACK exchange, using flags in the TCP) s
5 478 M
(   header.  Erring on the side of being conservative, RFC 3168 does not) s
5 467 M
(   specify the use of ECN for the SYN/ACK packet itself.  However,) s
5 456 M
(   because of the high cost to the TCP transfer of having a SYN/ACK) s
5 445 M
(   packet dropped, with the resulting retransmit timeout, this document) s
5 434 M
(   specifies the use of ECN for the SYN/ACK packet itself.  This can be) s
5 423 M
(   of great benefit to the TCP connection, avoiding the severe penalty) s
5 412 M
(   of a retransmit timeout for a connection that has not yet started) s
5 401 M
(   placing a load on the network.  The sender of the SYN/ACK packet must) s
5 390 M
(   respond to a report of an ECN-marked SYN/ACK packet by reducing its) s
5 379 M
(   initial congestion window from two, three, or four segments to one) s
5 368 M
(   segment, reducing the subsequent load from that connection on the) s
5 357 M
(   network.) s
5 335 M
(   The use of ECN for SYN/ACK packets has the following potential) s
5 324 M
(   benefits:) s
5 313 M
(   1\) Avoidance of a retransmit timeout;) s
5 302 M
(   2\) Improvement in the throughput of short connections.) s
5 280 M
(   This draft specifies ECN+, a modification to RFC 3168 to allow TCP) s
5 269 M
(   SYN/ACK packets to be ECN-Capable.  Section 3 contains the) s
5 258 M
(   specification of the change, while Section 4 discusses some of the) s
5 247 M
(   issues, and Section 5 discusses related work.  Section 6 contains an) s
5 236 M
(   evaluation of the proposed change.) s
5 214 M
(2.  Conventions) s
5 192 M
(   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",) s
5 181 M
(   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this) s
5 170 M
(   document are to be interpreted as described in [RFC 2119].) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(3.  Proposal) s
5 665 M
(   This section specifies the modification to RFC 3168 to allow TCP) s
5 654 M
(   SYN/ACK packets to be ECN-Capable.  We use the following terminology) s
5 643 M
(   from RFC 3168:) s
5 621 M
(   The ECN field in the IP header:) s
5 610 M
(   o  CE: the Congestion Experienced codepoint; and) s
5 599 M
(   o  ECT: either one of the two ECN-Capable Transport codepoints.) s
5 577 M
(   The ECN flags in the TCP header:) s
5 566 M
(   o  CWR: the Congestion Window Reduced flag; and) s
5 555 M
(   o  ECE: the ECN-Echo flag.) s
5 533 M
(   ECN-setup packets:) s
5 522 M
(   o  ECN-setup SYN packet: a SYN packet with the ECE and CWR flags;) s
5 511 M
(   o  ECN-setup SYN-ACK packet: a SYN-ACK packet with ECE but not CWR.) s
5 489 M
(   RFC 3168 in Section 6.1.1. states that "A host MUST NOT set ECT on) s
5 478 M
(   SYN or SYN-ACK packets." In this section, we specify that a TCP node) s
5 467 M
(   MAY respond to an ECN-setup SYN packet by setting ECT in the) s
5 456 M
(   responding ECN-setup SYN/ACK packet, indicating to routers that the) s
5 445 M
(   SYN/ACK packet is ECN-Capable.  This allows a congested router along) s
5 434 M
(   the path to mark the packet instead of dropping the packet as an) s
5 423 M
(   indication of congestion.) s
5 401 M
(   Assume that TCP node A transmits to TCP node B an ECN-setup SYN) s
5 390 M
(   packet, indicating willingness to use ECN for this connection.  As) s
5 379 M
(   specified by RFC 3168, if TCP node B is willing to use ECN, node B) s
5 368 M
(   responds with an ECN-setup SYN-ACK packet.) s
5 346 M
(   Figure 1 shows an interchange with the SYN/ACK packet dropped by a) s
5 335 M
(   congested router.  Node B waits for a retransmit timeout, and then) s
5 324 M
(   retransmits the SYN/ACK packet.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                  [Page 6]) s
_R
S
%%Page: (7) 7
%%BeginPageSetup
_S
24 24 translate
/pagenum 7 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(        ---------------------------------------------------------------) s
5 676 M
(           TCP Node A             Router                  TCP Node B) s
5 665 M
(           ----------             ------                  ----------) s
5 643 M
(           ECN-setup SYN packet --->) s
5 632 M
(                                            ECN-setup SYN packet --->) s
5 610 M
(                                 <--- ECN-setup SYN/ACK, possibly ECT) s
5 599 M
(                                                   3-second timer set) s
5 588 M
(                               SYN/ACK dropped               .) s
5 577 M
(                                                             .) s
5 566 M
(                                                             .) s
5 555 M
(                                               3-second timer expires) s
5 544 M
(                                      <--- ECN-setup SYN/ACK, not ECT) s
5 533 M
(           <--- ECN-setup SYN/ACK) s
5 522 M
(           Data/ACK --->) s
5 511 M
(                                                        Data/ACK --->) s
5 500 M
(                                     <--- Data \(one to four segments\)) s
5 489 M
(        ---------------------------------------------------------------) s
5 467 M
(           Figure 1: SYN exchange with the SYN/ACK packet dropped.) s
5 434 M
(   If the SYN/ACK packet is dropped in the network, the TCP host \(node) s
5 423 M
(   B\) responds by waiting three seconds for the retransmit timer to) s
5 412 M
(   expire [RFC2988].  If a SYN/ACK packet with the ECT codepoint is) s
5 401 M
(   dropped, the TCP node SHOULD resend the SYN/ACK packet without the) s
5 390 M
(   ECN-Capable codepoint.  \(Although we are not aware of any middleboxes) s
5 379 M
(   that drop SYN/ACK packets that contain an ECN-Capable codepoint in) s
5 368 M
(   the IP header, we have learned to design our protocols defensively in) s
5 357 M
(   this regard [RFC3360].\)) s
5 335 M
(   We note that if syn-cookies were used by Node B in the exchange in) s
5 324 M
(   Figure 1, TCP Node B wouldn't set a timer upon transmission of the) s
5 313 M
(   SYN/ACK packet [SYN-COOK].  In this case, if the SYN/ACK packet was) s
5 302 M
(   lost, the initiator \(Node A\) would have to timeout and retransmit the) s
5 291 M
(   SYN packet in order to trigger another SYN-ACK.) s
5 269 M
(   Figure 2 shows an interchange with the SYN/ACK packet sent as ECN-) s
5 258 M
(   Capable, and ECN-marked instead of dropped at the congested router.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                  [Page 7]) s
_R
S
%%Page: (8) 8
%%BeginPageSetup
_S
24 24 translate
/pagenum 8 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(        ---------------------------------------------------------------) s
5 676 M
(           TCP Node A             Router                  TCP Node B) s
5 665 M
(           ----------             ------                  ----------) s
5 643 M
(           ECN-setup SYN packet --->) s
5 632 M
(                                           ECN-setup SYN packet --->) s
5 610 M
(                                         <--- ECN-setup SYN/ACK, ECT) s
5 599 M
(                              <--- Sets CE on SYN/ACK) s
5 588 M
(           <--- ECN-setup SYN/ACK, CE) s
5 566 M
(           Data/ACK, ECN-Echo --->) s
5 555 M
(                                             Data/ACK, ECN-Echo --->) s
5 544 M
(                                      Window reduced to one segment.) s
5 533 M
(                                   <--- Data, CWR \(one segment only\)) s
5 522 M
(        ---------------------------------------------------------------) s
5 500 M
(           Figure 2: SYN exchange with the SYN/ACK packet marked.) s
5 467 M
(   If the receiving node \(node A\) receives a SYN/ACK packet that has) s
5 456 M
(   been marked by the congested router, with the CE codepoint set, the) s
5 445 M
(   receiving node MUST respond by setting the ECN-Echo flag in the TCP) s
5 434 M
(   header of the responding ACK packet.  As specified in RFC 3168, the) s
5 423 M
(   receiving node continues to set the ECN-Echo flag in packets until it) s
5 412 M
(   receives a packet with the CWR flag set.) s
5 390 M
(   When the sending node \(node B\) receives the ECN-Echo packet reporting) s
5 379 M
(   the Congestion Experienced indication in the SYN/ACK packet, the node) s
5 368 M
(   MUST set the initial congestion window to one segment, instead of two) s
5 357 M
(   segments as allowed by [RFC2581], or three or four segments allowed) s
5 346 M
(   by [RFC3390].  If the sending node \(node B\) was going to use an) s
5 335 M
(   initial window of one segment, and receives an ECN-Echo packet) s
5 324 M
(   informing it of a Congestion Experienced indication on its SYN/ACK) s
5 313 M
(   packet, the sending node MAY continue to send with an initial window) s
5 302 M
(   of one segment, without waiting for a retransmit timeout.  We note) s
5 291 M
(   that this updates RFC 3168, which specifies that "the sending TCP) s
5 280 M
(   MUST reset the retransmit timer on receiving the ECN-Echo packet when) s
5 269 M
(   the congestion window is one."  As specified by RFC 3168, the sending) s
5 258 M
(   node \(node B\) also sets the CWR flag in the TCP header of the next) s
5 247 M
(   data packet sent, to acknowledge its receipt of and reaction to the) s
5 236 M
(   ECN-Echo flag.) s
5 214 M
(   If the data transfer in Figure 2 is entirely from Node A to Node B,) s
5 203 M
(   then data packets from Node A continue to set the ECN-Echo flag in) s
5 192 M
(   data packets, waiting for the CWR flag from Node B acknowledging a) s
5 181 M
(   response to the ECN-Echo flag.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                  [Page 8]) s
_R
S
%%Page: (9) 9
%%BeginPageSetup
_S
24 24 translate
/pagenum 9 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(4.  Discussion) s
5 665 M
(   Motivation:) s
5 654 M
(   The rationale for the proposed change is the following.  When node B) s
5 643 M
(   receives a TCP SYN packet with ECN-Echo bit set in the TCP header,) s
5 632 M
(   this indicates that node A is ECN-capable. If node B is also ECN-) s
5 621 M
(   capable, there are no obstacles to immediately setting one of the) s
5 610 M
(   ECN-Capable codepoints in the IP header in the responding TCP SYN/ACK) s
5 599 M
(   packet.) s
5 577 M
(   There can be a great benefit in setting an ECN-capable codepoint in) s
5 566 M
(   SYN/ACK packets, as is discussed further in [ECN+], and reported) s
5 555 M
(   briefly in Section 5 below.  Congestion is most likely to occur in) s
5 544 M
(   the server-to-client direction.  As a result, setting an ECN-capable) s
5 533 M
(   codepoint in SYN/ACK packets can reduce the occurrence of three-) s
5 522 M
(   second retransmit timeouts resulting from the drop of SYN/ACK) s
5 511 M
(   packets.) s
5 489 M
(   Flooding attacks:) s
5 478 M
(   Setting an ECN-Capable codepoint in the responding TCP SYN/ACK) s
5 467 M
(   packets does not raise any novel security vulnerabilities.  For) s
5 456 M
(   example, provoking servers or hosts to send SYN/ACK packets to a) s
5 445 M
(   third party in order to perform a "SYN/ACK flood" attack would be) s
5 434 M
(   highly inefficient.  Third parties would immediately drop such) s
5 423 M
(   packets, since they would know that they didn't generate the TCP SYN) s
5 412 M
(   packets in the first place.  Moreover, such SYN/ACK attacks would) s
5 401 M
(   have the same signatures as the existing TCP SYN attacks. Provoking) s
5 390 M
(   servers or hosts to reply with SYN/ACK packets in order to congest a) s
5 379 M
(   certain link would also be highly inefficient because SYN/ACK packets) s
5 368 M
(   are small in size.) s
5 346 M
(   However, the addition of ECN-Capability to SYN/ACK packets could) s
5 335 M
(   allow SYN/ACK packets to persist for more hops along a network path) s
5 324 M
(   before being dropped, thus adding somewhat to the ability of a) s
5 313 M
(   SYN/ACK attack to flood a network link.) s
5 291 M
(   The TCP SYN packet:) s
5 280 M
(   There are several reasons why an ECN-Capable codepoint MUST NOT be) s
5 269 M
(   set in the IP header of the initiating TCP SYN packet.  First, when) s
5 258 M
(   the TCP SYN packet is sent, there are no guarantees that the other) s
5 247 M
(   TCP endpoint \(node B in Figure 2\) is ECN-capable, or that it would be) s
5 236 M
(   able to understand and react if the ECN CE codepoint was set by a) s
5 225 M
(   congested router.) s
5 203 M
(   Second, the ECN-Capable codepoint in TCP SYN packets could be misused) s
5 192 M
(   by malicious clients to `improve' the well-known TCP SYN attack. By) s
5 181 M
(   setting an ECN-Capable codepoint in TCP SYN packets, a malicious host) s
5 170 M
(   might be able to inject a large number of TCP SYN packets through a) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                  [Page 9]) s
_R
S
%%Page: (10) 10
%%BeginPageSetup
_S
24 24 translate
/pagenum 10 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   potentially congested ECN-enabled router, congesting it even further.) s
5 665 M
(   For both these reasons, we continue the restriction that the TCP SYN) s
5 654 M
(   packet MUST NOT have the ECN-Capable codepoint in the IP header set.) s
5 632 M
(   Backwards compatibility:) s
5 621 M
(   In order for TCP node B to send a SYN/ACK packet as ECN-Capable, node) s
5 610 M
(   B must have received an ECN-setup SYN packet from node A.  However,) s
5 599 M
(   it is possible that node A supports ECN, but either ignores the CE) s
5 588 M
(   codepoint on received SYN/ACK packets, or ignores SYN/ACK packets) s
5 577 M
(   with the ECT or CE codepoint set.  If the TCP sender ignores the CE) s
5 566 M
(   codepoint on received SYN/ACK packets, this would mean that the TCP) s
5 555 M
(   connection would not respond to this congestion indication.  However,) s
5 544 M
(   this seems to us an acceptable cost to pay in the incremental) s
5 533 M
(   deployment of ECN-Capability for TCP's SYN/ACK packets.  It would) s
5 522 M
(   mean that the sender of the SYN/ACK packet would not reduce the) s
5 511 M
(   initial congestion window from two, three, or four segments down to) s
5 500 M
(   one segment, as it should.  However, the TCP sender would still) s
5 489 M
(   respond correctly to any subsequent CE indications on data packets) s
5 478 M
(   later on in the connection.  Thus, to be explicit, when a TCP) s
5 467 M
(   connection includes a sender that supports ECN but *does not* support) s
5 456 M
(   ECN-Capability for SYN/ACK packets, in combination with a receiver) s
5 445 M
(   that *does* support ECN-Capabililty for SYN/ACK packets, it is quite) s
5 434 M
(   possible that the ECN-Capable SYN/ACK packets will be marked rather) s
5 423 M
(   than dropped in the network, and that the sender will not respond to) s
5 412 M
(   the ECN mark on the SYN/ACK packet.) s
5 390 M
(   It is also possible that in some older TCP implementation, the TCP) s
5 379 M
(   sender would ignore arriving SYN/ACK packets that had the ECT or CE) s
5 368 M
(   codepoint set.  This would result in a delay in connection set-up for) s
5 357 M
(   that TCP connection, with the TCP sender re-sending the SYN packet) s
5 346 M
(   after a retransmit timeout.  We are not aware of any TCP) s
5 335 M
(   implementations with this behavior.) s
5 313 M
(   SYN/ACK packets and packet size:) s
5 302 M
(   There are a number of router buffer architectures that have smaller) s
5 291 M
(   dropping rates for small \(SYN\) packets than for large \(data\) packets.) s
5 280 M
(   For example, for a Drop Tail queue in units of packets, where each) s
5 269 M
(   packet takes a single slot in the buffer regardless of packet size,) s
5 258 M
(   small and large packets are equally likely to be dropped.  However,) s
5 247 M
(   for a Drop Tail queue in units of bytes, small packets are less) s
5 236 M
(   likely to be dropped than are large ones.  Similarly, for RED in) s
5 225 M
(   packet mode, small and large packets are equally likely to be dropped) s
5 214 M
(   or marked, while for RED in byte mode, a packet's chance of being) s
5 203 M
(   dropped or marked is proportional to the packet size in bytes.) s
5 181 M
(   For a congested router with an AQM mechanism in byte mode, where a) s
5 170 M
(   packet's chance of being dropped or marked is proportional to the) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 10]) s
_R
S
%%Page: (11) 11
%%BeginPageSetup
_S
24 24 translate
/pagenum 11 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   packet size in bytes, the drop or marking rate for TCP SYN/ACK) s
5 676 M
(   packets should generally be low.  In this case, the benefit of making) s
5 665 M
(   SYN/ACK packets ECN-Capable should be similarly moderate.  However,) s
5 654 M
(   for a congested router with a Drop Tail queue in units of packets or) s
5 643 M
(   with an AQM mechanism in packet mode, and with no priority queueing) s
5 632 M
(   for smaller packets, small and large packets should have the same) s
5 621 M
(   probability of being dropped or marked.  In such a case, making) s
5 610 M
(   SYN/ACK packets ECN-Capable should be of significant benefit.) s
5 588 M
(   We believe that there are a wide range of behaviors in the real world) s
5 577 M
(   in terms of the drop or mark behavior at routers as a function of) s
5 566 M
(   packet size [Tools] \(Section 10\).  We note that all of these) s
5 555 M
(   alternatives listed above are available in the NS simulator \(Drop) s
5 544 M
(   Tail queues are by default in units of packets, while the default for) s
5 533 M
(   RED queue management has been changed from packet mode to byte mode\).) s
5 511 M
(   Response to ECN-marking of SYN/ACK packets:) s
5 500 M
(   One question is why TCP SYN/ACK packets should be treated differently) s
5 489 M
(   from other packets in terms of the packet sender's response to an) s
5 478 M
(   ECN-marked packet.  Section 5 of RFC 3168 specifies the following:) s
5 456 M
(   "Upon the receipt by an ECN-Capable transport of a single CE packet,) s
5 445 M
(   the congestion control algorithms followed at the end-systems MUST be) s
5 434 M
(   essentially the same as the congestion control response to a *single*) s
5 423 M
(   dropped packet.  For example, for ECN-Capable TCP the source TCP is) s
5 412 M
(   required to halve its congestion window for any window of data) s
5 401 M
(   containing either a packet drop or an ECN indication.") s
5 379 M
(   In particular, Section 6.1.2 of RFC 3168 specifies that when the TCP) s
5 368 M
(   congestion window consists of a single packet and that packet is ECN-) s
5 357 M
(   marked in the network, then the sender must reduce the sending rate) s
5 346 M
(   below one packet per round-trip time, by waiting for one RTO before) s
5 335 M
(   sending another packet.  If the RTO was set to the average round-trip) s
5 324 M
(   time, this would result in halving the sending rate; because the RTO) s
5 313 M
(   is in fact larger than the average round-trip time, the sending rate) s
5 302 M
(   is reduced to less than half of its previous value.) s
5 280 M
(   TCP's congestion control response to the *dropping* of a SYN/ACK) s
5 269 M
(   packet is to wait a default time before sending another packet.  This) s
5 258 M
(   document argues that ECN gives end-systems a wider range of possible) s
5 247 M
(   responses to the *marking* of a SYN/ACK packet, and that waiting a) s
5 236 M
(   default time before sending a data packet is not the desired) s
5 225 M
(   response.) s
5 203 M
(   On the conservative end, one could assume an effective congestion) s
5 192 M
(   window of one packet for the SYN/ACK packet, and respond to an ECN-) s
5 181 M
(   marked SYN/ACK packet by reducing the sending rate to one packet) s
5 170 M
(   every two round-trip times.  As an approximation, the TCP end-node) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 11]) s
_R
S
%%Page: (12) 12
%%BeginPageSetup
_S
24 24 translate
/pagenum 12 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   could measure the round-trip time T between the sending of the) s
5 676 M
(   SYN/ACK packet and the receipt of the acknowledgement, and reply to) s
5 665 M
(   the acknowledgement of the ECN-marked SYN/ACK packet by waiting T) s
5 654 M
(   seconds before sending a data packet.) s
5 632 M
(   However, we note that for an ECN-marked SYN/ACK packet, halving the) s
5 621 M
(   *congestion window* is not the same as halving the *sending rate*;) s
5 610 M
(   there is no `sending rate' associated with an ECN-Capable SYN/ACK) s
5 599 M
(   packet, as such packets are only sent as the first packet in a) s
5 588 M
(   connection from that host.  Further, a router's marking of a SYN/ACK) s
5 577 M
(   packet is not affected by any past history of that connection.) s
5 555 M
(   Adding ECN-Capability to SYN/ACK packets allows the simple response) s
5 544 M
(   of setting the initial congestion window to one packet, instead of) s
5 533 M
(   its allowed default value of two, three, or four packets, with the) s
5 522 M
(   host proceeding with a cautious sending rate of one packet per round-) s
5 511 M
(   trip time.  If that packet is ECN-marked or dropped, then the sender) s
5 500 M
(   will wait an RTO before sending another packet.  This document argues) s
5 489 M
(   that this approach is useful to users, with no dangers of congestion) s
5 478 M
(   collapse or of starvation of competing traffic.  This is discussed in) s
5 467 M
(   more detail below in Section 6.2.) s
5 445 M
(   We note that if the data transfer is entirely from Node A to Node B,) s
5 434 M
(   then there is no effective difference between the two possible) s
5 423 M
(   responses to an ECN-marked SYN/ACK packet outlined above.  In either) s
5 412 M
(   case, Node B sends no data packets, only sending acknowledgement) s
5 401 M
(   packets in response to received data packets.) s
5 379 M
(5.  Related Work) s
5 357 M
(   The addition of ECN-capability to TCP's SYN/ACK packets was proposed) s
5 346 M
(   in [ECN+].  The paper includes an extensive set of simulation and) s
5 335 M
(   testbed experiments to evaluate the effects of the proposal, using) s
5 324 M
(   several Active Queue Management \(AQM\) mechanisms, including Random) s
5 313 M
(   Early Detection \(RED\) [RED], Random Exponential Marking \(REM\) [REM],) s
5 302 M
(   and Proportional Integrator \(PI\) [PI].  The performance measures were) s
5 291 M
(   the end-to-end response times for each request/response pair, and the) s
5 280 M
(   aggregate throughput on the bottleneck link.  The end-to-end response) s
5 269 M
(   time was computed as the time from the moment when the request for) s
5 258 M
(   the file is sent to the server, until that file is successfully) s
5 247 M
(   downloaded by the client.) s
5 225 M
(   The measurements from [ECN+] show that setting an ECN-Capable) s
5 214 M
(   codepoint in the IP packet header in TCP SYN/ACK packets) s
5 203 M
(   systematically improves performance with all evaluated AQM schemes.) s
5 192 M
(   When SYN/ACK packets at a congested router are ECN-marked instead of) s
5 181 M
(   dropped, this can avoid a long initial retransmit timeout, improving) s
5 170 M
(   the response time for the affected flow dramatically.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 12]) s
_R
S
%%Page: (13) 13
%%BeginPageSetup
_S
24 24 translate
/pagenum 13 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   [ECN+] shows that the impact on aggregate throughput can also be) s
5 676 M
(   quite significant, because marking SYN ACK packets can prevent larger) s
5 665 M
(   flows from suffering long timeouts before being "admitted" into the) s
5 654 M
(   network.  In addition, the testbed measurements from [ECN+] show that) s
5 643 M
(   web servers setting the ECN-Capable codepoint in TCP SYN/ACK packets) s
5 632 M
(   could serve more requests.) s
5 610 M
(   As a final step, [ECN+] explores the co-existence of flows that do) s
5 599 M
(   and don't set the ECN-capable codepoint in TCP SYN/ACK packets.  The) s
5 588 M
(   results in [ECN+] show that both types of flows can coexist, with) s
5 577 M
(   some performance degradation for flows that don't use ECN+.  Flows) s
5 566 M
(   that do use ECN+ improve their end-to-end performance.  At the same) s
5 555 M
(   time, the performance degradation for flows that don't use ECN+, as a) s
5 544 M
(   result of the flows that do use ECN+, increases as a greater fraction) s
5 533 M
(   of flows use ECN+.) s
5 511 M
(6.  Performance Evaluation) s
5 489 M
(6.1.  The Costs and Benefit of Adding ECN-Capability) s
5 467 M
(   [ECN+] explores the costs and benefits of adding ECN-Capability to) s
5 456 M
(   SYN/ACK packets with both simulations and experiments.  The addition) s
5 445 M
(   of ECN-capability to SYN/ACK packets could be of significant benefit) s
5 434 M
(   for those ECN connections that would have had the SYN/ACK packet) s
5 423 M
(   dropped in the network, and for which the ECN-Capability would allow) s
5 412 M
(   the SYN/ACK to be marked rather than dropped.) s
5 390 M
(   The percent of SYN/ACK packets on a link can be quite high. In) s
5 379 M
(   particular, measurements on links dominated by web traffic indicate) s
5 368 M
(   that 15-20% of the packets can be SYN/ACK packets [SCJO01].) s
5 346 M
(   The benefit of adding ECN-capability to SYN/ACK packets depends in) s
5 335 M
(   part on the size of the data transfer.  The drop of a SYN/ACK packet) s
5 324 M
(   can increase the download time of a short file by an order of) s
5 313 M
(   magnitude, by requiring a three-second retransmit timeout.  For) s
5 302 M
(   longer-lived flows, the effect of a dropped SYN/ACK packet on file) s
5 291 M
(   download time is less dramatic.  However, even for longer-lived) s
5 280 M
(   flows, the addition of ECN-capability to SYN/ACK packets can improve) s
5 269 M
(   the fairness among long-lived flows, as newly-arriving flows would be) s
5 258 M
(   less likely to have to wait for retransmit timeouts.) s
5 236 M
(   One question that arises is what fraction of connections would see) s
5 225 M
(   the benefit from making SYN/ACK packets ECN-capable, in a particular) s
5 214 M
(   scenario.  Specifically:) s
5 192 M
(   \(1\) What fraction of arriving SYN/ACK packets are dropped at the) s
5 181 M
(   congested router when the SYN/ACK packets are not ECN-capable?) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 13]) s
_R
S
%%Page: (14) 14
%%BeginPageSetup
_S
24 24 translate
/pagenum 14 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   \(2\) Of those SYN/ACK packets that are dropped, what fraction would) s
5 676 M
(   have been ECN-marked instead of dropped if the SYN/ACK packets had) s
5 665 M
(   been ECN-capable?) s
5 643 M
(   To answer \(1\), it is necessary to consider not only the level of) s
5 632 M
(   congestion but also the queue architecture at the congested link.  As) s
5 621 M
(   described in Section 4 above, for some queue architectures small) s
5 610 M
(   packets are less likely to be dropped than large ones.  In such an) s
5 599 M
(   environment, SYN/ACK packets would have lower packet drop rates;) s
5 588 M
(   question \(1\) could not necessarily be inferred from the overall) s
5 577 M
(   packet drop rate, but could be answered by measuring the drop rate) s
5 566 M
(   for SYN/ACK packets directly.  In such an environment, adding ECN-) s
5 555 M
(   capability to SYN/ACK packets would be of less dramatic benefit than) s
5 544 M
(   in environments where all packets are equally likely to be dropped) s
5 533 M
(   regardless of packet size.) s
5 511 M
(   As question \(2\) implies, even if all of the SYN/ACK packets were ECN-) s
5 500 M
(   capable, there could still be some SYN/ACK packets dropped instead of) s
5 489 M
(   marked at the congested link; the full answer to question \(2\) depends) s
5 478 M
(   on the details of the queue management mechanism at the router.  If) s
5 467 M
(   congestion is sufficiently bad, and the queue management mechanism) s
5 456 M
(   cannot prevent the buffer from overflowing, then SYN/ACK packets will) s
5 445 M
(   be dropped rather than marked upon buffer overflow whether or not) s
5 434 M
(   they are ECN-capable.) s
5 412 M
(   For some AQM mechanisms, ECN-capable packets are marked instead of) s
5 401 M
(   dropped any time this is possible, that is, any time the buffer is) s
5 390 M
(   not yet full.  For other AQM mechanisms however, such as the RED) s
5 379 M
(   mechanism as recommended in [RED], packets are dropped rather than) s
5 368 M
(   marked when the packet drop/mark rate exceeds a certain threshold,) s
5 357 M
(   e.g., 10%, even if the packets are ECN-capable.  For a router with) s
5 346 M
(   such an AQM mechanism, when congestion is sufficiently severe to) s
5 335 M
(   cause a high drop/mark rate, some SYN/ACK packets would be dropped) s
5 324 M
(   instead of marked whether or not they were ECN-capable.) s
5 302 M
(   Thus, the degree of benefit of adding ECN-Capability to SYN/ACK) s
5 291 M
(   packets depends not only on the overall packet drop rate in the) s
5 280 M
(   network, but also on the queue management architecture at the) s
5 269 M
(   congested link.) s
5 236 M
(6.2.  An Evaluation of Different Responses to ECN-Marked SYN/ACK Packets) s
5 214 M
(   This document specifies that the end-node responds to the report of) s
5 203 M
(   an ECN-marked SYN/ACK packet by setting the initial congestion window) s
5 192 M
(   to one segment, instead of its possible default value of two to four) s
5 181 M
(   segments.  We call this ECN+ with NoWaiting.  However, in Section 4) s
5 170 M
(   discussed another possible response to an ECN-marked SYN/ACK packet,) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 14]) s
_R
S
%%Page: (15) 15
%%BeginPageSetup
_S
24 24 translate
/pagenum 15 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   of the end-node waiting an RTT before sending a data packet.  We call) s
5 676 M
(   this approach ECN+ with Waiting.) s
5 654 M
(   Simulations comparing the performance with Standard ECN \(without ECN-) s
5 643 M
(   marked SYN/ACK packets\), ECN+ with NoWaiting, and ECN+ with Waiting) s
5 632 M
(   show little difference, in terms of aggregate congestion, between) s
5 621 M
(   ECN+ with NoWaiting and ECN+ with Waiting.  The details are given in) s
5 610 M
(   Appendix A below.  Our conclusions are that ECN+ with NoWaiting is) s
5 599 M
(   perfectly safe, and there are no congestion-related reasons for) s
5 588 M
(   preferring ECN+ with Waiting over ECN+ with NoWaiting.  That is,) s
5 577 M
(   there is no need for the TCP end-node to wait a round-trip time) s
5 566 M
(   before sending a data packet after receiving an acknowledgement of an) s
5 555 M
(   ECN-marked SYN/ACK packet.) s
5 522 M
(7.  Security Considerations) s
5 500 M
(   TCP packets carrying the ECT codepoint in IP headers can be marked) s
5 489 M
(   rather than dropped by ECN-capable routers. This raises several) s
5 478 M
(   security concerns that we discuss below.) s
5 456 M
(   "Bad" routers or middleboxes:) s
5 445 M
(   There are a number of known deployment problems from using ECN with) s
5 434 M
(   TCP traffic in the Internet.  The first reported problem, dating back) s
5 423 M
(   to 2000, is of a small but decreasing number of routers or) s
5 412 M
(   middleboxes that reset a TCP connection in response to TCP SYN) s
5 401 M
(   packets using flags in the TCP header to negotiate ECN-capability) s
5 390 M
(   [Kelson00] [RFC3360] [MAF05].  Dave Thaler reported at the March 2007) s
5 379 M
(   IETF of new two problems encountered by TCP connections using ECN;) s
5 368 M
(   the first of the two problems concerns routers that crash when a TCP) s
5 357 M
(   data packet arrives with the ECN field in the IP header with the) s
5 346 M
(   codepoint ECT\(0\) or ECT\(1\), indicating that an ECN-Capable connection) s
5 335 M
(   has been established [SBT07].) s
5 313 M
(   While there is no evidence that any routers or middleboxes drop) s
5 302 M
(   SYN/ACK packets that contain an ECN-Capable or CE codepoint in the IP) s
5 291 M
(   header, such behavior cannot be excluded.  \(There seems to be a) s
5 280 M
(   number of routers or middleboxes that drop TCP SYN packets that) s
5 269 M
(   contain known or unknown IP options [MAF05] \(Figure 1\).\)  Thus, as) s
5 258 M
(   specified in Section 3, if a SYN/ACK packet with the ECT or CE) s
5 247 M
(   codepoint is dropped, the TCP node SHOULD resend the SYN/ACK packet) s
5 236 M
(   without the ECN-Capable codepoint.  There is also no evidence that) s
5 225 M
(   any routers or middleboxes crash when a SYN/ACK arrives with an ECN-) s
5 214 M
(   Capable or CE codepoint in the IP header \(over and above the routers) s
5 203 M
(   already known to crash when a data packet arrives with either ECT\(0\)) s
5 192 M
(   or ECT\(1\)\), but we have not conducted any measurement studies of this) s
5 181 M
(   [F07].) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 15]) s
_R
S
%%Page: (16) 16
%%BeginPageSetup
_S
24 24 translate
/pagenum 16 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   Congestion collapse:) s
5 676 M
(   Because TCP SYN/ACK packets carrying an ECT codepoint could be ECN-) s
5 665 M
(   marked instead of dropped at an ECN-capable router, the concern is) s
5 654 M
(   whether this can either invoke congestion, or worsen performance in) s
5 643 M
(   highly congested scenarios.  However, after learning that a SYN/ACK) s
5 632 M
(   packet was ECN-marked, the sender of that packet will only send one) s
5 621 M
(   data packet; if this data packet is ECN-marked, the sender will then) s
5 610 M
(   wait for a retransmission timeout.  In addition, routers are free to) s
5 599 M
(   drop rather than mark arriving packets in times of high congestion,) s
5 588 M
(   regardless of whether the packets are ECN-capable.  When congestion) s
5 577 M
(   is very high and a router's buffer is full, the router has no choice) s
5 566 M
(   but to drop rather than to mark an arriving packet.) s
5 544 M
(   The simulations reported in Appendix A show that even with demanding) s
5 533 M
(   traffic mixes dominated by short flows and high levels of congestion,) s
5 522 M
(   the aggregate packet dropping rates are not significantly different) s
5 511 M
(   with Standard ECN, ECN+ with NoWaiting, or ECN+ with Waiting.  In) s
5 500 M
(   particular, the simulations show that in periods of very high) s
5 489 M
(   congestion the packet-marking rate is low with or without ECN+, and) s
5 478 M
(   the use of ECN+ does not significantly increase the number of dropped) s
5 467 M
(   or marked packets.) s
5 445 M
(   The simulations show that ECN+ is most effective in times of moderate) s
5 434 M
(   congestion.  In these moderate-congested scenarios, the use of ECN+) s
5 423 M
(   increases the number of ECN-marked packets, because ECN+ allows) s
5 412 M
(   SYN/ACK packets to be ECN-marked.  At the same time, in these times) s
5 401 M
(   of moderate congestion, the use of ECN+ instead of Standard ECN does) s
5 390 M
(   not significantly affect the overall levels of congestion.) s
5 368 M
(   The simulations show that the use of ECN+ is less effective in times) s
5 357 M
(   of high congestion;  the simulations show that in times of high) s
5 346 M
(   congestion more packets are dropped instead of marked, both with) s
5 335 M
(   Standard ECN and with ECN+.  In times of high congestion, the buffer) s
5 324 M
(   can overflow, even with Active Queue Management and ECN; when the) s
5 313 M
(   buffer is full arriving packets are dropped rather than marked,) s
5 302 M
(   whether the packets are ECN-capable or not.  Thus while ECN+ is less) s
5 291 M
(   effective in times of high congestion, it still doesn't result in a) s
5 280 M
(   significant increase in the level of congestion.  More details are) s
5 269 M
(   given in the appendix.) s
5 247 M
(8.  Conclusions) s
5 225 M
(   This draft specifies a modification to RFC 3168 to allow TCP nodes to) s
5 214 M
(   send SYN/ACK packets as being ECN-Capable.  Making the SYN/ACK packet) s
5 203 M
(   ECN-Capable avoids the high cost to a TCP transfer when a SYN/ACK) s
5 192 M
(   packet is dropped by a congested router, by avoiding the resulting) s
5 181 M
(   retransmit timeout.  This improves the throughput of short) s
5 170 M
(   connections.  The sender of the SYN/ACK packet responds to an ECN) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 16]) s
_R
S
%%Page: (17) 17
%%BeginPageSetup
_S
24 24 translate
/pagenum 17 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   mark by reducing its initial congestion window from two, three, or) s
5 676 M
(   four segments to one segment, reducing the subsequent load from that) s
5 665 M
(   connection on the network.  The addition of ECN-capability to SYN/ACK) s
5 654 M
(   packets is particularly beneficial in the server-to-client direction,) s
5 643 M
(   where congestion is more likely to occur.  In this case, the initial) s
5 632 M
(   information provided by the ECN marking in the SYN/ACK packet enables) s
5 621 M
(   the server to more appropriately adjust the initial load it places on) s
5 610 M
(   the network.) s
5 588 M
(   Future work will address the more general question of adding ECN-) s
5 577 M
(   Capability to relevant handshake packets in other protocols that use) s
5 566 M
(   retransmission-based reliability in their setup phase \(e.g., SCTP,) s
5 555 M
(   DCCP, HIP, and the like\).) s
5 533 M
(9.  Acknowledgements) s
5 511 M
(   We thank Anil Agarwal, Mark Allman, Wesley Eddy, Janardhan Iyengar,) s
5 500 M
(   and Pasi Sarolahti for feedback on earlier versions of this draft.) s
5 478 M
(A.  Report on Simulations) s
5 456 M
(   This section reports on simulations showing the costs of adding ECN+) s
5 445 M
(   in highly-congested scenarios.  This section also reports on) s
5 434 M
(   simulations for a comparative evaluation between ECN+ with NoWaiting) s
5 423 M
(   and ECN+ with Waiting.) s
5 401 M
(   The simulations are run with a range of file-size distributions.  As) s
5 390 M
(   a baseline, they use the empirical heavy-tailed distribution reported) s
5 379 M
(   in [SCJO01], with a mean file size of around 7 KBytes.  This flow-) s
5 368 M
(   size distribution is manipulated by skewing the flow sizes towards) s
5 357 M
(   lower and higher values to get distributions with mean file sizes of) s
5 346 M
(   3 KBytes, 5 KBytes, 14 KBytes and 17 KBytes.  The congested link is) s
5 335 M
(   100 Mbps.  RED is run in gentle mode, and arriving ECN-Capable) s
5 324 M
(   packets are only dropped instead of marked if the buffer is full \(and) s
5 313 M
(   the router has no choice\).) s
5 291 M
(   We explore two alternatives for a TCP node's response to a report of) s
5 280 M
(   an ECN-marked SYN/ACK packet.  With ECN+ with NoWaiting, the TCP node) s
5 269 M
(   sends a data packet immediately \(with an initial congestion window of) s
5 258 M
(   one segment\).  With the alternative ECN+ with Waiting, the TCP node) s
5 247 M
(   waits a round-trip time before sending a data packet; the sender) s
5 236 M
(   already has one measurement of the round-trip time when the) s
5 225 M
(   acknowledgement for the SYN/ACK packet is received.) s
5 203 M
(   In the tables below, ECN+ refers to ECN+ with NoWaiting, where the) s
5 192 M
(   sender starts transmitting immediately, and ECN+/wait refers to ECN+) s
5 181 M
(   with Waiting, where the sender waits a round-trip time before sending) s
5 170 M
(   a data packet into the network.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 17]) s
_R
S
%%Page: (18) 18
%%BeginPageSetup
_S
24 24 translate
/pagenum 18 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   The simulation scripts are available on [ECN-SYN], along with graphs) s
5 676 M
(   showing the distribution of response times for the TCP connections.) s
5 643 M
(A.1.  Simulations with RED in Packet Mode) s
5 621 M
(   The simulations with RED in packet mode and with the queue in packets) s
5 610 M
(   show that ECN+ is useful in times of moderate congestion, though it) s
5 599 M
(   adds little benefit in times of high congestion.  The simulations) s
5 588 M
(   show a minimal increase in levels of congestion with either ECN+ with) s
5 577 M
(   Waiting or ECN+ with NoWaiting, either in terms of packet dropping or) s
5 566 M
(   marking rates or in terms of the distribution of responses times.) s
5 555 M
(   Thus, the simulations show no problems with ECN+ in times of high) s
5 544 M
(   congestion, and no reason to use ECN+ with Waiting instead of ECN+) s
5 533 M
(   with NoWaiting.) s
5 511 M
(   Table 1 shows the congestion levels for simulations with RED in) s
5 500 M
(   packet mode, with a queue in packets.  To explore a worst-case) s
5 489 M
(   scenario, these simulations use a traffic mix with an unrealistically) s
5 478 M
(   small flow size distribution, with a mean flow size of 3 Kbytes.  For) s
5 467 M
(   each table showing a particular traffic load, the three rows show the) s
5 456 M
(   number of packets dropped, the number of packets ECN-marked, and the) s
5 445 M
(   aggregate packet drop rate, and the three columns show the) s
5 434 M
(   simulations with Standard ECN, ECN+ \(NoWaiting\) and ECN+/wait.) s
5 412 M
(   The usefulness of ECN+: The first thing to observe is that for the) s
5 401 M
(   simulations with the somewhat moderate load of 95%, with packet drop) s
5 390 M
(   rates of 5-6%, the use of ECN+ or ECN+/wait more than doubled the) s
5 379 M
(   number of packets marked.  This indicates that with ECN+ or) s
5 368 M
(   ECN+/wait, many SYN/ACK packets are marked instead of dropped.) s
5 346 M
(   No increase in congestion: The second thing to observe is that in all) s
5 335 M
(   of the simulations, the use of ECN+ or ECN+/wait does not) s
5 324 M
(   significantly increase the aggregate packet drop rate.) s
5 302 M
(   Comparing ECN+ and ECN+/wait: The third thing to observe is that) s
5 291 M
(   there is little difference between ECN+ and ECN+/wait in terms of the) s
5 280 M
(   aggregate packet drop rate.  Thus, there is no congestion-related) s
5 269 M
(   reason to prefer ECN+/wait over ECN+.) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(        Traffic Load = 95%:) s
5 676 M
(                      ECN        ECN+     ECN+/wait) s
5 665 M
(                   -------     -------     -------) s
5 654 M
(        Dropped     74,645      64,034      64,983) s
5 643 M
(        Marked       7,639      17,681      16,914) s
5 632 M
(        Loss rate    6.05%       5.26%       5.33%) s
5 599 M
(        Traffic Load = 110%:) s
5 588 M
(                      ECN        ECN+     ECN+/wait) s
5 577 M
(                   -------     -------     -------) s
5 566 M
(        Dropped    161,644     163,620     165,196) s
5 555 M
(        Marked       4,375       6,653       6,144) s
5 544 M
(        Loss rate   10.38%      10.45%      10.53%) s
5 511 M
(        Traffic Load = 125%:) s
5 500 M
(                      ECN        ECN+     ECN+/wait) s
5 489 M
(                   -------     -------     -------) s
5 478 M
(        Dropped    257,671     268,161     264,437) s
5 467 M
(        Marked       2,885       3,712       3,359) s
5 456 M
(        Loss rate   14.52%      15.00%      14.83%) s
5 423 M
(        Traffic Load = 150%:) s
5 412 M
(                      ECN        ECN+     ECN+/wait) s
5 401 M
(                   -------     -------     -------) s
5 390 M
(        Loss rate   24.36%      24.61%      24.46%) s
5 357 M
(        Traffic Load = 200%:) s
5 346 M
(                      ECN        ECN+     ECN+/wait) s
5 335 M
(                   -------     -------     -------) s
5 324 M
(        Loss rate   29.99%      30.22%      30.23%) s
5 302 M
(   Table 1: Simulations with an average flow size of 3 Kbytes, RED in) s
5 291 M
(   packet mode, queue in packets.) s
5 269 M
(A.2.  Simulations with RED in Byte Mode) s
5 247 M
(   Table 3 below shows simulations with RED in byte mode and the queue) s
5 236 M
(   in bytes.  Like the simulations with RED in packet mode, there is no) s
5 225 M
(   significant increase in aggregate congestion with the use of ECN+ or) s
5 214 M
(   ECN+/wait, and no congestion-related reason to prefer ECN+/wait over) s
5 203 M
(   ECN+.) s
5 181 M
(   However, unlike the simulations with RED in packet mode, the) s
5 170 M
(   simulations with RED in byte mode show little benefit from the use of) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   ECN+ or ECN+/wait, in that the packet marking rate with ECN+ or) s
5 676 M
(   ECN+/wait is not much different than the packet marking rate with) s
5 665 M
(   Standard ECN.  This is because with RED in byte mode, small packets) s
5 654 M
(   like SYN/ACK packets are rarely dropped or marked - that is, there is) s
5 643 M
(   no drawback from the use of ECN+ in these scenarios, but not much) s
5 632 M
(   need for ECN+ either, in a scenario where small packets are unlikely) s
5 621 M
(   to be dropped or marked.) s
5 588 M
(        Traffic Load = 95%:) s
5 577 M
(                      ECN        ECN+     ECN+/wait) s
5 566 M
(                   -------     -------     -------) s
5 555 M
(        Dropped     13,044      13,323      14,855) s
5 544 M
(        Marked      18,880      19,175      19,049) s
5 533 M
(        Loss rate    1.13%       1.16%       1.29%) s
5 500 M
(        Traffic Load = 110%:) s
5 489 M
(                      ECN        ECN+     ECN+/wait) s
5 478 M
(                   -------     -------     -------) s
5 467 M
(        Dropped     84,809      83,013      83,564) s
5 456 M
(        Marked       4,086       4,644       4,826) s
5 445 M
(        Loss rate    5.90%       5.78%       5.81%) s
5 412 M
(        Traffic Load = 125%:) s
5 401 M
(                      ECN        ECN+     ECN+/wait) s
5 390 M
(                   -------     -------     -------) s
5 379 M
(        Dropped    157,305     157,435     158,368) s
5 368 M
(        Marked       2,183       2,363       2,663) s
5 357 M
(        Loss rate    9.89%       9.87%       9.93%) s
5 335 M
(   Table 3: Simulations with an average flow size of 3 Kbytes, RED in) s
5 324 M
(   byte mode, queue in bytes.) s
5 302 M
(Normative References) s
5 280 M
(   [RFC 2119] S. Bradner, Key words for use in RFCs to Indicate) s
5 269 M
(   Requirement Levels, RFC 2119, March 1997.) s
5 247 M
(   [RFC3168] K.K. Ramakrishnan, S. Floyd, and D. Black, The Addition of) s
5 236 M
(   Explicit Congestion Notification \(ECN\) to IP, RFC 3168, Proposed) s
5 225 M
(   Standard, September 2001.) s
5 203 M
(Informative References) s
5 181 M
(   [ECN+] A. Kuzmanovic, The Power of Explicit Congestion Notification,) s
5 170 M
(   SIGCOMM 2005.) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   [ECN-SYN] ECN-SYN web page with simulation scripts, URL to be added.) s
5 665 M
(   [F07] S. Floyd, "[BEHAVE] Response of firewalls and middleboxes to) s
5 654 M
(   TCP SYN packets that are ECN-Capable?", August 2, 2007, email sent to) s
5 643 M
(   the BEHAVE mailing list, URL "http://www1.ietf.org/mail-) s
5 632 M
(   archive/web/behave/current/msg02644.html".`) s
5 610 M
(   [Kelson00] Dax Kelson, note sent to the Linux kernel mailing list,) s
5 599 M
(   September 10, 2000.) s
5 577 M
(   [MAF05] A. Medina, M. Allman, and S. Floyd.  Measuring the Evolution) s
5 566 M
(   of Transport Protocols in the Internet, ACM CCR, April 2005.) s
5 544 M
(   [PI] C. Hollot, V. Misra, W. Gong, and D. Towsley, On Designing) s
5 533 M
(   Improved Controllers for AQM Routers Supporting TCP Flows, April) s
5 522 M
(   1998.) s
5 500 M
(   [RED] Floyd, S., and Jacobson, V.  Random Early Detection gateways) s
5 489 M
(   for Congestion Avoidance .  IEEE/ACM Transactions on Networking, V.1) s
5 478 M
(   N.4, August 1993.) s
5 456 M
(   [REM] S. Athuraliya, V. H. Li, S. H. Low and Q. Yin, REM: Active) s
5 445 M
(   Queue Management, IEEE Network, May 2001.) s
5 423 M
(   [RFC2309] B. Braden et al., Recommendations on Queue Management and) s
5 412 M
(   Congestion Avoidance in the Internet, RFC 2309, April 1998.) s
5 390 M
(   [RFC2581] M. Allman, V. Paxson, and W. Stevens, TCP Congestion) s
5 379 M
(   Control, RFC 2581, April 1999.) s
5 357 M
(   [RFC2988] V. Paxson and M. Allman, Computing TCP's Retransmission) s
5 346 M
(   Timer, RFC 2988, November 2000.) s
5 324 M
(   [RFC3042] M. Allman, H. Balakrishnan, and S. Floyd, Enhancing TCP's) s
5 313 M
(   Loss Recovery Using Limited Transmit, RFC 3042, Proposed Standard,) s
5 302 M
(   January 2001.) s
5 280 M
(   [RFC3360] S. Floyd, Inappropriate TCP Resets Considered Harmful, RFC) s
5 269 M
(   3360, August 2002.) s
5 247 M
(   [RFC3390] M. Allman, S. Floyd, and C. Partridge, Increasing TCP's) s
5 236 M
(   Initial Window, RFC 3390, October 2002.) s
5 214 M
(   [SCJO01] F. Smith, F. Campos, K. Jeffay, D. Ott, What {TCP/IP}) s
5 203 M
(   Protocol Headers Can Tell us about the Web, SIGMETRICS, June 2001.) s
5 181 M
(   [SYN-COOK]   Dan J. Bernstein, SYN cookies, 1997, see also) s
5 170 M
(   <http://cr.yp.to/syncookies.html>) 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-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   [SBT07] M. Sridharan, D. Bansal, and D. Thaler, Implementation Report) s
5 676 M
(   on Experiences with Various TCP RFCs, Presentation in the TSVAREA,) s
5 665 M
(   IETF 68, March 2007.  URL) s
5 654 M
(   "http://www3.ietf.org/proceedings/07mar/slides/tsvarea-3/sld6.htm".) s
5 632 M
(   [Tools] S. Floyd and E. Kohler, Tools for the Evaluation of) s
5 621 M
(   Simulation and Testbed Scenarios, Internet-draft draft-irtf-tmrg-) s
5 610 M
(   tools-04, work in progress, July 2007.) s
5 588 M
(IANA Considerations) s
5 566 M
(   There are no IANA considerations regarding this document.) s
5 533 M
(Authors' Addresses) s
5 511 M
(   Aleksandar Kuzmanovic) s
5 500 M
(   Phone: +1 \(847\) 467-5519) s
5 489 M
(   Northwestern University) s
5 478 M
(   Email: akuzma at northwestern.edu) s
5 467 M
(   URL: http://cs.northwestern.edu/~a) s
5 445 M
(   Amit Mondal) s
5 434 M
(   Northwestern University) s
5 423 M
(   Email: a-mondal at northwestern.edu) s
5 401 M
(   Sally Floyd) s
5 390 M
(   Phone: +1 \(510\) 666-2989) s
5 379 M
(   ICIR \(ICSI Center for Internet Research\)) s
5 368 M
(   Email: floyd@icir.org) s
5 357 M
(   URL: http://www.icir.org/floyd/) s
5 335 M
(   K. K. Ramakrishnan) s
5 324 M
(   Phone: +1 \(973\) 360-8764) s
5 313 M
(   AT&T Labs Research) s
5 302 M
(   Email: kkrama at research.att.com) s
5 291 M
(   URL: http://www.research.att.com/info/kkrama) s
5 258 M
(Full Copyright Statement) s
5 236 M
(   Copyright \(C\) The IETF Trust \(2007\).) s
5 214 M
(   This document is subject to the rights, licenses and restrictions) s
5 203 M
(   contained in BCP 78, and except as set forth therein, the authors) s
5 192 M
(   retain all their rights.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 22]) s
_R
S
%%Page: (23) 23
%%BeginPageSetup
_S
24 24 translate
/pagenum 23 def
/fname (draft-ietf-tcpm-ecnsyn-03.txt) def
/fdir () def
/ftail (draft-ietf-tcpm-ecnsyn-03.txt) def
/user_header_p false def
%%EndPageSetup
5 720 M
(INTERNET-DRAFT           ECN and SYN/ACK Packets           November 2007) s
5 687 M
(   This document and the information contained herein are provided on an) s
5 676 M
(   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS) s
5 665 M
(   OR IS SPONSORED BY \(IF ANY\), THE INTERNET SOCIETY, THE IETF TRUST AND) s
5 654 M
(   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS) s
5 643 M
(   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF) s
5 632 M
(   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED) s
5 621 M
(   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.) s
5 599 M
(Intellectual Property) s
5 577 M
(   The IETF takes no position regarding the validity or scope of any) s
5 566 M
(   Intellectual Property Rights or other rights that might be claimed to) s
5 555 M
(   pertain to the implementation or use of the technology described in) s
5 544 M
(   this document or the extent to which any license under such rights) s
5 533 M
(   might or might not be available; nor does it represent that it has) s
5 522 M
(   made any independent effort to identify any such rights.  Information) s
5 511 M
(   on the procedures with respect to rights in RFC documents can be) s
5 500 M
(   found in BCP 78 and BCP 79.) s
5 478 M
(   Copies of IPR disclosures made to the IETF Secretariat and any) s
5 467 M
(   assurances of licenses to be made available, or the result of an) s
5 456 M
(   attempt made to obtain a general license or permission for the use of) s
5 445 M
(   such proprietary rights by implementers or users of this) s
5 434 M
(   specification can be obtained from the IETF on-line IPR repository at) s
5 423 M
(   http://www.ietf.org/ipr.) s
5 401 M
(   The IETF invites any interested party to bring to its attention any) s
5 390 M
(   copyrights, patents or patent applications, or other proprietary) s
5 379 M
(   rights that may cover technology that may be required to implement) s
5 368 M
(   this standard.  Please address the information to the IETF at ietf-) s
5 357 M
(   ipr@ietf.org.) s
5 126 M
(Floyd et al.              Expires: 18 May 2008                 [Page 23]) s
_R
S
%%Trailer
%%Pages: 23
%%DocumentNeededResources: font Courier-Bold Courier 
%%EOF

PAFTECH AB 2003-20262026-04-23 03:42:28