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-2026 | 2026-04-23 03:42:28 |