One document matched: draft-ietf-dccp-spec-12.ps


%!PS-Adobe-3.0
%%Creator: groff version 1.19
%%CreationDate: Mon Nov 28 13:17:26 2005
%%DocumentNeededResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Roman
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.19 0
%%Pages: 98
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
%%Orientation: Portrait
%%EndComments
%%BeginDefaults
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
%%BeginResource: procset grops 1.19 0
/setpacking where{
pop
currentpacking
true setpacking
}if
/grops 120 dict dup begin
/SC 32 def
/A/show load def
/B{0 SC 3 -1 roll widthshow}bind def
/C{0 exch ashow}bind def
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
/E{0 rmoveto show}bind def
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
/G{0 rmoveto 0 exch ashow}bind def
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/I{0 exch rmoveto show}bind def
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
/K{0 exch rmoveto 0 exch ashow}bind def
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/M{rmoveto show}bind def
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
/O{rmoveto 0 exch ashow}bind def
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/Q{moveto show}bind def
/R{moveto 0 SC 3 -1 roll widthshow}bind def
/S{moveto 0 exch ashow}bind def
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/SF{
findfont exch
[exch dup 0 exch 0 exch neg 0 0]makefont
dup setfont
[exch/setfont cvx]cvx bind def
}bind def
/MF{
findfont
[5 2 roll
0 3 1 roll
neg 0 0]makefont
dup setfont
[exch/setfont cvx]cvx bind def
}bind def
/level0 0 def
/RES 0 def
/PL 0 def
/LS 0 def
/MANUAL{
statusdict begin/manualfeed true store end
}bind def
/PLG{
gsave newpath clippath pathbbox grestore
exch pop add exch pop
}bind def
/BP{
/level0 save def
1 setlinecap
1 setlinejoin
72 RES div dup scale
LS{
90 rotate
}{
0 PL translate
}ifelse
1 -1 scale
}bind def
/EP{
level0 restore
showpage
}bind def
/DA{
newpath arcn stroke
}bind def
/SN{
transform
.25 sub exch .25 sub exch
round .25 add exch round .25 add exch
itransform
}bind def
/DL{
SN
moveto
SN
lineto stroke
}bind def
/DC{
newpath 0 360 arc closepath
}bind def
/TM matrix def
/DE{
TM currentmatrix pop
translate scale newpath 0 0 .5 0 360 arc closepath
TM setmatrix
}bind def
/RC/rcurveto load def
/RL/rlineto load def
/ST/stroke load def
/MT/moveto load def
/CL/closepath load def
/Fr{
setrgbcolor fill
}bind def
/setcmykcolor where{
pop
/Fk{
setcmykcolor fill
}bind def
}if
/Fg{
setgray fill
}bind def
/FL/fill load def
/LW/setlinewidth load def
/Cr/setrgbcolor load def
/setcmykcolor where{
pop
/Ck/setcmykcolor load def
}if
/Cg/setgray load def
/RE{
findfont
dup maxlength 1 index/FontName known not{1 add}if dict begin
{
1 index/FID ne{def}{pop pop}ifelse
}forall
/Encoding exch def
dup/FontName exch def
currentdict end definefont pop
}bind def
/DEFS 0 def
/EBEGIN{
moveto
DEFS begin
}bind def
/EEND/end load def
/CNT 0 def
/level1 0 def
/PBEGIN{
/level1 save def
translate
div 3 1 roll div exch scale
neg exch neg exch translate
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[]0 setdash
/setstrokeadjust where{
pop
false setstrokeadjust
}if
/setoverprint where{
pop
false setoverprint
}if
newpath
/CNT countdictstack def
userdict begin
/showpage{}def
/setpagedevice{}def
}bind def
/PEND{
clear
countdictstack CNT sub{end}repeat
level1 restore
}bind def
end def
/setpacking where{
pop
setpacking
}if
%%EndResource
%%BeginFeature: *PageSize Default
<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
%%EndFeature
%%IncludeResource: font Courier-Bold
%%IncludeResource: font Times-Bold
%%IncludeResource: font Times-Roman
%%IncludeResource: font Courier
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.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/circumflex
/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/quotesinglbase/guillemotleft
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
/ordmasculine/guilsinglright/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
/Courier@0 ENC0/Courier RE/Times-Roman@0 ENC0/Times-Roman RE
/Times-Bold@0 ENC0/Times-Bold RE/Courier-Bold@0 ENC0/Courier-Bold RE
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Courier-Bold@0 SF(Internet Engineering Task Force)72 85 Q
(Eddie Kohler)173.998 E 317.998(INTERNET-DRAFT UCLA)72 98 R 197.998
(draft-ietf-dccp-spec-12.ps Mark)72 111 R(Handley)6 E
(Expires: 28 May 2006)72 124 Q(UCL)293.998 E(Sally Floyd)437.998 137 Q
(ICIR)479.998 150 Q(28 November 2005)407.998 163 Q/F1 14/Times-Bold@0 SF
(Datagram Congestion Contr)144.78 188 Q(ol Pr)-.252 E(otocol \(DCCP\))
-.252 E/F2 11/Times-Bold@0 SF(Status of this Memo)72 220 Q/F3 11
/Times-Roman@0 SF
(By submitting this Internet-Draft, each author represents that an)100.8
236.6 Q 2.75(ya)-.165 G(pplicable patent or other)-2.75 E
(IPR claims of which he or she is a)100.8 249.6 Q -.11(wa)-.165 G(re ha)
.11 E .33 -.165(ve b)-.22 H(een or will be disclosed, and an).165 E 2.75
(yo)-.165 G 2.75(fw)-2.75 G(hich he)-2.75 E(or she becomes a)100.8 262.6
Q -.11(wa)-.165 G
(re will be disclosed, in accordance with Section 6 of BCP 79.).11 E
(Internet-Drafts are w)100.8 279.2 Q
(orking documents of the Internet Engineering T)-.11 E(ask F)-.88 E
(orce \(IETF\), its)-.165 E(areas, and its w)100.8 292.2 Q
(orking groups.)-.11 E(Note that other groups may also distrib)5.5 E
(ute w)-.22 E(orking)-.11 E(documents as Internet-Drafts.)100.8 305.2 Q
(Internet-Drafts are draft documents v)100.8 321.8 Q
(alid for a maximum of six months and may be)-.275 E
(updated, replaced, or obsoleted by other documents at an)100.8 334.8 Q
2.75(yt)-.165 G 2.75(ime. It)-2.75 F(is inappropriate to use)2.75 E
(Internet-Drafts as reference material or to cite them other than as "w)
100.8 347.8 Q(ork in progress.")-.11 E
(The list of current Internet-Drafts can be accessed at http://www)100.8
364.4 Q(.ietf.or)-.715 E(g/ietf/1id-)-.198 E(abstracts.txt.)100.8 377.4
Q(The list of Internet-Draft Shado)100.8 394 Q 2.75(wD)-.275 G
(irectories can be accessed at)-2.75 E(http://www)100.8 407 Q(.ietf.or)
-.715 E(g/shado)-.198 E -.715(w.)-.275 G(html.).715 E
(This Internet-Draft will e)100.8 423.6 Q(xpire on 28 May 2006.)-.165 E
F2(Abstract)72 449.6 Q F3(The Datagram Congestion Control Protocol \(DC\
CP\) is a transport protocol that pro)100.8 466.2 Q(vides)-.165 E(bidir\
ectional unicast connections of congestion-controlled unreliable datagr\
ams.)100.8 479.2 Q(DCCP is)5.5 E
(suitable for applications that transfer f)100.8 492.2 Q(airly lar)-.11
E(ge amounts of data, b)-.198 E(ut can bene\214t from)-.22 E(control o)
100.8 505.2 Q -.165(ve)-.165 G 2.75(rt).165 G(he tradeof)-2.75 E 2.75
(fb)-.275 G(etween timeliness and reliability)-2.75 E(.)-.715 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 293.51(yd [P)-.11 F
(age 1])-.165 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E .396
-.198(TO B)100.8 85 T 2.75(ED).198 G(ELETED BY THE RFC EDIT)-2.75 E
(OR UPON PUBLICA)-.198 E(TION:)-1.221 E
(Changes since draft-ietf-dccp-spec-08.txt:)100.8 111 Q 2.75(*A)100.8
137 S(dded minimum Sequence W)-2.75 E(indo)-.44 E -.715(w.)-.275 G 2.75
(*I)100.8 163 S(nit Cookie implementation sk)-2.75 E(etch.)-.11 E 2.75
(*I)100.8 189 S(nclude reasoning for ignoring options on DCCP-Data.)
-2.75 E 2.75(*M)100.8 215 S(ore Aggression Penalty e)-2.75 E
(xplanation.)-.165 E 2.75(*M)100.8 241 S(ore e)-2.75 E
(xplanation on Ack V)-.165 E(ectors that report information on pack)
-1.221 E(ets that ha)-.11 E -.165(ve)-.22 G(n').165 E 2.75(tb)-.198 G
(een)-2.75 E(sent.)100.8 254 Q
(Changes since draft-ietf-dccp-spec-07.txt:)100.8 280 Q 2.75(*M)100.8
306 S(an)-2.75 E 2.75(yc)-.165 G(hanges, not listed here, for WGLC.)
-2.75 E 2.75(*T)100.8 332 S
(he more stringent Sequence Number checks on DCCP-Sync and DCCP-SyncAck)
-2.75 E(pack)100.8 345 Q(ets become SHOULD, not MA)-.11 E -1.419(Y.)
-1.155 G(Changes since draft-ietf-dccp-spec-06.txt:)100.8 371 Q 2.75(*C)
100.8 397 S(hange e)-2.75 E(xtended sequence numbers.)-.165 E(No)5.5 E
2.75(w4)-.275 G(8-bit sequence numbers are MAND)-2.75 E -.506 -1.221
(AT O)-.44 H -.715(RY)1.221 G(,)-.704 E(and all pack)100.8 410 Q
(et types e)-.11 E(xcept Data, Ack, and DataAck al)-.165 E -.11(wa)-.11
G(ys use 48-bit sequence numbers.).11 E(This change impro)100.8 423 Q
-.165(ve)-.165 G 2.75(sD).165 G(CCP')-2.75 E 2.75(sr)-.605 G(ob)-2.75 E
(ustness ag)-.22 E(ainst blind attacks.)-.055 E 2.75(*R)100.8 449 S(emo)
-2.75 E -.165(ve)-.165 G 2.75(de).165 G(mpty Change options.)-2.75 E
2.75(*A)100.8 475 S(llo)-2.75 E 2.75(wp)-.275 G
(reference list changes during feature ne)-2.75 E
(gotiations \(this seems easier to implement)-.165 E(than the alternati)
100.8 488 Q -.165(ve)-.275 G 2.75(\). This).165 F(required a ne)2.75 E
2.75(wf)-.275 G(eature ne)-2.75 E(gotiation state, UNST)-.165 E(ABLE.)
-1.023 E 2.75(*A)100.8 514 S(dd Minimum Checksum Co)-2.75 E -.165(ve)
-.165 G(rage feature.).165 E 2.75(*A)100.8 540 S
(dd Reset Congestion State option.)-2.75 E 2.75(*S)100.8 566 S(implify \
the implementation of CCID-speci\214c option processing: no need to che\
ck)-2.75 E(whether the CCID feature is being ne)100.8 579 Q(gotiated.)
-.165 E 2.75(*M)100.8 605 S(an)-2.75 E 2.75(ym)-.165 G
(ore minor changes.)-2.75 E(Changes since draft-ietf-dccp-spec-05.txt:)
100.8 631 Q 2.75(*O)100.8 657 S -2.409 -.198(rg a)-2.75 H(nization o)
.198 E -.165(ve)-.165 G(rhaul.).165 E 2.75(*A)100.8 683 S
(dd pseudocode for e)-2.75 E -.165(ve)-.275 G(nt processing.).165 E 2.75
(*R)100.8 709 S(emo)-2.75 E .33 -.165(ve # N)-.165 H
(DP; replace with Ack Count.).165 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 293.51(yd [P)-.11 F(age 2])-.165 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 2.75
(*R)100.8 85 S(emo)-2.75 E .33 -.165(ve I)-.165 H
(denti\214cation, Challenge, ID Re).165 E(gime, and Connection Nonce.)
-.165 E 2.75(*D)100.8 111 S(ata Checksum \(formerly P)-2.75 E
(ayload Checksum\) uses a 32-bit CRC.)-.165 E 2.75(*S)100.8 137 S
(witch location of non-ne)-2.75 E
(gotiable features to clarify presentation; no)-.165 E 2.75(wt)-.275 G
(he feature)-2.75 E(location controls its v)100.8 150 Q(alue.)-.275 E
2.75(*R)100.8 176 S(ename "v)-2.75 E
(alue type" to "reconciliation rule".)-.275 E 2.75(*R)100.8 202 S
(ename "Reset Reason" to "Reset Code".)-2.75 E 2.75(*M)100.8 228 S
(obility ID becomes 128 bits long.)-2.75 E 2.75(*A)100.8 254 S
(dd probabilities to Mobility ID discussion.)-2.75 E 2.75(*A)100.8 280 S
(dd SyncAck.)-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
293.51(yd [P)-.11 F(age 3])-.165 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 13
/Times-Bold@0 SF -1.196(Ta)253.526 85 S(ble of Contents)1.196 E/F2 10
/Times-Roman@0 SF(1. Introduction)100.8 110 Q F0 11
(.......................)11.01 G F2(8)11.5 E(2. Design Rationale)100.8
122 Q F0 11(......................)5.04 G F2(8)11.5 E(3. Con)100.8 134 Q
-.15(ve)-.4 G(ntions and T).15 E(erminology)-.7 E F0 11
(..................)8.23 G F2(9)11.5 E(3.1. Numbers and Fields)115.8 146
Q F0 11(...................)12.4 G F2(9)11.5 E(3.2. P)115.8 158 Q
(arts of a Connection)-.15 E F0 11(...................)6.72 G F2(10)6.5
E(3.3. Features)115.8 170 Q F0 11(.......................)4.07 G F2(10)
6.5 E(3.4. Round-T)115.8 182 Q(rip T)-.35 E(imes)-.35 E F0 11
(....................)5.18 G F2(11)6.5 E(3.5. Security Limitation)115.8
194 Q F0 11(....................)1.14 G F2(11)6.5 E(3.6. Rob)115.8 206 Q
(ustness Principle)-.2 E F0 11(...................)8.98 G F2(11)6.5 E
(4. Ov)100.8 218 Q(ervie)-.15 E(w)-.25 E F0 11(........................)
7.67 G F2(11)6.5 E(4.1. P)115.8 230 Q(ack)-.15 E(et T)-.1 E(ypes)-.8 E
F0 11(.....................)12.9 G F2(11)6.5 E(4.2. P)115.8 242 Q(ack)
-.15 E(et Sequencing)-.1 E F0 11(....................)3.63 G F2(12)6.5 E
(4.3. States)115.8 254 Q F0 11(........................).31 G F2(13)6.5
E(4.4. Congestion Control Mechanisms)115.8 266 Q F0 11(................)
2.53 G F2(14)6.5 E(4.5. Connection Features)115.8 278 Q F0 11
(...................)10.46 G F2(15)6.5 E(4.6. Dif)115.8 290 Q
(ferences From TCP)-.25 E F0 11(...................)1.55 G F2(15)6.5 E
(4.7. Example Connection)115.8 302 Q F0 11(...................)8.79 G F2
(16)6.5 E(5. P)100.8 314 Q(ack)-.15 E(et F)-.1 E(ormats)-.15 E F0 11
(......................)12.66 G F2(18)6.5 E(5.1. Generic Header)115.8
326 Q F0 11(.....................)2.43 G F2(18)6.5 E
(5.2. DCCP-Request P)115.8 338 Q(ack)-.15 E(ets)-.1 E F0 11
(..................)12.23 G F2(21)6.5 E(5.3. DCCP-Response P)115.8 350 Q
(ack)-.15 E(ets)-.1 E F0 11(..................)6.12 G F2(21)6.5 E
(5.4. DCCP-Data, DCCP-Ack, and DCCP-DataAck P)115.8 362 Q(ack)-.15 E
(ets)-.1 E F0 11(.........)11.28 G F2(22)6.5 E
(5.5. DCCP-CloseReq and DCCP-Close P)115.8 374 Q(ack)-.15 E(ets)-.1 E F0
11(.............)2.64 G F2(23)6.5 E(5.6. DCCP-Reset P)115.8 386 Q(ack)
-.15 E(ets)-.1 E F0 11(...................)8.48 G F2(24)6.5 E
(5.7. DCCP-Sync and DCCP-SyncAck P)115.8 398 Q(ack)-.15 E(ets)-.1 E F0
11(.............)7.65 G F2(26)6.5 E(5.8. Options)115.8 410 Q F0 11
(.......................)6.28 G F2(27)6.5 E(5.8.1. P)130.8 422 Q
(adding Option)-.15 E F0 11(...................)7.54 G F2(28)6.5 E
(5.8.2. Mandatory Option)130.8 434 Q F0 11(..................)10.04 G F2
(29)6.5 E(6. Feature Ne)100.8 446 Q(gotiation)-.15 E F0 11
(.....................)8.39 G F2(29)6.5 E(6.1. Change Options)115.8 458
Q F0 11(.....................).73 G F2(29)6.5 E(6.2. Con\214rm Options)
115.8 470 Q F0 11(....................)11.69 G F2(30)6.5 E
(6.3. Reconciliation Rules)115.8 482 Q F0 11(...................)9.34 G
F2(30)6.5 E(6.3.1. Serv)130.8 494 Q(er)-.15 E(-Priority)-.2 E F0 11
(...................)10.81 G F2(30)6.5 E(6.3.2. Non-Ne)130.8 506 Q
(gotiable)-.15 E F0 11(...................)6.17 G F2(31)6.5 E
(6.4. Feature Numbers)115.8 518 Q F0 11(....................)10.05 G F2
(31)6.5 E(6.5. Feature Ne)115.8 530 Q(gotiation Examples)-.15 E F0 11
(................)12.7 G F2(31)6.5 E(6.6. Option Exchange)115.8 542 Q F0
11(....................)9.49 G F2(33)6.5 E(6.6.1. Normal Exchange)130.8
554 Q F0 11(..................)11.72 G F2(33)6.5 E
(6.6.2. Processing Recei)130.8 566 Q -.15(ve)-.25 G 2.5(dO).15 G(ptions)
-2.5 E F0 11(...............)8.64 G F2(33)6.5 E
(6.6.3. Loss and Retransmission)130.8 578 Q F0 11(................)11.7
G F2(35)6.5 E(6.6.4. Reordering)130.8 590 Q F0 11(....................)
11.71 G F2(35)6.5 E(6.6.5. Preference Changes)130.8 602 Q F0 11
(..................)4.51 G F2(36)6.5 E(6.6.6. Simultaneous Ne)130.8 614
Q(gotiation)-.15 E F0 11(................)7.68 G F2(36)6.5 E
(6.6.7. Unkno)130.8 626 Q(wn Features)-.25 E F0 11(..................)
8.63 G F2(37)6.5 E(6.6.8. In)130.8 638 Q -.25(va)-.4 G(lid Options).25 E
F0 11(...................)8.6 G F2(37)6.5 E(6.6.9. Mandatory Feature Ne)
130.8 650 Q(gotiation)-.15 E F0 11(..............)13.26 G F2(37)6.5 E
(7. Sequence Numbers)100.8 662 Q F0 11(.....................)10.47 G F2
(38)6.5 E(7.1. V)115.8 674 Q(ariables)-1.11 E F0 11
(.......................).74 G F2(38)6.5 E
(7.2. Initial Sequence Numbers)115.8 686 Q F0 11(..................)2.83
G F2(38)6.5 E(7.3. Quiet T)115.8 698 Q(ime)-.35 E F0 11
(......................)6.22 G F2(39)6.5 E(7.4. Ackno)115.8 710 Q
(wledgement Numbers)-.25 E F0 11(.................)6 G F2(39)6.5 E
(7.5. V)115.8 722 Q(alidity and Synchronization)-1.11 E F0 11
(.................)3.79 G F2(40)6.5 E F0 -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 293.51(yd [P)-.11 F(age 4])-.165 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 10
/Times-Roman@0 SF(7.5.1. Sequence and Ackno)130.8 84 Q
(wledgement Number W)-.25 E(indo)-.4 E(ws)-.25 E F0 11(........)13.2 G
F1(40)6.5 E(7.5.2. Sequence W)130.8 96 Q(indo)-.4 E 2.5(wF)-.25 G
(eature)-2.5 E F0 11(................)4.6 G F1(41)6.5 E
(7.5.3. Sequence-V)130.8 108 Q(alidity Rules)-1.11 E F0 11
(................)13.1 G F1(41)6.5 E(7.5.4. Handling Sequence-In)130.8
120 Q -.25(va)-.4 G(lid P).25 E(ack)-.15 E(ets)-.1 E F0 11
(.............)11.1 G F1(43)6.5 E(7.5.5. Sequence Number Attacks)130.8
132 Q F0 11(................)5.06 G F1(43)6.5 E
(7.5.6. Sequence Number Handling Examples)130.8 144 Q F0 11
(............)11.45 G F1(44)6.5 E(7.6. Short Sequence Numbers)115.8 156
Q F0 11(..................)5.05 G F1(45)6.5 E(7.6.1. Allo)130.8 168 Q
2.5(wS)-.25 G(hort Sequence Numbers Feature)-2.5 E F0 11(............)
5.31 G F1(46)6.5 E(7.6.2. When to A)130.8 180 Q -.2(vo)-.74 G
(id Short Sequence Numbers).2 E F0 11(............)1.83 G F1(46)6.5 E
(7.7. NDP Count and Detecting Application Loss)115.8 192 Q F0 11
(............)12.82 G F1(47)6.5 E(7.7.1. NDP Count Usage Notes)130.8 204
Q F0 11(................)11.43 G F1(47)6.5 E
(7.7.2. Send NDP Count Feature)130.8 216 Q F0 11(................)9.76 G
F1(47)6.5 E(8. Ev)100.8 228 Q(ent Processing)-.15 E F0 11
(......................)5.19 G F1(48)6.5 E
(8.1. Connection Establishment)115.8 240 Q F0 11(..................)1.42
G F1(48)6.5 E(8.1.1. Client Request)130.8 252 Q F0 11
(...................)11.28 G F1(48)6.5 E(8.1.2. Service Codes)130.8 264
Q F0 11(...................)12.96 G F1(49)6.5 E(8.1.3. Serv)130.8 276 Q
(er Response)-.15 E F0 11(...................)3.67 G F1(50)6.5 E
(8.1.4. Init Cookie Option)130.8 288 Q F0 11(..................)8.64 G
F1(51)6.5 E(8.1.5. Handshak)130.8 300 Q 2.5(eC)-.1 G(ompletion)-2.5 E F0
11(.................)3.89 G F1(51)6.5 E(8.2. Data T)115.8 312 Q(ransfer)
-.35 E F0 11(.....................)10.55 G F1(52)6.5 E(8.3. T)115.8 324
Q(ermination)-.7 E F0 11(......................)2.96 G F1(52)6.5 E
(8.3.1. Abnormal T)130.8 336 Q(ermination)-.7 E F0 11(.................)
6.16 G F1(54)6.5 E(8.4. DCCP State Diagram)115.8 348 Q F0 11
(...................)6.84 G F1(54)6.5 E(8.5. Pseudocode)115.8 360 Q F0
11(......................)3.93 G F1(55)6.5 E(9. Checksums)100.8 372 Q F0
11(........................).59 G F1(59)6.5 E
(9.1. Header Checksum Field)115.8 384 Q F0 11(..................)10.05 G
F1(60)6.5 E(9.2. Header Checksum Co)115.8 396 Q -.15(ve)-.15 G
(rage Field).15 E F0 11(...............)10.78 G F1(60)6.5 E
(9.2.1. Minimum Checksum Co)130.8 408 Q -.15(ve)-.15 G(rage Feature).15
E F0 11(............)8.96 G F1(61)6.5 E(9.3. Data Checksum Option)115.8
420 Q F0 11(..................)12.82 G F1(61)6.5 E
(9.3.1. Check Data Checksum Feature)130.8 432 Q F0 11(...............)
1.31 G F1(62)6.5 E(9.3.2. Checksum Usage Notes)130.8 444 Q F0 11
(.................)2.41 G F1(62)6.5 E(10. Congestion Control)100.8 456 Q
F0 11(.....................)4.33 G F1(62)6.5 E(10.1. TCP-lik)115.8 468 Q
2.5(eC)-.1 G(ongestion Control)-2.5 E F0 11(................)11.51 G F1
(63)6.5 E(10.2. TFRC Congestion Control)115.8 480 Q F0 11
(.................)9.32 G F1(63)6.5 E
(10.3. CCID-Speci\214c Options, Features, and Reset Codes)115.8 492 Q F0
11(..........)7.55 G F1(64)6.5 E(10.4. CCID Pro\214le Requirements)115.8
504 Q F0 11(.................)4.34 G F1(65)6.5 E(10.5. Congestion State)
115.8 516 Q F0 11(....................)6.14 G F1(66)6.5 E(11. Ackno)
100.8 528 Q(wledgements)-.25 E F0 11(.....................)3.77 G F1(66)
6.5 E(11.1. Acks of Acks and Unidirectional Connections)115.8 540 Q F0
11(............).06 G F1(67)6.5 E(11.2. Ack Piggybacking)115.8 552 Q F0
11(....................).04 G F1(68)6.5 E(11.3. Ack Ratio Feature)115.8
564 Q F0 11(....................).88 G F1(68)6.5 E(11.4. Ack V)115.8 576
Q(ector Options)-1.11 E F0 11(...................)8.52 G F1(69)6.5 E
(11.4.1. Ack V)130.8 588 Q(ector Consistenc)-1.11 E(y)-.15 E F0 11
(................)10.2 G F1(71)6.5 E(11.4.2. Ack V)130.8 600 Q(ector Co)
-1.11 E -.15(ve)-.15 G(rage).15 E F0 11(.................)7.17 G F1(72)
6.5 E(11.5. Send Ack V)115.8 612 Q(ector Feature)-1.11 E F0 11
(..................)1.45 G F1(72)6.5 E(11.6. Slo)115.8 624 Q 2.5(wR)-.25
G(ecei)-2.5 E -.15(ve)-.25 G 2.5(rO).15 G(ption)-2.5 E F0 11
(..................)13.47 G F1(73)6.5 E(11.7. Data Dropped Option)115.8
636 Q F0 11(...................)1.3 G F1(73)6.5 E
(11.7.1. Data Dropped and Normal Congestion Response)130.8 648 Q F0 11
(.........)7.7 G F1(75)6.5 E(11.7.2. P)130.8 660 Q(articular Drop Codes)
-.15 E F0 11(.................)3.67 G F1(76)6.5 E
(12. Explicit Congestion Noti\214cation)100.8 672 Q F0 11
(.................)7.94 G F1(76)6.5 E(12.1. ECN Incapable Feature)115.8
684 Q F0 11(..................)7.84 G F1(77)6.5 E(12.2. ECN Nonces)115.8
696 Q F0 11(.....................)7.96 G F1(77)6.5 E
(12.3. Aggression Penalties)115.8 708 Q F0 11(...................)3.79 G
F1(78)6.5 E(13. T)100.8 720 Q(iming Options)-.35 E F0 11
(......................)5.93 G F1(79)6.5 E F0 -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 293.51(yd [P)-.11 F(age 5])-.165 E 0
Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 10
/Times-Roman@0 SF(13.1. T)115.8 84 Q(imestamp Option)-.35 E F0 11
(...................)13.02 G F1(79)6.5 E(13.2. Elapsed T)115.8 96 Q
(ime Option)-.35 E F0 11(...................)2.75 G F1(79)6.5 E(13.3. T)
115.8 108 Q(imestamp Echo Option)-.35 E F0 11(..................)3.72 G
F1(80)6.5 E(14. Maximum P)100.8 120 Q(ack)-.15 E(et Size)-.1 E F0 11
(....................)6.4 G F1(81)6.5 E(14.1. Measuring PMTU)115.8 132 Q
F0 11(....................)1.15 G F1(81)6.5 E(14.2. Sender Beha)115.8
144 Q(vior)-.2 E F0 11(....................)7.47 G F1(82)6.5 E(15. F)
100.8 156 Q(orw)-.15 E(ard Compatibility)-.1 E F0 11
(....................)5 G F1(83)6.5 E(16. Middlebox Considerations)100.8
168 Q F0 11(...................)4.06 G F1(83)6.5 E
(17. Relations to Other Speci\214cations)100.8 180 Q F0 11
(.................)6.01 G F1(84)6.5 E(17.1. R)115.8 192 Q(TP)-.6 E F0 11
(........................)1.46 G F1(84)6.5 E
(17.2. Congestion Manager and Multiple)115.8 204 Q(xing)-.15 E F0 11
(..............)1.58 G F1(85)6.5 E(18. Security Considerations)100.8 216
Q F0 11(....................).87 G F1(85)6.5 E
(18.1. Security Considerations for P)115.8 228 Q(artial Checksums)-.15 E
F0 11(...........)10.89 G F1(86)6.5 E(19. IAN)100.8 240 Q 2.5(AC)-.35 G
(onsiderations)-2.5 E F0 11(....................)9.56 G F1(86)6.5 E
(19.1. P)115.8 252 Q(ack)-.15 E(et T)-.1 E(ypes Re)-.8 E(gistry)-.15 E
F0 11(..................)12.91 G F1(87)6.5 E(19.2. Reset Codes Re)115.8
264 Q(gistry)-.15 E F0 11(...................)1.99 G F1(87)6.5 E
(19.3. Option T)115.8 276 Q(ypes Re)-.8 E(gistry)-.15 E F0 11
(..................)11.54 G F1(87)6.5 E(19.4. Feature Numbers Re)115.8
288 Q(gistry)-.15 E F0 11(.................)10.06 G F1(87)6.5 E
(19.5. Congestion Control Identi\214ers Re)115.8 300 Q(gistry)-.15 E F0
11(.............)12.54 G F1(87)6.5 E(19.6. Ack V)115.8 312 Q
(ector States Re)-1.11 E(gistry)-.15 E F0 11(.................)7.56 G F1
(88)6.5 E(19.7. Drop Codes Re)115.8 324 Q(gistry)-.15 E F0 11
(...................)3.66 G F1(88)6.5 E(19.8. Service Codes Re)115.8 336
Q(gistry)-.15 E F0 11(..................)7.97 G F1(88)6.5 E
(19.9. Port Numbers Re)115.8 348 Q(gistry)-.15 E F0 11
(..................)9.63 G F1(88)6.5 E(20. Thanks)100.8 360 Q F0 11
(........................)12.26 G F1(90)6.5 E(A. Appendix: Ack V)100.8
372 Q(ector Implementation Notes)-1.11 E F0 11(..............).34 G F1
(90)6.5 E(A.1. P)115.8 384 Q(ack)-.15 E(et Arri)-.1 E -.25(va)-.25 G(l)
.25 E F0 11(.....................)5.94 G F1(92)6.5 E(A.1.1. Ne)130.8 396
Q 2.5(wP)-.25 G(ack)-2.65 E(ets)-.1 E F0 11(....................)3.05 G
F1(92)6.5 E(A.1.2. Old P)130.8 408 Q(ack)-.15 E(ets)-.1 E F0 11
(....................)6.68 G F1(92)6.5 E(A.2. Sending Ackno)115.8 420 Q
(wledgements)-.25 E F0 11(.................)3.77 G F1(93)6.5 E
(A.3. Clearing State)115.8 432 Q F0 11(.....................)6.29 G F1
(93)6.5 E(A.4. Processing Ackno)115.8 444 Q(wledgements)-.25 E F0 11
(................)6.97 G F1(94)6.5 E(B. Appendix: P)100.8 456 Q
(artial Checksumming Design Moti)-.15 E -.25(va)-.25 G(tion).25 E F0 11
(...........)10.54 G F1(95)6.5 E(Normati)100.8 468 Q .3 -.15(ve R)-.25 H
(eferences).15 E F0 11(.....................)8.66 G F1(96)6.5 E
(Informati)100.8 480 Q .3 -.15(ve R)-.25 H(eferences).15 E F0 11
(.....................)4.22 G F1(96)6.5 E(Authors' Addresses)100.8 492 Q
F0 11(......................)5.05 G F1(98)6.5 E(Full Cop)100.8 504 Q
(yright Statement)-.1 E F0 11(....................)10.12 G F1(98)6.5 E
(Intellectual Property)100.8 516 Q F0 11(......................)2.27 G
F1(98)6.5 E F0 -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 293.51
(yd [P)-.11 F(age 6])-.165 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 13
/Times-Bold@0 SF(List of T)265.077 85 Q(ables)-1.196 E/F2 10
/Times-Roman@0 SF -.8(Ta)100.8 110 S(ble 1: DCCP P).8 E(ack)-.15 E(et T)
-.1 E(ypes)-.8 E F0 11(...................)9.53 G F2(19)6.5 E -.8(Ta)
100.8 122 S(ble 2: DCCP Reset Codes).8 E F0 11(...................)12.36
G F2(26)6.5 E -.8(Ta)100.8 134 S(ble 3: DCCP Options).8 E F0 11
(.....................)2.91 G F2(27)6.5 E -.8(Ta)100.8 146 S
(ble 4: DCCP Feature Numbers).8 E F0 11(..................)6.68 G F2(31)
6.5 E -.8(Ta)100.8 158 S(ble 5: DCCP Congestion Control Identi\214ers).8
E F0 11(..............)9.16 G F2(63)6.5 E -.8(Ta)100.8 170 S
(ble 6: DCCP Ack V).8 E(ector States)-1.11 E F0 11(..................)
4.18 G F2(70)6.5 E -.8(Ta)100.8 182 S(ble 7: DCCP Drop Codes).8 E F0 11
(....................).28 G F2(74)6.5 E F0 -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 293.51(yd [P)-.11 F(age 7])-.165 E 0
Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(1.)72 85 Q/F2 14/Times-Bold@0 SF(Intr)5.5 E(oduction)
-.252 E F0(The Datagram Congestion Control Protocol \(DCCP\) is a trans\
port protocol that)100.8 101.6 Q(implements bidirectional, unicast conn\
ections of congestion-controlled, unreliable)100.8 114.6 Q 2.75
(datagrams. Speci\214cally)100.8 127.6 R 2.75(,D)-.715 G(CCP pro)-2.75 E
(vides:)-.165 E 12.65<8355>100.8 144.2 S(nreliable \215o)-12.65 E
(ws of datagrams, with ackno)-.275 E(wledgements.)-.275 E 12.65<8352>
100.8 160.8 S(eliable handshak)-12.65 E
(es for connection setup and teardo)-.11 E(wn.)-.275 E 12.65<8352>100.8
177.4 S(eliable ne)-12.65 E(gotiation of options, including ne)-.165 E
(gotiation of a suitable congestion control)-.165 E(mechanism.)117.3
190.4 Q 12.65<834d>100.8 207 S(echanisms allo)-12.65 E(wing serv)-.275 E
(ers to a)-.165 E -.22(vo)-.22 G(id holding state for unackno).22 E
(wledged connection)-.275 E
(attempts and already-\214nished connections.)117.3 220 Q 12.65<8343>
100.8 236.6 S(ongestion control incorporating Explicit Congestion Noti\
\214cation \(ECN\) [RFC 3168])-12.65 E(and the ECN Nonce [RFC 3540].)
117.3 249.6 Q 12.65<8341>100.8 266.2 S(ckno)-12.65 E
(wledgement mechanisms communicating pack)-.275 E
(et loss and ECN information.)-.11 E
(Acks are transmitted as reliably as the rele)117.3 279.2 Q -.275(va)
-.275 G(nt congestion control mechanism requires,).275 E
(possibly completely reliably)117.3 292.2 Q(.)-.715 E 12.65<834f>100.8
308.8 S(ptional mechanisms that tell the sending application, with high\
 reliability)-12.65 E 2.75(,w)-.715 G(hich data)-2.75 E(pack)117.3 321.8
Q(ets reached the recei)-.11 E -.165(ve)-.275 G .88 -.44(r, a).165 H
(nd whether those pack).44 E(ets were ECN mark)-.11 E(ed, corrupted,)
-.11 E(or dropped in the recei)117.3 334.8 Q .33 -.165(ve b)-.275 H(uf)
-.055 E(fer)-.275 E(.)-.605 E 12.65<8350>100.8 351.4 S(ath Maximum T)
-12.815 E(ransmission Unit \(PMTU\) disco)-.385 E -.165(ve)-.165 G
(ry [RFC 1191].).165 E 12.65<8341>100.8 368 S
(choice of modular congestion control mechanisms.)-9.9 E -1.1 -.88(Tw o)
5.5 H(mechanisms are currently)3.63 E(speci\214ed, TCP-lik)117.3 381 Q
2.75(eC)-.11 G(ongestion Control [CCID 2 PR)-2.75 E
(OFILE] and TFRC \(TCP-Friendly)-.44 E
(Rate Control\) Congestion Control [CCID 3 PR)117.3 394 Q(OFILE], b)-.44
E(ut DCCP is easily e)-.22 E(xtensible)-.165 E
(to further forms of unicast congestion control.)117.3 407 Q(DCCP is in\
tended for applications such as streaming media that can bene\214t from\
 control)100.8 423.6 Q -.165(ove)100.8 436.6 S 2.75(rt).165 G
(he tradeof)-2.75 E(fs between delay and reliable in-order deli)-.275 E
-.165(ve)-.275 G(ry).165 E 5.5(.T)-.715 G(CP is not well-suited for)-5.5
E(these applications, since reliable in-order deli)100.8 449.6 Q -.165
(ve)-.275 G(ry and congestion control can cause).165 E
(arbitrarily long delays.)100.8 462.6 Q(UDP a)5.5 E -.22(vo)-.22 G
(ids long delays, b).22 E(ut UDP applications that implement)-.22 E
(congestion control must do so on their o)100.8 475.6 Q 2.75(wn. DCCP)
-.275 F(pro)2.75 E(vides b)-.165 E(uilt-in congestion control,)-.22 E
(including ECN support, for unreliable datagram \215o)100.8 488.6 Q
(ws, a)-.275 E -.22(vo)-.22 G(iding the arbitrary delays).22 E
(associated with TCP)100.8 501.6 Q 5.5(.I)-1.221 G 2.75(ta)-5.5 G
(lso implements reliable connection setup, teardo)-2.75 E
(wn, and feature)-.275 E(ne)100.8 514.6 Q(gotiation.)-.165 E F1(2.)72
540.6 Q F2(Design Rationale)5.5 E F0(One DCCP design goal w)100.8 557.2
Q(as to gi)-.11 E .33 -.165(ve m)-.275 H
(ost streaming UDP applications little reason not to).165 E
(switch to DCCP)100.8 570.2 Q 2.75(,o)-1.221 G(nce it is deplo)-2.75 E
2.75(yed. T)-.11 F 2.75(of)-.88 G(acilitate this, DCCP w)-2.86 E
(as designed to ha)-.11 E .33 -.165(ve a)-.22 H 2.75(sl).165 G(ittle)
-2.75 E -.165(ove)100.8 583.2 S
(rhead as possible, both in terms of the pack).165 E
(et header size and in terms of the state and)-.11 E(CPU o)100.8 596.2 Q
-.165(ve)-.165 G(rhead required at end hosts.).165 E
(Only the minimal necessary functionality w)5.5 E(as)-.11 E
(included in DCCP)100.8 609.2 Q 2.75(,l)-1.221 G(ea)-2.75 E
(ving other functionality)-.22 E 2.75(,s)-.715 G(uch as forw)-2.75 E
(ard error correction \(FEC\),)-.11 E(semi-reliability)100.8 622.2 Q
2.75(,a)-.715 G
(nd multiple streams, to be layered on top of DCCP as desired.)-2.75 E
(Dif)100.8 638.8 Q
(ferent forms of conformant congestion control are appropriate for dif)
-.275 E(ferent applications.)-.275 E -.165(Fo)100.8 651.8 S 2.75(re).165
G(xample, on-line g)-2.915 E(ames might w)-.055 E(ant to mak)-.11 E 2.75
(eq)-.11 G(uick use of an)-2.75 E 2.75(ya)-.165 G -.275(va)-2.97 G
(ilable bandwidth,).275 E(while streaming media might trade of)100.8
664.8 Q 2.75(ft)-.275 G(his responsi)-2.75 E -.165(ve)-.275 G
(ness for a steadier).165 E 2.75(,l)-.44 G(ess b)-2.75 E(ursty rate.)
-.22 E(\(Sudden rate changes can cause unacceptable UI glitches, such a\
s audible pauses or clicks)100.8 677.8 Q(in the playout stream.\))100.8
690.8 Q(DCCP thus allo)5.5 E
(ws applications to choose from a set of congestion)-.275 E
(control mechanisms.)100.8 703.8 Q(One alternati)5.5 E -.165(ve)-.275 G
2.75(,T).165 G(CP-lik)-2.75 E 2.75(eC)-.11 G(ongestion Control, halv)
-2.75 E(es the congestion)-.165 E(windo)100.8 716.8 Q 2.75(wi)-.275 G
2.75(nr)-2.75 G(esponse to a pack)-2.75 E(et drop or mark, as in TCP)
-.11 E 5.5(.A)-1.221 G(pplications using this)-5.5 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 244.01(yd Section)-.11 F 2.75(2. [P)
2.75 F(age 8])-.165 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(congestion control mechanism will respond quickly to changes in a)100.8
85 Q -.275(va)-.22 G(ilable bandwidth, b).275 E(ut)-.22 E
(must tolerate the abrupt changes in congestion windo)100.8 98 Q 2.75
(wt)-.275 G(ypical of TCP)-2.75 E 5.5(.A)-1.221 G(second)-2.75 E
(alternati)100.8 111 Q -.165(ve)-.275 G 2.75(,T).165 G
(CP-Friendly Rate Control \(TFRC\) [RFC 3448], a form of equation-based)
-2.75 E(congestion control, minimizes abrupt changes in the sending rat\
e while maintaining longer)100.8 124 Q(-)-.22 E(term f)100.8 137 Q
(airness with TCP)-.11 E 5.5(.O)-1.221 G(ther alternati)-5.5 E -.165(ve)
-.275 G 2.75(sc).165 G(an be added as future congestion control)-2.75 E
(mechanisms are standardized.)100.8 150 Q
(DCCP also lets unreliable traf)100.8 166.6 Q(\214c safely use ECN.)
-.275 E 2.75(AU)5.5 G(DP k)-2.75 E(ernel API might not allo)-.11 E(w)
-.275 E(applications to set UDP pack)100.8 179.6 Q
(ets as ECN-capable, since the API could not guarantee the)-.11 E
(application w)100.8 192.6 Q
(ould properly detect or respond to congestion.)-.11 E(DCCP k)5.5 E
(ernel APIs will ha)-.11 E -.165(ve)-.22 G
(no such issues, since DCCP implements congestion control itself.)100.8
205.6 Q 1.76 -.88(We c)100.8 222.2 T(hose not to require the use of the\
 Congestion Manager [RFC 3124], which allo).88 E(ws)-.275 E
(multiple concurrent streams between the same sender and recei)100.8
235.2 Q -.165(ve)-.275 G 2.75(rt).165 G 2.75(os)-2.75 G(hare congestion)
-2.75 E 2.75(control. The)100.8 248.2 R
(current Congestion Manager can only be used by applications that ha)
2.75 E .33 -.165(ve t)-.22 H(heir).165 E -.275(ow)100.8 261.2 S 2.75(ne)
.275 G(nd-to-end feedback about pack)-2.75 E(et losses, b)-.11 E
(ut this is not the case for man)-.22 E 2.75(yo)-.165 G 2.75(ft)-2.75 G
(he)-2.75 E(applications currently using UDP)100.8 274.2 Q 5.5(.I)-1.221
G 2.75(na)-5.5 G(ddition, the current Congestion Manager does not)-2.75
E(easily support multiple congestion control mechanisms, or lend itself\
 to the use of forms of)100.8 287.2 Q
(TFRC where the state about past pack)100.8 300.2 Q
(et drops or marks is maintained at the recei)-.11 E -.165(ve)-.275 G
2.75(rr).165 G(ather)-2.75 E(than at the sender)100.8 313.2 Q 5.5(.D)
-.605 G(CCP should be able to mak)-5.5 E 2.75(eu)-.11 G
(se of CM where desired by the)-2.75 E(application, b)100.8 326.2 Q
(ut we do not see an)-.22 E 2.75(yb)-.165 G
(ene\214t in making the deplo)-2.75 E(yment of DCCP contingent)-.11 E
(on the deplo)100.8 339.2 Q(yment of CM itself.)-.11 E 1.76 -.88(We i)
100.8 355.8 T(ntend for DCCP').88 E 2.75(sp)-.605 G
(rotocol mechanisms, which are described in this document, to suit)-2.75
E(an)100.8 368.8 Q 2.75(ya)-.165 G(pplication desiring unicast congesti\
on-controlled streams of unreliable datagrams.)-2.75 E
(The congestion control mechanisms currently appro)100.8 381.8 Q -.165
(ve)-.165 G 2.75(df).165 G(or use with DCCP)-2.75 E 2.75(,w)-1.221 G
(hich are)-2.75 E
(described in separate Congestion Control ID Pro\214les [CCID 2 PR)100.8
394.8 Q(OFILE, CCID 3)-.44 E(PR)100.8 407.8 Q(OFILE], may)-.44 E 2.75
(,h)-.715 G -.275(ow)-2.75 G -2.365 -.275(ev e).275 H .88 -.44(r, c).275
H(ause problems for some applications, including high-).44 E
(bandwidth interacti)100.8 420.8 Q .33 -.165(ve v)-.275 H 2.75
(ideo. These).165 F
(applications should be able to use DCCP once suitable)2.75 E
(Congestion Control ID Pro\214les are standardized.)100.8 433.8 Q/F1 11
/Times-Bold@0 SF(3.)72 459.8 Q/F2 14/Times-Bold@0 SF(Con)5.5 E -.14(ve)
-.56 G(ntions and T).14 E(erminology)-1.288 E F0(The k)100.8 476.4 Q .33
-.165(ey w)-.11 H(ords "MUST", "MUST NO).055 E(T", "REQ)-.44 E
(UIRED", "SHALL", "SHALL NO)-.11 E(T",)-.44 E("SHOULD", "SHOULD NO)100.8
489.4 Q(T", "RECOMMENDED", "MA)-.44 E(Y", and "OPTION)-1.155 E
(AL" in this)-.385 E
(document are to be interpreted as described in RFC 2119.)100.8 502.4 Q
F1(3.1.)72 528.4 Q/F3 13/Times-Bold@0 SF(Numbers and Fields)5.5 E F0
(All multi-byte numerical quantities in DCCP)100.8 545 Q 2.75(,s)-1.221
G(uch as port numbers, Sequence Numbers,)-2.75 E(and ar)100.8 558 Q
(guments to options, are transmitted in netw)-.198 E
(ork byte order \(most signi\214cant byte)-.11 E(\214rst\).)100.8 571 Q
1.76 -.88(We o)100.8 587.6 T
(ccasionally refer to the "left" and "right" sides of a bit \214eld.).88
E("Left" means to)5.5 E -.11(wa)-.275 G(rds the).11 E
(most signi\214cant bit, and "right" means to)100.8 600.6 Q -.11(wa)
-.275 G(rds the least signi\214cant bit.).11 E(Random numbers in DCCP a\
re used for their security properties, and SHOULD be chosen)100.8 617.2
Q(according to the guidelines in RFC 1750.)100.8 630.2 Q(All operations\
 on DCCP sequence numbers, and comparisons such as "greater" and)100.8
646.8 Q("greatest", use circular arithmetic modulo 2**48.)100.8 659.8 Q
(This form of arithmetic preserv)5.5 E(es the)-.165 E
(relationships between sequence numbers as the)100.8 672.8 Q 2.75(yr)
-.165 G(oll o)-2.75 E -.165(ve)-.165 G 2.75(rf).165 G
(rom 2**48 - 1 to 0.)-2.75 E(Implementation strate)100.8 685.8 Q
(gies for DCCP sequence numbers will resemble those for other)-.165 E
(circular arithmetic spaces, including TCP')100.8 698.8 Q 2.75(ss)-.605
G(equence numbers [RFC 793] and DNS')-2.75 E 2.75(ss)-.605 G(erial)-2.75
E(numbers [RFC 1982].)100.8 711.8 Q
(Note that the common technique for implementing circular)5.5 E
(comparison using tw)100.8 724.8 Q(o')-.11 E
(s-complement arithmetic, whereby A < B using circular arithmetic if)
-.605 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 235.76
(yd Section)-.11 F 2.75(3.1. [P)2.75 F(age 9])-.165 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(and only if \(A - B\) < 0 using con)100.8 85 Q -.165(ve)-.44 G
(ntional tw).165 E(o')-.11 E(s-complement arithmetic, may be used for)
-.605 E(DCCP sequence numbers, pro)100.8 98 Q(vided the)-.165 E 2.75(ya)
-.165 G(re stored in the most signi\214cant 48 bits of 64-bit)-2.75 E
(inte)100.8 111 Q(gers.)-.165 E(Reserv)100.8 127.6 Q
(ed bit\214elds in DCCP pack)-.165 E
(et headers MUST be set to zero by senders, and MUST be)-.11 E
(ignored by recei)100.8 140.6 Q -.165(ve)-.275 G
(rs, unless otherwise speci\214ed.).165 E(This is to allo)5.5 E 2.75(wf)
-.275 G(or future protocol)-2.75 E -.165(ex)100.8 153.6 S 2.75
(tensions. In).165 F(particular)2.75 E 2.75(,D)-.44 G
(CCP processors MUST NO)-2.75 E 2.75(Tr)-.44 G
(eset a DCCP connection simply)-2.75 E(because a Reserv)100.8 166.6 Q
(ed \214eld has non-zero v)-.165 E(alue [RFC 3360].)-.275 E/F1 11
/Times-Bold@0 SF(3.2.)72 192.6 Q/F2 13/Times-Bold@0 SF -.13(Pa)5.5 G
(rts of a Connection).13 E F0(Each DCCP connection runs between tw)100.8
209.2 Q 2.75(oh)-.11 G(osts, which we often name DCCP A and)-2.75 E
(DCCP B.)100.8 222.2 Q(Each connection is acti)5.5 E -.165(ve)-.275 G
(ly initiated by one of the hosts, which we call the).165 E
(client; the other)100.8 235.2 Q 2.75(,i)-.44 G(nitially passi)-2.75 E
.33 -.165(ve h)-.275 H(ost is called the serv).165 E(er)-.165 E 5.5(.T)
-.605 G(he term "DCCP endpoint" is)-5.5 E
(used to refer to either of the tw)100.8 248.2 Q 2.75(oh)-.11 G(osts e)
-2.75 E(xplicitly named by the connection \(the client and)-.165 E
(the serv)100.8 261.2 Q 2.75(er\). The)-.165 F
(term "DCCP processor" refers more generally to an)2.75 E 2.75(yh)-.165
G(ost that might need)-2.75 E
(to process a DCCP header; this includes the endpoints and an)100.8
274.2 Q 2.75(ym)-.165 G(iddlebox)-2.75 E(es on the path,)-.165 E
(such as \214re)100.8 287.2 Q -.11(wa)-.275 G(lls and netw).11 E
(ork address translators.)-.11 E(DCCP connections are bidirectional: da\
ta may pass from either endpoint to the other)100.8 303.8 Q 5.5(.T)-.605
G(his)-5.5 E(means that data and ackno)100.8 316.8 Q
(wledgements may be \215o)-.275 E
(wing in both directions simultaneously)-.275 E(.)-.715 E(Logically)
100.8 329.8 Q 2.75(,h)-.715 G -.275(ow)-2.75 G -2.365 -.275(ev e).275 H
.88 -.44(r, a D).275 H(CCP connection consists of tw).44 E 2.75(os)-.11
G(eparate unidirectional)-2.75 E(connections, called half-connections.)
100.8 342.8 Q(Each half-connection consists of the application data)5.5
E(sent by one endpoint and the corresponding ackno)100.8 355.8 Q
(wledgements sent by the other endpoint.)-.275 E 1.76 -.88(We c)100.8
368.8 T(an illustrate this as follo).88 E(ws:)-.275 E/F3 11/Courier@0 SF
6.6(+--------+ A-to-B)107.4 387.8 R 52.8(half-connection: +--------+)6.6
F 52.8(||)107.4 400.8 S 6.6(--> application)-26.4 F 6.6(data -->)6.6 F
52.8(||)26.4 G 52.8(||)107.4 413.8 S 6.6(<-- acknowledgements <--)-26.4
F 52.8(||)26.4 G 6.6(|D)107.4 426.8 S(CCP A |)-6.6 E 6.6(|D)224.4 G
(CCP B |)-6.6 E 52.8(||)107.4 439.8 S(B-to-A half-connection:)-39.6 E
52.8(||)59.4 G 52.8(||)107.4 452.8 S 6.6(<-- application)-26.4 F 6.6
(data <--)6.6 F 52.8(||)26.4 G 19.8(+--------+ -->)107.4 465.8 R 6.6
(acknowledgements -->)13.2 F(+--------+)26.4 E F0(Although the)100.8
484.8 Q 2.75(ya)-.165 G
(re logically distinct, in practice the half-connections o)-2.75 E -.165
(ve)-.165 G(rlap; a DCCP-).165 E(DataAck pack)100.8 497.8 Q(et, for e)
-.11 E(xample, contains application data rele)-.165 E -.275(va)-.275 G
(nt to one half-connection and).275 E(ackno)100.8 510.8 Q
(wledgement information rele)-.275 E -.275(va)-.275 G(nt to the other)
.275 E(.)-.605 E(In the conte)100.8 527.4 Q
(xt of a single half-connection, the terms "HC-Sender" and "HC-Recei)
-.165 E -.165(ve)-.275 G(r").165 E
(denote the endpoints sending application data and ackno)100.8 540.4 Q
(wledgements, respecti)-.275 E -.165(ve)-.275 G(ly).165 E 5.5(.F)-.715 G
(or)-5.665 E -.165(ex)100.8 553.4 S
(ample, DCCP A is the HC-Sender and DCCP B is the HC-Recei).165 E -.165
(ve)-.275 G 2.75(ri).165 G 2.75(nt)-2.75 G(he A-to-B half-)-2.75 E
(connection.)100.8 566.4 Q F1(3.3.)72 592.4 Q F2 -.325(Fe)5.5 G(atur)
.325 E(es)-.234 E F0 2.75(AD)100.8 609 S
(CCP feature is a connection attrib)-2.75 E(ute on whose v)-.22 E
(alue the tw)-.275 E 2.75(oe)-.11 G(ndpoints agree.)-2.75 E(Man)5.5 E(y)
-.165 E(properties of a DCCP connection are controlled by features, inc\
luding the congestion)100.8 622 Q(control mechanisms in use on the tw)
100.8 635 Q 2.75(oh)-.11 G 2.75(alf-connections. The)-2.75 F
(endpoints achie)2.75 E .33 -.165(ve a)-.275 H(greement).165 E
(through the e)100.8 648 Q(xchange of feature ne)-.165 E
(gotiation options in DCCP headers.)-.165 E
(DCCP features are identi\214ed by a feature number and an endpoint.)
100.8 664.6 Q(The notation "F/X")5.5 E(represents the feature with feat\
ure number F located at DCCP endpoint X.)100.8 677.6 Q(Each v)5.5 E
(alid)-.275 E(feature number thus corresponds to tw)100.8 690.6 Q 2.75
(of)-.11 G(eatures, which are ne)-2.75 E(gotiated separately and need)
-.165 E(not ha)100.8 703.6 Q .33 -.165(ve t)-.22 H(he same v).165 E 2.75
(alue. The)-.275 F(tw)2.75 E 2.75(oe)-.11 G(ndpoints kno)-2.75 E 1.43
-.715(w, a)-.275 H(nd agree on, the v).715 E(alue of e)-.275 E -.165(ve)
-.275 G(ry v).165 E(alid)-.275 E 2.75(feature. DCCP)100.8 716.6 R 2.75
(Ai)2.75 G 2.75(st)-2.75 G(he "feature location" for all features F/A, \
and the "feature remote" for)-2.75 E -.385(Ko)72 769 S(hler/Handle).385
E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(3.3. [P)2.75 F(age 10])
-.165 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(all features F/B.)100.8 85 Q/F1 11/Times-Bold@0 SF(3.4.)72 111 Q/F2 13
/Times-Bold@0 SF(Round-T)5.5 E(rip T)-.962 E(imes)-.234 E F0(DCCP round\
-trip time measurements are performed by congestion control mechanisms;)
100.8 127.6 Q(dif)100.8 140.6 Q
(ferent mechanisms may measure round-trip time in dif)-.275 E(ferent w)
-.275 E(ays, or not measure it at)-.11 E 2.75(all. Ho)100.8 153.6 R(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he main DCCP protocol does use round-trip times occasionally).44 E 2.75
(,s)-.715 G(uch as in)-2.75 E(the initial v)100.8 166.6 Q
(alues for certain timers.)-.275 E
(Each DCCP implementation thus de\214nes a def)5.5 E(ault)-.11 E
(round-trip time for use when no estimate is a)100.8 179.6 Q -.275(va)
-.22 G(ilable; this parameter should def).275 E(ault to not)-.11 E
(less than 0.2 seconds, a reasonably conserv)100.8 192.6 Q(ati)-.275 E
.33 -.165(ve r)-.275 H(ound-trip time for Internet TCP).165 E 2.75
(connections. Protocol)100.8 205.6 R(beha)2.75 E
(vior speci\214ed in terms of "round-trip time" v)-.22 E(alues actually)
-.275 E(refers to "a current round-trip time estimate tak)100.8 218.6 Q
(en by some CCID, or)-.11 E 2.75(,i)-.44 G 2.75(fn)-2.75 G 2.75(oe)-2.75
G(stimate is)-2.75 E -.22(av)100.8 231.6 S(ailable, the def)-.055 E
(ault round-trip time parameter".)-.11 E(The maximum se)100.8 248.2 Q
(gment lifetime, or MSL, is the maximum length of time a pack)-.165 E
(et can)-.11 E(survi)100.8 261.2 Q .33 -.165(ve i)-.275 H 2.75(nt).165 G
(he netw)-2.75 E 2.75(ork. The)-.11 F(DCCP MSL should equal that of TCP)
2.75 E 2.75(,w)-1.221 G(hich is normally tw)-2.75 E(o)-.11 E(minutes.)
100.8 274.2 Q F1(3.5.)72 300.2 Q F2(Security Limitation)5.5 E F0
(DCCP pro)100.8 316.8 Q(vides no protection ag)-.165 E(ainst attack)
-.055 E(ers who can snoop on a connection in progress,)-.11 E
(or who can guess v)100.8 329.8 Q(alid sequence numbers in other w)-.275
E 2.75(ays. Applications)-.11 F(desiring stronger)2.75 E
(security should use IPsec [RFC 2401]; depending on the le)100.8 342.8 Q
-.165(ve)-.275 G 2.75(lo).165 G 2.75(fs)-2.75 G(ecurity required,)-2.75
E(application-le)100.8 355.8 Q -.165(ve)-.275 G 2.75(lc).165 G
(ryptograph)-2.75 E 2.75(ym)-.055 G(ay also suf)-2.75 E 2.75
(\214ce. These)-.275 F(issues are discussed further in)2.75 E
(Sections 18 and 7.5.5.)100.8 368.8 Q F1(3.6.)72 394.8 Q F2(Rob)5.5 E
(ustness Principle)-.26 E F0(DCCP implementations will follo)100.8 411.4
Q 2.75(wT)-.275 G(CP')-2.75 E 2.75(s")-.605 G(general principle of rob)
-2.75 E(ustness": "be)-.22 E(conserv)100.8 424.4 Q(ati)-.275 E .33 -.165
(ve i)-.275 H 2.75(nw).165 G
(hat you do, be liberal in what you accept from others" [RFC 793].)-2.75
E F1(4.)72 450.4 Q/F3 14/Times-Bold@0 SF(Ov)5.5 E(er)-.14 E(view)-.14 E
F0(DCCP')100.8 467 Q 2.75(sh)-.605 G(igh-le)-2.75 E -.165(ve)-.275 G
2.75(lc).165 G(onnection dynamics echo those of TCP)-2.75 E 5.5(.C)
-1.221 G(onnections progress through)-5.5 E
(three phases: initiation, including a three-w)100.8 480 Q(ay handshak)
-.11 E(e; data transfer; and termination.)-.11 E(Data can \215o)100.8
493 Q 2.75(wb)-.275 G(oth w)-2.75 E(ays o)-.11 E -.165(ve)-.165 G 2.75
(rt).165 G(he connection.)-2.75 E(An ackno)5.5 E(wledgement frame)-.275
E -.11(wo)-.275 G(rk lets).11 E(senders disco)100.8 506 Q -.165(ve)-.165
G 2.75(rh).165 G .55 -.275(ow m)-2.75 H
(uch data has been lost, and thus a).275 E -.22(vo)-.22 G(id unf).22 E
(airly congesting the)-.11 E(netw)100.8 519 Q 2.75(ork. Of)-.11 F
(course, DCCP pro)2.75 E(vides unreliable datagram semantics, not TCP')
-.165 E 2.75(sr)-.605 G(eliable)-2.75 E(bytestream semantics.)100.8 532
Q(The application must package its data into e)5.5 E
(xplicit frames, and must)-.165 E(retransmit its o)100.8 545 Q
(wn data as necessary)-.275 E 5.5(.I)-.715 G 2.75(tm)-5.5 G
(ay be useful to think of DCCP as TCP minus)-2.75 E
(bytestream semantics and reliability)100.8 558 Q 2.75(,o)-.715 G 2.75
(ra)-2.75 G 2.75(sU)-2.75 G(DP plus congestion control, handshak)-2.75 E
(es, and)-.11 E(ackno)100.8 571 Q(wledgements.)-.275 E F1(4.1.)72 597 Q
F2 -.13(Pa)5.5 G(ck).13 E(et T)-.13 E(ypes)-.962 E F0 -.77(Te)100.8
613.6 S 2.75(np).77 G(ack)-2.75 E(et types implement DCCP')-.11 E 2.75
(sp)-.605 G(rotocol functions.)-2.75 E -.165(Fo)5.5 G 2.75(re).165 G
(xample, e)-2.915 E -.165(ve)-.275 G(ry ne).165 E(w)-.275 E
(connection attempt be)100.8 626.6 Q(gins with a DCCP-Request pack)-.165
E(et sent by the client.)-.11 E 2.75(AD)5.5 G(CCP-)-2.75 E(Request pack)
100.8 639.6 Q(et thus resembles a TCP SYN; b)-.11 E
(ut DCCP-Request is a pack)-.22 E(et type, not a \215ag,)-.11 E
(so there')100.8 652.6 Q 2.75(sn)-.605 G 2.75(ow)-2.75 G
(ay to send an une)-2.86 E(xpected combination such as TCP')-.165 E(s)
-.605 E(SYN+FIN+A)100.8 665.6 Q(CK+RST)-.44 E(.)-.814 E(Eight pack)100.8
682.2 Q(et types occur during the progress of a typical connection, sho)
-.11 E(wn here.)-.275 E(Note the)5.5 E(three-w)100.8 695.2 Q
(ay handshak)-.11 E(es during initiation and termination.)-.11 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(4.1. [P)2.75 F(age 11])-.165 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 244.2(Client Server)120.6 85 R 244.2(------ ------)120.6
98 R(\(1\) Initiation)232.8 111 Q(DCCP-Request -->)120.6 124 Q
(<-- DCCP-Response)338.4 137 Q(DCCP-Ack -->)120.6 150 Q
(\(2\) Data transfer)232.8 163 Q(DCCP-Data, DCCP-Ack, DCCP-DataAck -->)
120.6 176 Q(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)206.4 189 Q
(\(3\) Termination)232.8 202 Q(<-- DCCP-CloseReq)338.4 215 Q
(DCCP-Close -->)120.6 228 Q(<-- DCCP-Reset)358.2 241 Q F0(The tw)100.8
260 Q 2.75(or)-.11 G(emaining pack)-2.75 E
(et types are used to resynchronize after b)-.11 E(ursts of loss.)-.22 E
(Ev)100.8 276.6 Q(ery DCCP pack)-.165 E
(et starts with a 12-byte generic header)-.11 E 5.5(.P)-.605 G
(articular pack)-5.665 E(et types include)-.11 E(additional \214x)100.8
289.6 Q(ed-size header data; for e)-.165 E
(xample, DCCP-Acks include an Ackno)-.165 E(wledgement)-.275 E(Number)
100.8 302.6 Q 5.5(.D)-.605 G(CCP options and an)-5.5 E 2.75(ya)-.165 G
(pplication data follo)-2.75 E 2.75(wt)-.275 G(he \214x)-2.75 E
(ed-size header)-.165 E(.)-.605 E(The pack)100.8 319.2 Q
(et types are as follo)-.11 E(ws:)-.275 E/F2 11/Times-Bold@0 SF
(DCCP-Request)100.8 335.8 Q F0(Sent by the client to initiate a connect\
ion \(the \214rst part of the three-w)129.6 348.8 Q(ay initiation)-.11 E
(handshak)129.6 361.8 Q(e\).)-.11 E F2(DCCP-Response)100.8 378.4 Q F0
(Sent by the serv)129.6 391.4 Q
(er in response to a DCCP-Request \(the second part of the three-w)-.165
E(ay)-.11 E(initiation handshak)129.6 404.4 Q(e\).)-.11 E F2(DCCP-Data)
100.8 421 Q F0(Used to transmit application data.)129.6 434 Q F2
(DCCP-Ack)100.8 450.6 Q F0(Used to transmit pure ackno)129.6 463.6 Q
(wledgements.)-.275 E F2(DCCP-DataAck)100.8 480.2 Q F0
(Used to transmit application data with piggyback)129.6 493.2 Q
(ed ackno)-.11 E(wledgements.)-.275 E F2(DCCP-CloseReq)100.8 509.8 Q F0
(Sent by the serv)129.6 522.8 Q
(er to request that the client close the connection.)-.165 E F2
(DCCP-Close)100.8 539.4 Q F0(Used by the client or the serv)129.6 552.4
Q(er to close the connection; elicits a DCCP-Reset in)-.165 E(response.)
129.6 565.4 Q F2(DCCP-Reset)100.8 582 Q F0
(Used to terminate the connection, either normally or abnormally)129.6
595 Q(.)-.715 E F2(DCCP-Sync)100.8 611.6 Q F0(,)A F2(DCCP-SyncAck)2.75 E
F0(Used to resynchronize sequence numbers after lar)129.6 624.6 Q(ge b)
-.198 E(ursts of loss.)-.22 E F2(4.2.)72 650.6 Q/F3 13/Times-Bold@0 SF
-.13(Pa)5.5 G(ck).13 E(et Sequencing)-.13 E F0(Each DCCP pack)100.8
667.2 Q(et carries a sequence number)-.11 E 2.75(,s)-.44 G 2.75(ot)-2.75
G(hat losses can be detected and reported.)-2.75 E(Unlik)100.8 680.2 Q
2.75(eT)-.11 G(CP sequence numbers, which are byte-based, DCCP sequence\
 numbers increment)-2.75 E(by one per pack)100.8 693.2 Q 2.75(et. F)-.11
F(or e)-.165 E(xample:)-.165 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(4.2. [P)2.75 F(age 12])
-.165 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(DCCP A)120.6 85 Q(DCCP B)250.8 E 244.2(------ ------)120.6
98 R(DCCP-Data\(seqno 1\) -->)120.6 111 Q(DCCP-Data\(seqno 2\) -->)120.6
124 Q(<-- DCCP-Ack\(seqno 10, ackno 2\))246 137 Q
(DCCP-DataAck\(seqno 3, ackno 10\) -->)120.6 150 Q
(<-- DCCP-Data\(seqno 11\))298.8 163 Q F0(Ev)100.8 182 Q(ery DCCP pack)
-.165 E(et increments the sequence number)-.11 E 2.75(,w)-.44 G
(hether or not it contains)-2.75 E(application data.)100.8 195 Q
(DCCP-Ack pure ackno)5.5 E(wledgements increment the sequence number)
-.275 E 2.75(,f)-.44 G(or)-2.75 E(instance: DCCP B')100.8 208 Q 2.75(ss)
-.605 G(econd pack)-2.75 E(et abo)-.11 E .33 -.165(ve u)-.165 H
(ses sequence number 11, since sequence).165 E(number 10 w)100.8 221 Q
(as used for an ackno)-.11 E 2.75(wledgement. This)-.275 F
(lets endpoints detect all pack)2.75 E(et loss,)-.11 E(including ackno)
100.8 234 Q(wledgement loss.)-.275 E
(It also means that endpoints can get out of sync after)5.5 E(long b)
100.8 247 Q(ursts of loss; the DCCP-Sync and DCCP-SyncAck pack)-.22 E
(et types are used to reco)-.11 E -.165(ve)-.165 G(r).165 E
(\(Section 7.5\).)100.8 260 Q(Since DCCP pro)100.8 276.6 Q(vides unreli\
able semantics, there are no retransmissions, and it doesn')-.165 E(t)
-.198 E(mak)100.8 289.6 Q 2.75(es)-.11 G(ense to ha)-2.75 E .33 -.165
(ve a T)-.22 H(CP-style cumulati).165 E .33 -.165(ve a)-.275 H(ckno).165
E(wledgement \214eld.)-.275 E(DCCP')5.5 E(s)-.605 E(Ackno)100.8 302.6 Q
(wledgement Number \214eld equals the greatest sequence number recei)
-.275 E -.165(ve)-.275 G(d, rather than).165 E
(the smallest sequence number not recei)100.8 315.6 Q -.165(ve)-.275 G
2.75(d. Separate).165 F(options indicate an)2.75 E 2.75(yi)-.165 G
(ntermediate)-2.75 E(sequence numbers that weren')100.8 328.6 Q 2.75(tr)
-.198 G(ecei)-2.75 E -.165(ve)-.275 G(d.).165 E/F2 11/Times-Bold@0 SF
(4.3.)72 354.6 Q/F3 13/Times-Bold@0 SF(States)5.5 E F0
(DCCP endpoints progress through dif)100.8 371.2 Q
(ferent states during the course of a connection,)-.275 E
(corresponding roughly to the three phases of initiation, data transfer)
100.8 384.2 Q 2.75(,a)-.44 G(nd termination.)-2.75 E(The)5.5 E
(\214gure belo)100.8 397.2 Q 2.75(ws)-.275 G(ho)-2.75 E
(ws the typical progress through these states for a client and serv)
-.275 E(er)-.165 E(.)-.605 E F1 290.4(Client Server)120.6 416.2 R 290.4
(------ ------)120.6 429.2 R(\(0\) No connection)239.4 442.2 Q 290.4
(CLOSED LISTEN)120.6 455.2 R(\(1\) Initiation)239.4 481.2 Q 33
(REQUEST DCCP-Request)120.6 494.2 R(-->)6.6 E(<-- DCCP-Response)312
507.2 Q(RESPOND)33 E 26.4(PARTOPEN DCCP-Ack)120.6 520.2 R
(or DCCP-DataAck -->)6.6 E(\(2\) Data transfer)239.4 546.2 Q 59.4
(OPEN <--)120.6 559.2 R(DCCP-Data, Ack, DataAck -->)6.6 E(OPEN)39.6 E
(\(3\) Termination)239.4 585.2 Q(<-- DCCP-CloseReq)312 598.2 Q(CLOSEREQ)
33 E 33(CLOSING DCCP-Close)120.6 611.2 R(-->)6.6 E(<-- DCCP-Reset)331.8
624.2 Q(CLOSED)33 E(TIMEWAIT)120.6 637.2 Q(CLOSED)120.6 650.2 Q F0
(The nine possible states are as follo)100.8 669.2 Q 2.75(ws. The)-.275
F 2.75(ya)-.165 G(re listed in increasing order)-2.75 E 2.75(,s)-.44 G
2.75(ot)-2.75 G(hat)-2.75 E("state >= CLOSEREQ" means the same as "stat\
e = CLOSEREQ or state = CLOSING or)100.8 682.2 Q(state = TIMEW)100.8
695.2 Q 2.75(AIT". Section)-1.32 F 2.75(8d)2.75 G
(escribes the states in more detail.)-2.75 E F2(CLOSED)100.8 711.8 Q F0
(Represents none)129.6 724.8 Q(xistent connections.)-.165 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75
(4.3. [P)2.75 F(age 13])-.165 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(LISTEN)100.8 85 Q F0(Represents serv)129.6 98 Q
(er sock)-.165 E(ets in the passi)-.11 E .33 -.165(ve l)-.275 H
(istening state.).165 E(LISTEN and CLOSED are)5.5 E
(not associated with an)129.6 111 Q 2.75(yp)-.165 G
(articular DCCP connection.)-2.75 E F1(REQ)100.8 127.6 Q(UEST)-.11 E F0
2.75(Ac)129.6 140.6 S(lient sock)-2.75 E
(et enters this state, from CLOSED, after sending a DCCP-Request)-.11 E
(pack)129.6 153.6 Q(et to try to initiate a connection.)-.11 E F1
(RESPOND)100.8 170.2 Q F0 2.75(As)129.6 183.2 S(erv)-2.75 E(er sock)
-.165 E(et enters this state, from LISTEN, after recei)-.11 E
(ving a DCCP-Request)-.275 E(from a client.)129.6 196.2 Q F1 -.814(PA)
100.8 212.8 S -2.068 -.44(RT O).814 H(PEN).44 E F0 2.75(Ac)129.6 225.8 S
(lient sock)-2.75 E(et enters this state, from REQ)-.11 E(UEST)-.11 E
2.75(,a)-.814 G(fter recei)-2.75 E(ving a DCCP-Response)-.275 E
(from the serv)129.6 238.8 Q(er)-.165 E 5.5(.T)-.605 G
(his state represents the third phase of the three-w)-5.5 E(ay handshak)
-.11 E(e.)-.11 E(The client may send application data in this state, b)
129.6 251.8 Q(ut it MUST include an)-.22 E(Ackno)129.6 264.8 Q
(wledgement Number on all of its pack)-.275 E(ets.)-.11 E F1(OPEN)100.8
281.4 Q F0(The central, data transfer portion of a DCCP connection.)
129.6 294.4 Q(Client and serv)5.5 E(er sock)-.165 E(ets)-.11 E
(enter this state from P)129.6 307.4 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN and RESPOND, respecti).198 E -.165(ve)-.275 G(ly).165 E 5.5(.S)
-.715 G(ometimes we)-5.5 E(speak of SER)129.6 320.4 Q
(VER-OPEN and CLIENT)-.88 E(-OPEN states, corresponding to the serv)
-1.012 E(er')-.165 E(s)-.605 E(OPEN state and the client')129.6 333.4 Q
2.75(sO)-.605 G(PEN state.)-2.75 E F1(CLOSEREQ)100.8 350 Q F0 2.75(As)
129.6 363 S(erv)-2.75 E(er sock)-.165 E(et enters this state, from SER)
-.11 E(VER-OPEN, to signal that the connection)-.88 E(is o)129.6 376 Q
-.165(ve)-.165 G .88 -.44(r, b).165 H(ut the client must hold TIMEW).22
E(AIT state.)-1.32 E F1(CLOSING)100.8 392.6 Q F0(Serv)129.6 405.6 Q
(er and client sock)-.165 E
(ets can both enter this state to close the connection.)-.11 E F1(TIMEW)
100.8 422.2 Q(AIT)-1.32 E F0 2.75(As)129.6 435.2 S(erv)-2.75 E
(er or client sock)-.165 E
(et remains in this state for 2MSL \(4 minutes\) after the)-.11 E
(connection has been torn do)129.6 448.2 Q(wn, to pre)-.275 E -.165(ve)
-.275 G(nt mistak).165 E(es due to the deli)-.11 E -.165(ve)-.275 G
(ry of old).165 E(pack)129.6 461.2 Q 2.75(ets. Only)-.11 F
(one of the endpoints need enter TIMEW)2.75 E
(AIT state \(the other can enter)-1.32 E
(CLOSED state immediately\), and a serv)129.6 474.2 Q
(er can request its client to hold TIMEW)-.165 E(AIT)-1.32 E
(state using the DCCP-CloseReq pack)129.6 487.2 Q(et type.)-.11 E F1
(4.4.)72 513.2 Q/F2 13/Times-Bold@0 SF(Congestion Contr)5.5 E
(ol Mechanisms)-.234 E F0(DCCP connections are congestion controlled, b)
100.8 529.8 Q(ut unlik)-.22 E 2.75(ei)-.11 G 2.75(nT)-2.75 G(CP)-2.75 E
2.75(,D)-1.221 G(CCP applications ha)-2.75 E .33 -.165(ve a)-.22 H
(choice of congestion control mechanism.)100.8 542.8 Q(In f)5.5 E
(act, the tw)-.11 E 2.75(oh)-.11 G(alf-connections can be go)-2.75 E
-.165(ve)-.165 G(rned).165 E(by dif)100.8 555.8 Q(ferent mechanisms.)
-.275 E(Mechanisms are denoted by one-byte congestion control)5.5 E
(identi\214ers, or CCIDs.)100.8 568.8 Q(The endpoints ne)5.5 E
(gotiate their CCIDs during connection initiation.)-.165 E
(Each CCID describes ho)100.8 581.8 Q 2.75(wt)-.275 G
(he HC-Sender limits data pack)-2.75 E(et rates, ho)-.11 E 2.75(wt)-.275
G(he HC-Recei)-2.75 E -.165(ve)-.275 G(r).165 E
(sends congestion feedback via ackno)100.8 594.8 Q
(wledgements, and so forth.)-.275 E(CCIDs 2 and 3 are)5.5 E
(currently de\214ned; CCIDs 0, 1, and 4-255 are reserv)100.8 607.8 Q
2.75(ed. Other)-.165 F(CCIDs may be de\214ned in the)2.75 E(future.)
100.8 620.8 Q(CCID 2 pro)100.8 637.4 Q(vides TCP-lik)-.165 E 2.75(eC)
-.11 G(ongestion Control, which is similar to that of TCP)-2.75 E 5.5
(.T)-1.221 G(he)-5.5 E(sender maintains a congestion windo)100.8 650.4 Q
2.75(wa)-.275 G(nd sends pack)-2.75 E(ets until that windo)-.11 E 2.75
(wi)-.275 G 2.75(sf)-2.75 G 2.75(ull. P)-2.75 F(ack)-.165 E(ets)-.11 E
(are ackno)100.8 663.4 Q(wledged by the recei)-.275 E -.165(ve)-.275 G
3.96 -.605(r. D).165 H(ropped pack).605 E
(ets and ECN [RFC 3168] indicate)-.11 E
(congestion; the response to congestion is to halv)100.8 676.4 Q 2.75
(et)-.165 G(he congestion windo)-2.75 E -.715(w.)-.275 G(Ackno)100.8
689.4 Q(wledgements in CCID 2 contain the sequence numbers of all recei)
-.275 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(ets within)-.11 E
(some windo)100.8 702.4 Q 1.43 -.715(w, s)-.275 H(imilar to a selecti)
.715 E .33 -.165(ve a)-.275 H(ckno).165 E(wledgement \(SA)-.275 E
(CK\) [RFC 2018].)-.44 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 230.26(yd Section)-.11 F 2.75(4.4. [P)2.75 F(age 14])-.165 E 0
Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(CCID 3 pro)100.8 85 Q(vides TFRC Congestion Control, an equation-based\
 form of congestion control)-.165 E
(intended to respond to congestion more smoothly than CCID 2.)100.8 98 Q
(The sender maintains a)5.5 E
(transmit rate, which it updates using the recei)100.8 111 Q -.165(ve)
-.275 G(r').165 E 2.75(se)-.605 G(stimate of the pack)-2.75 E
(et loss and mark)-.11 E 2.75(rate. CCID)100.8 124 R 2.75(3b)2.75 G(eha)
-2.75 E -.165(ve)-.22 G 2.75(ss).165 G(ome)-2.75 E(what dif)-.275 E
(ferently from TCP in the short term, it is designed to)-.275 E
(operate f)100.8 137 Q(airly with TCP o)-.11 E -.165(ve)-.165 G 2.75(rt)
.165 G(he long term.)-2.75 E(Section 10 describes DCCP')100.8 153.6 Q
2.75(sC)-.605 G(CIDs in more detail.)-2.75 E(The beha)5.5 E
(viors of CCIDs 2 and 3 are)-.22 E
(fully de\214ned in separate pro\214le documents [CCID 2 PR)100.8 166.6
Q(OFILE, CCID 3 PR)-.44 E(OFILE].)-.44 E/F1 11/Times-Bold@0 SF(4.5.)72
192.6 Q/F2 13/Times-Bold@0 SF(Connection F)5.5 E(eatur)-.325 E(es)-.234
E F0(DCCP endpoints use Change and Con\214rm options to ne)100.8 209.2 Q
(gotiate and agree on feature v)-.165 E(alues.)-.275 E(Feature ne)100.8
222.2 Q(gotiation will almost al)-.165 E -.11(wa)-.11 G
(ys happen on the connection initiation handshak).11 E(e, b)-.11 E(ut)
-.22 E(it can be)100.8 235.2 Q(gin at an)-.165 E 2.75(yt)-.165 G(ime.)
-2.75 E(There are four feature ne)100.8 251.8 Q
(gotiation options in all: Change L, Con\214rm L, Change R, and)-.165 E
(Con\214rm R.)100.8 264.8 Q(The "L" options are sent by the feature loc\
ation, and the "R" options are sent)5.5 E(by the feature remote.)100.8
277.8 Q 2.75(AC)5.5 G
(hange R option says to the feature location, "change this feature)-2.75
E -.275(va)100.8 290.8 S(lue as follo).275 E 2.75(ws". The)-.275 F
(feature location responds with Con\214rm L, meaning "I')2.75 E .33
-.165(ve c)-.55 H(hanged).165 E 2.75(it". Some)100.8 303.8 R
(features allo)2.75 E 2.75(wC)-.275 G
(hange R options to contain multiple v)-2.75 E
(alues, sorted in preference)-.275 E(order)100.8 316.8 Q 5.5(.F)-.605 G
(or e)-5.665 E(xample:)-.165 E/F3 11/Courier@0 SF 257.4(Client Server)
120.6 335.8 R 257.4(------ ------)120.6 348.8 R(Change R\(CCID, 2\) -->)
120.6 361.8 Q(<-- Confirm L\(CCID, 2\))318.6 374.8 Q 6.6(*a)193.2 387.8
S(greement that CCID/Server = 2 *)-6.6 E(Change R\(CCID, 3 4\) -->)120.6
413.8 Q(<-- Confirm L\(CCID, 4, 4 2\))285.6 426.8 Q 6.6(*a)193.2 439.8 S
(greement that CCID/Server = 4 *)-6.6 E F0(Both e)100.8 458.8 Q
(xchanges ne)-.165 E(gotiate the CCID/Serv)-.165 E(er feature')-.165 E
2.75(sv)-.605 G(alue, which is the CCID in use on the)-3.025 E(serv)
100.8 471.8 Q(er)-.165 E(-to-client half-connection.)-.22 E
(In the second e)5.5 E(xchange, the client requests that the serv)-.165
E(er)-.165 E(use either CCID 3 or CCID 4, with 3 preferred; the serv)
100.8 484.8 Q(er chooses 4 and supplies its)-.165 E
(preference list, "4 2".)100.8 497.8 Q
(The Change L and Con\214rm R options are used for feature ne)100.8
514.4 Q(gotiations initiated by the)-.165 E(feature location.)100.8
527.4 Q(In the follo)5.5 E(wing e)-.275 E(xample, the serv)-.165 E
(er requests that CCID/Serv)-.165 E(er be set to 3)-.165 E
(or 2, with 3 preferred, and the client agrees.)100.8 540.4 Q F3 250.8
(Client Server)120.6 559.4 R 250.8(------ ------)120.6 572.4 R
(<-- Change L\(CCID, 3 2\))305.4 585.4 Q(Confirm R\(CCID, 3, 3 2\))120.6
598.4 Q(-->)13.2 E 6.6(*a)193.2 611.4 S(greement that CCID/Server = 3 *)
-6.6 E F0(Section 6 describes the feature ne)100.8 634 Q
(gotiation options further)-.165 E 2.75(,i)-.44 G
(ncluding the retransmission)-2.75 E(strate)100.8 647 Q(gies that mak)
-.165 E 2.75(en)-.11 G -.165(eg)-2.75 G(otiation reliable.).165 E F1
(4.6.)72 673 Q F2(Differ)5.5 E(ences Fr)-.234 E(om TCP)-.234 E F0(Dif)
100.8 689.6 Q
(ferences between DCCP and TCP apart from those discussed so f)-.275 E
(ar include:)-.11 E<83>100.8 706.2 Q F1(Copious space f)12.65 E
(or options)-.275 E F0(\(up to 1008 bytes or the PMTU\).)2.75 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(4.6. [P)2.75 F(age 15])-.165 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E<83>
100.8 85 Q/F1 11/Times-Bold@0 SF(Differ)12.65 E(ent ackno)-.198 E
(wledgement f)-.11 E(ormats.)-.275 E F0
(The CCID for a connection determines ho)5.5 E(w)-.275 E(much ackno)
117.3 98 Q(wledgement information needs to be transmitted.)-.275 E -.165
(Fo)5.5 G 2.75(re).165 G(xample, in CCID 2)-2.915 E(\(TCP-lik)117.3 111
Q(e\), this is about one ack per 2 pack)-.11 E
(ets, and each ack must declare e)-.11 E(xactly)-.165 E(which pack)117.3
124 Q(ets were recei)-.11 E -.165(ve)-.275 G(d; in CCID 3 \(TFRC\), it')
.165 E 2.75(sa)-.605 G(bout one ack per round-trip)-2.75 E(time, and ac\
ks must declare at minimum just the lengths of recent loss interv)117.3
137 Q(als.)-.275 E<83>100.8 153.6 Q F1(Denial-of-ser)12.65 E
(vice \(DoS\) pr)-.11 E(otection.)-.198 E F0(Se)5.5 E -.165(ve)-.275 G
(ral mechanisms help limit the amount of).165 E(state possibly-misbeha)
117.3 166.6 Q(ving clients can force DCCP serv)-.22 E(ers to maintain.)
-.165 E(An Init Cookie)5.5 E(option, analogous to TCP')117.3 179.6 Q
2.75(sS)-.605 G(YN Cookies [SYNCOOKIES], a)-2.75 E -.22(vo)-.22 G
(ids SYN-\215ood-lik).22 E(e)-.11 E 2.75(attacks. Only)117.3 192.6 R
(one connection endpoint need hold TIMEW)2.75 E(AIT state; the DCCP-)
-1.32 E(CloseReq pack)117.3 205.6 Q
(et, which may only be sent by the serv)-.11 E(er)-.165 E 2.75(,p)-.44 G
(asses that state to the client.)-2.75 E -1.221(Va)117.3 218.6 S
(rious rate limits let serv)1.221 E(ers a)-.165 E -.22(vo)-.22 G
(id attacks that might force e).22 E(xtensi)-.165 E .33 -.165(ve c)-.275
H(omputation or).165 E(pack)117.3 231.6 Q(et generation.)-.11 E<83>100.8
248.2 Q F1(Distinguishing differ)12.65 E(ent kinds of loss.)-.198 E F0
2.75(AD)5.5 G(ata Dropped option \(Section 11.7\) lets an)-2.75 E
(endpoint declare that a pack)117.3 261.2 Q(et w)-.11 E
(as dropped because of corruption, because of recei)-.11 E -.165(ve)
-.275 G -.22(bu)117.3 274.2 S -.275(ff).22 G(er o).275 E -.165(ve)-.165
G(r\215o).165 E 1.43 -.715(w, a)-.275 H(nd so on.).715 E(This f)5.5 E
(acilitates research into more appropriate rate-control)-.11 E
(responses for these non-netw)117.3 287.2 Q
(ork-congestion losses \(although currently such losses will)-.11 E
(cause a congestion response\).)117.3 300.2 Q<83>100.8 316.8 Q F1(Ackno)
12.65 E(wledgeability)-.11 E(.)-.77 E F0(In TCP)5.5 E 2.75(,ap)-1.221 G
(ack)-2.75 E(et may be ackno)-.11 E(wledged only once the data is)-.275
E(reliably queued for application deli)117.3 329.8 Q -.165(ve)-.275 G
(ry).165 E 5.5(.T)-.715 G(his does not mak)-5.5 E 2.75(es)-.11 G
(ense in DCCP)-2.75 E 2.75(,w)-1.221 G(here an)-2.75 E
(application might, for e)117.3 342.8 Q
(xample, request a drop-from-front recei)-.165 E .33 -.165(ve b)-.275 H
(uf)-.055 E(fer)-.275 E 5.5(.A)-.605 G(DCCP)-2.75 E(pack)117.3 355.8 Q
(et may be ackno)-.11 E
(wledged as soon as its header has been successfully processed.)-.275 E
(Concretely)117.3 368.8 Q 2.75(,ap)-.715 G(ack)-2.75 E(et becomes ackno)
-.11 E(wledgeable at Step 8 of Section 8.5')-.275 E 2.75(sp)-.605 G(ack)
-2.75 E(et)-.11 E(processing pseudocode.)117.3 381.8 Q(Ackno)5.5 E
(wledgeability does not guarantee data deli)-.275 E -.165(ve)-.275 G(ry)
.165 E(,)-.715 E(ho)117.3 394.8 Q(we)-.275 E -.165(ve)-.275 G
(r: the Data Dropped option may later report that the pack).165 E(et')
-.11 E 2.75(sa)-.605 G(pplication data)-2.75 E -.11(wa)117.3 407.8 S
2.75(sd).11 G(iscarded.)-2.75 E<83>100.8 424.4 Q F1(No r)12.65 E(ecei)
-.198 E .22 -.11(ve w)-.11 H(indo).11 E -.77(w.)-.11 G F0
(DCCP is a congestion control protocol, not a \215o)6.27 E 2.75(wc)-.275
G(ontrol)-2.75 E(protocol.)117.3 437.4 Q<83>100.8 454 Q F1
(No simultaneous open.)12.65 E F0(Ev)5.5 E
(ery connection has one client and one serv)-.165 E(er)-.165 E(.)-.605 E
<83>100.8 470.6 Q F1(No half-closed states.)12.65 E F0
(DCCP has no states corresponding to TCP')5.5 E 2.75(sF)-.605 G(INW)
-2.75 E(AIT and)-1.32 E(CLOSEW)117.3 483.6 Q(AIT)-1.32 E 2.75(,w)-.814 G
(here one half-connection is e)-2.75 E
(xplicitly closed while the other is still)-.165 E(acti)117.3 496.6 Q
-.165(ve)-.275 G 5.5(.T).165 G(he Data Dropped option')-5.5 E 2.75(sD)
-.605 G(rop Code 1, Application Not Listening \(Section)-2.75 E
(11.7\), can achie)117.3 509.6 Q .33 -.165(ve a s)-.275 H(imilar ef).165
E(fect, ho)-.275 E(we)-.275 E -.165(ve)-.275 G -.605(r.).165 G F1(4.7.)
72 535.6 Q/F2 13/Times-Bold@0 SF(Example Connection)5.5 E F0
(The progress of a typical DCCP connection is as follo)100.8 552.2 Q
2.75(ws. \(This)-.275 F(description is informati)2.75 E -.165(ve)-.275 G
(,).165 E(not normati)100.8 565.2 Q -.165(ve)-.275 G(.\)).165 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(4.7. [P)2.75 F(age 16])-.165 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 217.8(Client Server)147 85 R 217.8(------ ------)147 98 R
6.6(0. [CLOSED])120.6 111 R([LISTEN])198 E 6.6(1. DCCP-Request)120.6 124
R(-->)6.6 E 198(2. <--)120.6 137 R(DCCP-Response)6.6 E 6.6(3. DCCP-Ack)
120.6 150 R(-->)6.6 E 6.6(4. DCCP-Data,)120.6 163 R
(DCCP-Ack, DCCP-DataAck -->)6.6 E(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)
206.4 176 Q 198(5. <--)120.6 189 R(DCCP-CloseReq)6.6 E 6.6
(6. DCCP-Close)120.6 202 R(-->)6.6 E 217.8(7. <--)120.6 215 R
(DCCP-Reset)6.6 E 6.6(8. [TIMEWAIT])120.6 228 R F0 11(1. The)100.8 250.6
R(client sends the serv)2.75 E(er a DCCP-Request pack)-.165 E
(et specifying the client and serv)-.11 E(er)-.165 E
(ports, the service being requested, and an)122.8 263.6 Q 2.75(yf)-.165
G(eatures being ne)-2.75 E(gotiated, including the)-.165 E
(CCID that the client w)122.8 276.6 Q(ould lik)-.11 E 2.75(et)-.11 G
(he serv)-2.75 E(er to use.)-.165 E(The client may optionally)5.5 E
(piggyback an application request on the DCCP-Request pack)122.8 289.6 Q
(et, which the serv)-.11 E(er may)-.165 E(ignore.)122.8 302.6 Q 11
(2. The)100.8 319.2 R(serv)2.75 E
(er sends the client a DCCP-Response pack)-.165 E
(et indicating that it is willing to)-.11 E
(communicate with the client.)122.8 332.2 Q(This response indicates an)
5.5 E 2.75(yf)-.165 G(eatures and options that the)-2.75 E(serv)122.8
345.2 Q(er agrees to, be)-.165 E(gins other feature ne)-.165 E
(gotiations as desired, and optionally includes)-.165 E(an Init Cookie \
that wraps up all this information and which must be returned by the)
122.8 358.2 Q(client for the connection to complete.)122.8 371.2 Q 11
(3. The)100.8 387.8 R(client sends the serv)2.75 E(er a DCCP-Ack pack)
-.165 E(et that ackno)-.11 E(wledges the DCCP-)-.275 E(Response pack)
122.8 400.8 Q 2.75(et. This)-.11 F(ackno)2.75 E(wledges the serv)-.275 E
(er')-.165 E 2.75(si)-.605 G(nitial sequence number and returns)-2.75 E
(the Init Cookie if there w)122.8 413.8 Q(as one in the DCCP-Response.)
-.11 E(It may also continue feature)5.5 E(ne)122.8 426.8 Q 2.75
(gotiation. The)-.165 F(client may piggyback an application-le)2.75 E
-.165(ve)-.275 G 2.75(lr).165 G(equest on its \214nal ack,)-2.75 E
(producing a DCCP-DataAck pack)122.8 439.8 Q(et.)-.11 E 11(4. The)100.8
456.4 R(serv)2.75 E(er and client then e)-.165 E(xchange DCCP-Data pack)
-.165 E(ets, DCCP-Ack pack)-.11 E(ets)-.11 E(ackno)122.8 469.4 Q
(wledging that data, and, optionally)-.275 E 2.75(,D)-.715 G
(CCP-DataAck pack)-2.75 E(ets containing data)-.11 E(with piggyback)
122.8 482.4 Q(ed ackno)-.11 E 2.75(wledgements. If)-.275 F
(the client has no data to send, then the serv)2.75 E(er)-.165 E
(will send DCCP-Data and DCCP-DataAck pack)122.8 495.4 Q
(ets, while the client will send DCCP-)-.11 E(Acks e)122.8 508.4 Q
(xclusi)-.165 E -.165(ve)-.275 G(ly).165 E 5.5(.\()-.715 G(Ho)-5.5 E(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he client may not send DCCP-Data pack).44 E(ets before)-.11 E(recei)
122.8 521.4 Q(ving at least one non-DCCP-Response pack)-.275 E
(et from the serv)-.11 E(er)-.165 E(.\))-.605 E 11(5. The)100.8 538 R
(serv)2.75 E(er sends a DCCP-CloseReq pack)-.165 E
(et requesting a close.)-.11 E 11(6. The)100.8 554.6 R
(client sends a DCCP-Close pack)2.75 E(et ackno)-.11 E
(wledging the close.)-.275 E 11(7. The)100.8 571.2 R(serv)2.75 E
(er sends a DCCP-Reset pack)-.165 E
(et with Reset Code 1, "Closed", and clears its)-.11 E
(connection state.)122.8 584.2 Q
(DCCP-Resets are part of normal connection termination; see)5.5 E
(Section 5.6.)122.8 597.2 Q 11(8. The)100.8 613.8 R(client recei)2.75 E
-.165(ve)-.275 G 2.75(st).165 G(he DCCP-Reset pack)-2.75 E
(et and holds state for tw)-.11 E 2.75(om)-.11 G(aximum se)-2.75 E
(gment)-.165 E(lifetimes, or 2MSL, to allo)122.8 626.8 Q 2.75(wa)-.275 G
.33 -.165(ny r)-2.75 H(emaining pack).165 E(ets to clear the netw)-.11 E
(ork.)-.11 E(An alternati)100.8 643.4 Q .33 -.165(ve c)-.275 H
(onnection closedo).165 E(wn sequence is initiated by the client:)-.275
E(5b)100.8 660 Q 8.69(.T)-.44 G(he client sends a DCCP-Close pack)-8.69
E(et closing the connection.)-.11 E(6b)100.8 676.6 Q 8.69(.T)-.44 G
(he serv)-8.69 E(er sends a DCCP-Reset pack)-.165 E
(et with Reset Code 1, "Closed", and clears its)-.11 E
(connection state.)122.8 689.6 Q(7b)100.8 706.2 Q 8.69(.T)-.44 G
(he client recei)-8.69 E -.165(ve)-.275 G 2.75(st).165 G
(he DCCP-Reset pack)-2.75 E(et and holds state for 2MSL to allo)-.11 E
2.75(wa)-.275 G -.165(ny)-2.75 G(remaining pack)122.8 719.2 Q
(ets to clear the netw)-.11 E(ork.)-.11 E -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(4.7. [P)2.75 F
(age 17])-.165 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(5.)72 85 Q/F2 14/Times-Bold@0 SF -.14(Pa)5.5 G(ck).14 E
(et F)-.14 E(ormats)-.35 E F0
(The DCCP header can be from 12 to 1020 bytes long.)100.8 101.6 Q
(The initial 12 bytes of the header)5.5 E(ha)100.8 114.6 Q .33 -.165
(ve t)-.22 H(he same semantics for all currently-de\214ned pack).165 E
(et types.)-.11 E -.165(Fo)5.5 G(llo).165 E(wing this comes an)-.275 E
(y)-.165 E(additional \214x)100.8 127.6 Q
(ed-length \214elds required by the pack)-.165 E(et type, and then a v)
-.11 E(ariable-length list of)-.275 E 2.75(options. The)100.8 140.6 R
(application data area follo)2.75 E(ws the header)-.275 E 5.5(.I)-.605 G
2.75(ns)-5.5 G(ome pack)-2.75 E(et types, this area)-.11 E
(contains data for the application; in other pack)100.8 153.6 Q
(et types, its contents are ignored.)-.11 E/F3 11/Courier@0 SF 6.6
(+---------------------------------------+ -.)107.4 172.6 R 79.2(|G)
107.4 185.6 S(eneric Header)-79.2 E 19.8(||)85.8 G 13.2
(+---------------------------------------+ |)107.4 198.6 R 6.6(|A)107.4
211.6 S(dditional Fields \(depending on type\) |)-6.6 E(+- DCCP Header)
19.8 E 13.2(+---------------------------------------+ |)107.4 224.6 R 66
(|O)107.4 237.6 S(ptions \(optional\))-66 E 19.8(||)72.6 G 6.6
(+=======================================+ -')107.4 250.6 R 59.4(|A)
107.4 263.6 S(pplication Data Area)-59.4 E(|)59.4 E
(+---------------------------------------+)107.4 276.6 Q F1(5.1.)72
308.6 Q/F4 13/Times-Bold@0 SF(Generic Header)5.5 E F0
(The DCCP generic header tak)100.8 325.2 Q(es dif)-.11 E
(ferent forms depending on the v)-.275 E(alue of X, the Extended)-.275 E
(Sequence Numbers bit.)100.8 338.2 Q
(If X is one, the Sequence Number \214eld is 48 bits long and the)5.5 E
(generic header tak)100.8 351.2 Q(es 16 bytes, as follo)-.11 E(ws.)-.275
E F3 125.4(0123)114 370.2 S 6.6(01234567890123456789012345678901)114
383.2 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
396.2 Q 66(|S)107.4 409.2 S(ource Port)-66 E 72.6(|D)66 G(est Port)-72.6
E(|)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
422.2 Q 13.2(|D)107.4 435.2 S(ata Offset)-13.2 E 6.6(|C)13.2 G
(CVal | CsCov |)-6.6 E 72.6(Checksum |)72.6 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
448.2 Q -26.4 33(|| |)107.4 461.2 T 92.4(X| |)-33 F(.)204.6 E 6.6(|R)
107.4 474.2 S(es | Type)-6.6 E 13.2(|=| Reserved)13.2 F 13.2(|S)26.4 G
(equence Number \(high bits\))-13.2 E(.)13.2 E -26.4 33(|| |)107.4 487.2
T 92.4(1| |)-33 F(.)204.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
500.2 Q 118.8(.S)107.4 513.2 S(equence Number \(low bits\))-118.8 E(|)
125.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
526.2 Q F0(If X is zero, only the lo)100.8 545.2 Q 2.75(w2)-.275 G 2.75
(4b)-2.75 G(its of the Sequence Number are transmitted, and the generic)
-2.75 E(header is 12 bytes long.)100.8 558.2 Q F3 125.4(0123)114 577.2 S
6.6(01234567890123456789012345678901)114 590.2 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
603.2 Q 66(|S)107.4 616.2 S(ource Port)-66 E 72.6(|D)66 G(est Port)-72.6
E(|)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
629.2 Q 13.2(|D)107.4 642.2 S(ata Offset)-13.2 E 6.6(|C)13.2 G
(CVal | CsCov |)-6.6 E 72.6(Checksum |)72.6 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
655.2 Q -26.4 33(|| |)107.4 668.2 T 303.6(X| |)-33 F 6.6(|R)107.4 681.2
S(es | Type)-6.6 E 59.4(|=| Sequence)13.2 F(Number \(low bits\))6.6 E(|)
72.6 E -26.4 33(|| |)107.4 694.2 T 303.6(0| |)-33 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
707.2 Q F0 -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(5.1. [P)2.75 F(age 18])-.165 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(The generic header \214elds are de\214ned as follo)100.8 85 Q(ws.)-.275
E/F1 11/Times-Bold@0 SF(Sour)100.8 101.6 Q(ce and Destination P)-.198 E
(orts: 16 bits each)-.22 E F0(These \214elds identify the connection, s\
imilar to the corresponding \214elds in TCP and)129.6 114.6 Q(UDP)129.6
127.6 Q 5.5(.T)-1.221 G(he Source Port represents the rele)-5.5 E -.275
(va)-.275 G(nt port on the endpoint that sent this).275 E(pack)129.6
140.6 Q(et, the Destination Port the rele)-.11 E -.275(va)-.275 G
(nt port on the other endpoint.).275 E(When initiating)5.5 E 2.75(ac)
129.6 153.6 S(onnection, the client SHOULD choose its Source Port rando\
mly to reduce the)-2.75 E(lik)129.6 166.6 Q(elihood of attack.)-.11 E(D\
CCP APIs should treat port numbers similarly to TCP and UDP port number\
s.)129.6 183.2 Q -.165(Fo)5.5 G(r).165 E -.165(ex)129.6 196.2 S
(ample, machines that distinguish between "pri).165 E(vile)-.275 E
(ged" and "unpri)-.165 E(vile)-.275 E(ged" ports)-.165 E
(for TCP and UDP should do the same for DCCP)129.6 209.2 Q 5.5(.S)-1.221
G(ee Section 19.9 for more)-5.5 E(discussion.)129.6 222.2 Q F1
(Data Offset: 8 bits)100.8 238.8 Q F0(The of)129.6 251.8 Q
(fset from the start of the pack)-.275 E(et')-.11 E 2.75(sD)-.605 G
(CCP header to the start of its application)-2.75 E
(data area, in 32-bit w)129.6 264.8 Q 2.75(ords. The)-.11 F(recei)2.75 E
-.165(ve)-.275 G 2.75(rM).165 G(UST ignore pack)-2.75 E
(ets whose Data Of)-.11 E(fset is)-.275 E
(smaller than the minimum-sized header for the gi)129.6 277.8 Q -.165
(ve)-.275 G 2.75(nT).165 G(ype, or lar)-3.63 E(ger than the DCCP)-.198 E
(pack)129.6 290.8 Q(et itself.)-.11 E F1(CCV)100.8 307.4 Q(al: 4 bits)
-1.012 E F0(Used by the HC-Sender CCID.)129.6 320.4 Q -.165(Fo)5.5 G
2.75(re).165 G(xample, the A-to-B CCID')-2.915 E 2.75(ss)-.605 G(ender)
-2.75 E 2.75(,w)-.44 G(hich is)-2.75 E(acti)129.6 333.4 Q .33 -.165
(ve a)-.275 H 2.75(tD).165 G(CCP A, MA)-2.75 E 2.75(Ys)-1.155 G
(end 4 bits of information per pack)-2.75 E(et to its recei)-.11 E -.165
(ve)-.275 G 2.75(rb).165 G(y)-2.75 E(encoding that information in CCV)
129.6 346.4 Q 2.75(al. The)-1.221 F(sender MUST set CCV)2.75 E
(al to zero unless its)-1.221 E
(HC-Sender CCID speci\214es otherwise, and the recei)129.6 359.4 Q -.165
(ve)-.275 G 2.75(rM).165 G(UST ignore the CCV)-2.75 E(al)-1.221 E
(\214eld unless its HC-Recei)129.6 372.4 Q -.165(ve)-.275 G 2.75(rC).165
G(CID speci\214es otherwise.)-2.75 E F1(Checksum Co)100.8 389 Q -.11(ve)
-.11 G(rage \(CsCo).11 E(v\): 4 bits)-.11 E F0(Checksum Co)129.6 402 Q
-.165(ve)-.165 G(rage determines the parts of the pack).165 E
(et that are co)-.11 E -.165(ve)-.165 G(red by the).165 E
(Checksum \214eld.)129.6 415 Q(This al)5.5 E -.11(wa)-.11 G
(ys includes the DCCP header and options, b).11 E(ut some or all)-.22 E
(of the application data may be e)129.6 428 Q 2.75(xcluded. This)-.165 F
(can impro)2.75 E .33 -.165(ve p)-.165 H(erformance on noisy).165 E
(links for applications that can tolerate corruption.)129.6 441 Q
(See Section 9.)5.5 E F1(Checksum: 16 bits)100.8 457.6 Q F0
(The Internet checksum of the pack)129.6 470.6 Q(et')-.11 E 2.75(sD)
-.605 G(CCP header \(including options\), a netw)-2.75 E(ork-)-.11 E
(layer pseudoheader)129.6 483.6 Q 2.75(,a)-.44 G
(nd, depending on Checksum Co)-2.75 E -.165(ve)-.165 G
(rage, all, some, or none of).165 E(the application data.)129.6 496.6 Q
(See Section 9.)5.5 E F1(Reser)100.8 513.2 Q -.11(ve)-.11 G 2.75(d\().11
G(Res\): 3 bits)-2.75 E F0
(Senders MUST set this \214eld to all zeroes on generated pack)129.6
526.2 Q(ets, and recei)-.11 E -.165(ve)-.275 G(rs MUST).165 E
(ignore its v)129.6 539.2 Q(alue.)-.275 E F1 -.814(Ty)100.8 555.8 S
(pe: 4 bits).814 E F0(The T)129.6 568.8 Q
(ype \214eld speci\214es the type of the pack)-.88 E 2.75(et. The)-.11 F
(follo)2.75 E(wing v)-.275 E(alues are de\214ned:)-.275 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75
(5.1. [P)2.75 F(age 19])-.165 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 13.2(Type Meaning)248.4 85 R 13.2(---- -------)248.4 98 R
26.4(0D)261.6 111 S(CCP-Request)-26.4 E 26.4(1D)261.6 124 S
(CCP-Response)-26.4 E 26.4(2D)261.6 137 S(CCP-Data)-26.4 E 26.4(3D)261.6
150 S(CCP-Ack)-26.4 E 26.4(4D)261.6 163 S(CCP-DataAck)-26.4 E 26.4(5D)
261.6 176 S(CCP-CloseReq)-26.4 E 26.4(6D)261.6 189 S(CCP-Close)-26.4 E
26.4(7D)261.6 202 S(CCP-Reset)-26.4 E 26.4(8D)261.6 215 S(CCP-Sync)-26.4
E 26.4(9D)261.6 228 S(CCP-SyncAck)-26.4 E 6.6(10-15 Reserved)248.4 241 R
(Table 1: DCCP Packet Types)222 267 Q F0(Recei)129.6 286 Q -.165(ve)
-.275 G(rs MUST ignore an).165 E 2.75(yp)-.165 G(ack)-2.75 E
(ets with reserv)-.11 E(ed type.)-.165 E(That is, pack)5.5 E(ets with)
-.11 E(reserv)129.6 299 Q(ed type MUST NO)-.165 E 2.75(Tb)-.44 G 2.75
(ep)-2.75 G(rocessed and the)-2.75 E 2.75(yM)-.165 G(UST NO)-2.75 E 2.75
(Tb)-.44 G 2.75(ea)-2.75 G(ckno)-2.75 E(wledged as)-.275 E(recei)129.6
312 Q -.165(ve)-.275 G(d.).165 E/F2 11/Times-Bold@0 SF
(Extended Sequence Numbers \(X\): 1 bit)100.8 328.6 Q F0
(Set to one to indicate the use of an e)129.6 341.6 Q
(xtended generic header with 48-bit Sequence)-.165 E(and Ackno)129.6
354.6 Q(wledgement Numbers.)-.275 E
(DCCP-Data, DCCP-DataAck, and DCCP-Ack)5.5 E(pack)129.6 367.6 Q(ets MA)
-.11 E 2.75(Ys)-1.155 G(et X to zero or one.)-2.75 E
(All DCCP-Request, DCCP-Response, DCCP-)5.5 E
(CloseReq, DCCP-Close, DCCP-Reset, DCCP-Sync, and DCCP-SyncAck pack)
129.6 380.6 Q(ets)-.11 E(MUST set X to one; endpoints MUST ignore an)
129.6 393.6 Q 2.75(ys)-.165 G(uch pack)-2.75 E(ets with X set to zero.)
-.11 E(High-rate connections SHOULD set X to one on all pack)129.6 406.6
Q(ets to g)-.11 E(ain increased)-.055 E(protection ag)129.6 419.6 Q
(ainst wrapped sequence numbers and attacks.)-.055 E(See Section 7.6.)
5.5 E F2(Sequence Number: 48 or 24 bits)100.8 436.2 Q F0
(Identi\214es the pack)129.6 449.2 Q
(et uniquely in the sequence of all pack)-.11 E
(ets the source sent on this)-.11 E 2.75(connection. Sequence)129.6
462.2 R(Number increases by one with e)2.75 E -.165(ve)-.275 G(ry pack)
.165 E(et sent, including)-.11 E(pack)129.6 475.2 Q
(ets such as DCCP-Ack that carry no application data.)-.11 E
(See Section 7.)5.5 E(All currently de\214ned pack)100.8 491.8 Q
(et types e)-.11 E(xcept DCCP-Request and DCCP-Data carry an)-.165 E
(Ackno)100.8 504.8 Q(wledgement Number Subheader in the four or eight b\
ytes immediately follo)-.275 E(wing the)-.275 E(generic header)100.8
517.8 Q 5.5(.W)-.605 G(hen X=1, its format is:)-5.5 E F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
536.8 Q 72.6(|R)107.4 549.8 S 72.6(eserved |)-72.6 F
(Acknowledgement Number)26.4 E(.)33 E 204.6(||)107.4 562.8 S
(\(high bits\))-138.6 E(.)66 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
575.8 Q 99(.A)107.4 588.8 S(cknowledgement Number \(low bits\))-99 E(|)
99 E(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)
107.4 601.8 Q F0(When X=0, only the lo)100.8 620.8 Q 2.75(w2)-.275 G
2.75(4b)-2.75 G(its of the Ackno)-2.75 E
(wledgement Number are transmitted, gi)-.275 E(ving)-.275 E(the Ackno)
100.8 633.8 Q(wledgement Number Subheader this format:)-.275 E F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
652.8 Q 19.8(|R)107.4 665.8 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(low bits\))46.2 E(|)46.2 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
678.8 Q F2(Reser)100.8 701.4 Q -.11(ve)-.11 G(d: 16 or 8 bits).11 E F0
(Senders MUST set this \214eld to all zeroes on generated pack)129.6
714.4 Q(ets, and recei)-.11 E -.165(ve)-.275 G(rs MUST).165 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75
(5.1. [P)2.75 F(age 20])-.165 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(ignore its v)129.6 85 Q(alue.)-.275 E/F1 11/Times-Bold@0 SF(Ackno)100.8
101.6 Q(wledgement Number: 48 or 24 bits)-.11 E F0
(Generally contains GSR, the Greatest Sequence Number Recei)129.6 114.6
Q -.165(ve)-.275 G 2.75(do).165 G 2.75(na)-2.75 G -.165(ny)-2.75 G
(ackno)129.6 127.6 Q(wledgeable pack)-.275 E(et so f)-.11 E(ar)-.11 E
5.5(.A)-.605 G(pack)-2.75 E(et is ackno)-.11 E
(wledgeable if and only if its)-.275 E(header w)129.6 140.6 Q
(as successfully processed by the recei)-.11 E -.165(ve)-.275 G
(r; Section 7.4 describes this further).165 E(.)-.605 E
(Options such as Ack V)129.6 153.6 Q
(ector \(Section 11.4\) combine with the Ackno)-1.221 E(wledgement)-.275
E(Number to pro)129.6 166.6 Q(vide precise information about which pack)
-.165 E(ets ha)-.11 E .33 -.165(ve a)-.22 H(rri).165 E -.165(ve)-.275 G
(d.).165 E(Ackno)129.6 183.2 Q
(wledgement Numbers on DCCP-Sync and DCCP-SyncAck pack)-.275 E
(ets need not)-.11 E(equal GSR.)129.6 196.2 Q(See Section 5.7.)5.5 E F1
(5.2.)72 222.2 Q/F2 13/Times-Bold@0 SF(DCCP-Request P)5.5 E(ack)-.13 E
(ets)-.13 E F0 2.75(Ac)100.8 238.8 S
(lient initiates a DCCP connection by sending a DCCP-Request pack)-2.75
E 2.75(et. These)-.11 F(pack)2.75 E(ets)-.11 E(MA)100.8 251.8 Q 2.75(Yc)
-1.155 G
(ontain application data, and MUST use 48-bit sequence numbers \(X=1\).)
-2.75 E/F3 11/Courier@0 SF 125.4(0123)114 270.8 S 6.6
(01234567890123456789012345678901)114 283.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
296.8 Q 79.2(/G)107.4 309.8 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 125.4(/w)107.4 322.8 S(ith Type=0 \(DCCP-Request\))
-125.4 E(/)118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
335.8 Q 165(|S)107.4 348.8 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
361.8 Q 145.2(/O)107.4 374.8 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
387.8 Q 151.8(/A)107.4 400.8 S(pplication Data)-151.8 E(/)158.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
413.8 Q F1(Ser)100.8 436.4 Q(vice Code: 32 bits)-.11 E F0
(Describes the application-le)129.6 449.4 Q -.165(ve)-.275 G 2.75(ls)
.165 G(ervice to which the client application w)-2.75 E(ants to)-.11 E
2.75(connect. Service)129.6 462.4 R(Codes are intended to pro)2.75 E
(vide information about which application)-.165 E
(protocol a connection intends to use, and thus aiding middlebox)129.6
475.4 Q(es and reducing)-.165 E(reliance on globally well-kno)129.6
488.4 Q(wn ports.)-.275 E(See Section 8.1.2.)5.5 E F1(5.3.)72 514.4 Q F2
(DCCP-Response P)5.5 E(ack)-.13 E(ets)-.13 E F0(The serv)100.8 531 Q
(er responds to v)-.165 E(alid DCCP-Request pack)-.275 E
(ets with DCCP-Response pack)-.11 E 2.75(ets. This)-.11 F
(is the second phase of the three-w)100.8 544 Q(ay handshak)-.11 E 2.75
(e. DCCP-Response)-.11 F(pack)2.75 E(ets MA)-.11 E 2.75(Yc)-1.155 G
(ontain)-2.75 E
(application data, and MUST use 48-bit sequence numbers \(X=1\).)100.8
557 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(5.3. [P)2.75 F(age 21])-.165 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 125.4(0123)114 85 S 6.6(01234567890123456789012345678901)
114 98 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
111 Q 79.2(/G)107.4 124 S(eneric DCCP Header with X=1 \(16 bytes\))-79.2
E(/)79.2 E 118.8(/w)107.4 137 S(ith Type=1 \(DCCP-Response\))-118.8 E(/)
118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
150 Q 66(/A)107.4 163 S(cknowledgement Number Subheader \(8 bytes\))-66
E(/)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
176 Q 165(|S)107.4 189 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 145.2(/O)107.4 215 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
228 Q 151.8(/A)107.4 241 S(pplication Data)-151.8 E(/)158.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
254 Q/F2 11/Times-Bold@0 SF(Ackno)100.8 276.6 Q
(wledgement Number: 48 bits)-.11 E F0(Contains GSR.)129.6 289.6 Q
(Since DCCP-Responses are only sent during connection initiation,)5.5 E
(this will al)129.6 302.6 Q -.11(wa)-.11 G
(ys equal the Sequence Number on a recei).11 E -.165(ve)-.275 G 2.75(dD)
.165 G(CCP-Request.)-2.75 E F2(Ser)100.8 319.2 Q(vice Code: 32 bits)-.11
E F0(MUST equal the Service Code on the corresponding DCCP-Request.)
129.6 332.2 Q F2(5.4.)72 358.2 Q/F3 13/Times-Bold@0 SF
(DCCP-Data, DCCP-Ack, and DCCP-DataAck P)5.5 E(ack)-.13 E(ets)-.13 E F0
(The central data transfer portion of e)100.8 374.8 Q -.165(ve)-.275 G
(ry DCCP connection uses DCCP-Data, DCCP-Ack,).165 E
(and DCCP-DataAck pack)100.8 387.8 Q 2.75(ets. These)-.11 F(pack)2.75 E
(ets MA)-.11 E 2.75(Yu)-1.155 G(se 24-bit sequence numbers,)-2.75 E
(depending on the v)100.8 400.8 Q(alue of the Allo)-.275 E 2.75(wS)-.275
G(hort Sequence Numbers feature \(Section 7.6.1\).)-2.75 E
(DCCP-Data pack)100.8 413.8 Q(ets carry application data without ackno)
-.11 E(wledgements.)-.275 E F1 125.4(0123)114 432.8 S 6.6
(01234567890123456789012345678901)114 445.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
458.8 Q 92.4(/G)107.4 471.8 S(eneric DCCP Header \(16 or 12 bytes\))
-92.4 E(/)85.8 E 132(/w)107.4 484.8 S(ith Type=2 \(DCCP-Data\))-132 E(/)
132 E(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)
107.4 497.8 Q 145.2(/O)107.4 510.8 S(ptions and Padding)-145.2 E(/)145.2
E(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)
107.4 523.8 Q 151.8(/A)107.4 536.8 S(pplication Data)-151.8 E(/)158.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
549.8 Q F0(DCCP-Ack pack)100.8 568.8 Q(ets dispense with the data, b)
-.11 E(ut contain an Ackno)-.22 E(wledgement Number)-.275 E(.)-.605 E
(The)100.8 581.8 Q 2.75(ya)-.165 G(re used for pure ackno)-2.75 E
(wledgements.)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
230.26(yd Section)-.11 F 2.75(5.4. [P)2.75 F(age 22])-.165 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 125.4(0123)114 85 S 6.6(01234567890123456789012345678901)
114 98 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
111 Q 92.4(/G)107.4 124 S(eneric DCCP Header \(16 or 12 bytes\))-92.4 E
(/)85.8 E 132(/w)107.4 137 S(ith Type=3 \(DCCP-Ack\))-132 E(/)138.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
150 Q 52.8(/A)107.4 163 S
(cknowledgement Number Subheader \(8 or 4 bytes\))-52.8 E(/)52.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
176 Q 145.2(/O)107.4 189 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
202 Q 105.6(/A)107.4 215 S(pplication Data Area \(Ignored\))-105.6 E(/)
105.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q F0(DCCP-DataAck pack)100.8 247 Q
(ets carry both application data and an Ackno)-.11 E(wledgement Number:)
-.275 E(ackno)100.8 260 Q(wledgement information is piggyback)-.275 E
(ed on a data pack)-.11 E(et.)-.11 E F1 125.4(0123)114 279 S 6.6
(01234567890123456789012345678901)114 292 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
305 Q 92.4(/G)107.4 318 S(eneric DCCP Header \(16 or 12 bytes\))-92.4 E
(/)85.8 E 118.8(/w)107.4 331 S(ith Type=4 \(DCCP-DataAck\))-118.8 E(/)
125.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
344 Q 52.8(/A)107.4 357 S
(cknowledgement Number Subheader \(8 or 4 bytes\))-52.8 E(/)52.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
370 Q 145.2(/O)107.4 383 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
396 Q 151.8(/A)107.4 409 S(pplication Data)-151.8 E(/)158.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
422 Q F0 2.75(AD)100.8 441 S(CCP-Data or DCCP-DataAck pack)-2.75 E
(et may ha)-.11 E .33 -.165(ve a z)-.22 H
(ero-length application data area,).165 E
(which indicates that the application sent a zero-length datagram.)100.8
454 Q(This dif)5.5 E(fers from DCCP-)-.275 E
(Request and DCCP-Response pack)100.8 467 Q
(ets, where an empty application data area indicates the)-.11 E(absence\
 of application data \(not the presence of zero-length application data\
\).)100.8 480 Q(The API)5.5 E(SHOULD report an)100.8 493 Q 2.75(yr)-.165
G(ecei)-2.75 E -.165(ve)-.275 G 2.75(dz).165 G
(ero-length datagrams to the recei)-2.75 E(ving application.)-.275 E
2.75(AD)100.8 509.6 S(CCP-Ack pack)-2.75 E(et MA)-.11 E 2.75(Yh)-1.155 G
-2.475 -.22(av e)-2.75 H 2.75(an)2.97 G
(on-zero-length application data area, which essentially)-2.75 E
(pads the DCCP-Ack to a desired length.)100.8 522.6 Q(Recei)5.5 E -.165
(ve)-.275 G(rs MUST ignore the content of the).165 E
(application data area in DCCP-Ack pack)100.8 535.6 Q(ets.)-.11 E
(DCCP-Ack and DCCP-DataAck pack)100.8 552.2 Q
(ets often include additional ackno)-.11 E(wledgement)-.275 E
(options, such as Ack V)100.8 565.2 Q(ector)-1.221 E 2.75(,a)-.44 G 2.75
(sr)-2.75 G(equired by the congestion control mechanism in use.)-2.75 E
/F2 11/Times-Bold@0 SF(5.5.)72 591.2 Q/F3 13/Times-Bold@0 SF
(DCCP-CloseReq and DCCP-Close P)5.5 E(ack)-.13 E(ets)-.13 E F0
(DCCP-CloseReq and DCCP-Close pack)100.8 607.8 Q(ets be)-.11 E
(gin the handshak)-.165 E 2.75(et)-.11 G(hat normally terminates a)-2.75
E 2.75(connection. Either)100.8 620.8 R(client or serv)2.75 E
(er may send a DCCP-Close pack)-.165 E(et, which will elicit a)-.11 E
(DCCP-Reset pack)100.8 633.8 Q 2.75(et. Only)-.11 F(the serv)2.75 E
(er can send a DCCP-CloseReq pack)-.165 E(et, which indicates)-.11 E
(that the serv)100.8 646.8 Q(er w)-.165 E
(ants to close the connection, b)-.11 E(ut does not w)-.22 E
(ant to hold its TIMEW)-.11 E(AIT)-1.32 E 2.75(state. Both)100.8 659.8 R
(pack)2.75 E(et types MUST use 48-bit sequence numbers \(X=1\).)-.11 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(5.5. [P)2.75 F(age 23])-.165 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 125.4(0123)114 85 S 6.6(01234567890123456789012345678901)
114 98 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
111 Q 79.2(/G)107.4 124 S(eneric DCCP Header with X=1 \(16 bytes\))-79.2
E(/)79.2 E 59.4(/w)107.4 137 S
(ith Type=5 \(DCCP-CloseReq\) or 6 \(DCCP-Close\))-59.4 E(/)59.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
150 Q 66(/A)107.4 163 S(cknowledgement Number Subheader \(8 bytes\))-66
E(/)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
176 Q 145.2(/O)107.4 189 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
202 Q 105.6(/A)107.4 215 S(pplication Data Area \(Ignored\))-105.6 E(/)
105.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q F0(As with DCCP-Ack pack)100.8 247 Q
(ets, DCCP-CloseReq and DCCP-Close pack)-.11 E(ets MA)-.11 E 2.75(Yh)
-1.155 G -2.475 -.22(av e)-2.75 H(non-)2.97 E
(zero-length application data areas, whose contents recei)100.8 260 Q
-.165(ve)-.275 G(rs MUST ignore.).165 E/F2 11/Times-Bold@0 SF(5.6.)72
286 Q/F3 13/Times-Bold@0 SF(DCCP-Reset P)5.5 E(ack)-.13 E(ets)-.13 E F0
(DCCP-Reset pack)100.8 302.6 Q(ets unconditionally shut do)-.11 E
(wn a connection.)-.275 E(Connections normally)5.5 E
(terminate with a DCCP-Reset, b)100.8 315.6 Q
(ut resets may be sent for other reasons, including bad port)-.22 E
(numbers, bad option beha)100.8 328.6 Q(vior)-.22 E 2.75(,i)-.44 G
(ncorrect ECN Nonce Echoes, and so forth.)-2.75 E(DCCP-Resets)5.5 E
(MUST use 48-bit sequence numbers \(X=1\).)100.8 341.6 Q F1 125.4(0123)
114 360.6 S 6.6(01234567890123456789012345678901)114 373.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
386.6 Q 79.2(/G)107.4 399.6 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 125.4(/w)107.4 412.6 S(ith Type=7 \(DCCP-Reset\))-125.4
E(/)132 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
425.6 Q 66(/A)107.4 438.6 S(cknowledgement Number Subheader \(8 bytes\))
-66 E(/)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
451.6 Q 13.2(|R)107.4 464.6 S(eset Code)-13.2 E 26.4(|D)19.8 G(ata 1)
-26.4 E 26.4(|D)33 G(ata 2)-26.4 E 26.4(|D)33 G(ata 3)-26.4 E(|)33 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
477.6 Q 145.2(/O)107.4 490.6 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
503.6 Q 92.4(/A)107.4 516.6 S(pplication Data Area \(Error Text\))-92.4
E(/)99 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
529.6 Q F2(Reset Code: 8 bits)100.8 552.2 Q F0
(Represents the reason that the sender reset the DCCP connection.)129.6
565.2 Q F2(Data 1, Data 2, and Data 3: 8 bits each)100.8 581.8 Q F0
(The Data \214elds pro)129.6 594.8 Q
(vide additional information about wh)-.165 E 2.75(yt)-.055 G
(he sender reset the DCCP)-2.75 E 2.75(connection. The)129.6 607.8 R
(meanings of these \214elds depend on the v)2.75 E(alue of Reset Code.)
-.275 E F2 -.275(Ap)100.8 624.4 S(plication Data Ar).275 E(ea: Err)-.198
E(or T)-.198 E(ext)-1.012 E F0(If present, Error T)129.6 637.4 Q -.165
(ex)-.77 G 2.75(ti).165 G 2.75(sah)-2.75 G(uman-readable te)-2.75 E
(xt string encoded in Unicode UTF-8,)-.165 E
(and preferably in English, that describes the error in more detail.)
129.6 650.4 Q -.165(Fo)5.5 G 2.75(re).165 G(xample, a)-2.915 E(DCCP-Res\
et with Reset Code 11, "Aggression Penalty", might contain Error T)129.6
663.4 Q -.165(ex)-.77 G(t).165 E(such as "Aggression Penalty: Recei)
129.6 676.4 Q -.165(ve)-.275 G 2.75(d3b).165 G
(ad ECN Nonce Echoes, assuming)-2.75 E(misbeha)129.6 689.4 Q(vior".)-.22
E(The follo)100.8 706 Q(wing Reset Codes are currently de\214ned.)-.275
E(Unless otherwise speci\214ed, the Data 1,)5.5 E(2, and 3 \214elds MUS\
T be set to 0 by the sender of the DCCP-Reset and ignored by its)100.8
719 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(5.6. [P)2.75 F(age 24])-.165 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E(recei)
100.8 85 Q -.165(ve)-.275 G 3.96 -.605(r. S).165 H(ection references de\
scribe concrete situations that will cause each Reset Code to).605 E
(be generated; the)100.8 98 Q 2.75(ya)-.165 G(re not meant to be e)-2.75
E(xhausti)-.165 E -.165(ve)-.275 G(.).165 E/F1 11/Times-Bold@0 SF
(0, "Unspeci\214ed")100.8 114.6 Q F0
(Indicates the absence of a meaningful Reset Code.)129.6 127.6 Q
(Use of Reset Code 0 is NO)5.5 E(T)-.44 E(RECOMMENDED: the sender shoul\
d choose a Reset Code that more clearly de\214nes)129.6 140.6 Q(wh)129.6
153.6 Q 2.75(yt)-.055 G(he connection is being reset.)-2.75 E F1
(1, "Closed")100.8 170.2 Q F0(Normal connection close.)129.6 183.2 Q
(See Section 8.3.)5.5 E F1(2, "Aborted")100.8 199.8 Q F0
(The sending endpoint g)129.6 212.8 Q -2.475 -.22(av e)-.055 H
(up on the connection because of lack of progress.)2.97 E(See)5.5 E
(Sections 8.1.1 and 8.1.5.)129.6 225.8 Q F1(3, "No Connection")100.8
242.4 Q F0(No connection e)129.6 255.4 Q 2.75(xists. See)-.165 F
(Section 8.3.1.)2.75 E F1(4, "P)100.8 272 Q(ack)-.11 E(et Err)-.11 E
(or")-.198 E F0 2.75(Av)129.6 285 S(alid pack)-3.025 E(et arri)-.11 E
-.165(ve)-.275 G 2.75(dw).165 G(ith une)-2.75 E(xpected type.)-.165 E
-.165(Fo)5.5 G 2.75(re).165 G(xample, a DCCP-Data pack)-2.915 E(et)-.11
E(with v)129.6 298 Q(alid header checksum and sequence numbers arri)
-.275 E -.165(ve)-.275 G 2.75(da).165 G 2.75(tac)-2.75 G
(onnection in the)-2.75 E(REQ)129.6 311 Q(UEST state.)-.11 E
(See Section 8.3.1.)5.5 E(The Data 1 \214eld equals the of)5.5 E
(fending pack)-.275 E(et)-.11 E
(type as an eight-bit number; thus, an of)129.6 324 Q(fending pack)-.275
E(et with T)-.11 E(ype 2 will result in a)-.88 E(Data 1 v)129.6 337 Q
(alue of 2.)-.275 E F1(5, "Option Err)100.8 353.6 Q(or")-.198 E F0
(An option w)129.6 366.6 Q(as erroneous, and the error w)-.11 E
(as serious enough to w)-.11 E(arrant resetting the)-.11 E 2.75
(connection. See)129.6 379.6 R(Sections 6.6.7, 6.6.8, and 11.4.)2.75 E
(The Data 1 \214eld equals the)5.5 E(of)129.6 392.6 Q
(fending option type; Data 2 and Data 3 equal the \214rst tw)-.275 E
2.75(ob)-.11 G(ytes of option data \(or)-2.75 E
(zero if the option had less than tw)129.6 405.6 Q 2.75(ob)-.11 G
(ytes of data\).)-2.75 E F1(6, "Mandatory Err)100.8 422.2 Q(or")-.198 E
F0(The sending endpoint could not process an option O that w)129.6 435.2
Q(as immediately preceded)-.11 E(by Mandatory)129.6 448.2 Q 5.5(.T)-.715
G(he Data \214elds report the option type and data of option O, using t\
he)-5.5 E(format of Reset Code 5, "Option Error".)129.6 461.2 Q
(See Section 5.8.2.)5.5 E F1(7, "Connection Refused")100.8 477.8 Q F0
(The Destination Port didn')129.6 490.8 Q 2.75(tc)-.198 G
(orrespond to a port open for listening.)-2.75 E(Sent only in)5.5 E
(response to DCCP-Requests.)129.6 503.8 Q(See Section 8.1.3.)5.5 E F1
(8, "Bad Ser)100.8 520.4 Q(vice Code")-.11 E F0(The Service Code didn')
129.6 533.4 Q 2.75(te)-.198 G
(qual the service code attached to the Destination Port.)-2.75 E
(Sent only in response to DCCP-Requests.)129.6 546.4 Q
(See Section 8.1.3.)5.5 E F1(9, "T)100.8 563 Q(oo Busy")-1.012 E F0
(The serv)129.6 576 Q(er is too b)-.165 E(usy to accept ne)-.22 E 2.75
(wc)-.275 G 2.75(onnections. Sent)-2.75 F(only in response to DCCP-)2.75
E 2.75(Requests. See)129.6 589 R(Section 8.1.3.)2.75 E F1
(10, "Bad Init Cookie")100.8 605.6 Q F0
(The Init Cookie echoed by the client w)129.6 618.6 Q
(as incorrect or missing.)-.11 E(See Section 8.1.4.)5.5 E F1(11, "Aggr)
100.8 635.2 Q(ession P)-.198 E(enalty")-.22 E F0
(This endpoint has detected congestion control-related misbeha)129.6
648.2 Q(vior on the part of the)-.22 E(other endpoint.)129.6 661.2 Q
(See Section 12.3.)5.5 E F1(12-127, Reser)100.8 677.8 Q -.11(ve)-.11 G
(d).11 E F0(Recei)129.6 690.8 Q -.165(ve)-.275 G
(rs should treat these codes lik).165 E 2.75(eR)-.11 G
(eset Code 0, "Unspeci\214ed".)-2.75 E F1
(128-255, CCID-speci\214c codes)100.8 707.4 Q F0
(Semantics depend on the connection')129.6 720.4 Q 2.75(sC)-.605 G 2.75
(CIDs. See)-2.75 F(Section 10.3.)2.75 E(Recei)5.5 E -.165(ve)-.275 G
(rs should).165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
230.26(yd Section)-.11 F 2.75(5.6. [P)2.75 F(age 25])-.165 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(treat unkno)129.6 85 Q(wn CCID-speci\214c Reset Codes lik)-.275 E 2.75
(eR)-.11 G(eset Code 0, "Unspeci\214ed".)-2.75 E(The follo)100.8 101.6 Q
(wing table summarizes this information.)-.275 E/F1 11/Courier@0 SF
(Reset)140.4 120.6 Q 13.2(Code Name)140.4 133.6 R(Data 1)132 E
(Data 2 & 3)33 E 6.6(----- ----)140.4 146.6 R 26.4(------ ----------)132
F 26.4(0U)153.6 159.6 S 92.4(nspecified 0)-26.4 F(0)79.2 E 26.4(1C)153.6
172.6 S 125.4(losed 0)-26.4 F(0)79.2 E 26.4(2A)153.6 185.6 S 118.8
(borted 0)-26.4 F(0)79.2 E 26.4(3N)153.6 198.6 S 6.6(oC)-26.4 G 79.2
(onnection 0)-6.6 F(0)79.2 E 26.4(4P)153.6 211.6 S(acket Error)-26.4 E
(pkt type)72.6 E(0)52.8 E 26.4(5O)153.6 224.6 S(ption Error)-26.4 E
(option #)72.6 E(option data)19.8 E 26.4(6M)153.6 237.6 S
(andatory Error)-26.4 E(option #)52.8 E(option data)19.8 E 26.4(7C)153.6
250.6 S(onnection Refused)-26.4 E 79.2(00)52.8 G 26.4(8B)153.6 263.6 S
(ad Service Code)-26.4 E 79.2(00)66 G 26.4(9T)153.6 276.6 S(oo Busy)
-26.4 E 79.2(00)118.8 G 19.8(10 Bad)147 289.6 R(Init Cookie)6.6 E 79.2
(00)72.6 G 19.8(11 Aggression)147 302.6 R 46.2(Penalty 0)6.6 F(0)79.2 E
(12-127 Reserved)140.4 315.6 Q(128-255 CCID-specific codes)133.8 328.6 Q
(Table 2: DCCP Reset Codes)232.8 354.6 Q F0(Options on DCCP-Reset pack)
100.8 373.6 Q(ets are processed before the connection is shut do)-.11 E
2.75(wn. This)-.275 F
(means that certain combinations of options, particularly in)100.8 386.6
Q -.22(vo)-.44 G(lving Mandatory).22 E 2.75(,m)-.715 G(ay cause)-2.75 E
(an endpoint to respond to a v)100.8 399.6 Q
(alid DCCP-Reset with another DCCP-Reset.)-.275 E(This cannot lead)5.5 E
(to a reset storm; since the \214rst endpoint has already reset the con\
nection, the second)100.8 412.6 Q(DCCP-Reset will be ignored.)100.8
425.6 Q/F2 11/Times-Bold@0 SF(5.7.)72 451.6 Q/F3 13/Times-Bold@0 SF
(DCCP-Sync and DCCP-SyncAck P)5.5 E(ack)-.13 E(ets)-.13 E F0
(DCCP-Sync pack)100.8 468.2 Q(ets help DCCP endpoints reco)-.11 E -.165
(ve)-.165 G 2.75(rs).165 G(ynchronization after b)-2.75 E
(ursts of loss, or)-.22 E(reco)100.8 481.2 Q -.165(ve)-.165 G 2.75(rf)
.165 G(rom half-open connections.)-2.75 E(Each v)5.5 E(alid recei)-.275
E -.165(ve)-.275 G 2.75(dD).165 G(CCP-Sync immediately elicits a)-2.75 E
2.75(DCCP-SyncAck. Both)100.8 494.2 R(pack)2.75 E
(et types MUST use 48-bit sequence numbers \(X=1\).)-.11 E F1 125.4
(0123)114 513.2 S 6.6(01234567890123456789012345678901)114 526.2 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
539.2 Q 79.2(/G)107.4 552.2 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 66(/w)107.4 565.2 S
(ith Type=8 \(DCCP-Sync\) or 9 \(DCCP-SyncAck\))-66 E(/)66 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
578.2 Q 66(/A)107.4 591.2 S(cknowledgement Number Subheader \(8 bytes\))
-66 E(/)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
604.2 Q 145.2(/O)107.4 617.2 S(ptions and Padding)-145.2 E(/)145.2 E
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
630.2 Q 105.6(/A)107.4 643.2 S(pplication Data Area \(Ignored\))-105.6 E
(/)105.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
656.2 Q F0(The Ackno)100.8 675.2 Q(wledgement Number \214eld has specia\
l semantics for DCCP-Sync and DCCP-)-.275 E(SyncAck pack)100.8 688.2 Q
2.75(ets. First,)-.11 F(the pack)2.75 E
(et corresponding to a DCCP-Sync')-.11 E 2.75(sA)-.605 G(ckno)-2.75 E
(wledgement)-.275 E(Number need not ha)100.8 701.2 Q .33 -.165(ve b)-.22
H(een ackno).165 E 2.75(wledgeable. Thus,)-.275 F(recei)2.75 E -.165(ve)
-.275 G(rs MUST NO).165 E 2.75(Ta)-.44 G(ssume that a)-2.75 E(pack)100.8
714.2 Q(et w)-.11 E(as processed simply because it appears in the Ackno)
-.11 E(wledgement Number \214eld of)-.275 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(5.7. [P)
2.75 F(age 26])-.165 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 2.75
(aD)100.8 85 S(CCP-Sync pack)-2.75 E 2.75(et. This)-.11 F(dif)2.75 E
(fers from all other pack)-.275 E(et types, where the)-.11 E(Ackno)100.8
98 Q(wledgement Number by de\214nition corresponds to an ackno)-.275 E
(wledgeable pack)-.275 E(et.)-.11 E(Second, the Ackno)100.8 111 Q
(wledgement Number on an)-.275 E 2.75(yD)-.165 G(CCP-SyncAck pack)-2.75
E(et MUST correspond)-.11 E(to the Sequence Number on an ackno)100.8 124
Q(wledgeable DCCP-Sync pack)-.275 E 2.75(et. In)-.11 F(the presence of)
2.75 E(reordering, this might not equal GSR.)100.8 137 Q
(As with DCCP-Ack pack)100.8 153.6 Q
(ets, DCCP-Sync and DCCP-SyncAck pack)-.11 E(ets MA)-.11 E 2.75(Yh)
-1.155 G -2.475 -.22(av e)-2.75 H(non-)2.97 E
(zero-length application data areas, whose contents recei)100.8 166.6 Q
-.165(ve)-.275 G(rs MUST ignore.).165 E -.165(Pa)5.5 G(dded DCCP-).165 E
(Sync pack)100.8 179.6 Q(ets may be useful when performing P)-.11 E
(ath MTU disco)-.165 E -.165(ve)-.165 G(ry; see Section 14.).165 E/F1 11
/Times-Bold@0 SF(5.8.)72 205.6 Q/F2 13/Times-Bold@0 SF(Options)5.5 E F0
(An)100.8 222.2 Q 2.75(yD)-.165 G(CCP pack)-2.75 E
(et may contain options, which occup)-.11 E 2.75(ys)-.11 G
(pace at the end of the DCCP)-2.75 E(header)100.8 235.2 Q 5.5(.E)-.605 G
(ach option is a multiple of 8 bits in length.)-5.5 E(Indi)5.5 E
(vidual options are not padded to)-.275 E(multiples of 32 bits, and an)
100.8 248.2 Q 2.75(yo)-.165 G(ption may be)-2.75 E(gin on an)-.165 E
2.75(yb)-.165 G(yte boundary)-2.75 E 5.5(.H)-.715 G -.275(ow)-5.5 G
-2.365 -.275(ev e).275 H .88 -.44(r, t).275 H(he).44 E
(combination of all options MUST add up to a multiple of 32 bits; P)
100.8 261.2 Q(adding options MUST)-.165 E
(be added as necessary to \214ll out option space to a w)100.8 274.2 Q
(ord boundary)-.11 E 5.5(.A)-.715 G .33 -.165(ny o)-5.5 H
(ptions present are).165 E(included in the header checksum.)100.8 287.2
Q(The \214rst byte of an option is the option type.)100.8 303.8 Q
(Options with types 0 through 31 are single-)5.5 E(byte options.)100.8
316.8 Q(Other options are follo)5.5 E
(wed by a byte indicating the option')-.275 E 2.75(sl)-.605 G 2.75
(ength. This)-2.75 F(length v)100.8 329.8 Q(alue includes the tw)-.275 E
2.75(ob)-.11 G(ytes of option-type and option-length as well as an)-2.75
E 2.75(yo)-.165 G(ption-)-2.75 E
(data bytes, and must therefore be greater than or equal to tw)100.8
342.8 Q(o.)-.11 E(Options are processed sequentially)100.8 359.4 Q 2.75
(,s)-.715 G(tarting at the \214rst option in the pack)-2.75 E(et header)
-.11 E 5.5(.O)-.605 G(ptions)-5.5 E(with unkno)100.8 372.4 Q
(wn types MUST be ignored.)-.275 E
(Also, options with nonsensical lengths \(length)5.5 E
(byte less than tw)100.8 385.4 Q 2.75(oo)-.11 G 2.75(rm)-2.75 G
(ore than the remaining space in the options portion of the header\))
-2.75 E(MUST be ignored, and an)100.8 398.4 Q 2.75(yo)-.165 G
(ption space follo)-2.75 E(wing an option with nonsensical length)-.275
E(MUST lik)100.8 411.4 Q -.275(ew)-.11 G(ise be ignored.).275 E
(The follo)100.8 428 Q(wing options are currently de\214ned:)-.275 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(5.8. [P)2.75 F(age 27])-.165 E 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 171.6(Option DCCP-)173.4 85 R(Section)13.2 E 19.8
(Type Length)120.6 98 R 92.4(Meaning Data?)33 F(Reference)13.2 E 19.8
(---- ------)120.6 111 R 92.4(------- -----)33 F(---------)13.2 E 52.8
(01)133.8 124 S 105.6(Padding Y)-6.6 F(5.8.1)39.6 E 52.8(11)133.8 137 S
92.4(Mandatory N)-6.6 F(5.8.2)39.6 E 52.8(21)133.8 150 S(Slow Receiver)
-6.6 E 39.6(Y1)72.6 G(1.6)-39.6 E 39.6(3-31 1 Reserved)120.6 163 R 26.4
(32 variable)127.2 176 R(Change L)19.8 E 39.6(N6)105.6 G(.1)-39.6 E 26.4
(33 variable)127.2 189 R(Confirm L)19.8 E 39.6(N6)99 G(.2)-39.6 E 26.4
(34 variable)127.2 202 R(Change R)19.8 E 39.6(N6)105.6 G(.1)-39.6 E 26.4
(35 variable)127.2 215 R(Confirm R)19.8 E 39.6(N6)99 G(.2)-39.6 E 26.4
(36 variable)127.2 228 R(Init Cookie)19.8 E 39.6(N8)85.8 G(.1.4)-39.6 E
39.6(37 3-5)127.2 241 R(NDP Count)39.6 E 39.6(Y7)99 G(.7)-39.6 E 26.4
(38 variable)127.2 254 R(Ack Vector [Nonce 0])19.8 E 39.6(N1)26.4 G(1.4)
-39.6 E 26.4(39 variable)127.2 267 R(Ack Vector [Nonce 1])19.8 E 39.6
(N1)26.4 G(1.4)-39.6 E 26.4(40 variable)127.2 280 R(Data Dropped)19.8 E
39.6(N1)79.2 G(1.7)-39.6 E 46.2(41 6)127.2 293 R 92.4(Timestamp Y)46.2 F
(13.1)39.6 E 33(42 6/8/10)127.2 306 R(Timestamp Echo)26.4 E 39.6(Y1)66 G
(3.3)-39.6 E 39.6(43 4/6)127.2 319 R(Elapsed Time)39.6 E 39.6(N1)79.2 G
(3.2)-39.6 E 46.2(44 6)127.2 332 R(Data Checksum)46.2 E 39.6(Y9)72.6 G
(.3)-39.6 E 6.6(45-127 variable)120.6 345 R(Reserved)19.8 E 6.6
(128-255 variable)114 358 R(CCID-specific options)19.8 E 39.6(-1)19.8 G
(0.3)-39.6 E(Table 3: DCCP Options)232.8 384 Q F0
(Not all options are suitable for all pack)100.8 403 Q(et types.)-.11 E
-.165(Fo)5.5 G 2.75(re).165 G(xample, since the Ack V)-2.915 E
(ector option)-1.221 E(is interpreted relati)100.8 416 Q .33 -.165(ve t)
-.275 H 2.75(ot).165 G(he Ackno)-2.75 E(wledgement Number)-.275 E 2.75
(,i)-.44 G 2.75(ti)-2.75 G(sn')-2.75 E 2.75(ts)-.198 G
(uitable on DCCP-Request)-2.75 E(and DCCP-Data pack)100.8 429 Q
(ets, which ha)-.11 E .33 -.165(ve n)-.22 H 2.75(oA).165 G(ckno)-2.75 E
(wledgement Number)-.275 E 5.5(.I)-.605 G 2.75(fa)-5.5 G 2.75(no)-2.75 G
(ption occurs)-2.75 E(on an une)100.8 442 Q(xpected pack)-.165 E
(et type, it MUST generally be ignored; an)-.11 E 2.75(ys)-.165 G
(uch restrictions are)-2.75 E(mentioned in each option')100.8 455 Q 2.75
(sd)-.605 G 2.75(escription. The)-2.75 F
(table summarizes the most common)2.75 E
(restriction: when the DCCP-Data? column v)100.8 468 Q
(alue is N, the corresponding option MUST be)-.275 E(ignored when recei)
100.8 481 Q -.165(ve)-.275 G 2.75(do).165 G 2.75(naD)-2.75 G
(CCP-Data pack)-2.75 E 2.75(et. \(Section)-.11 F(7.5.5 describes wh)2.75
E 2.75(ys)-.055 G(uch options)-2.75 E(are ignored as opposed to, say)
100.8 494 Q 2.75(,c)-.715 G(ausing a reset.\))-2.75 E(Options with in)
100.8 510.6 Q -.275(va)-.44 G(lid v).275 E
(alues MUST be ignored unless otherwise speci\214ed.)-.275 E -.165(Fo)
5.5 G 2.75(re).165 G(xample,)-2.915 E(an)100.8 523.6 Q 2.75(yD)-.165 G
(ata Checksum option with option length 4 MUST be ignored, since all v)
-2.75 E(alid Data)-.275 E(Checksum options ha)100.8 536.6 Q .33 -.165
(ve o)-.22 H(ption length 6.).165 E(This section describes tw)100.8
553.2 Q 2.75(og)-.11 G(eneric options, P)-2.75 E(adding and Mandatory)
-.165 E 5.5(.O)-.715 G(ther options are)-5.5 E(described later)100.8
566.2 Q(.)-.605 E/F2 11/Times-Bold@0 SF 2.75(5.8.1. P)72 592.2 R
(adding Option)-.11 E F1(+--------+)100.8 611.2 Q(|00000000|)100.8 624.2
Q(+--------+)100.8 637.2 Q(Type=0)114 650.2 Q F0 -.165(Pa)100.8 669.2 S
(dding is a single-byte "no-operation" option used to pad between or af\
ter options.).165 E(If the)5.5 E(length of a pack)100.8 682.2 Q(et')-.11
E 2.75(so)-.605 G(ther options is not a multiple of 32 bits, then P)
-2.75 E(adding options are)-.165 E(REQ)100.8 695.2 Q
(UIRED to pad out the options area to the length implied by Data Of)-.11
E 2.75(fset. P)-.275 F(adding may)-.165 E
(also be used between options -- for e)100.8 708.2 Q
(xample, to align the be)-.165 E(ginning of a subsequent option)-.165 E
(on a 32-bit boundary)100.8 721.2 Q 5.5(.T)-.715 G
(here is no guarantee that senders will use this option, so recei)-5.5 E
-.165(ve)-.275 G(rs).165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 222.01(yd Section)-.11 F 2.75(5.8.1. [P)2.75 F(age 28])-.165 E 0
Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(must be prepared to process options e)100.8 85 Q -.165(ve)-.275 G 2.75
(ni).165 G 2.75(ft)-2.75 G(he)-2.75 E 2.75(yd)-.165 G 2.75(on)-2.75 G
(ot be)-2.75 E(gin on a w)-.165 E(ord boundary)-.11 E(.)-.715 E/F1 11
/Times-Bold@0 SF 2.75(5.8.2. Mandatory)72 111 R(Option)2.75 E/F2 11
/Courier@0 SF(+--------+)100.8 130 Q(|00000001|)100.8 143 Q(+--------+)
100.8 156 Q(Type=1)114 169 Q F0
(Mandatory is a single-byte option that marks the immediately follo)
100.8 188 Q(wing option as)-.275 E(mandatory)100.8 201 Q 5.5(.S)-.715 G
(ay that the immediately follo)-5.5 E(wing option is O.)-.275 E
(Then the Mandatory option)5.5 E(has no ef)100.8 214 Q
(fect if the recei)-.275 E
(ving DCCP endpoint understands and processes O.)-.275 E
(If the endpoint)5.5 E(does not understand or process O, ho)100.8 227 Q
(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(hen it MUST reset the connection using Reset).44 E
(Code 6, "Mandatory F)100.8 240 Q 2.75(ailure". F)-.165 F
(or instance, the endpoint w)-.165 E(ould reset the connection if it)
-.11 E(did not understand O')100.8 253 Q 2.75(st)-.605 G
(ype; if it understood O')-2.75 E 2.75(st)-.605 G(ype, b)-2.75 E
(ut not O')-.22 E 2.75(sd)-.605 G(ata; if O')-2.75 E 2.75(sd)-.605 G
(ata w)-2.75 E(as)-.11 E(in)100.8 266 Q -.275(va)-.44 G(lid for O').275
E 2.75(st)-.605 G(ype; if O w)-2.75 E(as a feature ne)-.11 E
(gotiation option, and the endpoint did not)-.165 E(understand the encl\
osed feature number; if the endpoint understood O, b)100.8 279 Q
(ut chose not to)-.22 E(perform the action O implies; and so forth.)
100.8 292 Q(Mandatory options MUST NO)100.8 308.6 Q 2.75(Tb)-.44 G 2.75
(es)-2.75 G(ent on DCCP-Data pack)-2.75 E(ets, and an)-.11 E 2.75(yM)
-.165 G(andatory)-2.75 E(options recei)100.8 321.6 Q -.165(ve)-.275 G
2.75(do).165 G 2.75(nD)-2.75 G(CCP-Data pack)-2.75 E
(ets MUST be ignored.)-.11 E(The connection is in error and should be r\
eset with Reset Code 5, "Option Error" if option)100.8 338.2 Q 2.75(Oi)
100.8 351.2 S 2.75(sa)-2.75 G(bsent \(Mandatory w)-2.75 E
(as the last byte of the option list\), or if option O equals)-.11 E
(Mandatory)100.8 364.2 Q 5.5(.H)-.715 G -.275(ow)-5.5 G -2.365 -.275
(ev e).275 H .88 -.44(r, t).275 H(he combination "Mandatory P).44 E
(adding" is v)-.165 E(alid, and MUST beha)-.275 E -.165(ve)-.22 G(lik)
100.8 377.2 Q 2.75(et)-.11 G .22 -.11(wo b)-2.75 H(ytes of P).11 E
(adding.)-.165 E(Section 6.6.9 describes the beha)100.8 393.8 Q
(vior of Mandatory feature ne)-.22 E(gotiation options in more)-.165 E
(detail.)100.8 406.8 Q F1(6.)72 432.8 Q/F3 14/Times-Bold@0 SF -.35(Fe)
5.5 G(atur).35 E 3.5(eN)-.252 G(egotiation)-3.5 E F0 -.165(Fo)100.8
449.4 S(ur DCCP options, Change L, Con\214rm L, Change R, and Con\214rm\
 R, are used to).165 E(ne)100.8 462.4 Q(gotiate feature v)-.165 E 2.75
(alues. Change)-.275 F(options initiate a ne)2.75 E
(gotiation; Con\214rm options complete)-.165 E(that ne)100.8 475.4 Q
2.75(gotiation. The)-.165 F
("L" options are sent by the feature location, and the "R" options are)
2.75 E(sent by the feature remote.)100.8 488.4 Q
(Change options are retransmitted to ensure reliability)5.5 E(.)-.715 E
(All these options ha)100.8 505 Q .33 -.165(ve t)-.22 H(he same format.)
.165 E(The \214rst byte of option data is the feature number)5.5 E(,)
-.44 E
(and the second and subsequent data bytes hold one or more feature v)
100.8 518 Q 2.75(alues. The)-.275 F -.165(ex)2.75 G(act).165 E
(format of the feature v)100.8 531 Q
(alue area depends on the feature type; see Section 6.3.)-.275 E F2
(+--------+--------+--------+--------+--------)100.8 550 Q 13.2(|T)100.8
563 S 6.6(ype |)-13.2 F(Length |Feature#| Value\(s\) ...)6.6 E
(+--------+--------+--------+--------+--------)100.8 576 Q F0 -.88(To)
100.8 595 S(gether).88 E 2.75(,t)-.44 G(he feature number and the optio\
n type \("L" or "R"\) uniquely identify the feature)-2.75 E
(to which an option applies.)100.8 608 Q(The e)5.5 E
(xact format of the V)-.165 E(alue\(s\) area depends on the feature)
-1.221 E(number)100.8 621 Q(.)-.605 E(Feature ne)100.8 637.6 Q
(gotiation options MUST NO)-.165 E 2.75(Tb)-.44 G 2.75(es)-2.75 G
(ent on DCCP-Data pack)-2.75 E(ets, and an)-.11 E 2.75(yf)-.165 G
(eature)-2.75 E(ne)100.8 650.6 Q(gotiation options recei)-.165 E -.165
(ve)-.275 G 2.75(do).165 G 2.75(nD)-2.75 G(CCP-Data pack)-2.75 E
(ets MUST be ignored.)-.11 E F1(6.1.)72 676.6 Q/F4 13/Times-Bold@0 SF
(Change Options)5.5 E F0
(Change L and Change R options initiate feature ne)100.8 693.2 Q 2.75
(gotiation. The)-.165 F(option to use depends on)2.75 E(the rele)100.8
706.2 Q -.275(va)-.275 G(nt feature').275 E 2.75(sl)-.605 G(ocation: T)
-2.75 E 2.75(os)-.88 G(tart a ne)-2.75 E
(gotiation for feature F/A, DCCP A will send a)-.165 E
(Change L option; to start a ne)100.8 719.2 Q
(gotiation for F/B, it will send a Change R option.)-.165 E(Change)5.5 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(6.1. [P)2.75 F(age 29])-.165 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(options are retransmitted until some response is recei)100.8 85 Q -.165
(ve)-.275 G 2.75(d. The).165 F 2.75(yc)-.165 G(ontain at least one V)
-2.75 E(alue,)-1.221 E(and thus ha)100.8 98 Q .33 -.165(ve l)-.22 H
(ength at least 4.).165 E/F1 11/Courier@0 SF
(+--------+--------+--------+--------+--------)173.4 117 Q(Change L:)
100.8 130 Q(|00100000| Length |Feature#| Value\(s\) ...)13.2 E
(+--------+--------+--------+--------+--------)173.4 143 Q(Type=32)180
156 Q(+--------+--------+--------+--------+--------)173.4 182 Q
(Change R:)100.8 195 Q(|00100010| Length |Feature#| Value\(s\) ...)13.2
E(+--------+--------+--------+--------+--------)173.4 208 Q(Type=34)180
221 Q/F2 11/Times-Bold@0 SF(6.2.)72 253 Q/F3 13/Times-Bold@0 SF
(Con\214rm Options)5.5 E F0
(Con\214rm L and Con\214rm R options complete feature ne)100.8 269.6 Q
(gotiation, and are sent in response to)-.165 E
(Change R and Change L options, respecti)100.8 282.6 Q -.165(ve)-.275 G
(ly).165 E 5.5(.C)-.715 G(on\214rm options MUST NO)-5.5 E 2.75(Tb)-.44 G
2.75(eg)-2.75 G(enerated)-2.75 E -.165(ex)100.8 295.6 S
(cept in response to Change options.).165 E
(Con\214rm options need not be retransmitted, since)5.5 E
(Change options are retransmitted as necessary)100.8 308.6 Q 5.5(.T)
-.715 G(he \214rst byte of the Con\214rm option)-5.5 E
(contains the feature number from the corresponding Change.)100.8 321.6
Q -.165(Fo)5.5 G(llo).165 E(wing this is the selected)-.275 E -1.221(Va)
100.8 334.6 S(lue, and then possibly the sender')1.221 E 2.75(sp)-.605 G
(reference list.)-2.75 E F1
(+--------+--------+--------+--------+--------)173.4 353.6 Q
(Confirm L: |00100001| Length |Feature#| Value\(s\) ...)100.8 366.6 Q
(+--------+--------+--------+--------+--------)173.4 379.6 Q(Type=33)180
392.6 Q(+--------+--------+--------+--------+--------)173.4 418.6 Q
(Confirm R: |00100011| Length |Feature#| Value\(s\) ...)100.8 431.6 Q
(+--------+--------+--------+--------+--------)173.4 444.6 Q(Type=35)180
457.6 Q F0(If an endpoint recei)100.8 476.6 Q -.165(ve)-.275 G 2.75(sa)
.165 G 2.75(ni)-2.75 G -2.145 -.44(nv a)-2.75 H
(lid Change option -- with an unkno).44 E(wn feature number)-.275 E 2.75
(,o)-.44 G 2.75(ra)-2.75 G(n)-2.75 E(in)100.8 489.6 Q -.275(va)-.44 G
(lid v).275 E(alue -- it will respond with an empty Con\214rm option co\
ntaining the problematic)-.275 E(feature number)100.8 502.6 Q 2.75(,b)
-.44 G(ut no v)-2.97 E 2.75(alue. Such)-.275 F(options ha)2.75 E .33
-.165(ve l)-.22 H(ength 3.).165 E F2(6.3.)72 528.6 Q F3
(Reconciliation Rules)5.5 E F0(Reconciliation rules determine ho)100.8
545.2 Q 2.75(wt)-.275 G(he tw)-2.75 E 2.75(os)-.11 G
(ets of preferences for a gi)-2.75 E -.165(ve)-.275 G 2.75(nf).165 G
(eature are)-2.75 E(resolv)100.8 558.2 Q(ed into a unique result.)-.165
E(The reconciliation rule depends only on the feature number)5.5 E(.)
-.605 E(Each reconciliation rule must ha)100.8 571.2 Q .33 -.165(ve t)
-.22 H(he property that the result is uniquely determined gi).165 E
-.165(ve)-.275 G(n).165 E(the contents of Change options sent by the tw)
100.8 584.2 Q 2.75(oe)-.11 G(ndpoints.)-2.75 E
(All current DCCP features use one of tw)100.8 600.8 Q 2.75(or)-.11 G
(econciliation rules, serv)-2.75 E(er)-.165 E(-priority \("SP"\) and)
-.22 E(non-ne)100.8 613.8 Q(gotiable \("NN"\).)-.165 E F2 2.75
(6.3.1. Ser)72 639.8 R -.11(ve)-.11 G -.407(r-).11 G(Priority).407 E F0
(The feature v)100.8 656.4 Q(alue is a \214x)-.275 E
(ed-length byte string \(length determined by the feature number\).)
-.165 E(Each Change option contains a list of v)100.8 669.4 Q
(alues ordered by preference, with the most preferred)-.275 E -.275(va)
100.8 682.4 S(lue coming \214rst.).275 E
(Each Con\214rm option contains the con\214rmed v)5.5 E(alue, follo)
-.275 E(wed by the)-.275 E(con\214rmer')100.8 695.4 Q 2.75(sp)-.605 G
(reference list.)-2.75 E(Thus, the feature')5.5 E 2.75(sc)-.605 G
(urrent v)-2.75 E(alue will generally appear twice in)-.275 E
(Con\214rm options' data, once as the current v)100.8 708.4 Q
(alue and once in the con\214rmer')-.275 E 2.75(sp)-.605 G
(reference list.)-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 222.01(yd Section)-.11 F 2.75(6.3.1. [P)2.75 F(age 30])-.165 E 0
Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 1.76
-.88(To r)100.8 85 T
(econcile the preference lists, select the \214rst entry in the serv).88
E(er')-.165 E 2.75(sl)-.605 G(ist that also occurs in)-2.75 E
(the client')100.8 98 Q 2.75(sl)-.605 G 2.75(ist. If)-2.75 F
(there is no shared entry)2.75 E 2.75(,t)-.715 G(he feature')-2.75 E
2.75(sv)-.605 G(alue MUST NO)-3.025 E 2.75(Tc)-.44 G(hange, and the)
-2.75 E(Con\214rm option will con\214rm the feature')100.8 111 Q 2.75
(sp)-.605 G(re)-2.75 E(vious v)-.275 E
(alue \(unless the Change option w)-.275 E(as)-.11 E
(Mandatory; see Section 6.6.9\).)100.8 124 Q/F1 11/Times-Bold@0 SF 2.75
(6.3.2. Non-Negotiable)72 150 R F0(The feature v)100.8 166.6 Q
(alue is a byte string.)-.275 E(Each option contains e)5.5 E
(xactly one feature v)-.165 E 2.75(alue. The)-.275 F
(feature location signals a ne)100.8 179.6 Q 2.75(wv)-.275 G
(alue by sending a Change L option.)-3.025 E(The feature remote)5.5 E
(MUST accept an)100.8 192.6 Q 2.75(yv)-.165 G(alid v)-3.025 E
(alue, responding with a Con\214rm R option containing the ne)-.275 E(w)
-.275 E -.275(va)100.8 205.6 S
(lue, and it MUST send empty Con\214rm R options in response to in).275
E -.275(va)-.44 G(lid v).275 E(alues \(unless the)-.275 E
(Change L option w)100.8 218.6 Q(as Mandatory; see Section 6.6.9\).)-.11
E(Change R and Con\214rm L options)5.5 E(MUST NO)100.8 231.6 Q 2.75(Tb)
-.44 G 2.75(es)-2.75 G(ent for non-ne)-2.75 E
(gotiable features; see Section 6.6.8.)-.165 E(Non-ne)5.5 E(gotiable)
-.165 E(features use the feature ne)100.8 244.6 Q
(gotiation mechanism to achie)-.165 E .33 -.165(ve r)-.275 H(eliability)
.165 E(.)-.715 E F1(6.4.)72 270.6 Q/F2 13/Times-Bold@0 SF -.325(Fe)5.5 G
(atur).325 E 3.25(eN)-.234 G(umbers)-3.25 E F0
(This document de\214nes the follo)100.8 287.2 Q(wing feature numbers.)
-.275 E/F3 11/Courier@0 SF(Rec'n Initial)358.2 306.2 Q(Section)52.8 E
13.2(Number Meaning)100.8 319.2 R 13.2(Rule Value)151.8 F
(Req'd Reference)13.2 E 13.2(------ -------)100.8 332.2 R 6.6
(----- ----- -----)151.8 F(---------)6.6 E 33(0R)120.6 345.2 S(eserved)
-33 E 33(1C)120.6 358.2 S(ongestion Control ID \(CCID\))-33 E 33(SP 2 Y)
19.8 F(10)33 E 33(2A)120.6 371.2 S(llow Short Seqnos)-33 E 33(SP 1 Y)
85.8 F(7.6.1)33 E 33(3S)120.6 384.2 S(equence Window)-33 E 26.4
(NN 100 Y 7.5.2)105.6 F 33(4E)120.6 397.2 S(CN Incapable)-33 E 33
(SP 0 N)118.8 F(12.1)33 E 33(5A)120.6 410.2 S(ck Ratio)-33 E 33(NN 2 N)
145.2 F(11.3)33 E 33(6S)120.6 423.2 S(end Ack Vector)-33 E 33(SP 0 N)
105.6 F(11.5)33 E 33(7S)120.6 436.2 S(end NDP Count)-33 E 33(SP 0 N)
112.2 F(7.7.2)33 E 33(8M)120.6 449.2 S(inimum Checksum Coverage)-33 E 33
(SP 0 N)39.6 F(9.2.1)33 E 33(9C)120.6 462.2 S(heck Data Checksum)-33 E
33(SP 0 N)79.2 F(9.3.1)33 E 6.6(10-127 Reserved)107.4 475.2 R 6.6
(128-255 CCID-specific)100.8 488.2 R 191.4(features 10.3)6.6 F
(Table 4: DCCP Feature Numbers)226.2 514.2 Q F1(Rec'n Rule)100.8 536.8 Q
F0(The reconciliation rule used for the feature.)30.261 E(SP is serv)5.5
E(er)-.165 E(-priority and)-.22 E(NN is non-ne)183.3 549.8 Q(gotiable.)
-.165 E F1(Initial V)100.8 566.4 Q(alue)-1.012 E F0(The initial v)24.53
E(alue for the feature.)-.275 E(Ev)5.5 E(ery feature has a kno)-.165 E
(wn initial v)-.275 E(alue.)-.275 E F1(Req')100.8 583 Q(d)-.22 E F0
(This column is "Y" if and only if e)53.999 E -.165(ve)-.275 G
(ry DCCP implementation MUST).165 E(understand the feature.)183.3 596 Q
(If it is "N", then the feature beha)5.5 E -.165(ve)-.22 G 2.75(sl).165
G(ik)-2.75 E 2.75(ea)-.11 G(n)-2.75 E -.165(ex)183.3 609 S(tension \(se\
e Section 15\), and it is safe to respond to Change options).165 E
(for the feature with empty Con\214rm options.)183.3 622 Q
(Of course, a CCID might)5.5 E
(require the feature; a DCCP that implements CCID 2 MUST support)183.3
635 Q(Ack Ratio and Send Ack V)183.3 648 Q(ector)-1.221 E 2.75(,f)-.44 G
(or e)-2.75 E(xample.)-.165 E F1(6.5.)72 674 Q F2 -.325(Fe)5.5 G(atur)
.325 E 3.25(eN)-.234 G(egotiation Examples)-3.25 E F0(Here are three e)
100.8 687 Q(xample feature ne)-.165 E
(gotiations for features located at the serv)-.165 E(er)-.165 E 2.75(,t)
-.44 G(he \214rst tw)-2.75 E(o)-.11 E
(for the Congestion Control ID feature, the last for the Ack Ratio.)
100.8 700 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(6.5. [P)2.75 F(age 31])-.165 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 132(Client Server)180 85 R 132(------ ------)180 98 R
(1. Change R\(CCID, 2 3 1\))107.4 111 Q(-->)13.2 E
(\("2 3 1" is client's preference list\))127.2 124 Q 151.8(2. <--)107.4
137 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E(\(3 is the negotiated value;)
272.4 150 Q("3 2 1" is server's pref list\))272.4 163 Q 6.6(*a)186.6 176
S(greement that CCID/Server = 3 *)-6.6 E 118.8(1. XXX)107.4 201 R 6.6
(<-- Change)13.2 F(L\(CCID, 3 2 1\))6.6 E 184.8(2. Retransmission:)107.4
214 R 6.6(<-- Change)279 227 R(L\(CCID, 3 2 1\))6.6 E
(3. Confirm R\(CCID, 3, 2 3 1\))107.4 240 Q(-->)13.2 E 6.6(*a)186.6 253
S(greement that CCID/Server = 3 *)-6.6 E 151.8(1. <--)107.4 278 R
(Change L\(Ack Ratio, 3\))13.2 E(2. Confirm R\(Ack Ratio, 3\))107.4 291
Q(-->)13.2 E 6.6(*a)166.8 304 S(greement that Ack Ratio/Server = 3 *)
-6.6 E F0(This e)100.8 323 Q(xample sho)-.165 E(ws a simultaneous ne)
-.275 E(gotiation.)-.165 E F1 132(Client Server)180 342 R 132
(------ ------)180 355 R(1a. Change R\(CCID, 2 3 1\))100.8 368 Q(-->)
13.2 E 151.8(b. <--)107.4 381 R(Change L\(CCID, 3 2 1\))13.2 E 151.8
(2a. <--)100.8 394 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E
(b. Confirm R\(CCID, 3, 2 3 1\))107.4 407 Q(-->)13.2 E 6.6(*a)186.6 420
S(greement that CCID/Server = 3 *)-6.6 E F0
(Here are the byte encodings of se)100.8 439 Q -.165(ve)-.275 G
(ral Change and Con\214rm options.).165 E(Each option is sent by)5.5 E
(DCCP A.)100.8 452 Q/F2 11/Times-Bold@0 SF
(Change L\(CCID, 2 3\) = 32,5,1,2,3)100.8 468.6 Q F0
(DCCP B should change CCID/A)129.6 481.6 Q 1.21 -.605('s v)-1.221 H
(alue \(feature number 1, a serv).33 E(er)-.165 E(-priority)-.22 E
(feature\); DCCP A)129.6 494.6 Q 1.21 -.605('s p)-1.221 H(referred v)
.605 E(alues are 2 and 3, in that preference order)-.275 E(.)-.605 E F2
(Change L\(Sequence W)100.8 511.2 Q(indo)-.198 E 1.21 -.605(w, 1)-.11 H
(024\) = 32,9,3,0,0,0,0,4,0).605 E F0(DCCP B should change Sequence W)
129.6 524.2 Q(indo)-.44 E(w/A)-.275 E 1.21 -.605('s v)-1.221 H
(alue \(feature number 3, a non-).33 E(ne)129.6 537.2 Q
(gotiable feature\) to the 6-byte string 0,0,0,0,4,0 \(the v)-.165 E
(alue 1024\).)-.275 E F2(Con\214rm L\(CCID, 2, 2 3\) = 33,6,1,2,2,3)
100.8 553.8 Q F0(DCCP A has changed CCID/A)129.6 566.8 Q 1.21 -.605
('s v)-1.221 H(alue to 2; its preferred v).33 E
(alues are 2 and 3, in that)-.275 E(preference order)129.6 579.8 Q(.)
-.605 E F2(Empty Con\214rm L\(126\) = 33,3,126)100.8 596.4 Q F0
(DCCP A doesn')129.6 609.4 Q 2.75(ti)-.198 G
(mplement feature number 126, or DCCP B')-2.75 E 2.75(sp)-.605 G
(roposed v)-2.75 E(alue for)-.275 E(feature 126/A w)129.6 622.4 Q(as in)
-.11 E -.275(va)-.44 G(lid.).275 E F2
(Change R\(CCID, 3 2\) = 34,5,1,3,2)100.8 639 Q F0
(DCCP B should change CCID/B')129.6 652 Q 2.75(sv)-.605 G(alue; DCCP A)
-3.025 E 1.21 -.605('s p)-1.221 H(referred v).605 E
(alues are 3 and 2, in)-.275 E(that preference order)129.6 665 Q(.)-.605
E F2(Con\214rm R\(CCID, 2, 3 2\) = 35,6,1,2,3,2)100.8 681.6 Q F0
(DCCP A has changed CCID/B')129.6 694.6 Q 2.75(sv)-.605 G
(alue to 2; its preferred v)-3.025 E(alues were 3 and 2, in that)-.275 E
(preference order)129.6 707.6 Q(.)-.605 E -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(6.5. [P)2.75 F
(age 32])-.165 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(Con\214rm R\(Sequence W)100.8 85 Q(indo)-.198 E 1.21
-.605(w, 1)-.11 H(024\) = 35,9,3,0,0,0,0,4,0).605 E F0
(DCCP A has changed Sequence W)129.6 98 Q(indo)-.44 E(w/B')-.275 E 2.75
(sv)-.605 G(alue to the 6-byte string 0,0,0,0,4,0)-3.025 E(\(the v)129.6
111 Q(alue 1024\).)-.275 E F1(Empty Con\214rm R\(126\) = 35,3,126)100.8
127.6 Q F0(DCCP A doesn')129.6 140.6 Q 2.75(ti)-.198 G
(mplement feature number 126, or DCCP B')-2.75 E 2.75(sp)-.605 G
(roposed v)-2.75 E(alue for)-.275 E(feature 126/B w)129.6 153.6 Q(as in)
-.11 E -.275(va)-.44 G(lid.).275 E F1(6.6.)72 179.6 Q/F2 13/Times-Bold@0
SF(Option Exchange)5.5 E F0 2.75(Af)100.8 196.2 S .55 -.275(ew b)-2.75 H
(asic rules go).275 E -.165(ve)-.165 G(rn feature ne).165 E
(gotiation option e)-.165 E(xchange.)-.165 E 11(1. Ev)100.8 212.8 R
(ery non-reordered Change option gets a Con\214rm option in response.)
-.165 E 11(2. Change)100.8 229.4 R(options are retransmitted until a re\
sponse for the latest Change is recei)2.75 E -.165(ve)-.275 G(d.).165 E
11(3. Feature)100.8 246 R(ne)2.75 E(gotiation options are processed in \
strictly increasing order by Sequence)-.165 E(Number)122.8 259 Q(.)-.605
E(The rest of this section describes the consequences of these rules in\
 more detail.)100.8 275.6 Q F1 2.75(6.6.1. Normal)72 301.6 R(Exchange)
2.75 E F0(Change options are generated when a DCCP endpoint w)100.8
318.2 Q(ants to change the v)-.11 E(alue of some)-.275 E 2.75
(feature. Generally)100.8 331.2 R 2.75(,t)-.715 G
(his will happen at the be)-2.75 E
(ginning of a connection, although it may)-.165 E(happen at an)100.8
344.2 Q 2.75(yt)-.165 G 2.75(ime. W)-2.75 F 2.75(es)-.88 G
(ay the endpoint "generates" or "sends" a Change L or Change R)-2.75 E
(option, b)100.8 357.2 Q
(ut of course the option must be attached to a pack)-.22 E 2.75(et. The)
-.11 F(endpoint may attach the)2.75 E(option to a pack)100.8 370.2 Q
(et it w)-.11 E(ould ha)-.11 E .33 -.165(ve g)-.22 H(enerated an).165 E
(yw)-.165 E(ay \(such as a DCCP-Request\), or it may)-.11 E
(create a "feature ne)100.8 383.2 Q(gotiation pack)-.165 E
(et", often a DCCP-Ack or DCCP-Sync, just to carry the)-.11 E 2.75
(option. Feature)100.8 396.2 R(ne)2.75 E(gotiation pack)-.165 E
(ets are controlled by the rele)-.11 E -.275(va)-.275 G
(nt congestion control).275 E 2.75(mechanism. F)100.8 409.2 R(or e)-.165
E(xample, DCCP A may send a DCCP-Ack or DCCP-Sync for feature)-.165 E
(ne)100.8 422.2 Q(gotiation only if the B-to-A CCID w)-.165 E(ould allo)
-.11 E 2.75(ws)-.275 G(ending a DCCP-Ack.)-2.75 E(In addition, an)5.5 E
(endpoint SHOULD generate at most one feature ne)100.8 435.2 Q
(gotiation pack)-.165 E(et per round-trip time.)-.11 E(On recei)100.8
451.8 Q(ving a Change L or Change R option, a DCCP endpoint e)-.275 E
(xamines the included)-.165 E
(preference list, reconciles that with its o)100.8 464.8 Q
(wn preference list, calculates the ne)-.275 E 2.75(wv)-.275 G
(alue, and)-3.025 E
(sends back a Con\214rm R or Con\214rm L option, respecti)100.8 477.8 Q
-.165(ve)-.275 G(ly).165 E 2.75(,i)-.715 G(nforming its peer of the ne)
-2.75 E(w)-.275 E -.275(va)100.8 490.8 S(lue or that the feature w).275
E(as not understood.)-.11 E(Ev)5.5 E
(ery non-reordered Change option MUST)-.165 E
(result in a corresponding Con\214rm option, and an)100.8 503.8 Q 2.75
(yp)-.165 G(ack)-2.75 E(et including a Con\214rm option)-.11 E
(MUST carry an Ackno)100.8 516.8 Q(wledgement Number)-.275 E 5.5(.\()
-.605 G(Section 6.6.4 describes ho)-5.5 E 2.75(wC)-.275 G(hange)-2.75 E
(reordering is detected and handled.\))100.8 529.8 Q
(Generated Con\214rm options may be attached to)5.5 E(pack)100.8 542.8 Q
(ets that w)-.11 E(ould ha)-.11 E .33 -.165(ve b)-.22 H(een sent an).165
E(yw)-.165 E(ay \(such as DCCP-Response or DCCP-SyncAck\),)-.11 E
(or to ne)100.8 555.8 Q 2.75(wf)-.275 G(eature ne)-2.75 E
(gotiation pack)-.165 E(ets, as described abo)-.11 E -.165(ve)-.165 G(.)
.165 E(The Change-sending endpoint MUST w)100.8 572.4 Q(ait to recei)
-.11 E .33 -.165(ve a c)-.275 H(orresponding Con\214rm option).165 E
(before changing its stored feature v)100.8 585.4 Q 2.75(alue. The)-.275
F(Con\214rm-sending endpoint changes its stored)2.75 E(feature v)100.8
598.4 Q(alue as soon as it sends the Con\214rm.)-.275 E 2.75(Ap)100.8
615 S(ack)-2.75 E(et MA)-.11 E 2.75(Yc)-1.155 G
(ontain more than one feature ne)-2.75 E
(gotiation option, as long as no tw)-.165 E 2.75(oo)-.11 G(ptions)-2.75
E(refer to the same feature.)100.8 628 Q(Note, ho)5.5 E(we)-.275 E -.165
(ve)-.275 G .88 -.44(r, t).165 H(hat a pack).44 E(et is allo)-.11 E
(wed to contain one L option)-.275 E
(and one R option with the same feature number)100.8 641 Q 2.75(,s)-.44
G(ince the tw)-2.75 E 2.75(oo)-.11 G(ptions actually refer to)-2.75 E
(dif)100.8 654 Q(ferent features \(F/A and F/B\).)-.275 E F1 2.75
(6.6.2. Pr)72 680 R(ocessing Recei)-.198 E -.11(ve)-.11 G 2.75(dO).11 G
(ptions)-2.75 E F0(DCCP endpoints e)100.8 696.6 Q
(xist in one of three states relati)-.165 E .33 -.165(ve t)-.275 H 2.75
(oe).165 G(ach feature.)-2.75 E(ST)5.5 E(ABLE is the normal)-1.023 E
(state, where the endpoint kno)100.8 709.6 Q(ws the feature')-.275 E
2.75(sv)-.605 G(alue and thinks the other endpoint agrees.)-3.025 E(An \
endpoint enters the CHANGING state when it \214rst sends a Change for t\
he feature, and)100.8 722.6 Q -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75(6.6.2. [P)2.75 F(age 33])
-.165 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(returns to ST)100.8 85 Q(ABLE once it recei)-1.023 E -.165(ve)-.275 G
2.75(sac).165 G(orresponding Con\214rm.)-2.75 E(The \214nal state,)5.5 E
(UNST)100.8 98 Q(ABLE, indicates that an endpoint in CHANGING state cha\
nged its preference list,)-1.023 E -.22(bu)100.8 111 S 2.75(th).22 G
(as not yet transmitted a Change option with the ne)-2.75 E 2.75(wp)
-.275 G(reference list.)-2.75 E(Feature state transitions at a feature \
location are implemented according to this diagram.)100.8 127.6 Q
(The diagram ignores sequence number and option v)100.8 140.6 Q
(alidity issues; these are handled)-.275 E -.165(ex)100.8 153.6 S
(plicitly in the pseudocode that follo).165 E(ws.)-.275 E/F1 11
/Courier@0 SF(timeout/)454.8 172.6 Q(rcv Confirm R)78.6 185.6 Q
(app/protocol evt : snd Change L)39.6 E(rcv non-ack)46.2 E 6.6(:i)78.6
198.6 S 33(gnore +---------------------------------------+)-6.6 F 6.6
(:s)13.2 G(nd Change L)-6.6 E 13.2(+----+ |)111.6 211.6 R 13.2(|+)257.4
G(----+)-13.2 E 26.4(|v)111.6 224.6 S 125.4(|r)-6.6 G(cv Change R)-125.4
E -6.6 13.2(v| v)52.8 H 6.6(+------------+ rcv)91.8 237.6 R(Confirm R)
6.6 E 6.6(:c)19.8 G(alc new value, +------------+)-6.6 E 79.2(||)91.8
250.6 S 6.6(:a)-66 G(ccept value)-6.6 E(snd Confirm L)26.4 E 79.2(||)
19.8 G 19.8(|S)91.8 263.6 S 13.2
(TABLE |<-----------------------------------|)-19.8 F 6.6(CHANGING |)
13.2 F 79.2(||)91.8 276.6 S(rcv empty Confirm R)-26.4 E 79.2(||)59.4 G
46.2(+------------+ :)91.8 289.6 R(revert to old value)6.6 E
(+------------+)46.2 E 231 26.4(|^ |^)118.2 302.6 T 217.8(+----+ pref)
118.2 315.6 R(list |)6.6 E 6.6(|s)26.4 G(nd)-6.6 E(rcv Change R)78.6
328.6 Q 13.2(changes |)224.4 F 6.6(|C)26.4 G(hange L)-6.6 E 6.6(:c)78.6
341.6 S(alc new value, snd Confirm L)-6.6 E 26.4(v|)165 G
(+------------+)421.8 354.6 Q 72.6(+---| |)395.4 367.6 R
(rcv Confirm/Change R |)256.8 380.6 Q 13.2(|U)19.8 G 6.6(NSTABLE |)-13.2
F 6.6(:i)256.8 393.6 S 79.2(gnore +-->|)-6.6 F(|)79.2 E(+------------+)
421.8 406.6 Q F0(Feature locations SHOULD use the follo)100.8 425.6 Q
(wing pseudocode, which corresponds to the state)-.275 E
(diagram, to react to each feature ne)100.8 438.6 Q
(gotiation option on each v)-.165 E(alid pack)-.275 E(et recei)-.11 E
-.165(ve)-.275 G 2.75(d. The).165 F(pseudocode refers to "P)100.8 451.6
Q(.seqno" and "P)-1.221 E(.ackno", which are properties of the pack)
-1.221 E(et; "O.type",)-.11 E(and "O.len", which are properties of the \
option; "FGSR" and "FGSS", which are properties)100.8 464.6 Q(of the co\
nnection, and handle reordering as described in Section 6.6.4; "F)100.8
477.6 Q(.state", which is)-.88 E(the feature')100.8 490.6 Q 2.75(ss)
-.605 G(tate \(ST)-2.75 E(ABLE, CHANGING, or UNST)-1.023 E
(ABLE\); and "F)-1.023 E(.v)-.88 E(alue", which is the)-.275 E(feature')
100.8 503.6 Q 2.75(sv)-.605 G(alue.)-3.025 E(First, check for unkno)
100.8 520.2 Q(wn features \(Section 6.6.7\);)-.275 E(If F is unkno)
109.05 533.2 Q(wn,)-.275 E(If the option w)117.3 546.2 Q(as Mandatory)
-.11 E 8.25(,/)-.715 G 2.75(*S)-8.25 G(ection 6.6.9 */)-2.75 E
(Reset connection and return)125.55 559.2 Q
(Otherwise, if O.type == Change R,)117.3 572.2 Q
(Send Empty Con\214rm L on a future pack)125.55 585.2 Q(et)-.11 E
(Return)117.3 598.2 Q(Second, check for reordering \(Section 6.6.4\);)
100.8 624.2 Q(If F)109.05 637.2 Q(.state == UNST)-.88 E(ABLE or P)-1.023
E(.seqno <= FGSR)-1.221 E(or \(O.type == Con\214rm R and P)131.05 650.2
Q(.ackno < FGSS\),)-1.221 E(Ignore option and return)117.3 663.2 Q
(Third, process Change R options;)100.8 689.2 Q(If O.type == Change R,)
109.05 702.2 Q(If the option')117.3 715.2 Q 2.75(sv)-.605 G(alue is v)
-3.025 E 5.5(alid, /*)-.275 F(Section 6.6.8 */)2.75 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(6.6.2. [P)2.75 F(age 34])-.165 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Calculate ne)125.55 85 Q 2.75(wv)-.275 G(alue)-3.025 E
(Send Con\214rm L on a future pack)125.55 98 Q(et)-.11 E(Set F)125.55
111 Q(.state := ST)-.88 E(ABLE)-1.023 E(Otherwise, if the option w)117.3
124 Q(as Mandatory)-.11 E(,)-.715 E(Reset connection and return)125.55
137 Q(Otherwise,)117.3 150 Q(Send Empty Con\214rm L on a future pack)
125.55 163 Q(et)-.11 E(/* Remain in e)125.55 176 Q(xisting state.)-.165
E(If that')5.5 E 2.75(sC)-.605 G(HANGING, this)-2.75 E
(endpoint will retransmit its Change L option later)133.8 189 Q 2.75(.*)
-.605 G(/)-2.75 E -.165(Fo)100.8 215 S
(urth, process Con\214rm R options \(b).165 E
(ut only in CHANGING state\).)-.22 E(If F)109.05 228 Q
(.state == CHANGING and O.type == Con\214rm R,)-.88 E(If O.len > 3,)
117.3 241 Q(/* nonempty */)8.25 E(If the option')125.55 254 Q 2.75(sv)
-.605 G(alue is v)-3.025 E(alid,)-.275 E(Set F)133.8 267 Q(.v)-.88 E
(alue := ne)-.275 E 2.75(wv)-.275 G(alue)-3.025 E(Otherwise,)125.55 280
Q(Reset connection and return)133.8 293 Q(Set F)117.3 306 Q
(.state := ST)-.88 E(ABLE)-1.023 E -1.221(Ve)100.8 322.6 S(rsions of th\
is diagram and pseudocode are also used by feature remotes; simply swit\
ch)1.221 E(the "L"s and "R"s, so that the rele)100.8 335.6 Q -.275(va)
-.275 G(nt options are Change R and Con\214rm L.).275 E/F1 11
/Times-Bold@0 SF 2.75(6.6.3. Loss)72 361.6 R(and Retransmission)2.75 E
F0 -.165(Pa)100.8 378.2 S(ck).165 E(ets containing Change and Con\214rm\
 options might be lost or delayed by the netw)-.11 E(ork.)-.11 E
(Therefore, Change options are repeatedly transmitted to achie)100.8
391.2 Q .33 -.165(ve r)-.275 H(eliability).165 E 5.5(.W)-.715 G 2.75(er)
-6.38 G(efer to this)-2.75 E
(as "retransmission", although of course there are no pack)100.8 404.2 Q
(et-le)-.11 E -.165(ve)-.275 G 2.75(lr).165 G(etransmissions in DCCP:)
-2.75 E 2.75(aC)100.8 417.2 S(hange option that is sent ag)-2.75 E
(ain will be sent on a ne)-.055 E 2.75(wp)-.275 G(ack)-2.75 E
(et with a ne)-.11 E 2.75(ws)-.275 G(equence)-2.75 E(number)100.8 430.2
Q(.)-.605 E 2.75(AC)100.8 446.8 S(HANGING endpoint transmits another Ch\
ange option once it realizes that it has not)-2.75 E
(heard back from the other endpoint.)100.8 459.8 Q(The ne)5.5 E 2.75(wC)
-.275 G(hange option need not contain the same)-2.75 E(payload as the o\
riginal; reordering protection will ensure that agreement is reached ba\
sed)100.8 472.8 Q(on the most recently transmitted option.)100.8 485.8 Q
2.75(AC)100.8 502.4 S(HANGING endpoint MUST continue retransmitting Cha\
nge options until it gets some)-2.75 E
(response or the connection terminates.)100.8 515.4 Q
(Endpoints SHOULD use an e)100.8 532 Q(xponential-back)-.165 E(of)-.11 E
2.75(ft)-.275 G(imer to decide when to retransmit)-2.75 E
(Change options.)100.8 545 Q(\(Endpoints that generate pack)5.5 E
(ets speci\214cally for feature ne)-.11 E(gotiation)-.165 E
(MUST use such a timer)100.8 558 Q 2.75(.\) The)-.605 F(timer interv)
2.75 E(al is initially set to not less than one round-trip)-.275 E
(time, and should back of)100.8 571 Q 2.75(ft)-.275 G 2.75(on)-2.75 G
(ot less than 64 seconds.)-2.75 E(The back)5.5 E(of)-.11 E 2.75(fp)-.275
G(rotects ag)-2.75 E(ainst delayed)-.055 E(agreement due to the reorder\
ing protection algorithms described in the ne)100.8 584 Q(xt section.)
-.165 E(Ag)100.8 597 Q
(ain, endpoints may piggyback Change options on pack)-.055 E(ets the)
-.11 E 2.75(yw)-.165 G(ould ha)-2.86 E .33 -.165(ve s)-.22 H(ent an).165
E(yw)-.165 E(ay)-.11 E(,)-.715 E(or create ne)100.8 610 Q 2.75(wp)-.275
G(ack)-2.75 E(ets to carry the options; an)-.11 E 2.75(ys)-.165 G
(uch ne)-2.75 E 2.75(wp)-.275 G(ack)-2.75 E(ets are controlled by the)
-.11 E(rele)100.8 623 Q -.275(va)-.275 G
(nt congestion-control mechanism.).275 E(Con\214rm options are ne)100.8
639.6 Q -.165(ve)-.275 G 2.75(rr).165 G(etransmitted, b)-2.75 E
(ut the Con\214rm-sending endpoint MUST generate)-.22 E 2.75(aC)100.8
652.6 S(on\214rm option after e)-2.75 E -.165(ve)-.275 G
(ry non-reordered Change.).165 E F1 2.75(6.6.4. Reordering)72 678.6 R F0
(Reordering might cause pack)100.8 695.2 Q
(ets containing Change and Con\214rm options to arri)-.11 E .33 -.165
(ve i)-.275 H 2.75(na).165 G(n)-2.75 E(une)100.8 708.2 Q(xpected order)
-.165 E 5.5(.E)-.605 G(ndpoints MUST ignore feature ne)-5.5 E
(gotiation options that do not arri)-.165 E .33 -.165(ve i)-.275 H(n)
.165 E(strictly-increasing order by Sequence Number)100.8 721.2 Q 5.5
(.T)-.605 G(he rest of this section presents tw)-5.5 E(o)-.11 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F
2.75(6.6.4. [P)2.75 F(age 35])-.165 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(algorithms that ful\214ll this requirement.)100.8 85 Q
(The \214rst algorithm introduces tw)100.8 101.6 Q 2.75(os)-.11 G
(equence number v)-2.75 E(ariables that each endpoint maintains)-.275 E
(for the connection.)100.8 114.6 Q/F1 11/Times-Bold@0 SF(FGSR)100.8
131.2 Q F0(Feature Greatest Sequence Number Recei)25.663 E -.165(ve)
-.275 G(d: The greatest sequence number).165 E(recei)155.8 144.2 Q -.165
(ve)-.275 G(d, considering only v).165 E(alid pack)-.275 E
(ets that contained one or more feature)-.11 E(ne)155.8 157.2 Q
(gotiation options \(Change and/or Con\214rm\).)-.165 E(This v)5.5 E
(alue is initialized to)-.275 E(ISR - 1.)155.8 170.2 Q F1(FGSS)100.8
186.8 Q F0(Feature Greatest Sequence Number Sent: The greatest sequence\
 number sent,)27.489 E(considering only pack)155.8 199.8 Q
(ets that contained one or more non-retransmitted Change)-.11 E 2.75
(options. \(Retransmitted)155.8 212.8 R(Change options MUST ha)2.75 E
.33 -.165(ve ex)-.22 H(actly the same).165 E(contents as pre)155.8 225.8
Q(viously transmitted options, so limited reordering can safely be)-.275
E 2.75(tolerated.\) This)155.8 238.8 R -.275(va)2.75 G
(lue is initialized to ISS.).275 E(Each endpoint checks tw)100.8 255.4 Q
2.75(oc)-.11 G
(onditions on sequence numbers to decide whether to process)-2.75 E
(recei)100.8 268.4 Q -.165(ve)-.275 G 2.75(df).165 G(eature ne)-2.75 E
(gotiation options.)-.165 E 11(1. If)100.8 285 R 2.75(ap)2.75 G(ack)
-2.75 E(et')-.11 E 2.75(sS)-.605 G
(equence Number is less than or equal to FGSR, then its Change options)
-2.75 E(MUST be ignored.)122.8 298 Q 11(2. If)100.8 314.6 R 2.75(ap)2.75
G(ack)-2.75 E(et')-.11 E 2.75(sS)-.605 G
(equence Number is less than or equal to FGSR, OR it has no)-2.75 E
(Ackno)122.8 327.6 Q(wledgement Number)-.275 E 2.75(,O)-.44 G 2.75(Ri)
-2.75 G(ts Ackno)-2.75 E(wledgement Number is less than FGSS,)-.275 E
(then its Con\214rm options MUST be ignored.)122.8 340.6 Q(Alternati)
100.8 357.2 Q -.165(ve)-.275 G(ly).165 E 2.75(,a)-.715 G 2.75(ne)-2.75 G
(ndpoint MA)-2.75 E 2.75(Ym)-1.155 G(aintain separate FGSR and FGSS v)
-2.75 E(alues for e)-.275 E -.165(ve)-.275 G(ry).165 E 2.75
(feature. FGSR\(F/X\))100.8 370.2 R -.11(wo)2.75 G
(uld equal the greatest sequence number recei).11 E -.165(ve)-.275 G
(d, considering only).165 E(pack)100.8 383.2 Q(ets that contained Chang\
e or Con\214rm options applying to feature F/X; FGSS\(F/X\))-.11 E -.11
(wo)100.8 396.2 S(uld be de\214ned similarly).11 E 5.5(.T)-.715 G
(his algorithm requires more state, b)-5.5 E(ut is slightly more)-.22 E
(for)100.8 409.2 Q(gi)-.198 E(ving to multiple o)-.275 E -.165(ve)-.165
G(rlapped feature ne).165 E 2.75(gotiations. Either)-.165 F
(algorithm MA)2.75 E 2.75(Yb)-1.155 G 2.75(eu)-2.75 G(sed; the)-2.75 E
(\214rst algorithm, with connection-wide FGSR and FGSS v)100.8 422.2 Q
(ariables, is RECOMMENDED.)-.275 E(One consequence of these rules is th\
at a CHANGING endpoint will ignore an)100.8 438.8 Q 2.75(yC)-.165 G
(on\214rm)-2.75 E(option that does not ackno)100.8 451.8 Q
(wledge the latest Change option sent.)-.275 E(This ensures that)5.5 E
(agreement, once achie)100.8 464.8 Q -.165(ve)-.275 G
(d, used the most recent a).165 E -.275(va)-.22 G
(ilable information about the endpoints').275 E(preferences.)100.8 477.8
Q F1 2.75(6.6.5. Pr)72 503.8 R(efer)-.198 E(ence Changes)-.198 E F0
(Endpoints are allo)100.8 520.4 Q
(wed to change their preference lists at an)-.275 E 2.75(yt)-.165 G 2.75
(ime. Ho)-2.75 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, a).165 H 2.75
(ne).44 G(ndpoint)-2.75 E(that changes its preference list while in the\
 CHANGING state MUST transition to the)100.8 533.4 Q(UNST)100.8 546.4 Q
(ABLE state.)-1.023 E
(It will transition back to CHANGING once it has transmitted a Change)
5.5 E(option with the ne)100.8 559.4 Q 2.75(wp)-.275 G(reference list.)
-2.75 E(This ensures that agreement is based on acti)5.5 E -.165(ve)
-.275 G(preference lists.)100.8 572.4 Q -.44(Wi)5.5 G(thout the UNST).44
E(ABLE state, simultaneous ne)-1.023 E(gotiation -- where the)-.165 E
(endpoints be)100.8 585.4 Q -.055(ga)-.165 G 2.75(ni).055 G
(ndependent ne)-2.75 E
(gotiations for the same feature at the same time -- might)-.165 E
(lead to the ne)100.8 598.4 Q
(gotiation terminating with the endpoints thinking the feature had dif)
-.165 E(ferent)-.275 E -.275(va)100.8 611.4 S(lues.).275 E F1 2.75
(6.6.6. Simultaneous)72 637.4 R(Negotiation)2.75 E F0(The tw)100.8 654 Q
2.75(oe)-.11 G(ndpoints might simultaneously open ne)-2.75 E
(gotiation for the same feature, after which)-.165 E
(an endpoint in the CHANGING state will recei)100.8 667 Q .33 -.165
(ve a C)-.275 H(hange option for the same feature.).165 E(Such recei)
100.8 680 Q -.165(ve)-.275 G 2.75(dC).165 G
(hange options can act as responses to the original Change options.)
-2.75 E(The)5.5 E(CHANGING endpoint MUST e)100.8 693 Q(xamine the recei)
-.165 E -.165(ve)-.275 G 2.75(dC).165 G(hange')-2.75 E 2.75(sp)-.605 G
(reference list, reconcile that)-2.75 E(with its o)100.8 706 Q
(wn preference list \(as e)-.275 E
(xpressed in its generated Change options\), and generate)-.165 E
(the corresponding Con\214rm option.)100.8 719 Q
(It can then transition to the ST)5.5 E(ABLE state.)-1.023 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(6.6.6. [P)2.75 F(age 36])-.165 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF 2.75(6.6.7. Unkno)72 85 R(wn F)-.11 E(eatur)-.275 E(es)
-.198 E F0(Endpoints may recei)100.8 101.6 Q .33 -.165(ve C)-.275 H
(hange options referring to feature numbers the).165 E 2.75(yd)-.165 G
2.75(on)-2.75 G(ot understand)-2.75 E(-- for instance, when an e)100.8
114.6 Q(xtended DCCP con)-.165 E -.165(ve)-.44 G(rses with a non-e).165
E(xtended DCCP)-.165 E 5.5(.E)-1.221 G(ndpoints)-5.5 E
(MUST respond to unkno)100.8 127.6 Q
(wn Change options with Empty Con\214rm options \(that is, Con\214rm)
-.275 E(options containing no data\), which inform the CHANGING endpoin\
t that the feature w)100.8 140.6 Q(as)-.11 E(not understood.)100.8 153.6
Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, i).165 H 2.75(ft).44
G(he Change option w)-2.75 E(as Mandatory)-.11 E 2.75(,t)-.715 G
(he connection MUST be)-2.75 E(reset; see Section 6.6.9.)100.8 166.6 Q
(On recei)100.8 183.2 Q(ving an empty Con\214rm option for some feature\
, the CHANGING endpoint MUST)-.275 E(transition back to the ST)100.8
196.2 Q(ABLE state, lea)-1.023 E(ving the feature')-.22 E 2.75(sv)-.605
G(alue unchanged.)-3.025 E(Section 15)5.5 E(suggests that the def)100.8
209.2 Q(ault v)-.11 E(alue for an)-.275 E 2.75(ye)-.165 G
(xtension feature should correspond to "e)-2.915 E(xtension)-.165 E
(not a)100.8 222.2 Q -.275(va)-.22 G(ilable".).275 E(Some features are \
required to be understood by all DCCPs \(see Section 6.4\).)100.8 238.8
Q(The)5.5 E(CHANGING endpoint SHOULD reset the connection \(with Reset \
Code 5, "Option Error"\))100.8 251.8 Q(if it recei)100.8 264.8 Q -.165
(ve)-.275 G 2.75(sa).165 G 2.75(ne)-2.75 G
(mpty Con\214rm option for such a feature.)-2.75 E(Since Con\214rm opti\
ons are generated only in response to Change options, an endpoint)100.8
281.4 Q(should ne)100.8 294.4 Q -.165(ve)-.275 G 2.75(rr).165 G(ecei)
-2.75 E .33 -.165(ve a C)-.275 H
(on\214rm option referring to a feature number it does not understand.)
.165 E(Ne)100.8 307.4 Q -.165(ve)-.275 G
(rtheless, endpoints MUST ignore an).165 E 2.75(ys)-.165 G
(uch options the)-2.75 E 2.75(yr)-.165 G(ecei)-2.75 E -.165(ve)-.275 G
(.).165 E F1 2.75(6.6.8. In)72 333.4 R -.11(va)-.44 G(lid Options).11 E
F0 2.75(AD)100.8 350 S(CCP endpoint might recei)-2.75 E .33 -.165
(ve a C)-.275 H(hange or Con\214rm option that lists one or more v).165
E(alues)-.275 E(that it does not understand.)100.8 363 Q(Some, b)5.5 E
(ut not all, such options are in)-.22 E -.275(va)-.44 G
(lid, depending on the).275 E(rele)100.8 376 Q -.275(va)-.275 G
(nt reconciliation rule \(Section 6.3\).).275 E -.165(Fo)5.5 G 2.75(ri)
.165 G(nstance:)-2.75 E 12.65<8341>100.8 392.6 S(ll features ha)-12.65 E
.33 -.165(ve l)-.22 H(ength limitations, and options with in).165 E
-.275(va)-.44 G(lid lengths are in).275 E -.275(va)-.44 G 2.75(lid. F)
.275 F(or)-.165 E -.165(ex)117.3 405.6 S
(ample, the Ack Ratio feature tak).165 E(es 16-bit v)-.11 E(alues, so v)
-.275 E(alid "Con\214rm R\(Ack Ratio\)")-.275 E(options ha)117.3 418.6 Q
.33 -.165(ve o)-.22 H(ption length 5.).165 E 12.65<8353>100.8 435.2 S
(ome non-ne)-12.65 E(gotiable features ha)-.165 E .33 -.165(ve v)-.22 H
(alue limitations.)-.11 E(The Ack Ratio feature tak)5.5 E(es tw)-.11 E
(o-)-.11 E(byte, non-zero inte)117.3 448.2 Q(ger v)-.165 E
(alues, so a "Change L\(Ack Ratio, 0\)" option is ne)-.275 E -.165(ve)
-.275 G 2.75(rv).165 G(alid.)-3.025 E(Note that serv)117.3 461.2 Q(er)
-.165 E(-priority features do not ha)-.22 E .33 -.165(ve v)-.22 H
(alue limitations, since unkno)-.11 E(wn v)-.275 E(alues)-.275 E
(are handled as a matter of course.)117.3 474.2 Q 12.65<8341>100.8 490.8
S .33 -.165(ny C)-12.65 H(on\214rm option that selects the wrong v).165
E(alue, based on the tw)-.275 E 2.75(op)-.11 G(reference lists and)-2.75
E(the rele)117.3 503.8 Q -.275(va)-.275 G(nt reconciliation rule, is in)
.275 E -.275(va)-.44 G(lid.).275 E 12.65<8348>100.8 520.4 S -.275(ow)
-12.65 G -2.365 -.275(ev e).275 H .88 -.44(r, u).275 H(ne).44 E
(xpected Con\214rm options -- that refer to unkno)-.165 E
(wn feature numbers, or that)-.275 E(don')117.3 533.4 Q 2.75(ta)-.198 G
(ppear to be part of a current ne)-2.75 E(gotiation -- are considered v)
-.165 E(alid, although the)-.275 E(y)-.165 E(are ignored by the recei)
117.3 546.4 Q -.165(ve)-.275 G -.605(r.).165 G(An endpoint recei)100.8
563 Q(ving an in)-.275 E -.275(va)-.44 G
(lid Change option MUST respond with the corresponding).275 E
(empty Con\214rm option.)100.8 576 Q(An endpoint recei)5.5 E(ving an in)
-.275 E -.275(va)-.44 G(lid Con\214rm option MUST reset the).275 E
(connection, with Reset Code 5, "Option Error".)100.8 589 Q F1 2.75
(6.6.9. Mandatory)72 615 R -.275(Fe)2.75 G(atur).275 E 2.75(eN)-.198 G
(egotiation)-2.75 E F0
(Change options may be preceded by Mandatory options \(Section 5.8.2\).)
100.8 631.6 Q(Mandatory)5.5 E(Change options are processed lik)100.8
644.6 Q 2.75(en)-.11 G(ormal Change options, e)-2.75 E
(xcept that the follo)-.165 E(wing f)-.275 E(ailure)-.11 E
(cases will cause the recei)100.8 657.6 Q -.165(ve)-.275 G 2.75(rt).165
G 2.75(or)-2.75 G(eset the connection with Reset Code 6, "Mandatory)
-2.75 E -.165(Fa)100.8 670.6 S
(ilure", rather than send a Con\214rm option.).165 E
(The connection MUST be reset if:)5.5 E 12.65<8354>100.8 687.2 S
(he Change option')-12.65 E 2.75(sf)-.605 G(eature number w)-2.75 E
(as not understood;)-.11 E 12.65<8354>100.8 703.8 S(he Change option')
-12.65 E 2.75(sv)-.605 G(alue w)-3.025 E(as in)-.11 E -.275(va)-.44 G
(lid, and the recei).275 E -.165(ve)-.275 G 2.75(rw).165 G
(ould normally ha)-2.86 E .33 -.165(ve s)-.22 H(ent an).165 E
(empty Con\214rm option in response; or)117.3 716.8 Q -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(6.6.9. [P)2.75 F(age 37])-.165 E 0 Cg EP
%%Page: 38 38
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 12.65
<8346>100.8 85 S(or serv)-12.815 E(er)-.165 E
(-priority features, there w)-.22 E(as no shared entry in the tw)-.11 E
2.75(oe)-.11 G(ndpoints' preference)-2.75 E(lists.)117.3 98 Q(There')
100.8 114.6 Q 2.75(sn)-.605 G 2.75(or)-2.75 G
(eason to mark Con\214rm options as Mandatory in this v)-2.75 E
(ersion of DCCP)-.165 E 2.75(,s)-1.221 G(ince)-2.75 E(Con\214rm options\
 are sent only in response to Change options and therefore can')100.8
127.6 Q 2.75(tm)-.198 G(ention)-2.75 E(potentially-in)100.8 140.6 Q
-.275(va)-.44 G(lid v).275 E(alues or une)-.275 E
(xpected feature numbers.)-.165 E/F1 11/Times-Bold@0 SF(7.)72 166.6 Q/F2
14/Times-Bold@0 SF(Sequence Numbers)5.5 E F0
(DCCP uses sequence numbers to arrange pack)100.8 183.2 Q
(ets into sequence, detect losses and netw)-.11 E(ork)-.11 E
(duplicates, and protect ag)100.8 196.2 Q(ainst attack)-.055 E
(ers, half-open connections, and the deli)-.11 E -.165(ve)-.275 G
(ry of v).165 E(ery)-.165 E(old pack)100.8 209.2 Q 2.75(ets. Ev)-.11 F
(ery pack)-.165 E(et carries a Sequence Number; most pack)-.11 E
(et types carry an)-.11 E(Ackno)100.8 222.2 Q
(wledgement Number as well.)-.275 E(DCCP sequence numbers are pack)100.8
238.8 Q 2.75(et-based. That)-.11 F(is, the pack)2.75 E
(ets generated by each)-.11 E(endpoint ha)100.8 251.8 Q .33 -.165(ve S)
-.22 H(equence Numbers that increase by one, modulo 2^48, for e).165 E
-.165(ve)-.275 G(ry pack).165 E(et.)-.11 E(Ev)100.8 264.8 Q
(en DCCP-Ack and DCCP-Sync pack)-.165 E(ets, and other pack)-.11 E
(ets that don')-.11 E 2.75(tc)-.198 G(arry user data,)-2.75 E
(increment the Sequence Number)100.8 277.8 Q 5.5(.S)-.605 G
(ince DCCP is an unreliable protocol, there are no true)-5.5 E
(retransmissions; b)100.8 290.8 Q(ut ef)-.22 E(fecti)-.275 E .33 -.165
(ve r)-.275 H(etransmissions, such as retransmissions of DCCP-Request)
.165 E(pack)100.8 303.8 Q(ets, also increment the Sequence Number)-.11 E
5.5(.T)-.605 G(his lets DCCP implementations detect)-5.5 E(netw)100.8
316.8 Q(ork duplication, retransmissions, and ackno)-.11 E
(wledgement loss, and is a signi\214cant)-.275 E
(departure from TCP practice.)100.8 329.8 Q F1(7.1.)72 355.8 Q/F3 13
/Times-Bold@0 SF -1.196(Va)5.5 G(riables)1.196 E F0
(DCCP endpoints maintain a set of sequence number v)100.8 372.4 Q
(ariables for each connection.)-.275 E F1(ISS)100.8 389 Q F0
(The Initial Sequence Number Sent by this endpoint.)27.489 E
(This equals the Sequence)5.5 E
(Number of the \214rst DCCP-Request or DCCP-Response sent.)144.8 402 Q
F1(ISR)100.8 418.6 Q F0(The Initial Sequence Number Recei)25.663 E -.165
(ve)-.275 G 2.75(df).165 G(rom the other endpoint.)-2.75 E
(This equals the)5.5 E
(Sequence Number of the \214rst DCCP-Request or DCCP-Response recei)
144.8 431.6 Q -.165(ve)-.275 G(d.).165 E F1(GSS)100.8 448.2 Q F0
(The Greatest Sequence Number Sent by this endpoint.)23.21 E
(Here, and else)5.5 E(where,)-.275 E
("greatest" is measured in circular sequence space.)144.8 461.2 Q F1
(GSR)100.8 477.8 Q F0(The Greatest Sequence Number Recei)21.384 E -.165
(ve)-.275 G 2.75(df).165 G(rom the other endpoint on an)-2.75 E(ackno)
144.8 490.8 Q(wledgeable pack)-.275 E 2.75(et. \(Section)-.11 F
(7.4 de\214nes this term.\))2.75 E F1(GAR)100.8 507.4 Q F0
(The Greatest Ackno)19.558 E(wledgement Number Recei)-.275 E -.165(ve)
-.275 G 2.75(df).165 G(rom the other endpoint on an)-2.75 E(ackno)144.8
520.4 Q(wledgeable pack)-.275 E(et that w)-.11 E(as not a DCCP-Sync.)
-.11 E(Some other v)100.8 537 Q(ariables are deri)-.275 E -.165(ve)-.275
G 2.75(df).165 G(rom these primiti)-2.75 E -.165(ve)-.275 G(s.).165 E F1
(SWL and SWH)100.8 553.6 Q F0(\(Sequence Number W)144.8 566.6 Q(indo)
-.44 E 2.75(wL)-.275 G .55 -.275(ow a)-2.75 H(nd High\)).275 E(The e)5.5
E(xtremes of the v)-.165 E(alidity)-.275 E(windo)144.8 579.6 Q 2.75(wf)
-.275 G(or recei)-2.75 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E
(ets' Sequence Numbers.)-.11 E F1 -1.43(AW)100.8 596.2 S 2.75(La)1.43 G
(nd A)-2.75 E(WH)-1.43 E F0(\(Ackno)144.8 609.2 Q(wledgement Number W)
-.275 E(indo)-.44 E 2.75(wL)-.275 G .55 -.275(ow a)-2.75 H(nd High\))
.275 E(The e)5.5 E(xtremes of the)-.165 E -.275(va)144.8 622.2 S
(lidity windo).275 E 2.75(wf)-.275 G(or recei)-2.75 E -.165(ve)-.275 G
2.75(dp).165 G(ack)-2.75 E(ets' Ackno)-.11 E(wledgement Numbers.)-.275 E
F1(7.2.)72 648.2 Q F3(Initial Sequence Numbers)5.5 E F0(The endpoints' \
initial sequence numbers are set by the \214rst DCCP-Request and DCCP-)
100.8 664.8 Q(Response pack)100.8 677.8 Q(ets sent.)-.11 E
(Initial sequence numbers MUST be chosen to a)5.5 E -.22(vo)-.22 G
(id tw).22 E 2.75(op)-.11 G(roblems:)-2.75 E 12.65<8344>100.8 694.4 S
(eli)-12.65 E -.165(ve)-.275 G(ry of old pack).165 E(ets, where pack)
-.11 E(ets lingering in the netw)-.11 E(ork from an old connection)-.11
E(are deli)117.3 707.4 Q -.165(ve)-.275 G(red to a ne).165 E 2.75(wc)
-.275 G(onnection with the same addresses and port numbers.)-2.75 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(7.2. [P)2.75 F(age 38])-.165 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 12.65
<8353>100.8 85 S(equence number attacks, where an attack)-12.65 E
(er can guess the sequence numbers that a)-.11 E(future connection w)
117.3 98 Q(ould use [M85].)-.11 E
(These problems are the same as problems f)100.8 114.6 Q(aced by TCP)
-.11 E 2.75(,a)-1.221 G(nd DCCP implementations)-2.75 E(SHOULD use TCP')
100.8 127.6 Q 2.75(ss)-.605 G(trate)-2.75 E(gies to a)-.165 E -.22(vo)
-.22 G(id them [RFC 793, RFC 1948].).22 E(The rest of this)5.5 E
(section e)100.8 140.6 Q(xplains these strate)-.165 E
(gies in more detail.)-.165 E 1.76 -.88(To a)100.8 157.2 T(ddress the \
\214rst problem, an implementation MUST ensure that the initial sequenc\
e).88 E(number for a gi)100.8 170.2 Q -.165(ve)-.275 G 2.75(n<).165 G
(source address, source port, destination address, destination port>)
-2.75 E(4-tuple doesn')100.8 183.2 Q 2.75(to)-.198 G -.165(ve)-2.915 G
(rlap with recent sequence numbers on pre).165 E
(vious connections with the)-.275 E(same 4-tuple.)100.8 196.2 Q
(\("Recent" means sent within 2 maximum se)5.5 E
(gment lifetimes, or 4 minutes.\))-.165 E
(The implementation MUST additionally ensure that the lo)100.8 209.2 Q
(wer 24 bits of the initial)-.275 E(sequence number don')100.8 222.2 Q
2.75(to)-.198 G -.165(ve)-2.915 G(rlap with the lo).165 E
(wer 24 bits of recent sequence numbers \(unless)-.275 E
(the implementation plans to a)100.8 235.2 Q -.22(vo)-.22 G
(id short sequence numbers; see Section 7.6\).).22 E(An)5.5 E(implement\
ation that has state for a recent connection with the same 4-tuple can \
pick a good)100.8 248.2 Q(initial sequence number e)100.8 261.2 Q
(xplicitly)-.165 E 5.5(.O)-.715 G
(therwise, it could tie initial sequence number)-5.5 E(selection to som\
e clock, such as the 4-microsecond clock used by TCP [RFC 793].)100.8
274.2 Q -1.1 -.88(Tw o)5.5 H(separate clocks may be required, one for t\
he upper 24 bits and one for the lo)100.8 287.2 Q(wer 24 bits.)-.275 E
1.76 -.88(To a)100.8 303.8 T
(ddress the second problem, an implementation MUST pro).88 E
(vide each 4-tuple with an)-.165 E
(independent initial sequence number space.)100.8 316.8 Q
(Then opening a connection doesn')5.5 E 2.75(tp)-.198 G(ro)-2.75 E(vide)
-.165 E(an)100.8 329.8 Q 2.75(yi)-.165 G(nformation about initial seque\
nce numbers on other connections to the same host.)-2.75 E
(RFC 1948 achie)100.8 342.8 Q -.165(ve)-.275 G 2.75(st).165 G
(his by adding a cryptographic hash of the 4-tuple and a secret to each)
-2.75 E(initial sequence number)100.8 355.8 Q 5.5(.F)-.605 G
(or the secret, RFC 1948 recommends a combination of some)-5.665 E
(truly-random data [RFC 1750], an administrati)100.8 368.8 Q -.165(ve)
-.275 G(ly-installed passphrase, the endpoint').165 E 2.75(sI)-.605 G(P)
-2.75 E(address, and the endpoint')100.8 381.8 Q 2.75(sb)-.605 G
(oot time, b)-2.75 E(ut truly-random data is suf)-.22 E 2.75
(\214cient. Care)-.275 F(should be)2.75 E(tak)100.8 394.8 Q(en when cha\
nging the secret; such a change alters all initial sequence number spac\
es,)-.11 E(which might mak)100.8 407.8 Q 2.75(ea)-.11 G 2.75(ni)-2.75 G
(nitial sequence number for some 4-tuple equal a recently sent)-2.75 E
(sequence number for the same 4-tuple.)100.8 420.8 Q 1.76 -.88(To a)5.5
H -.22(vo).66 G(id this problem, the endpoint might).22 E(remember dead\
 connection state for each 4-tuple or stay quiet for 2 maximum se)100.8
433.8 Q(gment)-.165 E(lifetimes around such a change.)100.8 446.8 Q/F1
11/Times-Bold@0 SF(7.3.)72 472.8 Q/F2 13/Times-Bold@0 SF(Quiet T)5.5 E
(ime)-.234 E F0(DCCP endpoints, lik)100.8 489.4 Q 2.75(eT)-.11 G
(CP endpoints, must tak)-2.75 E 2.75(ec)-.11 G
(are before initiating connections when)-2.75 E(the)100.8 502.4 Q 2.75
(yb)-.165 G 2.75(oot. In)-2.75 F(particular)2.75 E 2.75(,t)-.44 G(he)
-2.75 E 2.75(yM)-.165 G(UST NO)-2.75 E 2.75(Ts)-.44 G(end pack)-2.75 E
(ets whose sequence numbers are close)-.11 E
(to the sequence numbers of pack)100.8 515.4 Q
(ets lingering in the netw)-.11 E(ork from before the boot.)-.11 E(The)
5.5 E(simplest w)100.8 528.4 Q
(ay to enforce this rule is for DCCP endpoints to a)-.11 E -.22(vo)-.22
G(id sending an).22 E 2.75(yp)-.165 G(ack)-2.75 E(ets until)-.11 E
(one maximum se)100.8 541.4 Q(gment lifetime \(2 minutes\) after boot.)
-.165 E(Other enforcement mechanisms)5.5 E(include remembering recent s\
equence numbers across boots, and reserving the upper 8 or)100.8 554.4 Q
(so bits of initial sequence numbers for a persistent counter that decr\
ements by tw)100.8 567.4 Q 2.75(oe)-.11 G(ach)-2.75 E 2.75(boot. \(The)
100.8 580.4 R(latter mechanism w)2.75 E(ould require disallo)-.11 E
(wing pack)-.275 E(ets with short sequence)-.11 E
(numbers; see Section 7.6.1.\))100.8 593.4 Q F1(7.4.)72 619.4 Q F2
(Ackno)5.5 E(wledgement Numbers)-.13 E F0(Cumulati)100.8 636 Q .33 -.165
(ve a)-.275 H(ckno).165 E
(wledgements are meaningless in an unreliable protocol.)-.275 E
(Therefore,)5.5 E(DCCP')100.8 649 Q 2.75(sA)-.605 G(ckno)-2.75 E
(wledgement Number \214eld has a dif)-.275 E(ferent meaning than TCP')
-.275 E(s.)-.605 E 2.75(Ar)100.8 665.6 S(ecei)-2.75 E -.165(ve)-.275 G
2.75(dp).165 G(ack)-2.75 E(et is classi\214ed as ackno)-.11 E
(wledgeable if and only if its header w)-.275 E(as succesfully)-.11 E
(processed by the recei)100.8 678.6 Q(ving DCCP)-.275 E 5.5(.I)-1.221 G
2.75(nt)-5.5 G(erms of the pseudocode in Section 8.5, a recei)-2.75 E
-.165(ve)-.275 G(d).165 E(pack)100.8 691.6 Q(et becomes ackno)-.11 E
(wledgeable when the recei)-.275 E(ving endpoint reaches Step 8.)-.275 E
(This)5.5 E(means, for e)100.8 704.6 Q(xample, that all ackno)-.165 E
(wledgeable pack)-.275 E(ets ha)-.11 E .33 -.165(ve v)-.22 H
(alid header checksums and)-.11 E(sequence numbers.)100.8 717.6 Q
(The Ackno)5.5 E(wledgement Number MUST equal GSR, the Greatest)-.275 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(7.4. [P)2.75 F(age 39])-.165 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Sequence Number Recei)100.8 85 Q -.165(ve)-.275 G 2.75(do).165 G 2.75
(na)-2.75 G 2.75(na)-2.75 G(ckno)-2.75 E(wledgeable pack)-.275 E
(et, for all pack)-.11 E(et types e)-.11 E(xcept)-.165 E
(DCCP-Sync and DCCP-SyncAck.)100.8 98 Q("Ackno)100.8 114.6 Q
(wledgeable" does not refer to data processing.)-.275 E(Ev)5.5 E
(en ackno)-.165 E(wledgeable pack)-.275 E(ets may)-.11 E(ha)100.8 127.6
Q .33 -.165(ve t)-.22 H(heir application data dropped, due to recei).165
E .33 -.165(ve b)-.275 H(uf)-.055 E(fer o)-.275 E -.165(ve)-.165 G
(r\215o).165 E 2.75(wo)-.275 G 2.75(rc)-2.75 G(orruption, for)-2.75 E
2.75(instance. Data)100.8 140.6 R
(Dropped options report these data losses when necessary)2.75 E 2.75(,l)
-.715 G(etting congestion)-2.75 E
(control mechanisms distinguish between netw)100.8 153.6 Q
(ork losses and endpoint losses.)-.11 E(This issue is)5.5 E
(discussed further in Sections 11.4 and 11.7.)100.8 166.6 Q
(DCCP-Sync and DCCP-SyncAck pack)100.8 183.2 Q(ets' Ackno)-.11 E
(wledgement Numbers dif)-.275 E(fer as follo)-.275 E(ws:)-.275 E
(The Ackno)100.8 196.2 Q(wledgement Number on a DCCP-Sync pack)-.275 E
(et corresponds to a recei)-.11 E -.165(ve)-.275 G 2.75(dp).165 G(ack)
-2.75 E(et,)-.11 E -.22(bu)100.8 209.2 S 2.75(tn).22 G
(ot necessarily an ackno)-2.75 E(wledgeable pack)-.275 E
(et; in particular)-.11 E 2.75(,i)-.44 G 2.75(tm)-2.75 G
(ight correspond to an out-)-2.75 E(of-sync pack)100.8 222.2 Q
(et whose options were not processed.)-.11 E(The Ackno)5.5 E
(wledgement Number on a)-.275 E(DCCP-SyncAck pack)100.8 235.2 Q(et al)
-.11 E -.11(wa)-.11 G(ys corresponds to an ackno).11 E
(wledgeable DCCP-Sync pack)-.275 E(et; it)-.11 E
(might be less than GSR in the presence of reordering.)100.8 248.2 Q/F1
11/Times-Bold@0 SF(7.5.)72 274.2 Q/F2 13/Times-Bold@0 SF -1.196(Va)5.5 G
(lidity and Synchr)1.196 E(onization)-.234 E F0(An)100.8 290.8 Q 2.75
(yD)-.165 G(CCP endpoint might recei)-2.75 E .33 -.165(ve p)-.275 H(ack)
.165 E(ets that are not actually part of the current)-.11 E 2.75
(connection. F)100.8 303.8 R(or instance, the netw)-.165 E
(ork might deli)-.11 E -.165(ve)-.275 G 2.75(ra).165 G 2.75(no)-2.75 G
(ld pack)-2.75 E(et, an attack)-.11 E(er might)-.11 E(attempt to hijack\
 a connection, or the other endpoint might crash, causing a half-open)
100.8 316.8 Q(connection.)100.8 329.8 Q(DCCP)100.8 346.4 Q 2.75(,l)
-1.221 G(ik)-2.75 E 2.75(eT)-.11 G(CP)-2.75 E 2.75(,u)-1.221 G
(ses sequence number checks to detect these cases.)-2.75 E -.165(Pa)5.5
G(ck).165 E(ets whose)-.11 E(Sequence and/or Ackno)100.8 359.4 Q
(wledgement Numbers are out of range are called sequence-in)-.275 E
-.275(va)-.44 G(lid,).275 E(and are not processed normally)100.8 372.4 Q
(.)-.715 E(Unlik)100.8 389 Q 2.75(eT)-.11 G(CP)-2.75 E 2.75(,D)-1.221 G
(CCP requires a synchronization mechanism to reco)-2.75 E -.165(ve)-.165
G 2.75(rf).165 G(rom lar)-2.75 E(ge b)-.198 E(ursts of)-.22 E 2.75
(loss. One)100.8 402 R(endpoint might send so man)2.75 E 2.75(yp)-.165 G
(ack)-2.75 E(ets during a b)-.11 E(urst of loss that when one of its)
-.22 E(pack)100.8 415 Q(ets \214nally got through, the other endpoint w)
-.11 E(ould label its Sequence Number as in)-.11 E -.275(va)-.44 G(lid.)
.275 E 2.75(Ah)100.8 428 S(andshak)-2.75 E 2.75(eo)-.11 G 2.75(fD)-2.75
G(CCP-Sync and DCCP-SyncAck pack)-2.75 E(ets reco)-.11 E -.165(ve)-.165
G(rs from this case.).165 E F1 2.75(7.5.1. Sequence)72 454 R(and Ackno)
2.75 E(wledgement Number W)-.11 E(indo)-.198 E(ws)-.11 E F0
(Each DCCP endpoint de\214nes sequence v)100.8 470.6 Q(alidity windo)
-.275 E(ws that are subsets of the Sequence)-.275 E(and Ackno)100.8
483.6 Q(wledgement Number spaces.)-.275 E(These windo)5.5 E
(ws correspond to pack)-.275 E(ets the)-.11 E(endpoint e)100.8 496.6 Q
(xpects to recei)-.165 E .33 -.165(ve i)-.275 H 2.75(nt).165 G(he ne)
-2.75 E(xt fe)-.165 E 2.75(wr)-.275 G(ound-trip times.)-2.75 E
(The Sequence and)5.5 E(Ackno)100.8 509.6 Q(wledgement Number windo)
-.275 E(ws al)-.275 E -.11(wa)-.11 G(ys contain GSR and GSS, respecti)
.11 E -.165(ve)-.275 G(ly).165 E 5.5(.T)-.715 G(he)-5.5 E(windo)100.8
522.6 Q 2.75(ww)-.275 G(idths are controlled by Sequence W)-2.75 E(indo)
-.44 E 2.75(wf)-.275 G(eatures for the tw)-2.75 E 2.75(oh)-.11 G
(alf-connections.)-2.75 E(The Sequence Number v)100.8 539.2 Q
(alidity windo)-.275 E 2.75(wf)-.275 G(or pack)-2.75 E
(ets from DCCP B is [SWL, SWH].)-.11 E(This)5.5 E(windo)100.8 552.2 Q
2.75(wa)-.275 G -.11(lwa)-2.75 G
(ys contains GSR, the Greatest Sequence Number Recei).11 E -.165(ve)
-.275 G 2.75(do).165 G 2.75(nas)-2.75 G(equence-)-2.75 E -.275(va)100.8
565.2 S(lid pack).275 E(et from DCCP B.)-.11 E(It is W pack)5.5 E
(ets wide, where W is the v)-.11 E(alue of the Sequence)-.275 E -.44(Wi)
100.8 578.2 S(ndo).44 E(w/B feature.)-.275 E
(One-fourth of the sequence windo)5.5 E 1.43 -.715(w, r)-.275 H
(ounded do).715 E(wn, is less than or)-.275 E
(equal to GSR, and three-fourths is greater than GSR.)100.8 591.2 Q
(\(This asymmetric placement assumes)5.5 E(that b)100.8 604.2 Q
(ursts of loss are more common in the netw)-.22 E
(ork than signi\214cant reordering.\))-.11 E/F3 11/Courier@0 SF 6.6
(invalid |)114 623.2 R(valid Sequence Numbers)46.2 E 13.2(|i)52.8 G
(nvalid)-13.2 E
(<---------*|*===========*=======================*|*--------->)100.8
636.2 Q(GSR -|GSR + 1 -)140.4 649.2 Q 105.6(GSR GSR)19.8 F(+|GSR + 1 +)
6.6 E 105.6(floor\(W/4\)|floor\(W/4\) ceil\(3W/4\)|ceil\(3W/4\))107.4
662.2 R 6.6(=S)180 675.2 S 171.6(WL =)-6.6 F(SWH)6.6 E F0(The Ackno)
100.8 694.2 Q(wledgement Number v)-.275 E(alidity windo)-.275 E 2.75(wf)
-.275 G(or pack)-2.75 E(ets from DCCP B is [A)-.11 E(WL,)-.99 E -.99(AW)
100.8 707.2 S 2.75(H]. The).99 F(high end of the windo)2.75 E 1.43 -.715
(w, A)-.275 H(WH, equals GSS, the Greatest Sequence Number)-.275 E
(Sent by DCCP A; the windo)100.8 720.2 Q 2.75(wi)-.275 G 2.75(sW)-2.75 G
2.75('p)-2.75 G(ack)-2.75 E(ets wide, where W' is the v)-.11 E
(alue of the Sequence)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75(7.5.1. [P)2.75 F(age 40])
-.165 E 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E -.44
(Wi)100.8 85 S(ndo).44 E(w/A feature.)-.275 E/F1 11/Courier@0 SF 6.6
(invalid |)114 104 R(valid Acknowledgement Numbers)26.4 E 13.2(|i)26.4 G
(nvalid)-13.2 E
(<---------*|*===================================*|*--------->)100.8 117
Q(GSS - W'|GSS + 1 - W')120.6 130 Q(GSS|GSS + 1)145.2 E 6.6(=A)180 143 S
171.6(WL =)-6.6 F(AWH)6.6 E F0(SWL and A)100.8 162 Q
(WL are initially adjusted so that the)-.99 E 2.75(ya)-.165 G
(re not less than the initial Sequence)-2.75 E(Numbers recei)100.8 175 Q
-.165(ve)-.275 G 2.75(da).165 G(nd sent, respecti)-2.75 E -.165(ve)-.275
G(ly:).165 E(SWL := max\(GSR + 1 - \215oor\(W/4\), ISR\),)136.55 188 Q
-.99(AW)136.55 201 S 2.75(L:).99 G 2.75(=m)-2.75 G
(ax\(GSS - W' + 1, ISS\).)-2.75 E
(These adjustments MUST be applied only at the be)100.8 214 Q
(ginning of the connection.)-.165 E(\(Long-li)5.5 E -.165(ve)-.275 G(d)
.165 E(connections may wrap sequence numbers so that the)100.8 227 Q
2.75(ya)-.165 G(ppear to be less than ISR or ISS; the)-2.75 E
(adjustments MUST NO)100.8 240 Q 2.75(Tb)-.44 G 2.75(ea)-2.75 G
(pplied in that case.\))-2.75 E/F2 11/Times-Bold@0 SF 2.75
(7.5.2. Sequence)72 266 R -.198(Wi)2.75 G(ndo).198 E 2.75(wF)-.11 G
(eatur)-3.025 E(e)-.198 E F0(The Sequence W)100.8 282.6 Q(indo)-.44 E
(w/A feature determines the width of the Sequence Number v)-.275 E
(alidity)-.275 E(windo)100.8 295.6 Q 2.75(wu)-.275 G
(sed by DCCP B, and the width of the Ackno)-2.75 E(wledgement Number v)
-.275 E(alidity)-.275 E(windo)100.8 308.6 Q 2.75(wu)-.275 G
(sed by DCCP A.)-2.75 E(DCCP A sends a "Change L\(Sequence W)5.5 E(indo)
-.44 E 1.43 -.715(w, W)-.275 H(\)" option to).715 E
(notify DCCP B that the Sequence W)100.8 321.6 Q(indo)-.44 E(w/A v)-.275
E(alue is W)-.275 E(.)-1.012 E(Sequence W)100.8 338.2 Q(indo)-.44 E 2.75
(wh)-.275 G(as feature number 3, and is non-ne)-2.75 E 2.75
(gotiable. It)-.165 F(tak)2.75 E(es 48-bit \(6-byte\))-.11 E(inte)100.8
351.2 Q(ger v)-.165 E(alues, lik)-.275 E 2.75(eD)-.11 G
(CCP sequence numbers.)-2.75 E
(Change and Con\214rm options for Sequence)5.5 E -.44(Wi)100.8 364.2 S
(ndo).44 E 2.75(wa)-.275 G(re therefore 9 bytes long.)-2.75 E(Ne)5.5 E
2.75(wc)-.275 G(onnections start with Sequence W)-2.75 E(indo)-.44 E
2.75(w1)-.275 G(00 for)-2.75 E(both endpoints.)100.8 377.2 Q
(The minimum v)5.5 E(alid Sequence W)-.275 E(indo)-.44 E 2.75(wv)-.275 G
(alue is Wmin = 32.)-3.025 E(The)5.5 E(maximum v)100.8 390.2 Q
(alid Sequence W)-.275 E(indo)-.44 E 2.75(wv)-.275 G
(alue is Wmax = 2^46 - 1 = 70368744177663; circular)-3.025 E
(sequence number comparisons w)100.8 403.2 Q(ould stop w)-.11 E
(orking absent this constraint.)-.11 E(Change options)5.5 E
(suggesting Sequence W)100.8 416.2 Q(indo)-.44 E 2.75(wv)-.275 G
(alues out of this range are in)-3.025 E -.275(va)-.44 G
(lid and MUST be handled).275 E(accordingly)100.8 429.2 Q(.)-.715 E 2.75
(Ap)100.8 445.8 S(roper Sequence W)-2.75 E(indo)-.44 E(w/A v)-.275 E
(alue must re\215ect the number of pack)-.275 E(ets DCCP A e)-.11 E
(xpects)-.165 E(to be in \215ight.)100.8 458.8 Q
(Only DCCP A can anticipate this number)5.5 E 5.5(.V)-.605 G
(alues that are too small)-6.721 E
(increase the risk of the endpoints getting out sync after b)100.8 471.8
Q(ursts of loss, and v)-.22 E(alues that are)-.275 E
(much too small can pre)100.8 484.8 Q -.165(ve)-.275 G(nt producti).165
E .33 -.165(ve c)-.275 H(ommunication whether or not there is loss.).165
E(On the)5.5 E(other hand, too-lar)100.8 497.8 Q(ge v)-.198 E
(alues increase the risk of connection hijacking; Section 7.5.5)-.275 E
(quanti\214es this risk.)100.8 510.8 Q
(One good guideline is for each endpoint to set Sequence W)5.5 E(indo)
-.44 E 2.75(wt)-.275 G(o)-2.75 E(about \214v)100.8 523.8 Q 2.75(et)-.165
G(imes the maximum number of pack)-2.75 E(ets it e)-.11 E
(xpects to send in a round-trip time.)-.165 E
(Endpoints SHOULD send Change L\(Sequence W)100.8 536.8 Q(indo)-.44 E
(w\) options as necessary as the)-.275 E(connection progresses.)100.8
549.8 Q(Also, an endpoint MUST NO)5.5 E 2.75(Tp)-.44 G
(ersistently send more than its)-2.75 E(Sequence W)100.8 562.8 Q(indo)
-.44 E 2.75(wn)-.275 G(umber of pack)-2.75 E
(ets per round-trip time; that is, DCCP A MUST NO)-.11 E(T)-.44 E
(persistently send more than Sequence W)100.8 575.8 Q(indo)-.44 E
(w/A pack)-.275 E(ets per R)-.11 E(TT)-.66 E(.)-.814 E F2 2.75
(7.5.3. Sequence-V)72 601.8 R(alidity Rules)-1.012 E F0(Sequence-v)100.8
618.4 Q(alidity depends on the recei)-.275 E -.165(ve)-.275 G 2.75(dp)
.165 G(ack)-2.75 E(et')-.11 E 2.75(st)-.605 G 2.75(ype. This)-2.75 F
(table sho)2.75 E(ws the sequence)-.275 E(and ackno)100.8 631.4 Q
(wledgement number checks applied to each pack)-.275 E(et; a pack)-.11 E
(et is sequence-v)-.11 E(alid if)-.275 E
(it passes both tests, and sequence-in)100.8 644.4 Q -.275(va)-.44 G
(lid if it does not.).275 E(Man)5.5 E 2.75(yo)-.165 G 2.75(ft)-2.75 G
(he checks refer to the)-2.75 E(sequence and ackno)100.8 657.4 Q
(wledgement number v)-.275 E(alidity windo)-.275 E(ws [SWL, SWH] and [A)
-.275 E(WL, A)-.99 E(WH])-.99 E(de\214ned in Section 7.5.1.)100.8 670.4
Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)
-.11 F 2.75(7.5.3. [P)2.75 F(age 41])-.165 E 0 Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(Acknowledgement Number)378 85 Q(Packet Type)100.8 98 Q
(Sequence Number Check)39.6 E(Check)26.4 E 33
(----------- ---------------------)100.8 111 R(----------------------)
26.4 E 26.4(DCCP-Request SWL)100.8 124 R(<= seqno <= SWH \(*\))6.6 E
(N/A)13.2 E 19.8(DCCP-Response SWL)100.8 137 R(<= seqno <= SWH \(*\))6.6
E(AWL <= ackno <= AWH)13.2 E 46.2(DCCP-Data SWL)100.8 150 R
(<= seqno <= SWH)6.6 E(N/A)39.6 E 52.8(DCCP-Ack SWL)100.8 163 R
(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E 26.4(DCCP-DataAck SWL)
100.8 176 R(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E 19.8
(DCCP-CloseReq GSR)100.8 189 R 13.2(<s)6.6 G(eqno <= SWH)-13.2 E
(GAR <= ackno <= AWH)39.6 E 39.6(DCCP-Close GSR)100.8 202 R 13.2(<s)6.6
G(eqno <= SWH)-13.2 E(GAR <= ackno <= AWH)39.6 E 39.6(DCCP-Reset GSR)
100.8 215 R 13.2(<s)6.6 G(eqno <= SWH)-13.2 E(GAR <= ackno <= AWH)39.6 E
46.2(DCCP-Sync SWL)100.8 228 R(<= seqno)6.6 E(AWL <= ackno <= AWH)85.8 E
26.4(DCCP-SyncAck SWL)100.8 241 R(<= seqno)6.6 E(AWL <= ackno <= AWH)
85.8 E
(\(*\) Check not applied if connection is in LISTEN or REQUEST state.)
100.8 267 Q F0(In general, pack)100.8 286 Q(ets are sequence-v)-.11 E
(alid if their Sequence and Ackno)-.275 E(wledgement Numbers)-.275 E
(lie within the corresponding v)100.8 299 Q(alid windo)-.275 E
(ws, [SWL, SWH] and [A)-.275 E(WL, A)-.99 E 2.75(WH]. The)-.99 F -.165
(ex)100.8 312 S(ceptions to this rule are as follo).165 E(ws:)-.275 E
12.65<8353>100.8 328.6 S
(ince DCCP-CloseReq, DCCP-Close, and DCCP-Reset pack)-12.65 E
(ets end a connection, the)-.11 E(y)-.165 E(cannot ha)117.3 341.6 Q .33
-.165(ve S)-.22 H(equence Numbers less than or equal to GSR, or Ackno)
.165 E(wledgement)-.275 E(Numbers less than GAR.)117.3 354.6 Q 12.65
<8344>100.8 371.2 S
(CCP-Sync and DCCP-SyncAck Sequence Numbers are not strongly check)
-12.65 E 2.75(ed. These)-.11 F(pack)117.3 384.2 Q(et types e)-.11 E(xis\
t speci\214cally to get the endpoints back into sync; checking their)
-.165 E(Sequence Numbers w)117.3 397.2 Q
(ould eliminate their usefulness.)-.11 E
(The lenient checks on DCCP-Sync and DCCP-SyncAck pack)100.8 413.8 Q
(ets allo)-.11 E 2.75(wc)-.275 G(ontinued operation)-2.75 E
(after unusual e)100.8 426.8 Q -.165(ve)-.275 G
(nts, such as endpoint crashes and lar).165 E(ge b)-.198 E
(ursts of loss, b)-.22 E(ut there')-.22 E 2.75(sn)-.605 G 2.75(on)-2.75
G(eed)-2.75 E(for lenienc)100.8 439.8 Q 2.75(yi)-.165 G 2.75(nt)-2.75 G
(he absence of unusual e)-2.75 E -.165(ve)-.275 G
(nts -- that is, during ongoing successful).165 E 2.75
(communication. Therefore,)100.8 452.8 R
(DCCP implementations SHOULD use the follo)2.75 E(wing, more)-.275 E
(stringent checks for acti)100.8 465.8 Q .33 -.165(ve c)-.275 H
(onnections, where a connection is considered acti).165 E .33 -.165
(ve i)-.275 H 2.75(fi).165 G 2.75(th)-2.75 G(as)-2.75 E(recei)100.8
478.8 Q -.165(ve)-.275 G 2.75(dv).165 G(alid pack)-3.025 E
(ets from the other endpoint within the last \214v)-.11 E 2.75(er)-.165
G(ound-trip times.)-2.75 E F1(Acknowledgement Number)378 497.8 Q
(Packet Type)100.8 510.8 Q(Sequence Number Check)39.6 E(Check)26.4 E 33
(----------- ---------------------)100.8 523.8 R(----------------------)
26.4 E 46.2(DCCP-Sync SWL)100.8 536.8 R(<= seqno <= SWH)6.6 E
(AWL <= ackno <= AWH)39.6 E 26.4(DCCP-SyncAck SWL)100.8 549.8 R
(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E F0(Finally)100.8 568.8
Q 2.75(,a)-.715 G 2.75(ne)-2.75 G(ndpoint MA)-2.75 E 2.75(Ya)-1.155 G
(pply the follo)-2.75 E(wing more stringent checks to DCCP-CloseReq,)
-.275 E(DCCP-Close, and DCCP-Reset pack)100.8 581.8 Q(ets, further lo)
-.11 E(wering the probability of successful)-.275 E
(blind attacks using those pack)100.8 594.8 Q(et types.)-.11 E
(Since these checks can cause e)5.5 E(xtra synchronization)-.165 E -.165
(ove)100.8 607.8 S(rhead and delay connection closing when pack).165 E
(ets are lost, the)-.11 E 2.75(ys)-.165 G(hould be considered)-2.75 E
-.165(ex)100.8 620.8 S(perimental.).165 E F1(Acknowledgement Number)378
639.8 Q(Packet Type)100.8 652.8 Q(Sequence Number Check)39.6 E(Check)
26.4 E 33(----------- ---------------------)100.8 665.8 R
(----------------------)26.4 E 19.8(DCCP-CloseReq seqno)100.8 678.8 R
(== GSR + 1)6.6 E(GAR <= ackno <= AWH)59.4 E 39.6(DCCP-Close seqno)100.8
691.8 R(== GSR + 1)6.6 E(GAR <= ackno <= AWH)59.4 E 39.6
(DCCP-Reset seqno)100.8 704.8 R(== GSR + 1)6.6 E(GAR <= ackno <= AWH)
59.4 E F0(Note that sequence-v)100.8 723.8 Q
(alidity is only one of the v)-.275 E(alidity checks applied to recei)
-.275 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(ets.)-.11 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F
2.75(7.5.3. [P)2.75 F(age 42])-.165 E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF 2.75(7.5.4. Handling)72 85 R(Sequence-In)2.75 E -.11
(va)-.44 G(lid P).11 E(ack)-.11 E(ets)-.11 E F0
(Endpoints MUST ignore sequence-in)100.8 101.6 Q -.275(va)-.44 G
(lid DCCP-Sync and DCCP-SyncAck pack).275 E(ets, and)-.11 E
(MUST respond to other sequence-in)100.8 114.6 Q -.275(va)-.44 G
(lid pack).275 E(ets with \(possibly rate-limited\) DCCP-Sync)-.11 E
(pack)100.8 127.6 Q 2.75(ets. Each)-.11 F(such DCCP-Sync pack)2.75 E
(et MUST use a ne)-.11 E 2.75(wS)-.275 G(equence Number)-2.75 E 2.75(,a)
-.44 G(nd thus will)-2.75 E(increase GSS; GSR will not change, ho)100.8
140.6 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, s).165 H(ince the recei)
.44 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(et w)-.11 E
(as sequence-)-.11 E(in)100.8 153.6 Q -.275(va)-.44 G 2.75(lid. Each)
.275 F(such DCCP-Sync pack)2.75 E(et')-.11 E 2.75(sA)-.605 G(ckno)-2.75
E(wledgement Number MUST equal GSR)-.275 E(when the recei)100.8 166.6 Q
-.165(ve)-.275 G 2.75(ds).165 G(equence-in)-2.75 E -.275(va)-.44 G
(lid pack).275 E(et has type DCCP-Reset, and the recei)-.11 E -.165(ve)
-.275 G 2.75(dp).165 G(ack)-2.75 E(et')-.11 E(s)-.605 E
(Sequence Number otherwise.)100.8 179.6 Q(On recei)100.8 196.2 Q
(ving a sequence-v)-.275 E(alid DCCP-Sync pack)-.275 E
(et, the peer endpoint \(say)-.11 E 2.75(,D)-.715 G(CCP B\))-2.75 E
(MUST update its GSR v)100.8 209.2 Q
(ariable and reply with a DCCP-SyncAck pack)-.275 E 2.75(et. The)-.11 F
(DCCP-)2.75 E(SyncAck pack)100.8 222.2 Q(et')-.11 E 2.75(sA)-.605 G
(ckno)-2.75 E(wledgement Number will equal the DCCP-Sync')-.275 E 2.75
(sS)-.605 G(equence)-2.75 E(Number)100.8 235.2 Q 2.75(,n)-.44 G
(ot necessarily GSR.)-2.75 E(Upon recei)5.5 E
(ving this DCCP-SyncAck, which will be)-.275 E(sequence-v)100.8 248.2 Q
(alid since it ackno)-.275 E
(wledges the DCCP-Sync, DCCP A will update its GSR)-.275 E -.275(va)
100.8 261.2 S(riable, and the endpoints will be back in sync.).275 E
(As an e)5.5 E(xception, if the peer endpoint is in)-.165 E(the REQ)
100.8 274.2 Q(UEST state, it MUST respond with a DCCP-Reset instead of \
a DCCP-SyncAck.)-.11 E(This serv)100.8 287.2 Q(es to clean up DCCP A)
-.165 E 1.21 -.605('s h)-1.221 H(alf-open connection.).605 E 1.76 -.88
(To p)100.8 303.8 T(rotect ag).88 E
(ainst denial-of-service attacks, DCCP implementations SHOULD impose a)
-.055 E(rate limit on DCCP-Syncs sent in response to sequence-in)100.8
316.8 Q -.275(va)-.44 G(lid pack).275 E(ets, such as not more)-.11 E
(than eight DCCP-Syncs per second.)100.8 329.8 Q(DCCP endpoints MUST NO)
100.8 346.4 Q 2.75(Tp)-.44 G(rocess sequence-in)-2.75 E -.275(va)-.44 G
(lid pack).275 E(ets e)-.11 E(xcept, perhaps, by)-.165 E
(generating a DCCP-Sync.)100.8 359.4 Q -.165(Fo)5.5 G 2.75(ri).165 G
(nstance, options MUST NO)-2.75 E 2.75(Tb)-.44 G(ut processed.)-2.97 E
(An endpoint)5.5 E(MA)100.8 372.4 Q 2.75(Yt)-1.155 G(emporarily preserv)
-2.75 E 2.75(es)-.165 G(equence-in)-2.75 E -.275(va)-.44 G(lid pack).275
E(ets in case the)-.11 E 2.75(yb)-.165 G(ecome v)-2.75 E(alid later)
-.275 E(,)-.44 E(ho)100.8 385.4 Q(we)-.275 E -.165(ve)-.275 G
(r; this can reduce the impact of b).165 E(ursts of loss by deli)-.22 E
-.165(ve)-.275 G(ring more pack).165 E(ets to the)-.11 E 2.75
(application. In)100.8 398.4 R(particular)2.75 E 2.75(,a)-.44 G 2.75(ne)
-2.75 G(ndpoint MA)-2.75 E 2.75(Yp)-1.155 G(reserv)-2.75 E 2.75(es)-.165
G(equence-in)-2.75 E -.275(va)-.44 G(lid pack).275 E(ets for up to 2)
-.11 E(round-trip times.)100.8 411.4 Q(If, within that time, the rele)
5.5 E -.275(va)-.275 G(nt sequence windo).275 E(ws change so that the)
-.275 E(pack)100.8 424.4 Q(ets become sequence-v)-.11 E
(alid, the endpoint MA)-.275 E 2.75(Yp)-1.155 G(rocess them ag)-2.75 E
(ain.)-.055 E(Note that sequence-in)100.8 441 Q -.275(va)-.44 G
(lid DCCP-Reset pack).275 E(ets cause DCCP-Syncs to be generated.)-.11 E
(This)5.5 E
(is because endpoints in an unsynchronized state \(CLOSED, REQ)100.8 454
Q(UEST)-.11 E 2.75(,a)-.814 G(nd LISTEN\))-2.75 E(might not ha)100.8 467
Q .33 -.165(ve e)-.22 H
(nough information to generate a proper DCCP-Reset on the \214rst try)
.165 E 5.5(.F)-.715 G(or)-5.665 E -.165(ex)100.8 480 S
(ample, if a peer endpoint is in CLOSED state and recei).165 E -.165(ve)
-.275 G 2.75(saD).165 G(CCP-Data pack)-2.75 E(et, it)-.11 E(cannot gues\
s the right Sequence Number to use on the DCCP-Reset it generates \(sin\
ce the)100.8 493 Q(DCCP-Data pack)100.8 506 Q(et has no Ackno)-.11 E
(wledgement Number\).)-.275 E(The DCCP-Sync generated in)5.5 E
(response to this bad reset serv)100.8 519 Q
(es as a challenge, and contains enough information for the)-.165 E
(peer to generate a proper DCCP-Reset.)100.8 532 Q(Ho)5.5 E(we)-.275 E
-.165(ve)-.275 G .88 -.44(r, t).165 H(he ne).44 E 2.75(wD)-.275 G
(CCP-Reset may carry a)-2.75 E(dif)100.8 545 Q
(ferent Reset Code than the original DCCP-Reset; probably the ne)-.275 E
2.75(wR)-.275 G(eset Code will be)-2.75 E(3, "No Connection".)100.8 558
Q(The endpoint SHOULD use information from the original DCCP-)5.5 E
(Reset when possible.)100.8 571 Q F1 2.75(7.5.5. Sequence)72 597 R
(Number Attacks)2.75 E F0(Sequence and Ackno)100.8 613.6 Q
(wledgement Numbers form DCCP')-.275 E 2.75(sm)-.605 G
(ain line of defense ag)-2.75 E(ainst)-.055 E(attack)100.8 626.6 Q 2.75
(ers. An)-.11 F(attack)2.75 E
(er that cannot guess sequence numbers cannot easily manipulate or)-.11
E(hijack a DCCP connection, and requirements lik)100.8 639.6 Q 2.75(ec)
-.11 G(areful initial sequence number choice)-2.75 E
(eliminate the most serious attacks.)100.8 652.6 Q(An attack)100.8 669.2
Q(er might still send man)-.11 E 2.75(yp)-.165 G(ack)-2.75 E
(ets with randomly chosen Sequence and)-.11 E(Ackno)100.8 682.2 Q
(wledgement Numbers, ho)-.275 E(we)-.275 E -.165(ve)-.275 G 3.96 -.605
(r. I).165 H 2.75(fo).605 G(ne of those probes ends up sequence-v)-2.75
E(alid, it)-.275 E(may shut do)100.8 695.2 Q
(wn the connection or otherwise cause problems.)-.275 E
(The easiest such attacks to)5.5 E -.165(exe)100.8 708.2 S(cute are:)
.165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01
(yd Section)-.11 F 2.75(7.5.5. [P)2.75 F(age 43])-.165 E 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 12.65
<8353>100.8 85 S(end DCCP-Data pack)-12.65 E
(ets with random Sequence Numbers.)-.11 E(If one of these pack)5.5 E
(ets hits)-.11 E(the v)117.3 98 Q(alid sequence number windo)-.275 E
1.43 -.715(w, t)-.275 H(he attack pack).715 E(et')-.11 E 2.75(sa)-.605 G
(pplication data may be inserted)-2.75 E(into the data stream.)117.3 111
Q 12.65<8353>100.8 127.6 S(end DCCP-Sync pack)-12.65 E
(ets with random Sequence and Ackno)-.11 E(wledgement Numbers.)-.275 E
(If)5.5 E(one of these pack)117.3 140.6 Q(ets hits the v)-.11 E
(alid ackno)-.275 E(wledgement number windo)-.275 E 1.43 -.715(w, t)
-.275 H(he recei).715 E -.165(ve)-.275 G 2.75(rw).165 G(ill)-2.75 E
(shift its sequence number windo)117.3 153.6 Q 2.75(wa)-.275 G
(ccordingly)-2.75 E 2.75(,g)-.715 G(etting out of sync with the correct)
-2.75 E(endpoint -- perhaps permanently)117.3 166.6 Q(.)-.715 E
(The attack)100.8 183.2 Q
(er has to guess both Source and Destination Ports for an)-.11 E 2.75
(yo)-.165 G 2.75(ft)-2.75 G(hese attacks to)-2.75 E 2.75
(succeed. Additionally)100.8 196.2 R 2.75(,t)-.715 G(he connection w)
-2.75 E(ould ha)-.11 E .33 -.165(ve t)-.22 H 2.75(ob).165 G 2.75(ei)
-2.75 G(nacti)-2.75 E .33 -.165(ve f)-.275 H(or the DCCP-Sync attack)
.165 E(to succeed, assuming the victim implemented the more stringent c\
hecks for acti)100.8 209.2 Q -.165(ve)-.275 G
(connections recommended in Section 7.5.3.)100.8 222.2 Q 1.76 -.88(To q)
100.8 238.8 T
(uantify the probability of success, let N be the number of attack pack)
.88 E(ets the attack)-.11 E(er is)-.11 E(willing to send, W be the rele)
100.8 251.8 Q -.275(va)-.275 G(nt sequence windo).275 E 2.75(ww)-.275 G
(idth, and L be the length of sequence)-2.75 E(numbers \(24 or 48\).)
100.8 264.8 Q(The attack)5.5 E(er')-.11 E 2.75(sb)-.605 G(est strate)
-2.75 E(gy is to space the attack pack)-.165 E(ets e)-.11 E -.165(ve)
-.275 G(nly o).165 E -.165(ve)-.165 G(r).165 E(sequence space.)100.8
277.8 Q(Then the probability of hitting one sequence number windo)5.5 E
2.75(wi)-.275 G 2.75(sP=)-2.75 G(WN/2^L.)100.8 290.8 Q(The success prob\
ability for a DCCP-Data attack using short sequence numbers thus equals)
100.8 307.4 Q 2.75(P=W)100.8 320.4 S 2.75(N/2^24. F)-2.75 F
(or W = 100, then, the attack)-.165 E
(er must send more than 83,000 pack)-.11 E(ets to)-.11 E(achie)100.8
333.4 Q .33 -.165(ve a 5)-.275 H(0% chance of success.).165 E -.165(Fo)
5.5 G 2.75(rr).165 G(eference, the easiest TCP attack -- sending a SYN)
-2.75 E(with a random sequence number)100.8 346.4 Q 2.75(,w)-.44 G
(hich will cause a connection reset if it f)-2.75 E(alls within the)-.11
E(windo)100.8 359.4 Q 2.75(w-)-.275 G 2.75(-h)-2.75 G
(as W = 8760 \(a common def)-2.75 E
(ault\) and L = 32, and requires more than 245,000)-.11 E(pack)100.8
372.4 Q(ets to achie)-.11 E .33 -.165(ve a 5)-.275 H
(0% chance of success.).165 E 2.75(Af)100.8 389 S(ast connection')-2.86
E 2.75(sWw)-.605 G
(ill generally be high, increasing the attack success probability for)
-2.75 E<8c78>100.8 402 Q(ed N.)-.165 E(If this probability gets uncomfo\
rtably high with L = 24, the endpoint SHOULD)5.5 E(pre)100.8 415 Q -.165
(ve)-.275 G
(nt the use of short sequence numbers by manipulating the Allo).165 E
2.75(wS)-.275 G(hort Sequence)-2.75 E
(Numbers feature \(see Section 7.6.1\).)100.8 428 Q
(The probability limit depends on the application,)5.5 E(ho)100.8 441 Q
(we)-.275 E -.165(ve)-.275 G 3.96 -.605(r. S).165 H(ome applications, s\
uch as those already designed to handle corruption, are quite).605 E
(resilient to data injection attacks.)100.8 454 Q
(The DCCP-Sync attack has L = 48, since DCCP-Sync pack)100.8 470.6 Q
(ets use long sequence numbers)-.11 E -.165(ex)100.8 483.6 S(clusi).165
E -.165(ve)-.275 G(ly; in addition, the success probability is halv).165
E(ed, since only half the Sequence)-.165 E(Number space is v)100.8 496.6
Q 2.75(alid. Attacks)-.275 F(ha)2.75 E .33 -.165(ve a c)-.22 H
(orrespondingly smaller probability of success.).165 E -.165(Fo)5.5 G(r)
.165 E 2.75(al)100.8 509.6 S(ar)-2.75 E(ge W of 2000 pack)-.198 E
(ets, then, the attack)-.11 E(er must send more than 10^11 pack)-.11 E
(ets to achie)-.11 E -.165(ve)-.275 G 2.75(a5)100.8 522.6 S
(0% chance of success.)-2.75 E(Attacks in)100.8 539.2 Q -.22(vo)-.44 G
(lving DCCP-Ack, DCCP-DataAck, DCCP-CloseReq, DCCP-Close, and).22 E
(DCCP-Reset pack)100.8 552.2 Q(ets are more dif)-.11 E
(\214cult, since Sequence and Ackno)-.275 E(wledgement Numbers)-.275 E
(must both be guessed.)100.8 565.2 Q
(The probability of attack success for these pack)5.5 E
(et types equals P =)-.11 E
(WXN/2^\(2L\), where W is the Sequence Number windo)100.8 578.2 Q 1.43
-.715(w, X i)-.275 H 2.75(st).715 G(he Ackno)-2.75 E(wledgement)-.275 E
(Number windo)100.8 591.2 Q 1.43 -.715(w, a)-.275 H
(nd N and L are as before.).715 E
(Since DCCP-Data attacks with short sequence numbers are relati)100.8
607.8 Q -.165(ve)-.275 G(ly easy for attack).165 E(ers to)-.11 E -.165
(exe)100.8 620.8 S(cute, DCCP has been engineered to pre).165 E -.165
(ve)-.275 G(nt these attacks from escalating to connection).165 E
(resets or other serious consequences.)100.8 633.8 Q(In particular)5.5 E
2.75(,a)-.44 G .33 -.165(ny o)-2.75 H(ptions whose processing might).165
E(cause the connection to be reset are ignored when the)100.8 646.8 Q
2.75(ya)-.165 G(ppear on DCCP-Data pack)-2.75 E(ets.)-.11 E/F1 11
/Times-Bold@0 SF 2.75(7.5.6. Sequence)72 672.8 R
(Number Handling Examples)2.75 E F0(In the follo)100.8 689.4 Q(wing e)
-.275 E(xample, DCCP A and DCCP B reco)-.165 E -.165(ve)-.165 G 2.75(rf)
.165 G(rom a lar)-2.75 E(ge b)-.198 E(urst of loss that)-.22 E
(runs DCCP A)100.8 702.4 Q 1.21 -.605('s s)-1.221 H
(equence numbers out of DCCP B').605 E 2.75(sa)-.605 G
(ppropriate sequence number windo)-2.75 E -.715(w.)-.275 G -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.5.6. [P)2.75 F(age 44])-.165 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(DCCP A)100.8 85 Q(DCCP B)283.8 E 224.4
(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 98 R 13.2(--> DCCP-Data\(seq)
180 111 R 26.4(2\) XXX)6.6 F(...)246 124 Q 13.2(--> DCCP-Data\(seq)180
137 R 13.2(100\) XXX)6.6 F 13.2(--> DCCP-Data\(seq)180 150 R 66
(101\) -->)6.6 F(???)13.2 E(seqno out of range;)424.2 163 Q(send Sync)
424.2 176 Q 39.6(OK <--)120.6 189 R(DCCP-Sync\(seq 11, ack 101\))19.8 E
(<--)19.8 E(\(GSS=11,GSR=1\))424.2 202 Q 13.2(--> DCCP-SyncAck\(seq)180
215 R(102, ack 11\))6.6 E 13.2(--> OK)19.8 F 211.2
(\(GSS=102,GSR=11\) \(GSS=11,GSR=102\))100.8 228 R F0(In the ne)100.8
247 Q(xt e)-.165 E(xample, a DCCP connection reco)-.165 E -.165(ve)-.165
G(rs from a simple blind attack.).165 E F1(DCCP A)100.8 266 Q(DCCP B)
283.8 E 224.4(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 279 R 6.6
(*ATTACKER* --> DCCP-Data\(seq)186.6 292 R 6.6(10^6\) --> ???)6.6 F
(seqno out of range;)424.2 305 Q(send Sync)424.2 318 Q 33(??? <--)120.6
331 R(DCCP-Sync\(seq 11, ack 10^6\))19.8 E(<--)13.2 E
(ackno out of range; ignore)100.8 344 Q 224.4
(\(GSS=1,GSR=10\) \(GSS=11,GSR=1\))100.8 357 R F0(The \214nal e)100.8
376 Q(xample demonstrates reco)-.165 E -.165(ve)-.165 G
(ry from a half-open connection.).165 E F1(DCCP A)100.8 395 Q(DCCP B)
283.8 E 224.4(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 408 R(\(Crash\))
100.8 421 Q 303.6(CLOSED OPEN)100.8 434 R 26.4(REQUEST -->)100.8 447 R
(DCCP-Request\(seq 400\))19.8 E 13.2(--> ???)52.8 F 59.4(!! <--)100.8
460 R(DCCP-Sync\(seq 11, ack 400\))19.8 E 13.2(<-- OPEN)19.8 F 26.4
(REQUEST -->)100.8 473 R(DCCP-Reset\(seq 401, ack 11\))19.8 E 13.2
(--> \(Abort\))13.2 F 297(REQUEST CLOSED)100.8 486 R 26.4(REQUEST -->)
100.8 499 R(DCCP-Request\(seq 402\))19.8 E 13.2(--> ...)52.8 F/F2 11
/Times-Bold@0 SF(7.6.)72 531 Q/F3 13/Times-Bold@0 SF
(Short Sequence Numbers)5.5 E F0
(DCCP sequence numbers are 48 bits long.)100.8 547.6 Q(This lar)5.5 E
(ge sequence space protects DCCP)-.198 E(connections ag)100.8 560.6 Q(a\
inst some blind attacks, such as the injection of DCCP-Resets into the)
-.055 E 2.75(connection. Ho)100.8 573.6 R(we)-.275 E -.165(ve)-.275 G
.88 -.44(r, D).165 H(CCP-Data, DCCP-Ack, and DCCP-DataAck pack).44 E
(ets, which mak)-.11 E(e)-.11 E(up the body of an)100.8 586.6 Q 2.75(yD)
-.165 G
(CCP connection, may reduce header space by transmitting only the)-2.75
E(lo)100.8 599.6 Q(wer 24 bits of the rele)-.275 E -.275(va)-.275 G
(nt Sequence and Ackno).275 E(wledgement Numbers.)-.275 E(The recei)5.5
E(ving)-.275 E(endpoint will e)100.8 612.6 Q
(xtend these numbers to 48 bits using the follo)-.165 E
(wing pseudocode:)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 230.26(yd Section)-.11 F 2.75(7.6. [P)2.75 F(age 45])-.165 E 0
Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(procedure Extend_Sequence_Number\(S, REF\))100.8 85 Q
(/* S is a 24-bit sequence number from the packet header.)120.6 98 Q
(REF is the relevant 48-bit reference sequence number:)140.4 111 Q
(GSS if S is an Acknowledgement Number, and GSR if S is a)140.4 124 Q
(Sequence Number. */)140.4 137 Q(Set REF_low := low 24 bits of REF)120.6
150 Q(Set REF_hi := high 24 bits of REF)120.6 163 Q(If REF_low \(<\) S)
120.6 176 Q(/* circular comparison mod 2^24 */)72.6 E
(and S |<| REF_low,)160.2 189 Q(/* conventional, non-circular)19.8 E
(comparison */)318.6 202 Q
(Return \(\(\(REF_hi + 1\) mod 2^24\) << 24\) | S)140.4 215 Q
(Otherwise, if S \(<\) REF_low and REF_low |<| S,)120.6 228 Q
(Return \(\(\(REF_hi - 1\) mod 2^24\) << 24\) | S)140.4 241 Q
(Otherwise,)120.6 254 Q(Return \(REF_hi << 24\) | S)140.4 267 Q F0
(The tw)100.8 286 Q 2.75(od)-.11 G(if)-2.75 E
(ferent kinds of comparison in the if statements detect when the lo)
-.275 E(w-order bits)-.275 E(of the sequence space ha)100.8 299 Q .33
-.165(ve w)-.22 H 2.75(rapped. \(The).165 F(circular comparison "REF_lo)
2.75 E 2.75(w\()-.275 G(<\) S" returns)-2.75 E
(true if and only if \(S \255 REF_lo)100.8 312 Q
(w\), calculated using tw)-.275 E(o')-.11 E
(s-complement arithmetic and then)-.605 E
(represented as an unsigned number)100.8 325 Q 2.75(,i)-.44 G 2.75(sl)
-2.75 G(ess than or equal to 2^23 \(mod 2^24\).\))-2.75 E(When this)5.5
E(happens, the high-order bits are incremented or decremented, as appro\
priate.)100.8 338 Q/F2 11/Times-Bold@0 SF 2.75(7.6.1. Allo)72 364 R 2.75
(wS)-.11 G(hort Sequence Numbers F)-2.75 E(eatur)-.275 E(e)-.198 E F0
(Endpoints can require that all pack)100.8 380.6 Q
(ets use long sequence numbers by setting the Allo)-.11 E(w)-.275 E
(Short Sequence Numbers feature to f)100.8 393.6 Q 2.75(alse. This)-.11
F(can reduce the risk that data will be)2.75 E
(inappropriately injected into the connection.)100.8 406.6 Q
(DCCP A sends a "Change R\(Allo)5.5 E 2.75(wS)-.275 G(hort)-2.75 E
(Seqnos, 0\)" option to ask DCCP B to send only long sequence numbers.)
100.8 419.6 Q(Allo)100.8 436.2 Q 2.75(wS)-.275 G
(hort Sequence Numbers has feature number 2, and is serv)-2.75 E(er)
-.165 E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-)-.11 E(byte Boolean v)100.8 449.2 Q 2.75(alues. DCCP)-.275 F
2.75(BM)2.75 G(UST NO)-2.75 E 2.75(Ts)-.44 G(end pack)-2.75 E
(ets with short sequence numbers)-.11 E(when Allo)100.8 462.2 Q 2.75(wS)
-.275 G(hort Seqnos/B is zero.)-2.75 E -1.221(Va)5.5 G(lues of tw)1.221
E 2.75(oo)-.11 G 2.75(rm)-2.75 G(ore are reserv)-2.75 E 2.75(ed. Ne)
-.165 F 2.75(wc)-.275 G(onnections)-2.75 E(start with Allo)100.8 475.2 Q
2.75(wS)-.275 G(hort Sequence Numbers 1 for both endpoints.)-2.75 E F2
2.75(7.6.2. When)72 501.2 R(to A)2.75 E -.11(vo)-1.1 G
(id Short Sequence Numbers).11 E F0(Short sequence numbers reduce the r\
ate DCCP connections can safely achie)100.8 517.8 Q -.165(ve)-.275 G
2.75(,a).165 G(nd)-2.75 E(increase the risks of certain kinds of attack\
s, including blind data injection.)100.8 530.8 Q -1.221(Ve)5.5 G
(ry-high-rate)1.221 E(DCCP connections, and connections with lar)100.8
543.8 Q(ge sequence windo)-.198 E(ws \(Section 7.5.2\),)-.275 E
(SHOULD NO)100.8 556.8 Q 2.75(Tu)-.44 G
(se short sequence numbers on their data pack)-2.75 E 2.75(ets. The)-.11
F(attack risk issues)2.75 E(ha)100.8 569.8 Q .33 -.165(ve b)-.22 H(een \
discussed in Section 7.5.5; we discuss the rate limitation issue here.)
.165 E(The sequence-v)100.8 586.4 Q
(alidity mechanism assumes that the netw)-.275 E(ork does not deli)-.11
E -.165(ve)-.275 G 2.75(re).165 G(xtremely old)-2.915 E 2.75(data. In)
100.8 599.4 R(particular)2.75 E 2.75(,i)-.44 G 2.75(ta)-2.75 G
(ssumes that the netw)-2.75 E(ork must ha)-.11 E .33 -.165(ve d)-.22 H
(ropped an).165 E 2.75(yp)-.165 G(ack)-2.75 E(et by the time)-.11 E
(the connection wraps around and uses its sequence number ag)100.8 612.4
Q 2.75(ain. This)-.055 F(constraint limits)2.75 E
(the maximum connection rate that can be safely achie)100.8 625.4 Q
-.165(ve)-.275 G 2.75(d. Let).165 F(MSL equal the maximum)2.75 E(se)
100.8 638.4 Q(gment lifetime, P equal the a)-.165 E -.165(ve)-.22 G
(rage DCCP pack).165 E(et size in bits, and L equal the length of)-.11 E
(sequence numbers \(24 or 48 bits\).)100.8 651.4 Q
(Then the maximum safe rate, in bits per second, is R =)5.5 E
(P*\(2^L\)/2MSL.)100.8 664.4 Q -.165(Fo)100.8 681 S 2.75(rt).165 G
(he def)-2.75 E(ault MSL of 2 minutes, 1500-byte DCCP pack)-.11 E
(ets, and short sequence numbers,)-.11 E
(the safe rate is therefore approximately 800 Mb/s.)100.8 694 Q
(Although 2 minutes is a v)5.5 E(ery lar)-.165 E(ge MSL)-.198 E(for an)
100.8 707 Q 2.75(yn)-.165 G(etw)-2.75 E
(orks that could sustain that rate with such small pack)-.11 E
(ets, long sequence)-.11 E(numbers allo)100.8 720 Q 2.75(wm)-.275 G(uch\
 higher rates under the same constraints: up to 14 petabits a second fo\
r)-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01
(yd Section)-.11 F 2.75(7.6.2. [P)2.75 F(age 46])-.165 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(1500-byte pack)100.8 85 Q(ets and the def)-.11 E(ault MSL.)-.11 E/F1 11
/Times-Bold@0 SF(7.7.)72 111 Q/F2 13/Times-Bold@0 SF
(NDP Count and Detecting A)5.5 E(pplication Loss)-.325 E F0(DCCP')100.8
127.6 Q 2.75(ss)-.605 G(equence numbers increment by one on e)-2.75 E
-.165(ve)-.275 G(ry pack).165 E(et, including non-data pack)-.11 E(ets)
-.11 E(\(pack)100.8 140.6 Q(ets that don')-.11 E 2.75(tc)-.198 G
(arry application data\).)-2.75 E(This mak)5.5 E
(es DCCP sequence numbers suitable)-.11 E(for detecting an)100.8 153.6 Q
2.75(yn)-.165 G(etw)-2.75 E(ork loss, b)-.11 E
(ut not for detecting the loss of application data.)-.22 E(The NDP)5.5 E
(Count option reports the length of each b)100.8 166.6 Q
(urst of non-data pack)-.22 E 2.75(ets. This)-.11 F(lets the recei)2.75
E(ving)-.275 E(DCCP reliably determine when a b)100.8 179.6 Q
(urst of loss included application data.)-.22 E/F3 11/Courier@0 SF
(+--------+--------+-------- ... --------+)100.8 198.6 Q
(|00100101| Length |)100.8 211.6 Q(NDP Count)39.6 E(|)39.6 E
(+--------+--------+-------- ... --------+)100.8 224.6 Q 6.6
(Type=37 Len=3-5)107.4 237.6 R(\(1-3 bytes\))46.2 E F0
(If a DCCP endpoint')100.8 256.6 Q 2.75(sS)-.605 G
(end NDP Count feature is one \(see belo)-2.75 E
(w\), then that endpoint)-.275 E(MUST send an NDP Count option on e)
100.8 269.6 Q -.165(ve)-.275 G(ry pack).165 E
(et whose immediate predecessor w)-.11 E(as a)-.11 E(non-data pack)100.8
282.6 Q 2.75(et. Non-data)-.11 F(pack)2.75 E(ets consist of DCCP pack)
-.11 E(et types DCCP-Ack, DCCP-)-.11 E
(Close, DCCP-CloseReq, DCCP-Reset, DCCP-Sync, and DCCP-SyncAck.)100.8
295.6 Q(The other)5.5 E(pack)100.8 308.6 Q(et types, namely DCCP-Reques\
t, DCCP-Response, DCCP-Data, and DCCP-DataAck,)-.11 E
(are considered data pack)100.8 321.6 Q
(ets, although not all DCCP-Request and DCCP-Response pack)-.11 E(ets)
-.11 E(will actually carry application data.)100.8 334.6 Q(The v)100.8
351.2 Q(alue stored in NDP Count equals the number of consecuti)-.275 E
.33 -.165(ve n)-.275 H(on-data pack).165 E(ets in the)-.11 E
(run immediately pre)100.8 364.2 Q(vious to the current pack)-.275 E
2.75(et. P)-.11 F(ack)-.165 E(ets with no NDP Count option are)-.11 E
(considered to ha)100.8 377.2 Q .33 -.165(ve N)-.22 H(DP Count zero.)
.165 E(The NDP Count option can carry one to three bytes of data.)100.8
393.8 Q(The smallest option format)5.5 E
(that can hold the NDP Count SHOULD be used.)100.8 406.8 Q -.44(Wi)100.8
423.4 S(th NDP Count, the recei).44 E -.165(ve)-.275 G 2.75(rc).165 G
(an reliably tell only whether a b)-2.75 E(urst of loss contained at)
-.22 E(least one data pack)100.8 436.4 Q 2.75(et. F)-.11 F(or e)-.165 E
(xample, the recei)-.165 E -.165(ve)-.275 G 2.75(rc).165 G(annot al)
-2.75 E -.11(wa)-.11 G(ys tell whether a b).11 E(urst of loss)-.22 E
(contained a non-data pack)100.8 449.4 Q(et.)-.11 E F1 2.75(7.7.1. NDP)
72 475.4 R(Count Usage Notes)2.75 E F0(Say that K consecuti)100.8 492 Q
.33 -.165(ve s)-.275 H(equence numbers are missing in some b).165 E
(urst of loss, and the Send)-.22 E(NDP Count feature is on.)100.8 505 Q
(Then some application data w)5.5 E(as lost within those sequence)-.11 E
(numbers unless the pack)100.8 518 Q(et follo)-.11 E
(wing the hole contains an NDP Count option whose v)-.275 E(alue)-.275 E
(is greater than or equal to K.)100.8 531 Q -.165(Fo)100.8 547.6 S 2.75
(re).165 G(xample, say that an endpoint sent the follo)-2.915 E
(wing sequence of non-data pack)-.275 E(ets \(Nx\))-.11 E(and data pack)
100.8 560.6 Q(ets \(Dx\).)-.11 E F3 6.6
(N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10)100.8 579.6 R(N11 N12 D13)6.6 E F0
(Those pack)100.8 598.6 Q(ets w)-.11 E(ould ha)-.11 E .33 -.165(ve N)
-.22 H(DP Counts as follo).165 E(ws.)-.275 E F3 6.6
(N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10)100.8 617.6 R(N11 N12 D13)6.6 E 19.8
(-12-1--1----12)100.8 630.6 S F0
(NDP Count is not useful for applications that include their o)100.8
649.6 Q(wn sequence numbers with)-.275 E(their pack)100.8 662.6 Q
(et headers.)-.11 E F1 2.75(7.7.2. Send)72 688.6 R(NDP Count F)2.75 E
(eatur)-.275 E(e)-.198 E F0
(The Send NDP Count feature lets DCCP endpoints ne)100.8 705.2 Q
(gotiate whether the)-.165 E 2.75(ys)-.165 G(hould send)-2.75 E
(NDP Count options on their pack)100.8 718.2 Q 2.75(ets. DCCP)-.11 F
2.75(As)2.75 G(ends a "Change R\(Send NDP Count, 1\)")-2.75 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.7.2. [P)2.75 F(age 47])-.165 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(option to ask DCCP B to send NDP Count options.)100.8 85 Q
(Send NDP Count has feature number 7, and is serv)100.8 101.6 Q(er)-.165
E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte Boolean)-.11 E -.275(va)100.8 114.6 S 2.75(lues. DCCP).275
F 2.75(BM)2.75 G(UST send NDP Count options as described abo)-2.75 E .33
-.165(ve w)-.165 H(hen Send NDP).165 E(Count/B is one, although it MA)
100.8 127.6 Q 2.75(Ys)-1.155 G(end NDP Count options e)-2.75 E -.165(ve)
-.275 G 2.75(nw).165 G(hen Send NDP Count/B)-2.75 E(is zero.)100.8 140.6
Q -1.221(Va)5.5 G(lues of tw)1.221 E 2.75(oo)-.11 G 2.75(rm)-2.75 G
(ore are reserv)-2.75 E 2.75(ed. Ne)-.165 F 2.75(wc)-.275 G
(onnections start with Send NDP Count)-2.75 E 2.75(0f)100.8 153.6 S
(or both endpoints.)-2.75 E/F1 11/Times-Bold@0 SF(8.)72 179.6 Q/F2 14
/Times-Bold@0 SF(Ev)5.5 E(ent Pr)-.14 E(ocessing)-.252 E F0
(This section describes ho)100.8 196.2 Q 2.75(wD)-.275 G
(CCP connections mo)-2.75 E .33 -.165(ve b)-.165 H
(etween states, and which pack).165 E(ets are)-.11 E(sent when.)100.8
209.2 Q(Note that feature ne)5.5 E(gotiation tak)-.165 E
(es place in parallel with the connection-wide)-.11 E
(state transitions described here.)100.8 222.2 Q F1(8.1.)72 248.2 Q/F3
13/Times-Bold@0 SF(Connection Establishment)5.5 E F0
(DCCP connections' initiation phase consists of a three-w)100.8 264.8 Q
(ay handshak)-.11 E(e: an initial DCCP-)-.11 E(Request pack)100.8 277.8
Q(et sent by the client, a DCCP-Response sent by the serv)-.11 E
(er in reply)-.165 E 2.75(,a)-.715 G(nd \214nally)-2.75 E(an ackno)100.8
290.8 Q(wledgement from the client, usually via a DCCP-Ack or DCCP-Data\
Ack pack)-.275 E(et.)-.11 E(The client mo)100.8 303.8 Q -.165(ve)-.165 G
2.75(sf).165 G(rom the REQ)-2.75 E(UEST state to P)-.11 E(AR)-1.012 E
-.198(TO)-.66 G(PEN, and \214nally to OPEN; the).198 E(serv)100.8 316.8
Q(er mo)-.165 E -.165(ve)-.165 G 2.75(sf).165 G
(rom LISTEN to RESPOND, and \214nally to OPEN.)-2.75 E/F4 11/Courier@0
SF(Client State)114 335.8 Q(Server State)191.4 E 224.4(CLOSED LISTEN)
133.8 348.8 R 13.2(1. REQUEST -->)100.8 361.8 R 46.2(Request -->)46.2 F
79.2(2. <--)100.8 374.8 R 39.6(Response <--)46.2 F(RESPOND)19.8 E 13.2
(3. PARTOPEN)100.8 387.8 R 26.4(--> Ack,)13.2 F 26.4(DataAck -->)6.6 F
79.2(4. <--)100.8 400.8 R(Data, Ack, DataAck)13.2 E 13.2(<-- OPEN)13.2 F
13.2(5. OPEN)100.8 413.8 R 6.6(<-> Data,)39.6 F(Ack, DataAck)6.6 E 13.2
(<-> OPEN)13.2 F F1 2.75(8.1.1. Client)72 445.8 R(Request)2.75 E F0
(When a client decides to initiate a connection, it enters the REQ)100.8
462.4 Q(UEST state, chooses an)-.11 E
(initial sequence number \(Section 7.2\), and sends a DCCP-Request pack)
100.8 475.4 Q(et using that)-.11 E(sequence number to the intended serv)
100.8 488.4 Q(er)-.165 E(.)-.605 E(DCCP-Request pack)100.8 505 Q
(ets will commonly carry feature ne)-.11 E(gotiation options that open)
-.165 E(ne)100.8 518 Q(gotiations for v)-.165 E
(arious connection parameters, such as preferred congestion control IDs)
-.275 E(for each half-connection.)100.8 531 Q(The)5.5 E 2.75(ym)-.165 G
(ay also carry application data, b)-2.75 E(ut the client should be)-.22
E -2.53 -.165(aw a)100.8 544 T(re that the serv).165 E
(er may not accept such data.)-.165 E 2.75(Ac)100.8 560.6 S
(lient in the REQ)-2.75 E(UEST state SHOULD use an e)-.11 E
(xponential-back)-.165 E(of)-.11 E 2.75(ft)-.275 G(imer to send ne)-2.75
E(w)-.275 E(DCCP-Request pack)100.8 573.6 Q(ets if no response is recei)
-.11 E -.165(ve)-.275 G 2.75(d. The).165 F
(\214rst retransmission should occur)2.75 E
(after approximately one second, backing of)100.8 586.6 Q 2.75(ft)-.275
G 2.75(on)-2.75 G(ot less than one pack)-2.75 E(et e)-.11 E -.165(ve)
-.275 G(ry 64 seconds;).165 E(or the endpoint can use whate)100.8 599.6
Q -.165(ve)-.275 G 2.75(rr).165 G(etransmission strate)-2.75 E
(gy is follo)-.165 E(wed for retransmitting)-.275 E(TCP SYNs.)100.8
612.6 Q(Each ne)5.5 E 2.75(wD)-.275 G
(CCP-Request MUST increment the Sequence Number by one,)-2.75 E(and MUS\
T contain the same Service Code and application data as the original DC\
CP-)100.8 625.6 Q(Request.)100.8 638.6 Q 2.75(Ac)100.8 655.2 S(lient MA)
-2.75 E 2.75(Yg)-1.155 G -2.365 -.275(iv e)-2.75 H
(up on its DCCP-Requests after some time \(3 minutes, for e)3.025 E
(xample\).)-.165 E(When it does, it SHOULD send a DCCP-Reset pack)100.8
668.2 Q(et to the serv)-.11 E(er with Reset Code 2,)-.165 E("Aborted", \
to clean up state in case one or more of the Requests actually arri)
100.8 681.2 Q -.165(ve)-.275 G 2.75(d. A).165 F(client)2.75 E(in REQ)
100.8 694.2 Q(UEST state has ne)-.11 E -.165(ve)-.275 G 2.75(rr).165 G
(ecei)-2.75 E -.165(ve)-.275 G 2.75(da).165 G 2.75(ni)-2.75 G
(nitial sequence number from its peer)-2.75 E 2.75(,s)-.44 G 2.75(ot)
-2.75 G(he)-2.75 E(DCCP-Reset')100.8 707.2 Q 2.75(sA)-.605 G(ckno)-2.75
E(wledgement Number MUST be set to zero.)-.275 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(8.1.1. [P)2.75 F(age 48])-.165 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(The client lea)100.8 85 Q -.165(ve)-.22 G 2.75(st).165 G(he REQ)-2.75 E
(UEST state for P)-.11 E(AR)-1.012 E -.198(TO)-.66 G(PEN when it recei)
.198 E -.165(ve)-.275 G 2.75(saD).165 G(CCP-Response)-2.75 E
(from the serv)100.8 98 Q(er)-.165 E(.)-.605 E/F1 11/Times-Bold@0 SF
2.75(8.1.2. Ser)72 124 R(vice Codes)-.11 E F0(Each DCCP-Request contain\
s a 32-bit Service Code, which identi\214es the application-le)100.8
140.6 Q -.165(ve)-.275 G(l).165 E
(service to which the client application is trying to connect.)100.8
153.6 Q(Service Codes should)5.5 E
(correspond to application services and protocols.)100.8 166.6 Q -.165
(Fo)5.5 G 2.75(re).165 G(xample, there might be a Service)-2.915 E
(Code for SIP control connections and one for R)100.8 179.6 Q
(TP audio connections.)-.66 E(Middlebox)5.5 E(es, such)-.165 E
(as \214re)100.8 192.6 Q -.11(wa)-.275 G(lls, can use the Service Code \
to identify the application running on a nonstandard).11 E
(port \(assuming the DCCP header has not been encrypted\).)100.8 205.6 Q
(Endpoints MUST associate a Service Code with e)100.8 222.2 Q -.165(ve)
-.275 G(ry DCCP sock).165 E(et, both acti)-.11 E -.165(ve)-.275 G
(ly and).165 E(passi)100.8 235.2 Q -.165(ve)-.275 G(ly opened.).165 E
(The application will generally supply this Service Code.)5.5 E
(Each acti)5.5 E -.165(ve)-.275 G(sock)100.8 248.2 Q(et MUST ha)-.11 E
.33 -.165(ve ex)-.22 H(actly one Service Code.).165 E -.165(Pa)5.5 G
(ssi).165 E .33 -.165(ve s)-.275 H(ock).165 E(ets MA)-.11 E 2.838 -1.419
(Y, a)-1.155 H 2.75(tt)1.419 G(he)-2.75 E(implementation')100.8 261.2 Q
2.75(sd)-.605 G(iscretion, be associated with more than one Service Cod\
e; this might let)-2.75 E(multiple applications, or multiple v)100.8
274.2 Q(ersions of the same application, listen on the same port,)-.165
E(dif)100.8 287.2 Q(ferentiated by Service Code.)-.275 E
(If the DCCP-Request')5.5 E 2.75(sS)-.605 G(ervice Code doesn')-2.75 E
2.75(tm)-.198 G(atch an)-2.75 E 2.75(yo)-.165 G(f)-2.75 E(the serv)100.8
300.2 Q(er')-.165 E 2.75(sS)-.605 G(ervice Codes for the gi)-2.75 E
-.165(ve)-.275 G 2.75(np).165 G(ort, the serv)-2.75 E
(er MUST reject the request by)-.165 E(sending a DCCP-Reset pack)100.8
313.2 Q(et with Reset Code 8, "Bad Service Code".)-.11 E 2.75(Am)5.5 G
(iddlebox)-2.75 E(MA)100.8 326.2 Q 2.75(Ya)-1.155 G
(lso send such a DCCP-Reset in response to pack)-2.75 E
(ets whose Service Code is)-.11 E(considered unsuitable.)100.8 339.2 Q(\
Service Codes are not intended to be DCCP-speci\214c, and are allocated\
 by IAN)100.8 355.8 Q(A.)-.385 E -.165(Fo)100.8 368.8 S(llo).165 E(wing\
 the policies outlined in RFC 2434, most Service Codes are allocated Fi\
rst Come)-.275 E(First Serv)100.8 381.8 Q(ed, subject to the follo)-.165
E(wing guidelines.)-.275 E 12.65<8353>100.8 398.4 S
(ervice Codes are allocated one at a time, or in small blocks.)-12.65 E
2.75(As)5.5 G(hort English)-2.75 E
(description of the intended service is REQ)117.3 411.4 Q
(UIRED to obtain a Service Code assignment,)-.11 E -.22(bu)117.3 424.4 S
2.75(tn).22 G 2.75(os)-2.75 G
(peci\214cation, standards-track or otherwise, is necessary)-2.75 E 5.5
(.I)-.715 G(AN)-5.5 E 2.75(Am)-.385 G(aintains an)-2.75 E
(association of Service Codes to the corresponding phrases.)117.3 437.4
Q 12.65<8355>100.8 454 S(sers request speci\214c Service Code v)-12.65 E
2.75(alues. W)-.275 F 2.75(es)-.88 G(uggest that users request Service)
-2.75 E(Codes that can be interpreted as meaningful four)117.3 467 Q
(-byte ASCII strings.)-.22 E(Thus, the)5.5 E("Frobodyne Plotz Protocol"\
 might correspond to "fdpz", or the number 1717858426.)117.3 480 Q
(The canonical interpretation of a Service Code \214eld is numeric.)
117.3 493 Q 12.65<8353>100.8 509.6 S(ervice Codes whose bytes each ha)
-12.65 E .33 -.165(ve v)-.22 H
(alues in the set {32, 45-57, 65-90} use a)-.11 E
(Speci\214cation Required allocation polic)117.3 522.6 Q 4.18 -.715
(y. T)-.165 H(hat is, these Service Codes are used for).715 E(internati\
onal standard or standards-track speci\214cations, IETF or otherwise.)
117.3 535.6 Q(\(This set)5.5 E(consists of the ASCII digits, uppercase \
letters, and characters space, '-', '.)117.3 548.6 Q(', and '/'.\))-.77
E 12.65<8353>100.8 565.2 S
(ervice Codes whose high-order byte equals 63 \(ASCII '?'\) are reserv)
-12.65 E(ed for Pri)-.165 E -.275(va)-.275 G(te).275 E(Use.)117.3 578.2
Q 12.65<8353>100.8 594.8 S(ervice Code 0 represents the absence of a me\
aningful Service Code, and MUST NO)-12.65 E(T)-.44 E(be allocated.)117.3
607.8 Q 12.65<8354>100.8 624.4 S(he v)-12.65 E(alue 4294967295 is an in)
-.275 E -.275(va)-.44 G(lid Service Code, and MUST NO).275 E 2.75(Ta)
-.44 G(ppear in the)-2.75 E
(Service Code \214eld of a DCCP-Request or DCCP-Response pack)117.3
637.4 Q(et.)-.11 E(This design for Service Code allocation is based on \
the allocation of 4-byte identi\214ers for)100.8 654 Q
(Macintosh resources, PNG chunks, and T)100.8 667 Q(rueT)-.385 E
(ype and OpenT)-.88 E(ype tables.)-.88 E(In te)100.8 683.6 Q(xt setting\
s, we recommend that Service Codes be written in one of three forms,)
-.165 E(pre\214x)100.8 696.6 Q
(ed by the ASCII letters SC and either a colon ":" or equals sign "=".)
-.165 E(These forms are)5.5 E(interpreted as follo)100.8 709.6 Q(ws.)
-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01
(yd Section)-.11 F 2.75(8.1.2. [P)2.75 F(age 49])-.165 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 24.739
(SC: Indicates)100.8 85 R 2.75(aS)2.75 G
(ervice Code representable using a subset of the ASCII characters.)-2.75
E(The colon is follo)144.8 98 Q
(wed by between one and four characters tak)-.275 E(en from the)-.11 E
(follo)144.8 111 Q(wing set: letters, digits, and the characters in "-_\
+.*/?@" \(not including)-.275 E 2.75(quotes\). Numerically)144.8 124 R
2.75(,t)-.715 G(hese characters ha)-2.75 E .33 -.165(ve v)-.22 H
(alues in {42-43, 45-57, 63-90, 95,)-.11 E 2.75(97-122}. The)144.8 137 R
(Service Code is calculated by padding the string on the right with)2.75
E(spaces \(v)144.8 150 Q(alue 32\) and intepreting the four)-.275 E
(-character result as a 32-bit big-endian)-.22 E(number)144.8 163 Q(.)
-.605 E 21.593(SC= Indicates)100.8 179.6 R 2.75(ad)2.75 G
(ecimal Service Code.)-2.75 E(The octothorp is follo)5.5 E(wed by an)
-.275 E 2.75(yn)-.165 G(umber of)-2.75 E
(decimal digits, which specify the Service Code.)144.8 192.6 Q -1.221
(Va)5.5 G(lues abo)1.221 E .33 -.165(ve 4)-.165 H(294967294 are).165 E
(ille)144.8 205.6 Q -.055(ga)-.165 G(l.).055 E(SC=x or SC=X)100.8 222.2
Q(Indicates a he)144.8 235.2 Q(xadecimal Service Code.)-.165 E
(The "x" or "X" is follo)5.5 E(wed by an)-.275 E(y)-.165 E(number of he)
144.8 248.2 Q(xadecimal digits \(upper or lo)-.165 E
(wer case\), which specify the Service)-.275 E 2.75(Code. V)144.8 261.2
R(alues abo)-1.221 E .33 -.165(ve 4)-.165 H(294967294 are ille).165 E
-.055(ga)-.165 G(l.).055 E
(Thus, the Service Code 1717858426 might be represented in te)100.8
277.8 Q(xt as either SC:fdpz,)-.165 E(SC=1717858426, or SC=x6664707A.)
100.8 290.8 Q/F1 11/Times-Bold@0 SF 2.75(8.1.3. Ser)72 316.8 R -.11(ve)
-.11 G 2.75(rR).11 G(esponse)-2.75 E F0
(In the second phase of the three-w)100.8 333.4 Q(ay handshak)-.11 E
(e, the serv)-.11 E(er mo)-.165 E -.165(ve)-.165 G 2.75(sf).165 G
(rom the LISTEN state)-2.75 E
(to RESPOND, and sends a DCCP-Response message to the client.)100.8
346.4 Q(In this phase, a serv)5.5 E(er)-.165 E
(will often specify the features it w)100.8 359.4 Q(ould lik)-.11 E 2.75
(et)-.11 G 2.75(ou)-2.75 G(se, either from among those the client)-2.75
E(requested, or in addition to those.)100.8 372.4 Q
(Among these options is the congestion control)5.5 E(mechanism the serv)
100.8 385.4 Q(er e)-.165 E(xpects to use.)-.165 E(The serv)100.8 402 Q
(er MA)-.165 E 2.75(Yr)-1.155 G(espond to a DCCP-Request pack)-2.75 E
(et with a DCCP-Reset pack)-.11 E(et to refuse)-.11 E(the connection.)
100.8 415 Q(Rele)5.5 E -.275(va)-.275 G
(nt Reset Codes for refusing a connection include 7, "Connection).275 E
(Refused", when the DCCP-Request')100.8 428 Q 2.75(sD)-.605 G
(estination Port did not correspond to a DCCP port)-2.75 E
(open for listening; 8, "Bad Service Code", when the DCCP-Request')100.8
441 Q 2.75(sS)-.605 G(ervice Code did not)-2.75 E
(correspond to the service code re)100.8 454 Q
(gistered with the Destination Port; and 9, "T)-.165 E(oo Busy",)-.88 E
(when the serv)100.8 467 Q(er is currently too b)-.165 E
(usy to respond to requests.)-.22 E(The serv)5.5 E(er SHOULD limit the)
-.165 E(rate at which it generates these resets, for e)100.8 480 Q
(xample to not more than 1024 per second.)-.165 E(The serv)100.8 496.6 Q
(er SHOULD NO)-.165 E 2.75(Tr)-.44 G(etransmit DCCP-Response pack)-2.75
E(ets; the client will retransmit)-.11 E(the DCCP-Request if necessary)
100.8 509.6 Q 5.5(.\()-.715 G
(Note that the "retransmitted" DCCP-Request will ha)-5.5 E -.165(ve)-.22
G(,).165 E(at least, a dif)100.8 522.6 Q
(ferent sequence number from the "original" DCCP-Request.)-.275 E
(The serv)5.5 E(er can)-.165 E
(thus distinguish true retransmissions from netw)100.8 535.6 Q
(ork duplicates.\))-.11 E(The serv)5.5 E(er will detect that)-.165 E
(the retransmitted DCCP-Request applies to an e)100.8 548.6 Q
(xisting connection because of its Source)-.165 E
(and Destination Ports.)100.8 561.6 Q(Ev)5.5 E(ery v)-.165 E
(alid DCCP-Request recei)-.275 E -.165(ve)-.275 G 2.75(dw).165 G
(hile the serv)-2.75 E(er is in the)-.165 E
(RESPOND state MUST elicit a ne)100.8 574.6 Q 2.75(wD)-.275 G 2.75
(CCP-Response. Each)-2.75 F(ne)2.75 E 2.75(wD)-.275 G(CCP-Response MUST)
-2.75 E(increment the serv)100.8 587.6 Q(er')-.165 E 2.75(sS)-.605 G
(equence Number by one, and MUST include the same application)-2.75 E
(data, if an)100.8 600.6 Q 1.43 -.715(y, a)-.165 H 2.75(st).715 G
(he original DCCP-Response.)-2.75 E(The serv)100.8 617.2 Q(er MUST NO)
-.165 E 2.75(Ta)-.44 G
(ccept more than one piece of DCCP-Request application data per)-2.75 E
2.75(connection. In)100.8 630.2 R(particular)2.75 E 2.75(,t)-.44 G
(he DCCP-Response sent in reply to a retransmitted DCCP-)-2.75 E(Reques\
t with application data SHOULD contain a Data Dropped option, in which \
the)100.8 643.2 Q(retransmitted DCCP-Request data is reported with Drop\
 Code 0, Protocol Constraints.)100.8 656.2 Q(The)5.5 E(original DCCP-Re\
quest SHOULD also be reported in the Data Dropped option, either in a)
100.8 669.2 Q(Normal Block \(if the serv)100.8 682.2 Q
(er accepted the data, or there w)-.165 E
(as no data\), or in a Drop Code 0)-.11 E(Drop Block \(if the serv)100.8
695.2 Q(er refused the data the \214rst time as well\).)-.165 E(The Dat\
a Dropped and Init Cookie options are particularly useful for DCCP-Resp\
onse)100.8 711.8 Q(pack)100.8 724.8 Q(ets \(Sections 11.7 and 8.1.4\).)
-.11 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01
(yd Section)-.11 F 2.75(8.1.3. [P)2.75 F(age 50])-.165 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(The serv)100.8 85 Q(er lea)-.165 E -.165(ve)-.22 G 2.75(st).165 G
(he RESPOND state for OPEN when it recei)-2.75 E -.165(ve)-.275 G 2.75
(sav).165 G(alid DCCP-Ack from)-3.025 E
(the client, completing the three-w)100.8 98 Q(ay handshak)-.11 E 2.75
(e. It)-.11 F(MA)2.75 E 2.75(Ya)-1.155 G(lso lea)-2.75 E .33 -.165(ve t)
-.22 H(he RESPOND state).165 E(for CLOSED after a timeout of not less t\
han 4MSL \(8 minutes\); when doing so, it)100.8 111 Q(SHOULD send a DCC\
P-Reset with Reset Code 2, "Aborted", to clean up state at the client.)
100.8 124 Q/F1 11/Times-Bold@0 SF 2.75(8.1.4. Init)72 150 R
(Cookie Option)2.75 E/F2 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------)100.8 169 Q
(|00100100| Length |)100.8 182 Q(Init Cookie Value)59.4 E(...)19.8 E
(+--------+--------+--------+--------+--------+--------)100.8 195 Q
(Type=36)107.4 208 Q F0(The Init Cookie option lets a DCCP serv)100.8
230.6 Q(er a)-.165 E -.22(vo)-.22 G(id ha).22 E(ving to hold an)-.22 E
2.75(ys)-.165 G(tate until the three-)-2.75 E -.11(wa)100.8 243.6 S 2.75
(yc).11 G(onnection setup handshak)-2.75 E 2.75(eh)-.11 G
(as completed, in a similar f)-2.75 E(ashion as TCP SYN cookies)-.11 E
2.75([SYNCOOKIES]. The)100.8 256.6 R(serv)2.75 E
(er wraps up the Service Code, serv)-.165 E(er port, and an)-.165 E 2.75
(yo)-.165 G(ptions it)-2.75 E(cares about from both the DCCP-Request an\
d DCCP-Response in an opaque cookie.)100.8 269.6 Q -.88(Ty)100.8 282.6 S
(pically the cookie will be encrypted using a secret kno).88 E
(wn only to the serv)-.275 E(er and include)-.165 E 2.75(ac)100.8 295.6
S(ryptographic checksum or magic v)-2.75 E
(alue so that correct decryption can be v)-.275 E 2.75(eri\214ed. When)
-.165 F(the serv)100.8 308.6 Q(er recei)-.165 E -.165(ve)-.275 G 2.75
(st).165 G(he cookie back in the response, it can decrypt the cookie an\
d instantiate)-2.75 E(all the state it a)100.8 321.6 Q -.22(vo)-.22 G
(ided k).22 E 2.75(eeping. In)-.11 F(the meantime, it need not mo)2.75 E
.33 -.165(ve f)-.165 H(rom the LISTEN state.).165 E
(The Init Cookie option MUST NO)100.8 338.2 Q 2.75(Tb)-.44 G 2.75(es)
-2.75 G(ent on DCCP-Request or DCCP-Data pack)-2.75 E(ets, and)-.11 E
(an)100.8 351.2 Q 2.75(ys)-.165 G(uch options recei)-2.75 E -.165(ve)
-.275 G 2.75(do).165 G 2.75(nD)-2.75 G(CCP-Request or DCCP-Data pack)
-2.75 E(ets MUST be ignored.)-.11 E(The serv)100.8 364.2 Q(er MA)-.165 E
2.75(Yi)-1.155 G(nclude an Init Cookie option in its DCCP-Response.)
-2.75 E(If so, then the)5.5 E(client MUST echo the same Init Cookie opt\
ion in each succeeding DCCP pack)100.8 377.2 Q(et until one)-.11 E
(of those pack)100.8 390.2 Q(ets is ackno)-.11 E
(wledged, meaning the three-w)-.275 E(ay handshak)-.11 E 2.75(eh)-.11 G
(as completed, or the)-2.75 E(connection is reset.)100.8 403.2 Q
(\(As a result, the client MUST NO)5.5 E 2.75(Tu)-.44 G
(se DCCP-Data pack)-2.75 E(ets until the)-.11 E(three-w)100.8 416.2 Q
(ay handshak)-.11 E 2.75(ec)-.11 G
(ompletes or the connection is reset.\))-2.75 E(The serv)5.5 E
(er SHOULD design)-.165 E
(its Init Cookie format so that Init Cookies can be check)100.8 429.2 Q
(ed for tampering; it SHOULD)-.11 E(respond to a tampered Init Cookie o\
ption by resetting the connection with Reset Code 10,)100.8 442.2 Q
("Bad Init Cookie".)100.8 455.2 Q(Init Cookie')100.8 471.8 Q 2.75(sp)
-.605 G(recise implementation need not be speci\214ed here; since Init \
Cookies are)-2.75 E
(opaque to the client, there are no interoperability concerns.)100.8
484.8 Q(An e)5.5 E(xample cookie format)-.165 E
(might encrypt \(using a secret k)100.8 497.8 Q -.165(ey)-.11 G 2.75
(\)t).165 G(he connection')-2.75 E 2.75(si)-.605 G
(nitial sequence and ackno)-2.75 E(wledgement)-.275 E
(numbers, ports, Service Code, an)100.8 510.8 Q 2.75(yo)-.165 G
(ptions included on the DCCP-Request pack)-2.75 E(et and the)-.11 E
(corresponding DCCP-Reply)100.8 523.8 Q 2.75(,ar)-.715 G
(andom salt, and a magic number)-2.75 E 5.5(.O)-.605 G 2.75(nr)-5.5 G
(ecei)-2.75 E(ving a re\215ected)-.275 E(Init Cookie, the serv)100.8
536.8 Q(er w)-.165 E(ould decrypt the cookie, v)-.11 E
(alidate it by checking its magic number)-.275 E(,)-.44 E
(sequence numbers, and ports, and, if v)100.8 549.8 Q
(alid, create a corresponding sock)-.275 E(et using the options.)-.11 E
(Init Cookies are limited to at most 253 bytes in length.)100.8 566.4 Q
F1 2.75(8.1.5. Handshak)72 592.4 R 2.75(eC)-.11 G(ompletion)-2.75 E F0
(When the client recei)100.8 609 Q -.165(ve)-.275 G 2.75(saD).165 G
(CCP-Response from the serv)-2.75 E(er)-.165 E 2.75(,i)-.44 G 2.75(tm)
-2.75 G -.165(ove)-2.75 G 2.75(sf).165 G(rom the REQ)-2.75 E(UEST)-.11 E
(state to P)100.8 622 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN and completes the three-w).198 E(ay handshak)-.11 E 2.75(eb)-.11 G
2.75(ys)-2.75 G(ending a DCCP-Ack)-2.75 E(pack)100.8 635 Q
(et to the serv)-.11 E(er)-.165 E 5.5(.T)-.605 G(he client remains in P)
-5.5 E(AR)-1.012 E -.198(TO)-.66 G
(PEN until it can be sure that the serv).198 E(er)-.165 E(has recei)
100.8 648 Q -.165(ve)-.275 G 2.75(ds).165 G(ome pack)-2.75 E
(et the client sent from P)-.11 E(AR)-1.012 E -.198(TO)-.66 G
(PEN \(either the initial DCCP-Ack or).198 E 2.75(al)100.8 661 S
(ater pack)-2.75 E 2.75(et\). Clients)-.11 F(in the P)2.75 E(AR)-1.012 E
-.198(TO)-.66 G(PEN state that w).198 E
(ant to send data MUST do so using)-.11 E(DCCP-DataAck pack)100.8 674 Q
(ets, not DCCP-Data pack)-.11 E 2.75(ets. This)-.11 F
(is because DCCP-Data pack)2.75 E(ets)-.11 E(lack Ackno)100.8 687 Q
(wledgement Numbers, so the serv)-.275 E(er can')-.165 E 2.75(tt)-.198 G
(ell from a DCCP-Data pack)-2.75 E(et)-.11 E(whether the client sa)100.8
700 Q 2.75(wi)-.165 G(ts DCCP-Response.)-2.75 E
(Furthermore, if the DCCP-Response included)5.5 E
(an Init Cookie, that Init Cookie MUST be included on e)100.8 713 Q
-.165(ve)-.275 G(ry pack).165 E(et sent in P)-.11 E(AR)-1.012 E -.198
(TO)-.66 G(PEN.).198 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165
E 222.01(yd Section)-.11 F 2.75(8.1.5. [P)2.75 F(age 51])-.165 E 0 Cg EP
%%Page: 52 52
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(The single DCCP-Ack sent when entering the P)100.8 85 Q(AR)-1.012 E
-.198(TO)-.66 G(PEN state might, of course, be).198 E
(dropped by the netw)100.8 98 Q 2.75(ork. The)-.11 F
(client SHOULD ensure that some pack)2.75 E(et gets through)-.11 E
-2.365 -.275(ev e)100.8 111 T(ntually).275 E 5.5(.T)-.715 G
(he preferred mechanism w)-5.5 E
(ould be a roughly 200-millisecond timer)-.11 E 2.75(,s)-.44 G(et e)
-2.75 E -.165(ve)-.275 G(ry).165 E(time a pack)100.8 124 Q
(et is transmitted in P)-.11 E(AR)-1.012 E -.198(TO)-.66 G 2.75(PEN. If)
.198 F(this timer goes of)2.75 E 2.75(fa)-.275 G
(nd the client is still in)-2.75 E -1.012(PA)100.8 137 S -1.628 -.66
(RT O)1.012 H(PEN, the client generates another DCCP-Ack and backs of)
.66 E 2.75(ft)-.275 G(he timer)-2.75 E 5.5(.I)-.605 G 2.75(ft)-5.5 G
(he client)-2.75 E(remains in P)100.8 150 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN for more than 4MSL \(8 minutes\), it SHOULD reset the connection)
.198 E(with Reset Code 2, "Aborted".)100.8 163 Q(The client lea)100.8
179.6 Q -.165(ve)-.22 G 2.75(st).165 G(he P)-2.75 E(AR)-1.012 E -.198
(TO)-.66 G(PEN state for OPEN when it recei).198 E -.165(ve)-.275 G 2.75
(sav).165 G(alid pack)-3.025 E(et other than)-.11 E
(DCCP-Response, DCCP-Reset, or DCCP-Sync from the serv)100.8 192.6 Q(er)
-.165 E(.)-.605 E/F1 11/Times-Bold@0 SF(8.2.)72 218.6 Q/F2 13
/Times-Bold@0 SF(Data T)5.5 E(ransfer)-.962 E F0
(In the central data transfer phase of the connection, both serv)100.8
235.2 Q(er and client are in the OPEN)-.165 E(state.)100.8 248.2 Q
(DCCP A sends DCCP-Data and DCCP-DataAck pack)100.8 264.8 Q
(ets to DCCP B due to application)-.11 E -2.365 -.275(ev e)100.8 277.8 T
(nts on host A.).275 E(These pack)5.5 E
(ets are congestion-controlled by the CCID for the A-to-B)-.11 E 2.75
(half-connection. In)100.8 290.8 R(contrast, DCCP-Ack pack)2.75 E
(ets sent by DCCP A are controlled by the)-.11 E
(CCID for the B-to-A half-connection.)100.8 303.8 Q(Generally)5.5 E 2.75
(,D)-.715 G(CCP A will piggyback)-2.75 E(ackno)100.8 316.8 Q
(wledgement information on DCCP-Data pack)-.275 E
(ets when acceptable, creating DCCP-)-.11 E(DataAck pack)100.8 329.8 Q
2.75(ets. DCCP-Ack)-.11 F(pack)2.75 E
(ets are used when there is no data to send from)-.11 E(DCCP A to DCCP \
B, or when the congestion state of the A-to-B CCID will not allo)100.8
342.8 Q 2.75(wd)-.275 G(ata)-2.75 E(to be sent.)100.8 355.8 Q
(DCCP-Sync and DCCP-SyncAck pack)100.8 372.4 Q
(ets may also occur in the data transfer phase.)-.11 E(Some)5.5 E
(cases causing DCCP-Sync generation are discussed in Section 7.5.)100.8
385.4 Q(One important)5.5 E(distinction between DCCP-Sync pack)100.8
398.4 Q(ets and other pack)-.11 E(et types is that DCCP-Sync elicits)
-.11 E(an immediate ackno)100.8 411.4 Q 2.75(wledgement. On)-.275 F
(recei)2.75 E(ving a v)-.275 E(alid DCCP-Sync pack)-.275 E(et, a DCCP)
-.11 E(endpoint MUST immediately generate and send a DCCP-SyncAck respo\
nse \(subject to an)100.8 424.4 Q(y)-.165 E
(implementation rate limits\); the Ackno)100.8 437.4 Q
(wledgement Number on that DCCP-SyncAck)-.275 E
(MUST equal the Sequence Number of the DCCP-Sync.)100.8 450.4 Q 2.75(Ap)
100.8 467 S
(articular DCCP implementation might decide to initiate feature ne)-2.75
E(gotiation only once)-.165 E(the OPEN state w)100.8 480 Q
(as reached, in which case it might not allo)-.11 E 2.75(wd)-.275 G
(ata transfer until some time)-2.75 E(later)100.8 493 Q 5.5(.D)-.605 G
(ata recei)-5.5 E -.165(ve)-.275 G 2.75(dd).165 G
(uring that time SHOULD be rejected and reported using a Data)-2.75 E(D\
ropped Drop Block with Drop Code 0, Protocol Constraints \(see Section \
11.7\).)100.8 506 Q F1(8.3.)72 532 Q F2 -1.196(Te)5.5 G(rmination)1.196
E F0(DCCP connection termination uses a handshak)100.8 548.6 Q 2.75(ec)
-.11 G(onsisting of an optional DCCP-CloseReq)-2.75 E(pack)100.8 561.6 Q
(et, a DCCP-Close pack)-.11 E(et, and a DCCP-Reset pack)-.11 E 2.75
(et. The)-.11 F(serv)2.75 E(er mo)-.165 E -.165(ve)-.165 G 2.75(sf).165
G(rom the)-2.75 E(OPEN state, possibly through the CLOSEREQ state, to C\
LOSED; the client mo)100.8 574.6 Q -.165(ve)-.165 G 2.75(sf).165 G(rom)
-2.75 E(OPEN through CLOSING to TIMEW)100.8 587.6 Q(AIT)-1.32 E 2.75(,a)
-.814 G(nd after 2MSL w)-2.75 E(ait time \(4 minutes\), to)-.11 E
(CLOSED.)100.8 600.6 Q(The sequence DCCP-CloseReq, DCCP-Close, DCCP-Res\
et is used when the serv)100.8 617.2 Q(er)-.165 E
(decides to close the connection, b)100.8 630.2 Q(ut doesn')-.22 E 2.75
(tw)-.198 G(ant to hold TIMEW)-2.86 E(AIT state:)-1.32 E -.385(Ko)72 769
S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75
(8.3. [P)2.75 F(age 52])-.165 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(Client State)114 85 Q(Server State)191.4 E 237.6
(OPEN OPEN)133.8 98 R 79.2(1. <--)100.8 111 R 39.6(CloseReq <--)46.2 F
(CLOSEREQ)19.8 E 13.2(2. CLOSING -->)100.8 124 R 52.8(Close -->)52.8 F
79.2(3. <--)100.8 137 R 52.8(Reset <--)52.8 F(CLOSED \(LISTEN\))19.8 E
13.2(4. TIMEWAIT)100.8 150 R 13.2(5. CLOSED)100.8 163 R F0 2.75(As)100.8
182 S(horter sequence occurs when the client decides to close the conne\
ction.)-2.75 E F1(Client State)114 201 Q(Server State)191.4 E 237.6
(OPEN OPEN)133.8 214 R 13.2(1. CLOSING -->)100.8 227 R 52.8(Close -->)
52.8 F 79.2(2. <--)100.8 240 R 52.8(Reset <--)52.8 F(CLOSED \(LISTEN\))
19.8 E 13.2(3. TIMEWAIT)100.8 253 R 13.2(4. CLOSED)100.8 266 R F0
(Finally)100.8 285 Q 2.75(,t)-.715 G(he serv)-2.75 E
(er can decide to hold TIMEW)-.165 E(AIT state:)-1.32 E F1(Client State)
114 304 Q(Server State)191.4 E 237.6(OPEN OPEN)133.8 317 R 79.2(1. <--)
100.8 330 R 52.8(Close <--)52.8 F(CLOSING)19.8 E 13.2(2. CLOSED)100.8
343 R 46.2(--> Reset)26.4 F(-->)59.4 E 283.8(3. TIMEWAIT)100.8 356 R
283.8(4. CLOSED)100.8 369 R(\(LISTEN\))6.6 E F0(In all cases, the recei)
100.8 391.6 Q -.165(ve)-.275 G 2.75(ro).165 G 2.75(ft)-2.75 G
(he DCCP-Reset pack)-2.75 E(et holds TIMEW)-.11 E(AIT state for the)
-1.32 E 2.75(connection. As)100.8 404.6 R(in TCP)2.75 E 2.75(,T)-1.221 G
(IMEW)-2.75 E(AIT state, where an endpoint quietly preserv)-1.32 E
(es a sock)-.165 E(et for)-.11 E(2MSL \(4 minutes\) after its connectio\
n has closed, ensures that no connection duplicating)100.8 417.6 Q
(the current connection')100.8 430.6 Q 2.75(ss)-.605 G
(ource and destination addresses and ports can start up while old)-2.75
E(pack)100.8 443.6 Q(ets might remain in the netw)-.11 E(ork.)-.11 E
(The termination handshak)100.8 460.2 Q 2.75(ep)-.11 G(roceeds as follo)
-2.75 E 2.75(ws. The)-.275 F(recei)2.75 E -.165(ve)-.275 G 2.75(ro).165
G 2.75(fav)-2.75 G(alid DCCP-CloseReq)-3.025 E(pack)100.8 473.2 Q
(et MUST respond with a DCCP-Close pack)-.11 E 2.75(et. The)-.11 F
(recei)2.75 E -.165(ve)-.275 G 2.75(ro).165 G 2.75(fav)-2.75 G
(alid DCCP-Close)-3.025 E(pack)100.8 486.2 Q
(et MUST respond with a DCCP-Reset pack)-.11 E
(et, with Reset Code 1, "Closed".)-.11 E(The)5.5 E(recei)100.8 499.2 Q
-.165(ve)-.275 G 2.75(ro).165 G 2.75(fav)-2.75 G(alid DCCP-Reset pack)
-3.025 E(et -- which is also the sender of the DCCP-Close)-.11 E(pack)
100.8 512.2 Q(et \(and possibly the recei)-.11 E -.165(ve)-.275 G 2.75
(ro).165 G 2.75(ft)-2.75 G(he DCCP-CloseReq pack)-2.75 E
(et\) -- will hold TIMEW)-.11 E(AIT)-1.32 E(state for the connection.)
100.8 525.2 Q 2.75(AD)100.8 541.8 S(CCP-Reset pack)-2.75 E
(et completes e)-.11 E -.165(ve)-.275 G
(ry DCCP connection, whether the termination is clean).165 E
(\(due to application close; Reset Code 1, "Closed"\) or unclean.)100.8
554.8 Q(Unlik)5.5 E 2.75(eT)-.11 G(CP)-2.75 E 2.75(,w)-1.221 G
(hich has tw)-2.75 E(o)-.11 E(distinct termination mechanisms \(FIN and\
 RST\), DCCP ends all connections in a uniform)100.8 567.8 Q(manner)
100.8 580.8 Q 5.5(.T)-.605 G(his is justi\214ed because some aspects of\
 connection termination are the same)-5.5 E
(independent of whether termination w)100.8 593.8 Q(as clean.)-.11 E
-.165(Fo)5.5 G 2.75(ri).165 G(nstance, the endpoint that recei)-2.75 E
-.165(ve)-.275 G 2.75(sa).165 G -.275(va)100.8 606.8 S
(lid DCCP-Reset SHOULD hold TIMEW).275 E(AIT state for the connection.)
-1.32 E(Processors that)5.5 E
(must distinguish between clean and unclean termination can e)100.8
619.8 Q(xamine the Reset Code.)-.165 E(DCCP-Reset pack)100.8 632.8 Q
(ets MUST NO)-.11 E 2.75(Tb)-.44 G 2.75(eg)-2.75 G
(enerated in response to recei)-2.75 E -.165(ve)-.275 G 2.75(dD).165 G
(CCP-Reset)-2.75 E(pack)100.8 645.8 Q 2.75(ets. DCCP)-.11 F(implementat\
ions generally transition to the CLOSED state after sending a)2.75 E
(DCCP-Reset pack)100.8 658.8 Q(et.)-.11 E(Endpoints in the CLOSEREQ and\
 CLOSING states MUST retransmit DCCP-CloseReq)100.8 675.4 Q
(and DCCP-Close pack)100.8 688.4 Q(ets, respecti)-.11 E -.165(ve)-.275 G
(ly).165 E 2.75(,u)-.715 G(ntil lea)-2.75 E(ving those states.)-.22 E
(The retransmission timer)5.5 E(should initially be set to go of)100.8
701.4 Q 2.75(fi)-.275 G 2.75(nt)-2.75 G .22 -.11(wo r)-2.75 H
(ound-trip times, and should back of).11 E 2.75(ft)-.275 G 2.75(on)-2.75
G(ot less than)-2.75 E(once e)100.8 714.4 Q -.165(ve)-.275 G
(ry 64 seconds if no rele).165 E -.275(va)-.275 G(nt response is recei)
.275 E -.165(ve)-.275 G(d.).165 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(8.3. [P)2.75 F(age 53])
-.165 E 0 Cg EP
%%Page: 54 54
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Only the serv)100.8 85 Q(er can send a DCCP-CloseReq pack)-.165 E
(et or enter the CLOSEREQ state.)-.11 E(A)5.5 E(serv)100.8 98 Q
(er recei)-.165 E(ving a sequence-v)-.275 E(alid DCCP-CloseReq pack)
-.275 E(et MUST respond with a DCCP-)-.11 E(Sync pack)100.8 111 Q
(et, and otherwise ignore the DCCP-CloseReq.)-.11 E
(DCCP-Data, DCCP-DataAck, and DCCP-Ack pack)100.8 127.6 Q(ets recei)-.11
E -.165(ve)-.275 G 2.75(di).165 G 2.75(nC)-2.75 G(LOSEREQ or)-2.75 E
(CLOSING states MA)100.8 140.6 Q 2.75(Yb)-1.155 G 2.75(ee)-2.75 G
(ither processed or ignored.)-2.75 E/F1 11/Times-Bold@0 SF 2.75
(8.3.1. Abnormal)72 166.6 R -1.012(Te)2.75 G(rmination)1.012 E F0
(DCCP endpoints generate DCCP-Reset pack)100.8 183.2 Q
(ets to terminate connections abnormally; a)-.11 E(DCCP-Reset pack)100.8
196.2 Q(et may be generated from an)-.11 E 2.75(ys)-.165 G 2.75
(tate. Resets)-2.75 F(sent in the CLOSED,)2.75 E(LISTEN, and TIMEW)100.8
209.2 Q(AIT states use Reset Code 3, "No Connection", unless otherwise)
-1.32 E 2.75(speci\214ed. Resets)100.8 222.2 R(sent in the REQ)2.75 E
(UEST or RESPOND states use Reset Code 4, "P)-.11 E(ack)-.165 E(et)-.11
E(Error", unless otherwise speci\214ed.)100.8 235.2 Q(DCCP endpoints in\
 CLOSED or LISTEN state may need to generate a DCCP-Reset pack)100.8
251.8 Q(et)-.11 E(in response to a pack)100.8 264.8 Q(et recei)-.11 E
-.165(ve)-.275 G 2.75(df).165 G(rom a peer)-2.75 E 5.5(.S)-.605 G
(ince these states ha)-5.5 E .33 -.165(ve n)-.22 H 2.75(oa).165 G
(ssociated)-2.75 E(sequence number v)100.8 277.8 Q
(ariables, the Sequence and Ackno)-.275 E
(wledgement Numbers on the DCCP-)-.275 E(Reset pack)100.8 290.8 Q
(et R are tak)-.11 E(en from the recei)-.11 E -.165(ve)-.275 G 2.75(dp)
.165 G(ack)-2.75 E(et P)-.11 E 2.75(,a)-1.221 G 2.75(sf)-2.75 G(ollo)
-2.75 E(ws.)-.275 E 11(1. If)100.8 307.4 R -1.221(P.)2.75 G(ackno e)
1.221 E(xists, then set R.seqno := P)-.165 E(.ackno + 1.)-1.221 E
(Otherwise, set R.seqno := 0.)5.5 E 11(2. Set)100.8 324 R(R.ackno := P)
2.75 E(.seqno.)-1.221 E 11(3. If)100.8 340.6 R(the pack)2.75 E
(et used short sequence numbers \(P)-.11 E
(.X == 0\), then set the upper 24 bits of)-1.221 E
(R.seqno and R.ackno to 0.)122.8 353.6 Q F1(8.4.)72 379.6 Q/F2 13
/Times-Bold@0 SF(DCCP State Diagram)5.5 E F0
(The most common state transitions discussed abo)100.8 396.2 Q .33 -.165
(ve c)-.165 H(an be summarized in the follo).165 E(wing)-.275 E
(state diagram.)100.8 409.2 Q(The diagram is illustrati)5.5 E -.165(ve)
-.275 G 2.75(;t).165 G(he te)-2.75 E(xt in Section 8.5 and else)-.165 E
(where should be)-.275 E(considered de\214niti)100.8 422.2 Q -.165(ve)
-.275 G 5.5(.F).165 G(or e)-5.665 E(xample, there are arcs \(not sho)
-.165 E(wn\) from e)-.275 E -.165(ve)-.275 G(ry state e).165 E(xcept)
-.165 E(CLOSED to TIMEW)100.8 435.2 Q(AIT)-1.32 E 2.75(,c)-.814 G
(ontingent on the receipt of a v)-2.75 E(alid DCCP-Reset.)-.275 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(8.4. [P)2.75 F(age 54])-.165 E 0 Cg EP
%%Page: 55 55
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 19.8
(+---------------------------+ +---------------------------+)100.8 85 R
178.2(|v)100.8 98 S 178.2(v|)-151.8 G 158.4(|+)100.8 111 S 151.8
(----------+ |)-158.4 F 66(|+)100.8 124 S 6.6
(-------------+ CLOSED +------------+)-66 F(|)72.6 E 66(||)100.8 137 S
26.4(passive +----------+)-59.4 F 19.8(active |)13.2 F(|)72.6 E 66(||)
100.8 150 S 138.6(open open)-52.8 F 72.6(||)33 G 26.4 66(|| s)100.8 163
T(nd Request |)-66 E(|)72.6 E 105.6 66(|v v)100.8 176 T(|)6.6 E 33(|+)
100.8 189 S 165(----------+ +----------+)-33 F(|)33 E 33(||)100.8 202 S
6.6(LISTEN |)-19.8 F 6.6(|R)171.6 G 6.6(EQUEST |)-6.6 F(|)33 E 33(|+)
100.8 215 S 165(----+-----+ +----+-----+)-33 F(|)33 E 66(||)100.8 228 S
(rcv Request)-59.4 E(rcv Response |)79.2 E(|)72.6 E 66(||)100.8 241 S
(snd Response)-59.4 E(snd Ack)85.8 E 72.6(||)26.4 G 105.6 66(|v v)100.8
254 T(|)6.6 E 33(|+)100.8 267 S 165(----------+ +----------+)-33 F(|)33
E 33(||)100.8 280 S 6.6(RESPOND |)-26.4 F 6.6(|P)171.6 G(ARTOPEN |)-6.6
E(|)33 E 33(|+)100.8 293 S 165(----+-----+ +----+-----+)-33 F(|)33 E 66
(||)100.8 306 S(rcv Ack/DataAck)-59.4 E(rcv packet)59.4 E 72.6(||)13.2 G
105.6 66(|| |)100.8 319 T(|)6.6 E -52.8 66(|| +)100.8 332 T 72.6
(----------+ |)-66 F(|)72.6 E 66(|+)100.8 345 S 13.2
(------------>| OPEN |<-----------+)-66 F(|)72.6 E 158.4(|+)100.8 358 S
151.8(--+-+--+--+ |)-158.4 F 46.2(|s)100.8 371 S(erver active close | |)
-46.2 E 19.8(|a)13.2 G(ctive close)-19.8 E(|)79.2 E 72.6(|s)100.8 384 S
(nd CloseReq)-72.6 E -6.6 6.6(|| |o)26.4 H 6.6(rr)-6.6 G(cv CloseReq)
-6.6 E(|)72.6 E 178.2(||)100.8 397 S -6.6 13.2(|| s)-171.6 H(nd Close)
-13.2 E(|)92.4 E 178.2(||)100.8 410 S 145.2 13.2(|| |)-171.6 H 33(|+)
100.8 423 S 59.4(----------+ |)-33 F 33 13.2(|| +)6.6 H 26.4
(----------+ |)-13.2 F 33(||)100.8 436 S(CLOSEREQ |<---------+ |)-26.4 E
(+--------->| CLOSING)13.2 E 33(||)13.2 G 33(|+)100.8 449 S 72.6
(----+-----+ |)-33 F 26.4(+----+-----+ |)85.8 F 66(||)100.8 462 S
(rcv Close)-59.4 E 52.8(|r)52.8 G(cv Reset |)-52.8 E(|)72.6 E 66(||)
100.8 475 S(snd Reset)-59.4 E 118.8(||)52.8 G(|)-46.2 E 112.2
(|<---------+ | v)100.8 488 R(|)72.6 E 191.4(||)100.8 501 S 26.4
(+----+-----+ |)-105.6 F 125.4(|r)100.8 514 S(cv Close |)-125.4 E 6.6
(|T)85.8 G(IMEWAIT |)-6.6 E(|)33 E 125.4(|s)100.8 527 S(nd Reset |)
-125.4 E 26.4(+----+-----+ |)85.8 F 112.2
(+-----------------------------+ |)100.8 540 R(|)72.6 E(+-----------+)
424.2 553 Q(2MSL timer expires)404.4 566 Q/F2 11/Times-Bold@0 SF(8.5.)72
598 Q/F3 13/Times-Bold@0 SF(Pseudocode)5.5 E F0(This section presents a\
n algorithm describing the processing steps a DCCP endpoint must)100.8
614.6 Q(go through when it recei)100.8 627.6 Q -.165(ve)-.275 G 2.75
(sap).165 G(ack)-2.75 E 2.75(et. A)-.11 F
(DCCP implementation need not implement the)2.75 E
(algorithm as it is described here, b)100.8 640.6 Q(ut an)-.22 E 2.75
(yi)-.165 G(mplementation MUST generate observ)-2.75 E(able)-.275 E(ef)
100.8 653.6 Q(fects e)-.275 E(xactly as indicated by this pseudocode, e)
-.165 E(xcept where allo)-.165 E(wed otherwise by another)-.275 E
(part of this document.)100.8 666.6 Q(The recei)100.8 683.2 Q -.165(ve)
-.275 G 2.75(dp).165 G(ack)-2.75 E(et is written as P)-.11 E 2.75(,t)
-1.221 G(he sock)-2.75 E(et as S.)-.11 E -.165(Pa)100.8 696.2 S(ck).165
E(et v)-.11 E(ariables P)-.275 E(.seqno and P)-1.221 E
(.ackno are 48-bit sequence numbers.)-1.221 E(Sock)100.8 709.2 Q(et v)
-.11 E(ariables:)-.275 E(S.SWL - sequence number windo)100.8 722.2 Q
2.75(wl)-.275 G -.275(ow)-2.75 G -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(8.5. [P)2.75 F(age 55])
-.165 E 0 Cg EP
%%Page: 56 56
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(S.SWH - sequence number windo)100.8 85 Q 2.75(wh)-.275 G(igh)-2.75 E
(S.A)100.8 98 Q(WL - ackno)-.99 E(wledgement number windo)-.275 E 2.75
(wl)-.275 G -.275(ow)-2.75 G(S.A)100.8 111 Q(WH - ackno)-.99 E
(wledgement number windo)-.275 E 2.75(wh)-.275 G(igh)-2.75 E
(S.ISS - initial sequence number sent)100.8 124 Q
(S.ISR - initial sequence number recei)100.8 137 Q -.165(ve)-.275 G(d)
.165 E(S.OSR - \214rst OPEN sequence number recei)100.8 150 Q -.165(ve)
-.275 G(d).165 E(S.GSS - greatest sequence number sent)100.8 163 Q
(S.GSR - greatest v)100.8 176 Q(alid sequence number recei)-.275 E -.165
(ve)-.275 G(d).165 E(S.GAR - greatest v)100.8 189 Q(alid ackno)-.275 E
(wledgement number recei)-.275 E -.165(ve)-.275 G 2.75(do).165 G 2.75
(na)-2.75 G(non-Sync; initialized to S.ISS)122.8 202 Q("Send pack)100.8
215 Q(et" actions al)-.11 E -.11(wa)-.11 G
(ys use, and increment, S.GSS.).11 E(Step 1: Check header basics)100.8
241 Q(/* This step checks for malformed pack)109.05 254 Q 2.75(ets. P)
-.11 F(ack)-.165 E(ets that f)-.11 E(ail)-.11 E
(these checks are ignored -- the)117.3 267 Q 2.75(yd)-.165 G 2.75(on)
-2.75 G(ot recei)-2.75 E .33 -.165(ve R)-.275 H(esets in).165 E
(response */)117.3 280 Q(If the pack)109.05 293 Q
(et is shorter than 12 bytes, drop pack)-.11 E(et and return)-.11 E
(If the pack)109.05 306 Q(et type is not understood, drop pack)-.11 E
(et and return)-.11 E(If P)109.05 319 Q(.Data Of)-1.221 E
(fset is too small for pack)-.275 E(et type, or too lar)-.11 E(ge for)
-.198 E(pack)125.55 332 Q(et, drop pack)-.11 E(et and return)-.11 E
(If P)109.05 345 Q(.type is not Data, Ack, or DataAck and P)-1.221 E
(.X == 0 \(the pack)-1.221 E(et)-.11 E
(has short sequence numbers\), drop pack)125.55 358 Q(et and return)-.11
E(If the header checksum is incorrect, drop pack)109.05 371 Q
(et and return)-.11 E(If P)109.05 384 Q(.CsCo)-1.221 E 2.75(vi)-.165 G
2.75(st)-2.75 G(oo lar)-2.75 E(ge for the pack)-.198 E
(et size, drop pack)-.11 E(et and)-.11 E(return)125.55 397 Q
(Step 2: Check ports and process TIMEW)100.8 423 Q(AIT state)-1.32 E
(Look up \215o)109.05 436 Q 2.75(wI)-.275 G 2.75(Di)-2.75 G 2.75(nt)
-2.75 G(able and get corresponding sock)-2.75 E(et)-.11 E(If no sock)
109.05 449 Q(et, or S.state == TIMEW)-.11 E(AIT)-1.32 E(,)-.814 E
(Generate Reset\(No Connection\) unless P)117.3 462 Q(.type == Reset)
-1.221 E(Drop pack)117.3 475 Q(et and return)-.11 E
(Step 3: Process LISTEN state)100.8 501 Q(If S.state == LISTEN,)109.05
514 Q(If P)117.3 527 Q(.type == Request or P contains a v)-1.221 E
(alid Init Cookie option,)-.275 E(/* Must scan the pack)125.55 540 Q
(et')-.11 E 2.75(so)-.605 G(ptions to check for an Init)-2.75 E 2.75
(Cookie. Only)133.8 553 R(the Init Cookie is processed here,)2.75 E(ho)
133.8 566 Q(we)-.275 E -.165(ve)-.275 G
(r; other options are processed in Step 8.).165 E(This)5.5 E
(scan need only be performed if the endpoint uses Init)133.8 579 Q
(Cookies */)133.8 592 Q(/* Generate a ne)125.55 605 Q 2.75(ws)-.275 G
(ock)-2.75 E(et and switch to that sock)-.11 E(et */)-.11 E(Set S := ne)
125.55 618 Q 2.75(ws)-.275 G(ock)-2.75 E(et for this port pair)-.11 E
(S.state = RESPOND)125.55 631 Q
(Choose S.ISS \(initial seqno\) or set from Init Cookie)125.55 644 Q
(Initialize S.GAR := S.ISS)125.55 657 Q
(Set S.ISR, S.GSR, S.SWL, S.SWH from pack)125.55 670 Q
(et or Init Cookie)-.11 E(Continue with S.state == RESPOND)125.55 683 Q
(/* A Response pack)125.55 696 Q(et will be generated in Step 11 */)-.11
E(Otherwise,)117.3 709 Q(Generate Reset\(No Connection\) unless P)125.55
722 Q(.type == Reset)-1.221 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(8.5. [P)2.75 F(age 56])
-.165 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Drop pack)125.55 85 Q(et and return)-.11 E
(Step 4: Prepare sequence numbers in REQ)100.8 111 Q(UEST)-.11 E
(If S.state == REQ)109.05 124 Q(UEST)-.11 E(,)-.814 E(If \(P)117.3 137 Q
(.type == Response or P)-1.221 E(.type == Reset\))-1.221 E(and S.A)133.8
150 Q(WL <= P)-.99 E(.ackno <= S.A)-1.221 E(WH,)-.99 E
(/* Set sequence number v)125.55 163 Q(ariables corresponding to the)
-.275 E(other endpoint, so P will pass the tests in Step 6 */)133.8 176
Q(Set S.GSR, S.ISR, S.SWL, S.SWH)125.55 189 Q
(/* Response processing continues in Step 10; Reset)125.55 202 Q
(processing continues in Step 9 */)133.8 215 Q(Otherwise,)117.3 228 Q
(/* Only Response and Reset are v)125.55 241 Q(alid in REQ)-.275 E
(UEST state */)-.11 E(Generate Reset\(P)125.55 254 Q(ack)-.165 E
(et Error\))-.11 E(Drop pack)125.55 267 Q(et and return)-.11 E
(Step 5: Prepare sequence numbers for Sync)100.8 293 Q(If P)109.05 306 Q
(.type == Sync or P)-1.221 E(.type == SyncAck,)-1.221 E(If S.A)117.3 319
Q(WL <= P)-.99 E(.ackno <= S.A)-1.221 E(WH and P)-.99 E
(.seqno >= S.SWL,)-1.221 E(/* P is v)125.55 332 Q
(alid, so update sequence number v)-.275 E(ariables)-.275 E(accordingly)
133.8 345 Q 5.5(.A)-.715 G(fter this update, P will pass the tests)-5.5
E(in Step 6.)133.8 358 Q 2.75(AS)5.5 G
(yncAck is generated if necessary in)-2.75 E(Step 15 */)133.8 371 Q
(Update S.GSR, S.SWL, S.SWH)125.55 384 Q(Otherwise,)117.3 397 Q
(Drop pack)125.55 410 Q(et and return)-.11 E
(Step 6: Check sequence numbers)100.8 436 Q(Let LSWL = S.SWL and LA)
109.05 449 Q(WL = S.A)-.99 E(WL)-.99 E(If P)109.05 462 Q
(.type == CloseReq or P)-1.221 E(.type == Close or P)-1.221 E
(.type == Reset,)-1.221 E(LSWL := S.GSR + 1, LA)117.3 475 Q(WL := S.GAR)
-.99 E(If LSWL <= P)109.05 488 Q(.seqno <= S.SWH)-1.221 E(and \(P)125.55
501 Q(.ackno does not e)-1.221 E(xist or LA)-.165 E(WL <= P)-.99 E
(.ackno <= S.A)-1.221 E(WH\),)-.99 E(Update S.GSR, S.SWL, S.SWH)117.3
514 Q(If P)117.3 527 Q(.type != Sync,)-1.221 E(Update S.GAR)125.55 540 Q
(Otherwise,)109.05 553 Q(If P)117.3 566 Q(.type == Reset,)-1.221 E
(Send Sync pack)125.55 579 Q(et ackno)-.11 E(wledging S.GSR)-.275 E
(Otherwise,)117.3 592 Q(Send Sync pack)125.55 605 Q(et ackno)-.11 E
(wledging P)-.275 E(.seqno)-1.221 E(Drop pack)117.3 618 Q(et and return)
-.11 E(Step 7: Check for une)100.8 644 Q(xpected pack)-.165 E(et types)
-.11 E(If \(S.is_serv)109.05 657 Q(er and P)-.165 E(.type == CloseReq\))
-1.221 E(or \(S.is_serv)122.8 670 Q(er and P)-.165 E
(.type == Response\))-1.221 E(or \(S.is_client and P)122.8 683 Q
(.type == Request\))-1.221 E(or \(S.state >= OPEN and P)122.8 696 Q
(.type == Request)-1.221 E(and P)133.8 709 Q(.seqno >= S.OSR\))-1.221 E
(or \(S.state >= OPEN and P)122.8 722 Q(.type == Response)-1.221 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(8.5. [P)2.75 F(age 57])-.165 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E(and P)
133.8 85 Q(.seqno >= S.OSR\))-1.221 E(or \(S.state == RESPOND and P)
122.8 98 Q(.type == Data\),)-1.221 E(Send Sync pack)117.3 111 Q
(et ackno)-.11 E(wledging P)-.275 E(.seqno)-1.221 E(Drop pack)117.3 124
Q(et and return)-.11 E(Step 8: Process options and mark ackno)100.8 150
Q(wledgeable)-.275 E
(/* Option processing is not speci\214cally described here.)109.05 163 Q
(Certain options, such as Mandatory)117.3 176 Q 2.75(,m)-.715 G
(ay cause the connection)-2.75 E
(to be reset, in which case Steps 9 and on are not e)117.3 189 Q -.165
(xe)-.165 G(cuted */).165 E(Mark pack)109.05 202 Q(et as ackno)-.11 E
(wledgeable \(in Ack V)-.275 E(ector terms, Recei)-1.221 E -.165(ve)
-.275 G(d).165 E(or Recei)122.8 215 Q -.165(ve)-.275 G 2.75(dE).165 G
(CN Mark)-2.75 E(ed\))-.11 E(Step 9: Process Reset)100.8 241 Q(If P)
109.05 254 Q(.type == Reset,)-1.221 E -.77(Te)117.3 267 S(ar do).77 E
(wn connection)-.275 E(S.state := TIMEW)117.3 280 Q(AIT)-1.32 E
(Set TIMEW)117.3 293 Q(AIT timer)-1.32 E(Drop pack)117.3 306 Q
(et and return)-.11 E(Step 10: Process REQ)100.8 332 Q
(UEST state \(second part\))-.11 E(If S.state == REQ)109.05 345 Q(UEST)
-.11 E(,)-.814 E(/* If we get here, P is a v)117.3 358 Q
(alid Response from the serv)-.275 E(er \(see)-.165 E
(Step 4\), and we should mo)125.55 371 Q .33 -.165(ve t)-.165 H 2.75(oP)
.165 G(AR)-3.762 E -.198(TO)-.66 G(PEN state.).198 E -1.012(PA)5.5 G
-1.628 -.66(RT O)1.012 H(PEN).66 E(means send an Ack, don')125.55 384 Q
2.75(ts)-.198 G(end Data pack)-2.75 E(ets, retransmit)-.11 E
(Acks periodically)125.55 397 Q 2.75(,a)-.715 G(nd al)-2.75 E -.11(wa)
-.11 G(ys include an).11 E 2.75(yI)-.165 G(nit Cookie from)-2.75 E
(the Response */)125.55 410 Q(S.state := P)117.3 423 Q(AR)-1.012 E -.198
(TO)-.66 G(PEN).198 E(Set P)117.3 436 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN timer).198 E(Continue with S.state == P)117.3 449 Q(AR)-1.012 E
-.198(TO)-.66 G(PEN).198 E
(/* Step 12 will send the Ack completing the three-w)117.3 462 Q(ay)-.11
E(handshak)125.55 475 Q 2.75(e*)-.11 G(/)-2.75 E
(Step 11: Process RESPOND state)100.8 501 Q(If S.state == RESPOND,)
109.05 514 Q(If P)117.3 527 Q(.type == Request,)-1.221 E
(Send Response, possibly containing Init Cookie)125.55 540 Q
(If Init Cookie w)125.55 553 Q(as sent,)-.11 E(Destro)133.8 566 Q 2.75
(ySa)-.11 G(nd return)-2.75 E(/* Step 3 will create another sock)133.8
579 Q(et when the client)-.11 E(completes the three-w)142.05 592 Q
(ay handshak)-.11 E 2.75(e*)-.11 G(/)-2.75 E(Otherwise,)117.3 605 Q
(S.OSR := P)125.55 618 Q(.seqno)-1.221 E(S.state := OPEN)125.55 631 Q
(Step 12: Process P)100.8 657 Q(AR)-1.012 E -.198(TO)-.66 G(PEN state)
.198 E(If S.state == P)109.05 670 Q(AR)-1.012 E -.198(TO)-.66 G(PEN,)
.198 E(If P)117.3 683 Q(.type == Response,)-1.221 E(Send Ack)125.55 696
Q(Otherwise, if P)117.3 709 Q(.type != Sync,)-1.221 E(S.OSR := P)125.55
722 Q(.seqno)-1.221 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
230.26(yd Section)-.11 F 2.75(8.5. [P)2.75 F(age 58])-.165 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(S.state := OPEN)125.55 85 Q(Step 13: Process CloseReq)100.8 111 Q(If P)
109.05 124 Q(.type == CloseReq and S.state < CLOSEREQ,)-1.221 E
(Generate Close)117.3 137 Q(S.state := CLOSING)117.3 150 Q
(Set CLOSING timer)117.3 163 Q(Step 14: Process Close)100.8 189 Q(If P)
109.05 202 Q(.type == Close,)-1.221 E(Generate Reset\(Closed\))117.3 215
Q -.77(Te)117.3 228 S(ar do).77 E(wn connection)-.275 E(Drop pack)117.3
241 Q(et and return)-.11 E(Step 15: Process Sync)100.8 267 Q(If P)109.05
280 Q(.type == Sync,)-1.221 E(Generate SyncAck)117.3 293 Q
(Step 16: Process data)100.8 319 Q(/* At this point an)109.05 332 Q 2.75
(ya)-.165 G(pplication data on P can be passed to the)-2.75 E
(application, e)117.3 345 Q(xcept that the application MUST NO)-.165 E
2.75(Tr)-.44 G(ecei)-2.75 E -.165(ve)-.275 G
(data from more than one Request or Response */)117.3 358 Q/F1 11
/Times-Bold@0 SF(9.)72 384 Q/F2 14/Times-Bold@0 SF(Checksums)5.5 E F0
(DCCP uses a header checksum to protect its header ag)100.8 400.6 Q
(ainst corruption.)-.055 E(Generally)5.5 E 2.75(,t)-.715 G(his)-2.75 E
(checksum also co)100.8 413.6 Q -.165(ve)-.165 G(rs an).165 E 2.75(ya)
-.165 G(pplication data.)-2.75 E(DCCP applications can, ho)5.5 E(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, r).165 H(equest that).44 E
(the header checksum co)100.8 426.6 Q -.165(ve)-.165 G 2.75(ro).165 G
(nly part of the application data, or perhaps no application data)-2.75
E(at all.)100.8 439.6 Q(Link layers may then reduce their protection on\
 unprotected parts of DCCP pack)5.5 E(ets.)-.11 E -.165(Fo)100.8 452.6 S
2.75(rs).165 G(ome noisy links, and applications that can tolerate corr\
uption, this can greatly impro)-2.75 E -.165(ve)-.165 G(deli)100.8 465.6
Q -.165(ve)-.275 G(ry rates and percei).165 E -.165(ve)-.275 G 2.75(dp)
.165 G(erformance.)-2.75 E(Checksum co)100.8 482.2 Q -.165(ve)-.165 G
(rage may e).165 E -.165(ve)-.275 G
(ntually impact congestion control mechanisms as well.).165 E(A)5.5 E
(pack)100.8 495.2 Q
(et with corrupt application data and complete checksum co)-.11 E -.165
(ve)-.165 G(rage is treated as lost.).165 E(This incurs a hea)100.8
508.2 Q(vy-duty loss response from the sender')-.22 E 2.75(sc)-.605 G
(ongestion control mechanism,)-2.75 E(which can unf)100.8 521.2 Q
(airly penalize connections on links with high background corruption.)
-.11 E(The)5.5 E(combination of reduced checksum co)100.8 534.2 Q -.165
(ve)-.165 G(rage and Data Checksum options may let endpoints).165 E
(report pack)100.8 547.2 Q(ets as corrupt rather than dropped, using Da\
ta Dropped options and Drop Code)-.11 E 2.75(3\()100.8 560.2 S
(see Section 11.7\).)-2.75 E(This may e)5.5 E -.165(ve)-.275 G
(ntually bene\214t applications.).165 E(Ho)5.5 E(we)-.275 E -.165(ve)
-.275 G .88 -.44(r, f).165 H(urther research).44 E(is required to deter\
mine an appropriate response to corruption, which can sometimes)100.8
573.2 Q(correlate with congestion.)100.8 586.2 Q(Corrupt pack)5.5 E
(ets currently incur a loss response.)-.11 E(The Data Checksum option, \
which contains a strong CRC, lets endpoints detect application)100.8
602.8 Q(data corruption.)100.8 615.8 Q(An API can then be used to a)5.5
E -.22(vo)-.22 G(id deli).22 E -.165(ve)-.275 G
(ring corrupt data to the).165 E(application, e)100.8 628.8 Q -.165(ve)
-.275 G 2.75(ni).165 G 2.75(fl)-2.75 G(inks deli)-2.75 E -.165(ve)-.275
G 2.75(rc).165 G(orrupt data to the endpoint due to reduced checksum)
-2.75 E(co)100.8 641.8 Q -.165(ve)-.165 G 2.75(rage. Ho).165 F(we)-.275
E -.165(ve)-.275 G .88 -.44(r, t).165 H(he use of reduced checksum co)
.44 E -.165(ve)-.165 G(rage for applications that demand).165 E
(correct data is currently considered e)100.8 654.8 Q 2.75
(xperimental. This)-.165 F(is because the combined loss-plus-)2.75 E
(corruption rate for pack)100.8 667.8 Q(ets with reduced checksum co)
-.11 E -.165(ve)-.165 G(rage may be signi\214cantly higher).165 E
(than that for pack)100.8 680.8 Q(ets with full checksum co)-.11 E -.165
(ve)-.165 G(rage, although the loss rate will generally be).165 E(lo)
100.8 693.8 Q(wer)-.275 E 5.5(.A)-.605 G(ctual beha)-5.5 E
(vior will depend on link design; further research and e)-.22 E
(xperience is)-.165 E(required.)100.8 706.8 Q -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 238.51(yd Section)-.11 F 2.75(9. [P)
2.75 F(age 59])-.165 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Reduced checksum co)100.8 85 Q -.165(ve)-.165 G
(rage introduces some security considerations; see Section 18.1.).165 E
(See Appendix B for further moti)100.8 98 Q -.275(va)-.275 G
(tion and discussion.).275 E(DCCP')5.5 E 2.75(si)-.605 G
(mplementation of reduced)-2.75 E(checksum co)100.8 111 Q -.165(ve)-.165
G(rage w).165 E(as inspired by UDP-Lite [RFC 3828].)-.11 E/F1 11
/Times-Bold@0 SF(9.1.)72 137 Q/F2 13/Times-Bold@0 SF
(Header Checksum Field)5.5 E F0
(DCCP uses the TCP/IP checksum algorithm.)100.8 153.6 Q
(The Checksum \214eld in the DCCP generic)5.5 E
(header \(see Section 5.1\) equals the 16 bit one')100.8 166.6 Q 2.75
(sc)-.605 G(omplement of the one')-2.75 E 2.75(sc)-.605 G(omplement sum)
-2.75 E(of all 16 bit w)100.8 179.6 Q(ords in the DCCP header)-.11 E
2.75(,D)-.44 G(CCP options, a pseudoheader tak)-2.75 E(en from the)-.11
E(netw)100.8 192.6 Q(ork-layer header)-.11 E 2.75(,a)-.44 G
(nd, depending on the v)-2.75 E(alue of the Checksum Co)-.275 E -.165
(ve)-.165 G(rage \214eld, some).165 E(or all of the application data.)
100.8 205.6 Q
(When calculating the checksum, the Checksum \214eld itself is)5.5 E
(treated as 0.)100.8 218.6 Q(If a pack)5.5 E
(et contains an odd number of header and payload bytes to be)-.11 E
(checksummed, 8 zero bits are added on the right to form a 16 bit w)
100.8 231.6 Q(ord for checksum)-.11 E 2.75(purposes. The)100.8 244.6 R
(pad byte is not transmitted as part of the pack)2.75 E(et.)-.11 E
(The pseudoheader is calculated as for TCP)100.8 261.2 Q 5.5(.F)-1.221 G
(or IPv4, it is 96 bits long, and consists of the)-5.665 E(IPv4 source \
and destination addresses, the IP protocol number for DCCP \(padded on \
the)100.8 274.2 Q(left with 8 zero bits\), and the DCCP length as a 16-\
bit quantity \(the length of the DCCP)100.8 287.2 Q
(header with options, plus the length of an)100.8 300.2 Q 2.75(yd)-.165
G(ata\); see RFC 793 \(Section 3.1\).)-2.75 E -.165(Fo)5.5 G 2.75(rI)
.165 G(Pv6, it is)-2.75 E(320 bits long, and consists of the IPv6 sourc\
e and destination addresses, the DCCP length)100.8 313.2 Q
(as a 32-bit quantity)100.8 326.2 Q 2.75(,a)-.715 G
(nd the IP protocol number for DCCP \(padded on the left with 24 zero)
-2.75 E(bits\); see RFC 2460 \(Section 8.1\).)100.8 339.2 Q -.165(Pa)
100.8 355.8 S(ck).165 E(ets with in)-.11 E -.275(va)-.44 G
(lid header checksums MUST be ignored.).275 E(In particular)5.5 E 2.75
(,t)-.44 G(heir options)-2.75 E(MUST NO)100.8 368.8 Q 2.75(Tb)-.44 G
2.75(ep)-2.75 G(rocessed.)-2.75 E F1(9.2.)72 394.8 Q F2
(Header Checksum Co)5.5 E -.13(ve)-.13 G(rage Field).13 E F0
(The Checksum Co)100.8 411.4 Q -.165(ve)-.165 G(rage \214eld in the DCC\
P generic header \(see Section 5.1\) speci\214es what).165 E
(parts of the pack)100.8 424.4 Q(et are co)-.11 E -.165(ve)-.165 G
(red by the Checksum \214eld, as follo).165 E(ws:)-.275 E F1(CsCo)100.8
441 Q 2.75(v=0)-.11 G F0(The Checksum \214eld co)31.427 E -.165(ve)-.165
G(rs the DCCP header).165 E 2.75(,D)-.44 G(CCP options, netw)-2.75 E
(ork-)-.11 E(layer pseudoheader)183.3 454 Q 2.75(,a)-.44 G
(nd all application data in the pack)-2.75 E(et, possibly)-.11 E
(padded on the right with zeros to an e)183.3 467 Q -.165(ve)-.275 G
2.75(nn).165 G(umber of bytes.)-2.75 E F1(CsCo)100.8 483.6 Q 2.75(v=1)
-.11 G(-15)-2.75 E F0(The Checksum \214eld co)19.514 E -.165(ve)-.165 G
(rs the DCCP header).165 E 2.75(,D)-.44 G(CCP options, netw)-2.75 E
(ork-)-.11 E(layer pseudoheader)183.3 496.6 Q 2.75(,a)-.44 G
(nd the initial \(CsCo)-2.75 E(v-1\)*4 bytes of the pack)-.165 E(et')
-.11 E(s)-.605 E(application data.)183.3 509.6 Q(Thus, if CsCo)100.8
526.2 Q 2.75(vi)-.165 G 2.75(s1)-2.75 G 2.75(,n)-2.75 G
(one of the application data is protected by the header checksum.)-2.75
E(The)5.5 E -.275(va)100.8 539.2 S(lue \(CsCo).275 E(v-1\)*4 MUST be le\
ss than or equal to the length of the application data.)-.165 E -.165
(Pa)100.8 552.2 S(ck).165 E(ets with in)-.11 E -.275(va)-.44 G(lid CsCo)
.275 E 2.75(vv)-.165 G(alues MUST be ignored; in particular)-3.025 E
2.75(,t)-.44 G(heir options MUST)-2.75 E(NO)100.8 565.2 Q 2.75(Tb)-.44 G
2.75(ep)-2.75 G 2.75(rocessed. The)-2.75 F(meanings of v)2.75 E
(alues other than 0 and 1 should be considered)-.275 E -.165(ex)100.8
578.2 S(perimental.).165 E -1.221(Va)100.8 594.8 S(lues other than 0 sp\
ecify that corruption is acceptable in some or all of the DCCP)1.221 E
(pack)100.8 607.8 Q(et')-.11 E 2.75(sa)-.605 G(pplication data.)-2.75 E
(In f)5.5 E(act, DCCP cannot e)-.11 E -.165(ve)-.275 G 2.75(nd).165 G
(etect corruption in areas not co)-2.75 E -.165(ve)-.165 G(red).165 E
(by the header checksum, unless the Data Checksum option is used.)100.8
620.8 Q(Applications should)5.5 E(not mak)100.8 633.8 Q 2.75(ea)-.11 G
.33 -.165(ny a)-2.75 H(ssumptions about the correctness of recei).165 E
-.165(ve)-.275 G 2.75(dd).165 G(ata not co)-2.75 E -.165(ve)-.165 G
(red by the).165 E(checksum, and should if necessary introduce their o)
100.8 646.8 Q(wn v)-.275 E(alidity checks.)-.275 E 2.75(AD)100.8 663.4 S
(CCP application interf)-2.75 E
(ace should let sending applications suggest a v)-.11 E(alue for CsCo)
-.275 E(v)-.165 E(for sent pack)100.8 676.4 Q(ets, def)-.11 E
(aulting to 0 \(full co)-.11 E -.165(ve)-.165 G 2.75(rage\). The).165 F
(Minimum Checksum Co)2.75 E -.165(ve)-.165 G(rage).165 E
(feature, described belo)100.8 689.4 Q 1.43 -.715(w, l)-.275 H
(ets an endpoint refuse deli).715 E -.165(ve)-.275 G
(ry of application data on pack).165 E(ets)-.11 E
(with partial checksum co)100.8 702.4 Q -.165(ve)-.165 G(rage; by def)
.165 E(ault, only fully-co)-.11 E -.165(ve)-.165 G
(red application data is accepted.).165 E(Lo)100.8 715.4 Q
(wer layers that support partial error detection MA)-.275 E 2.75(Yu)
-1.155 G(se the Checksum Co)-2.75 E -.165(ve)-.165 G(rage \214eld as)
.165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(9.2. [P)2.75 F(age 60])-.165 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 2.75
(ah)100.8 85 S(int of where errors do not need to be detected.)-2.75 E
(Lo)5.5 E(wer layers MUST use a strong error)-.275 E(detection mechanis\
m to detect at least errors that occur in the sensiti)100.8 98 Q .33
-.165(ve p)-.275 H(art of the pack).165 E(et,)-.11 E
(and discard damaged pack)100.8 111 Q 2.75(ets. The)-.11 F(sensiti)2.75
E .33 -.165(ve p)-.275 H(art consists of the bytes between the \214rst)
.165 E
(byte of the IP header and the last byte identi\214ed by Checksum Co)
100.8 124 Q -.165(ve)-.165 G(rage.).165 E -.165(Fo)100.8 140.6 S 2.75
(rm).165 G(ore details on application and lo)-2.75 E(wer)-.275 E
(-layer interf)-.22 E(ace issues relating to partial)-.11 E
(checksumming, see [RFC 3828].)100.8 153.6 Q/F1 11/Times-Bold@0 SF 2.75
(9.2.1. Minimum)72 179.6 R(Checksum Co)2.75 E -.11(ve)-.11 G(rage F).11
E(eatur)-.275 E(e)-.198 E F0(The Minimum Checksum Co)100.8 196.2 Q -.165
(ve)-.165 G(rage feature lets a DCCP endpoint determine whether its).165
E(peer is willing to accept pack)100.8 209.2 Q
(ets with reduced Checksum Co)-.11 E -.165(ve)-.165 G 2.75(rage. F).165
F(or e)-.165 E(xample, DCCP A)-.165 E
(sends a "Change R\(Minimum Checksum Co)100.8 222.2 Q -.165(ve)-.165 G
(rage, 1\)" option to DCCP B to check).165 E
(whether B is willing to accept pack)100.8 235.2 Q(ets with Checksum Co)
-.11 E -.165(ve)-.165 G(rage set to 1.).165 E(Minimum Checksum Co)100.8
251.8 Q -.165(ve)-.165 G(rage has feature number 8, and is serv).165 E
(er)-.165 E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-)-.11 E(byte inte)100.8 264.8 Q(ger v)-.165 E
(alues between 0 and 15; v)-.275 E(alues of 16 or more are reserv)-.275
E 2.75(ed. Minimum)-.165 F(Checksum Co)100.8 277.8 Q -.165(ve)-.165 G
(rage/B re\215ects v).165 E(alues of Checksum Co)-.275 E -.165(ve)-.165
G(rage that DCCP B \214nds).165 E 2.75(unacceptable. Say)100.8 290.8 R
(that the v)2.75 E(alue of Minimum Checksum Co)-.275 E -.165(ve)-.165 G
(rage/B is MinCsCo).165 E 4.18 -.715(v. T)-.165 H(hen:).715 E 12.65
<8349>100.8 307.4 S 2.75(fM)-12.65 G(inCsCo)-2.75 E 2.75(v=0)-.165 G
2.75(,t)-2.75 G(hen DCCP B only \214nds pack)-2.75 E(ets with CsCo)-.11
E 2.75(v=0a)-.165 G(cceptable.)-2.75 E 12.65<8349>100.8 324 S 2.75(fM)
-12.65 G(inCsCo)-2.75 E 2.75(v>0)-.165 G 2.75(,t)-2.75 G
(hen DCCP B additionally \214nds pack)-2.75 E(ets with CsCo)-.11 E 2.75
(v>)-.165 G 2.75(=M)-2.75 G(inCsCo)-2.75 E(v)-.165 E(acceptable.)117.3
337 Q(DCCP B MA)100.8 353.6 Q 2.75(Yr)-1.155 G
(efuse to process application data from pack)-2.75 E
(ets with unacceptable)-.11 E(Checksum Co)100.8 366.6 Q -.165(ve)-.165 G
2.75(rage. Such).165 F(pack)2.75 E
(ets SHOULD be reported using Data Dropped options)-.11 E
(\(Section 11.7\) with Drop Code 0, Protocol Constraints.)100.8 379.6 Q
(Ne)5.5 E 2.75(wc)-.275 G(onnections start with)-2.75 E
(Minimum Checksum Co)100.8 392.6 Q -.165(ve)-.165 G
(rage 0 for both endpoints.).165 E F1(9.3.)72 418.6 Q/F2 13/Times-Bold@0
SF(Data Checksum Option)5.5 E F0
(The Data Checksum option holds a 32-bit CRC-32c c)100.8 435.2 Q
(yclic redundanc)-.165 E(y-check code of a)-.165 E(DCCP pack)100.8 448.2
Q(et')-.11 E 2.75(sa)-.605 G(pplication data.)-2.75 E/F3 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 467.2 Q
85.8(|00101100|00000110| CRC-32c |)100.8 480.2 R
(+--------+--------+--------+--------+--------+--------+)100.8 493.2 Q
6.6(Type=44 Length=6)107.4 506.2 R F0(The sending DCCP computes the CRC\
 of the bytes comprising the application data area)100.8 525.2 Q
(and stores it in the option data.)100.8 538.2 Q
(The CRC-32c algorithm used for Data Checksum is the)5.5 E(same as that\
 used for SCTP [RFC 3309]; note that the CRC-32c of zero bytes of data)
100.8 551.2 Q(equals zero.)100.8 564.2 Q
(The DCCP header checksum will co)5.5 E -.165(ve)-.165 G 2.75(rt).165 G
(he Data Checksum option, so the)-2.75 E
(data checksum must be computed before the header checksum.)100.8 577.2
Q 2.75(AD)100.8 593.8 S(CCP endpoint recei)-2.75 E(ving a pack)-.275 E
(et with a Data Checksum option SHOULD compute the)-.11 E(recei)100.8
606.8 Q -.165(ve)-.275 G 2.75(da).165 G(pplication data')-2.75 E 2.75
(sC)-.605 G(RC-32c, using the same algorithm as the sender)-2.75 E 2.75
(,a)-.44 G(nd compare)-2.75 E(the result with the Data Checksum v)100.8
619.8 Q 2.75(alue. \(The)-.275 F
(endpoint can indicate its willingness to)2.75 E(check Data Checksums u\
sing the Check Data Checksum feature, described belo)100.8 632.8 Q -.715
(w.)-.275 G 5.5(\)I).715 G 2.75(ft)-5.5 G(he)-2.75 E(CRCs dif)100.8
645.8 Q(fer)-.275 E 2.75(,t)-.44 G(he endpoint reacts in one of tw)-2.75
E 2.75(ow)-.11 G(ays.)-2.86 E 12.65<8354>100.8 662.4 S(he recei)-12.65 E
(ving application may ha)-.275 E .33 -.165(ve r)-.22 H(equested deli)
.165 E -.165(ve)-.275 G(ry of kno).165 E(wn-corrupt data via some)-.275
E(optional API.)117.3 675.4 Q(In this case, the pack)5.5 E(et')-.11 E
2.75(sd)-.605 G(ata MUST be deli)-2.75 E -.165(ve)-.275 G
(red to the application,).165 E(with a note that it is kno)117.3 688.4 Q
(wn to be corrupt.)-.275 E(Furthermore, the recei)5.5 E
(ving endpoint MUST)-.275 E(report the pack)117.3 701.4 Q(et as deli)
-.11 E -.165(ve)-.275 G
(red corrupt using a Data Dropped option \(Drop Code 7,).165 E(Deli)
117.3 714.4 Q -.165(ve)-.275 G(red Corrupt\).).165 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(9.3. [P)
2.75 F(age 61])-.165 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 12.65
<834f>100.8 85 S(therwise, the recei)-12.65 E
(ving endpoint MUST drop the application data, and report that data)
-.275 E(as dropped due to corruption using a Data Dropped option \(Drop\
 Code 3, Corrupt\).)117.3 98 Q(In either case, the pack)100.8 114.6 Q
(et is considered ackno)-.11 E(wledgeable \(since its header w)-.275 E
(as processed\),)-.11 E(and will therefore be ackno)100.8 127.6 Q
(wledged using the equi)-.275 E -.275(va)-.275 G(lent of Ack V).275 E
(ector')-1.221 E 2.75(sR)-.605 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(do)
.165 G(r)-2.75 E(Recei)100.8 140.6 Q -.165(ve)-.275 G 2.75(dE).165 G
(CN Mark)-2.75 E(ed states.)-.11 E
(Although Data Checksum is intended for pack)100.8 157.2 Q
(ets containing application data, it may be)-.11 E
(included on other pack)100.8 170.2 Q
(ets, such as DCCP-Ack, DCCP-Sync, and DCCP-SyncAck.)-.11 E(The)5.5 E
(recei)100.8 183.2 Q -.165(ve)-.275 G 2.75(rS).165 G
(HOULD calculate the application data area')-2.75 E 2.75(sC)-.605 G
(RC-32c on such pack)-2.75 E(ets, just as it)-.11 E
(does for DCCP-Data and similar pack)100.8 196.2 Q
(ets; and if the CRCs dif)-.11 E(fer)-.275 E 2.75(,t)-.44 G(he pack)
-2.75 E(ets similarly)-.11 E(MUST be reported using Data Dropped option\
s \(Drop Code 3\), although their application)100.8 209.2 Q
(data areas w)100.8 222.2 Q(ould not be deli)-.11 E -.165(ve)-.275 G
(red to the application in an).165 E 2.75(yc)-.165 G(ase.)-2.75 E/F1 11
/Times-Bold@0 SF 2.75(9.3.1. Check)72 248.2 R(Data Checksum F)2.75 E
(eatur)-.275 E(e)-.198 E F0(The Check Data Checksum feature lets a DCCP\
 endpoint determine whether its peer will)100.8 264.8 Q
(de\214nitely check Data Checksum options.)100.8 277.8 Q
(DCCP A sends a Mandatory "Change R\(Check)5.5 E(Data Checksum, 1\)" op\
tion to DCCP B to require it to check Data Checksum options \(the)100.8
290.8 Q(connection will be reset if it cannot\).)100.8 303.8 Q
(Check Data Checksum has feature number 9, and is serv)100.8 320.4 Q(er)
-.165 E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte)-.11 E(Boolean v)100.8 333.4 Q 2.75(alues. DCCP)-.275 F
2.75(BM)2.75 G(UST check an)-2.75 E 2.75(yr)-.165 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(dD).165 G(ata Checksum options when Check)-2.75 E
(Data Checksum/B is one, although it MA)100.8 346.4 Q 2.75(Yc)-1.155 G
(heck them e)-2.75 E -.165(ve)-.275 G 2.75(nw).165 G(hen Check Data)
-2.75 E(Checksum/B is zero.)100.8 359.4 Q -1.221(Va)5.5 G(lues of tw)
1.221 E 2.75(oo)-.11 G 2.75(rm)-2.75 G(ore are reserv)-2.75 E 2.75
(ed. Ne)-.165 F 2.75(wc)-.275 G(onnections start with)-2.75 E
(Check Data Checksum 0 for both endpoints.)100.8 372.4 Q F1 2.75
(9.3.2. Checksum)72 398.4 R(Usage Notes)2.75 E F0
(Internet links must normally apply strong inte)100.8 415 Q
(grity checks to the pack)-.165 E(ets the)-.11 E 2.75(yt)-.165 G
(ransmit)-2.75 E([RFC 3828, RFC 3819].)100.8 428 Q(This is the def)5.5 E
(ault case when the DCCP header')-.11 E 2.75(sC)-.605 G(hecksum)-2.75 E
(Co)100.8 441 Q -.165(ve)-.165 G(rage v).165 E
(alue equals zero \(full co)-.275 E -.165(ve)-.165 G 2.75(rage\). Ho)
.165 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he DCCP Checksum Co).44 E -.165(ve)-.165 G(rage).165 E -.275(va)100.8
454 S(lue might not be zero.).275 E(By setting partial Checksum Co)5.5 E
-.165(ve)-.165 G(rage, the application indicates).165 E(that it can tol\
erate corruption in the unprotected part of the application data.)100.8
467 Q(Recognizing)5.5 E(this, link layers may reduce error detection an\
d/or correction strength when transmitting)100.8 480 Q
(this unprotected part.)100.8 493 Q
(This, in turn, can signi\214cantly increase the lik)5.5 E
(elihood of the endpoint)-.11 E(recei)100.8 506 Q
(ving corrupt data; Data Checksum lets the recei)-.275 E -.165(ve)-.275
G 2.75(rd).165 G(etect that corruption with v)-2.75 E(ery)-.165 E
(high probability)100.8 519 Q(.)-.715 E F1(10.)72 545 Q/F2 14
/Times-Bold@0 SF(Congestion Contr)5.5 E(ol)-.252 E F0(Each congestion c\
ontrol mechanism supported by DCCP is assigned a congestion control)
100.8 561.6 Q(identi\214er)100.8 574.6 Q 2.75(,o)-.44 G 2.75(rC)-2.75 G
(CID: a number from 0 to 255.)-2.75 E
(During connection setup, and optionally)5.5 E(thereafter)100.8 587.6 Q
2.75(,t)-.44 G(he endpoints ne)-2.75 E
(gotiate their congestion control mechanisms by ne)-.165 E
(gotiating the)-.165 E -.275(va)100.8 600.6 S
(lues for their Congestion Control ID features.).275 E
(Congestion Control ID has feature)5.5 E(number 1.)100.8 613.6 Q
(The CCID/A v)5.5 E
(alue equals the CCID in use for the A-to-B half-connection.)-.275 E(DC\
CP B sends a "Change R\(CCID, K\)" option to ask DCCP A to use CCID K f\
or its data)100.8 626.6 Q(pack)100.8 639.6 Q(ets.)-.11 E(CCID is a serv)
100.8 656.2 Q(er)-.165 E(-priority feature, so CCID ne)-.22 E
(gotiation options can list multiple acceptable)-.165 E
(CCIDs, sorted in descending order of priority)100.8 669.2 Q 5.5(.F)
-.715 G(or e)-5.665 E(xample, the option "Change R\(CCID,)-.165 E 2.75
(234)100.8 682.2 S(\)" asks the recei)-2.75 E -.165(ve)-.275 G 2.75(rt)
.165 G 2.75(ou)-2.75 G(se CCID 2 for its pack)-2.75 E
(ets, although CCIDs 3 and 4 are also)-.11 E 2.75(acceptable. \(This)
100.8 695.2 R(corresponds to the bytes "35, 6, 1, 2, 3, 4": Change R op\
tion \(35\), option)2.75 E
(length \(6\), feature ID \(1\), CCIDs \(2, 3, 4\).\))100.8 708.2 Q
(Similarly)5.5 E 2.75(,")-.715 G(Con\214rm L\(CCID, 1, 2 3 4\)" tells)
-2.75 E(the recei)100.8 721.2 Q -.165(ve)-.275 G 2.75(rt).165 G
(hat the sender is using CCID 2 for its pack)-2.75 E(ets, b)-.11 E
(ut that CCIDs 3 and 4 might)-.22 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(10. [P)2.75 F(age 62])-.165
E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(also be acceptable.)100.8 85 Q(Currently allocated CCIDs are as follo)
100.8 101.6 Q(ws.)-.275 E/F1 11/Courier@0 SF 13.2(CCID Meaning)169.8
120.6 R(Reference)145.2 E 13.2(---- -------)169.8 133.6 R(---------)
145.2 E 13.2(0-1 Reserved)176.4 146.6 R 26.4(2T)183 159.6 S
(CP-like Congestion Control)-26.4 E([RFC TBA])13.2 E 26.4(3T)183 172.6 S
(FRC Congestion Control)-26.4 E([RFC TBA])39.6 E 6.6(4-255 Reserved)
169.8 185.6 R(Table 5: DCCP Congestion Control Identifiers)169.8 211.6 Q
F0(Ne)100.8 230.6 Q 2.75(wc)-.275 G
(onnections start with CCID 2 for both endpoints.)-2.75 E
(If this is unacceptable for a DCCP)5.5 E(endpoint, that endpoint MUST \
send Mandatory Change\(CCID\) options on its \214rst pack)100.8 243.6 Q
(ets.)-.11 E(All CCIDs standardized for use with DCCP will correspond t\
o congestion control)100.8 260.2 Q(mechanisms pre)100.8 273.2 Q
(viously standardized by the IETF)-.275 E 5.5(.W)-.88 G 2.75(ee)-6.38 G
(xpect that for quite some time, all)-2.915 E
(such mechanisms will be TCP-friendly)100.8 286.2 Q 2.75(,b)-.715 G
(ut TCP-friendliness is not an e)-2.97 E(xplicit DCCP)-.165 E
(requirement.)100.8 299.2 Q 2.75(AD)100.8 315.8 S(CCP implementation in\
tended for general use, such as an implementation in a general-)-2.75 E
(purpose operating system k)100.8 328.8 Q
(ernel, SHOULD implement at least CCID 2. The intent is to)-.11 E(mak)
100.8 341.8 Q 2.75(eC)-.11 G(CID 2 broadly a)-2.75 E -.275(va)-.22 G
(ilable for interoperability).275 E 2.75(,a)-.715 G
(lthough particular applications might)-2.75 E(disallo)100.8 354.8 Q
2.75(wi)-.275 G(ts use.)-2.75 E/F2 11/Times-Bold@0 SF(10.1.)72 380.8 Q
/F3 13/Times-Bold@0 SF(TCP-lik)5.5 E 3.25(eC)-.13 G(ongestion Contr)
-3.25 E(ol)-.234 E F0(CCID 2, TCP-lik)100.8 397.4 Q 2.75(eC)-.11 G
(ongestion Control, denotes Additi)-2.75 E .33 -.165(ve I)-.275 H
(ncrease, Multiplicati).165 E .33 -.165(ve D)-.275 H(ecrease).165 E
(\(AIMD\) congestion control with beha)100.8 410.4 Q
(vior modelled directly on TCP)-.22 E 2.75(,i)-1.221 G
(ncluding congestion)-2.75 E(windo)100.8 423.4 Q 1.43 -.715(w, s)-.275 H
(lo).715 E 2.75(ws)-.275 G(tart, timeouts, and so forth [RFC 2581].)
-2.75 E(CCID 2 achie)5.5 E -.165(ve)-.275 G 2.75(sm).165 G(aximum)-2.75
E(bandwidth o)100.8 436.4 Q -.165(ve)-.165 G 2.75(rt).165 G(he long ter\
m, consistent with the use of end-to-end congestion control, b)-2.75 E
(ut)-.22 E(halv)100.8 449.4 Q(es its congestion windo)-.165 E 2.75(wi)
-.275 G 2.75(nr)-2.75 G(esponse to each congestion e)-2.75 E -.165(ve)
-.275 G 2.75(nt. This).165 F(leads to the)2.75 E
(abrupt rate changes typical of TCP)100.8 462.4 Q 5.5(.A)-1.221 G
(pplications should use CCID 2 if the)-5.5 E 2.75(yp)-.165 G(refer)-2.75
E(maximum bandwidth utilization to steadiness of rate.)100.8 475.4 Q
(This is often the case for)5.5 E
(applications that are not playing their data directly to the user)100.8
488.4 Q 5.5(.F)-.605 G(or e)-5.665 E(xample, a h)-.165 E(ypothetical)
-.055 E(application that transferred \214les o)100.8 501.4 Q -.165(ve)
-.165 G 2.75(rD).165 G(CCP)-2.75 E 2.75(,u)-1.221 G(sing application-le)
-2.75 E -.165(ve)-.275 G 2.75(lr).165 G(etransmissions for lost)-2.75 E
(pack)100.8 514.4 Q(ets, w)-.11 E(ould prefer CCID 2 to CCID 3.)-.11 E
(On-line g)5.5 E(ames may also prefer CCID 2.)-.055 E
(CCID 2 is further described in [CCID 2 PR)100.8 531 Q(OFILE].)-.44 E F2
(10.2.)72 557 Q F3(TFRC Congestion Contr)5.5 E(ol)-.234 E F0(CCID 3 den\
otes TCP-Friendly Rate Control \(TFRC\), an equation-based rate-control\
led)100.8 573.6 Q(congestion control mechanism.)100.8 586.6 Q
(TFRC is designed to be reasonably f)5.5 E(air when competing)-.11 E
(for bandwidth with TCP-lik)100.8 599.6 Q 2.75<658d>-.11 G -.275(ow)
-2.75 G(s, where a \215o).275 E 2.75(wi)-.275 G 2.75(s")-2.75 G
(reasonably f)-2.75 E(air" if its sending rate is)-.11 E
(generally within a f)100.8 612.6 Q(actor of tw)-.11 E 2.75(oo)-.11 G
2.75(ft)-2.75 G(he sending rate of a TCP \215o)-2.75 E 2.75(wu)-.275 G
(nder the same)-2.75 E 2.75(conditions. Ho)100.8 625.6 R(we)-.275 E
-.165(ve)-.275 G .88 -.44(r, T).165 H(FRC has a much lo).44 E(wer v)
-.275 E(ariation of throughput o)-.275 E -.165(ve)-.165 G 2.75(rt).165 G
(ime compared)-2.75 E(with TCP)100.8 638.6 Q 2.75(,w)-1.221 G(hich mak)
-2.75 E(es CCID 3 more suitable than CCID 2 for applications such)-.11 E
(streaming media where a relati)100.8 651.6 Q -.165(ve)-.275 G
(ly smooth sending rate is of importance.).165 E
(CCID 3 is further described in [CCID 3 PR)100.8 668.2 Q 2.75
(OFILE]. The)-.44 F(TFRC congestion control)2.75 E
(algorithms were initially described in RFC 3448.)100.8 681.2 Q -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F
2.75(10.2. [P)2.75 F(age 63])-.165 E 0 Cg EP
%%Page: 64 64
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(10.3.)72 85 Q/F2 13/Times-Bold@0 SF
(CCID-Speci\214c Options, F)5.5 E(eatur)-.325 E(es, and Reset Codes)
-.234 E F0
(Half of the option types, feature numbers, and Reset Codes are reserv)
100.8 101.6 Q(ed for CCID-speci\214c)-.165 E 2.75(use. CCIDs)100.8 114.6
R(may often need ne)2.75 E 2.75(wo)-.275 G
(ptions, for communicating ackno)-2.75 E(wledgement or rate)-.275 E
(information, for e)100.8 127.6 Q(xample; reserv)-.165 E
(ed option spaces let CCIDs create options at will without)-.165 E
(polluting the global option space.)100.8 140.6 Q(Option 128 might ha)
5.5 E .33 -.165(ve d)-.22 H(if).165 E(ferent meanings on a half-)-.275 E
(connection using CCID 4 and a half-connection using CCID 8.)100.8 153.6
Q(CCID-speci\214c options and)5.5 E(features will ne)100.8 166.6 Q -.165
(ve)-.275 G 2.75(rc).165 G
(on\215ict with global options and features introduced by later v)-2.75
E(ersions of)-.165 E(this speci\214cation.)100.8 179.6 Q(An)100.8 196.2
Q 2.75(yp)-.165 G(ack)-2.75 E(et may contain information meant for eith\
er half-connection, so CCID-speci\214c)-.11 E
(option types, feature numbers, and Reset Codes e)100.8 209.2 Q
(xplicitly signal the half-connection to)-.165 E(which the)100.8 222.2 Q
2.75(ya)-.165 G(pply)-2.75 E(.)-.715 E 12.65<834f>100.8 238.8 S(ption n\
umbers 128 through 191 are for options sent from the HC-Sender to the H\
C-)-12.65 E(Recei)117.3 251.8 Q -.165(ve)-.275 G(r; option numbers 192 \
through 255 are for options sent from the HC-Recei).165 E -.165(ve)-.275
G(r).165 E(to the HC-Sender)117.3 264.8 Q(.)-.605 E 12.65<8352>100.8
281.4 S(eset Codes 128 through 191 indicate that the HC-Sender reset th\
e connection \(most)-12.65 E(lik)117.3 294.4 Q
(ely because of some problem with ackno)-.11 E
(wledgements sent by the HC-Recei)-.275 E -.165(ve)-.275 G(r\);).165 E
(Reset Codes 192 through 255 indicate that the HC-Recei)117.3 307.4 Q
-.165(ve)-.275 G 2.75(rr).165 G(eset the connection \(most)-2.75 E(lik)
117.3 320.4 Q(ely because of some problem with data pack)-.11 E
(ets sent by the HC-Sender\).)-.11 E 12.65<8346>100.8 337 S(inally)
-12.65 E 2.75(,f)-.715 G(eature numbers 128 through 191 are used for fe\
atures located at the HC-)-2.75 E(Sender; feature numbers 192 through 2\
55 are for features located at the HC-Recei)117.3 350 Q -.165(ve)-.275 G
-.605(r.).165 G(Since Change L and Con\214rm L options for a feature ar\
e sent by the feature location, we)117.3 363 Q(kno)117.3 376 Q 2.75(wt)
-.275 G(hat an)-2.75 E 2.75(yC)-.165 G(hange L\(128\) option w)-2.75 E
(as sent by the HC-Sender)-.11 E 2.75(,w)-.44 G(hile an)-2.75 E(y)-.165
E(Change L\(192\) option w)117.3 389 Q(as sent by the HC-Recei)-.11 E
-.165(ve)-.275 G 3.96 -.605(r. S).165 H(imilarly).605 E 2.75(,C)-.715 G
(hange R\(128\) options)-2.75 E(are sent by the HC-Recei)117.3 402 Q
-.165(ve)-.275 G .88 -.44(r, w).165 H
(hile Change R\(192\) options are sent by the HC-Sender).44 E(.)-.605 E
-.165(Fo)100.8 418.6 S 2.75(re).165 G(xample, consider a DCCP connectio\
n where the A-to-B half-connection uses CCID 4)-2.915 E
(and the B-to-A half-connection uses CCID 5.)100.8 431.6 Q(Here is ho)
5.5 E 2.75(was)-.275 G(ampling of CCID-speci\214c)-2.75 E
(options are assigned to half-connections.)100.8 444.6 Q -.385(Ko)72 769
S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(10.3. [P)2.75 F(age 64])-.165 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 19.8(Relevant Relevant)315 85 R 6.6(Packet Option)136.8 98
R 6.6(Half-conn. CCID)85.8 F 6.6(------ ------)136.8 111 R 6.6
(---------- ----)85.8 F 6.6(A>B 1)136.8 124 S 112.2(28 A-to-B)-6.6 F(4)
33 E 6.6(A>B 1)136.8 137 S 112.2(92 B-to-A)-6.6 F(5)33 E 6.6(A>B C)136.8
150 S(hange L\(128, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6(A>B C)136.8
163 S(hange R\(192, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6(A>B C)136.8
176 S(onfirm L\(128, ...\))-6.6 E 26.4(A-to-B 4)13.2 F 6.6(A>B C)136.8
189 S(onfirm R\(192, ...\))-6.6 E 26.4(A-to-B 4)13.2 F 6.6(A>B C)136.8
202 S(hange R\(128, ...\))-6.6 E 26.4(B-to-A 5)19.8 F 6.6(A>B C)136.8
215 S(hange L\(192, ...\))-6.6 E 26.4(B-to-A 5)19.8 F 6.6(A>B C)136.8
228 S(onfirm R\(128, ...\))-6.6 E 26.4(B-to-A 5)13.2 F 6.6(A>B C)136.8
241 S(onfirm L\(192, ...\))-6.6 E 26.4(B-to-A 5)13.2 F 6.6(B>A 1)136.8
267 S 112.2(28 B-to-A)-6.6 F(5)33 E 6.6(B>A 1)136.8 280 S 112.2
(92 A-to-B)-6.6 F(4)33 E 6.6(B>A C)136.8 293 S(hange L\(128, ...\))-6.6
E 26.4(B-to-A 5)19.8 F 6.6(B>A C)136.8 306 S(hange R\(192, ...\))-6.6 E
26.4(B-to-A 5)19.8 F 6.6(B>A C)136.8 319 S(onfirm L\(128, ...\))-6.6 E
26.4(B-to-A 5)13.2 F 6.6(B>A C)136.8 332 S(onfirm R\(192, ...\))-6.6 E
26.4(B-to-A 5)13.2 F 6.6(B>A C)136.8 345 S(hange R\(128, ...\))-6.6 E
26.4(A-to-B 4)19.8 F 6.6(B>A C)136.8 358 S(hange L\(192, ...\))-6.6 E
26.4(A-to-B 4)19.8 F 6.6(B>A C)136.8 371 S(onfirm R\(128, ...\))-6.6 E
26.4(A-to-B 4)13.2 F 6.6(B>A C)136.8 384 S(onfirm L\(192, ...\))-6.6 E
26.4(A-to-B 4)13.2 F F0
(Using CCID-speci\214c options and feature options during a ne)100.8 403
Q(gotiation for that CCID feature)-.165 E(is NO)100.8 416 Q 2.75(TR)-.44
G(ECOMMENDED, since it is dif)-2.75 E
(\214cult to predict the CCID that will be in force)-.275 E
(when the option is processed.)100.8 429 Q -.165(Fo)5.5 G 2.75(re).165 G
(xample, if a DCCP-Request contains the option)-2.915 E(sequence "Chang\
e L\(CCID, 3\), 128", the CCID-speci\214c option "128" may be processed)
100.8 442 Q(either by CCID 3 \(if the serv)100.8 455 Q
(er supports CCID 3\) or by the def)-.165 E
(ault CCID 2 \(if it does not\).)-.11 E(Ho)100.8 468 Q(we)-.275 E -.165
(ve)-.275 G .88 -.44(r, i).165 H 2.75(ti).44 G 2.75(ss)-2.75 G
(afe to include CCID-speci\214c options follo)-2.75 E
(wing certain Mandatory)-.275 E(Change\(CCID\) options.)100.8 481 Q
-.165(Fo)5.5 G 2.75(re).165 G
(xample, if a DCCP-Request contains the option sequence)-2.915 E
("Mandatory)100.8 494 Q 2.75(,C)-.715 G(hange L\(CCID, 3\), 128", then \
either the "128" option will be processed by)-2.75 E
(CCID 3 or the connection will be reset.)100.8 507 Q(Serv)100.8 523.6 Q
(ers that do not implement the def)-.165 E(ault CCID 2 might ne)-.11 E
-.165(ve)-.275 G(rtheless recei).165 E -.165(ve)-.275 G
(CCID 2-speci\214c options on a DCCP-Request pack)100.8 536.6 Q 2.75
(et. \(Such)-.11 F 2.75(as)2.75 G(erv)-2.75 E(er MUST send)-.165 E(Mand\
atory Change\(CCID\) options on its DCCP-Response, so CCID-speci\214c o\
ptions on)100.8 549.6 Q(an)100.8 562.6 Q 2.75(yo)-.165 G(ther pack)-2.75
E(et w)-.11 E(on')-.11 E 2.75(tr)-.198 G(efer to CCID 2.\))-2.75 E
(The serv)5.5 E(er MUST treat such options as non-)-.165 E 2.75
(understood. Thus,)100.8 575.6 R(it will reset the connection on encoun\
tering a Mandatory CCID-speci\214c)2.75 E(option, send an empty Con\214\
rm for a non-Mandatory Change option for a CCID-speci\214c)100.8 588.6 Q
(feature, and ignore other options.)100.8 601.6 Q/F2 11/Times-Bold@0 SF
(10.4.)72 627.6 Q/F3 13/Times-Bold@0 SF(CCID Pr)5.5 E(o\214le Requir)
-.234 E(ements)-.234 E F0
(Each CCID Pro\214le document MUST address at least the follo)100.8
644.2 Q(wing requirements:)-.275 E 12.65<8354>100.8 660.8 S(he pro\214l\
e MUST include the name and number of the CCID being described.)-12.65 E
12.65<8354>100.8 677.4 S
(he pro\214le MUST describe the conditions in which it is lik)-12.65 E
(ely to be useful.)-.11 E(Often the)5.5 E(best w)117.3 690.4 Q
(ay to do this is by comparison to e)-.11 E(xisting CCIDs.)-.165 E 12.65
<8354>100.8 707 S(he pro\214le MUST list and describe an)-12.65 E 2.75
(yC)-.165 G(CID-speci\214c options, features, and Reset)-2.75 E(Codes, \
and SHOULD list those general options and features described in this do\
cument)117.3 720 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
224.76(yd Section)-.11 F 2.75(10.4. [P)2.75 F(age 65])-.165 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(that are especially rele)117.3 85 Q -.275(va)-.275 G(nt to the CCID.)
.275 E 12.65<8341>100.8 101.6 S .33 -.165(ny n)-12.65 H -.275(ew).165 G
(ly de\214ned ackno).275 E(wledgement mechanism MUST include a w)-.275 E
(ay to transmit)-.11 E(ECN Nonce Echoes back to the sender)117.3 114.6 Q
(.)-.605 E 12.65<8354>100.8 131.2 S
(he pro\214le MUST describe the format of data pack)-12.65 E
(ets, including an)-.11 E 2.75(yo)-.165 G(ptions that)-2.75 E
(should be included and the setting of the CCv)117.3 144.2 Q
(al header \214eld.)-.275 E 12.65<8354>100.8 160.8 S
(he pro\214le MUST describe the format of ackno)-12.65 E
(wledgement pack)-.275 E(ets, including an)-.11 E(y)-.165 E
(options that should be included.)117.3 173.8 Q 12.65<8354>100.8 190.4 S
(he pro\214le MUST de\214ne ho)-12.65 E 2.75(wd)-.275 G(ata pack)-2.75 E
(ets are congestion controlled.)-.11 E(This includes)5.5 E
(responses to congestion e)117.3 203.4 Q -.165(ve)-.275 G
(nts, idle and application-limited periods, and responses to).165 E
(the DCCP Data Dropped and Slo)117.3 216.4 Q 2.75(wR)-.275 G(ecei)-2.75
E -.165(ve)-.275 G 2.75(ro).165 G 2.75(ptions. CCIDs)-2.75 F
(that implement per)2.75 E(-pack)-.22 E(et)-.11 E
(congestion control SHOULD discuss ho)117.3 229.4 Q 2.75(wp)-.275 G(ack)
-2.75 E(et size is f)-.11 E(actored in to congestion)-.11 E
(control decisions.)117.3 242.4 Q 12.65<8354>100.8 259 S
(he pro\214le MUST specify when ackno)-12.65 E(wledgement pack)-.275 E
(ets are generated, and ho)-.11 E(w)-.275 E(the)117.3 272 Q 2.75(ya)
-.165 G(re congestion controlled.)-2.75 E 12.65<8354>100.8 288.6 S(he p\
ro\214le MUST de\214ne when a sender using the CCID is considered quies\
cent.)-12.65 E 12.65<8354>100.8 305.2 S
(he pro\214le MUST say whether its CCID')-12.65 E 2.75(sa)-.605 G(ckno)
-2.75 E(wledgements e)-.275 E -.165(ve)-.275 G 2.75(rn).165 G(eed to be)
-2.75 E(ackno)117.3 318.2 Q(wledged, and if so, ho)-.275 E 2.75(wo)-.275
G(ften.)-2.75 E/F1 11/Times-Bold@0 SF(10.5.)72 344.2 Q/F2 13
/Times-Bold@0 SF(Congestion State)5.5 E F0(Most congestion control algo\
rithms depend on past history to determine the current)100.8 360.8 Q
(allo)100.8 373.8 Q(wed sending rate.)-.275 E
(In CCID 2, this congestion state includes a congestion windo)5.5 E 2.75
(wa)-.275 G(nd a)-2.75 E(measurement of the number of pack)100.8 386.8 Q
(ets outstanding in the netw)-.11 E(ork; in CCID 3, it includes)-.11 E
(the lengths of recent loss interv)100.8 399.8 Q
(als; and both CCIDs use an estimate of the round-trip time.)-.275 E
(Congestion state depends on the netw)100.8 412.8 Q(ork path, and is in)
-.11 E -.275(va)-.44 G(lidated by path changes.).275 E
(Therefore, DCCP senders and recei)100.8 425.8 Q -.165(ve)-.275 G
(rs SHOULD reset their congestion state -- essentially).165 E
(restarting congestion control from "slo)100.8 438.8 Q 2.75(ws)-.275 G
(tart" or equi)-2.75 E -.275(va)-.275 G
(lent -- on signi\214cant changes in).275 E(end-to-end path.)100.8 451.8
Q -.165(Fo)5.5 G 2.75(re).165 G(xample, an endpoint that sends or recei)
-2.915 E -.165(ve)-.275 G 2.75(saM).165 G(obile IPv6 Binding)-2.75 E
(Update message [RFC 3775] SHOULD reset its congestion state for an)
100.8 464.8 Q 2.75(yc)-.165 G(orresponding)-2.75 E(DCCP connections.)
100.8 477.8 Q 2.75(AD)100.8 494.4 S(CCP implementation MA)-2.75 E 2.75
(Ya)-1.155 G(lso reset its congestion state when a CCID changes \(that)
-2.75 E(is, a ne)100.8 507.4 Q
(gotiation for the CCID feature completes successfully)-.165 E 2.75(,a)
-.715 G(nd the ne)-2.75 E 2.75(wf)-.275 G(eature v)-2.75 E(alue)-.275 E
(dif)100.8 520.4 Q(fers from the old v)-.275 E 2.75(alue\). Thus,)-.275
F 2.75(ac)2.75 G(onnection in a hea)-2.75 E(vily congested en)-.22 E
(vironment might)-.44 E -.275(eva)100.8 533.4 S
(de end-to-end congestion control by frequently rene).275 E
(gotiating a CCID, just as it could)-.165 E -.275(eva)100.8 546.4 S
(de end-to-end congestion control by opening ne).275 E 2.75(wc)-.275 G
(onnections for the same session.)-2.75 E(This beha)100.8 559.4 Q
(vior is prohibited.)-.22 E 1.76 -.88(To p)5.5 H(re).88 E -.165(ve)-.275
G(nt it, DCCP implementations MA).165 E 2.75(Yl)-1.155 G
(imit the rate at)-2.75 E(which CCID can be changed -- for instance, by\
 refusing to change a CCID feature v)100.8 572.4 Q(alue)-.275 E
(more than once per minute.)100.8 585.4 Q F1(11.)72 611.4 Q/F3 14
/Times-Bold@0 SF(Ackno)5.5 E(wledgements)-.14 E F0
(Congestion control requires recei)100.8 628 Q -.165(ve)-.275 G
(rs to transmit information about pack).165 E(et losses and ECN)-.11 E
(marks to senders.)100.8 641 Q(DCCP recei)5.5 E -.165(ve)-.275 G
(rs MUST report all congestion the).165 E 2.75(ys)-.165 G
(ee, as de\214ned by the)-2.75 E(rele)100.8 654 Q -.275(va)-.275 G
(nt CCID pro\214le.).275 E(Each CCID says when ackno)5.5 E
(wledgements should be sent, what)-.275 E(options the)100.8 667 Q 2.75
(ym)-.165 G(ust use, and so on.)-2.75 E(DCCP ackno)5.5 E
(wledgements are congestion controlled,)-.275 E
(although it is not required that the ackno)100.8 680 Q
(wledgement stream be more than v)-.275 E(ery roughly)-.165 E
(TCP-friendly; each CCID de\214nes ho)100.8 693 Q 2.75(wa)-.275 G(ckno)
-2.75 E(wledgements are congestion controlled.)-.275 E(Most ackno)100.8
709.6 Q(wledgements use DCCP options.)-.275 E -.165(Fo)5.5 G 2.75(re)
.165 G(xample, on a half-connection with)-2.915 E(CCID 2 \(TCP-lik)100.8
722.6 Q(e\), the recei)-.11 E -.165(ve)-.275 G 2.75(rr).165 G
(eports ackno)-2.75 E(wledgement information using the Ack)-.275 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)-.11 F
2.75(11. [P)2.75 F(age 66])-.165 E 0 Cg EP
%%Page: 67 67
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E -1.221
(Ve)100.8 85 S(ctor option.)1.221 E(This section describes common ackno)
5.5 E(wledgement options and sho)-.275 E(ws ho)-.275 E(w)-.275 E
(acks using those options will commonly w)100.8 98 Q 2.75(ork. Full)-.11
F(descriptions of the ack mechanisms)2.75 E(used for each CCID are laid\
 out in the CCID pro\214le speci\214cations.)100.8 111 Q(Ackno)100.8
127.6 Q(wledgement options, such as Ack V)-.275 E(ector)-1.221 E 2.75
(,g)-.44 G(enerally depend on the DCCP)-2.75 E(Ackno)100.8 140.6 Q
(wledgement Number)-.275 E 2.75(,a)-.44 G(nd are thus only allo)-2.75 E
(wed on pack)-.275 E(et types that carry that)-.11 E(number \(all pack)
100.8 153.6 Q(ets e)-.11 E(xcept DCCP-Request and DCCP-Data\).)-.165 E
(Detailed ackno)5.5 E(wledgement)-.275 E
(options are not necessarily required on e)100.8 166.6 Q -.165(ve)-.275
G(ry pack).165 E(et that carries an Ackno)-.11 E(wledgement)-.275 E
(Number)100.8 179.6 Q 2.75(,h)-.44 G -.275(ow)-2.75 G -2.365 -.275(ev e)
.275 H -.605(r.).275 G/F1 11/Times-Bold@0 SF(11.1.)72 205.6 Q/F2 13
/Times-Bold@0 SF(Acks of Acks and Unidir)5.5 E(ectional Connections)
-.234 E F0(DCCP w)100.8 222.2 Q(as designed to w)-.11 E
(ork well for both bidirectional and unidirectional \215o)-.11 E
(ws of data,)-.275 E
(and for connections that transition between these states.)100.8 235.2 Q
(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, a).165 H(ckno).44 E
(wledgements)-.275 E(required for a unidirectional connection are v)
100.8 248.2 Q(ery dif)-.165 E(ferent from those required for a)-.275 E
(bidirectional connection.)100.8 261.2 Q(In particular)5.5 E 2.75(,u)
-.44 G(nidirectional connections need to w)-2.75 E(orry about)-.11 E
(acks of acks.)100.8 274.2 Q
(The ack-of-acks problem arises because some ackno)100.8 290.8 Q
(wledgement mechanisms are reliable.)-.275 E -.165(Fo)100.8 303.8 S 2.75
(re).165 G(xample, an HC-Recei)-2.915 E -.165(ve)-.275 G 2.75(ru).165 G
(sing CCID 2, TCP-lik)-2.75 E 2.75(eC)-.11 G
(ongestion Control, sends Ack)-2.75 E -1.221(Ve)100.8 316.8 S
(ctors containing completely reliable ackno)1.221 E
(wledgement information.)-.275 E(The HC-Sender)5.5 E
(should occasionally inform the HC-Recei)100.8 329.8 Q -.165(ve)-.275 G
2.75(rt).165 G(hat it has recei)-2.75 E -.165(ve)-.275 G 2.75(da).165 G
2.75(na)-2.75 G 2.75(ck. If)-2.75 F(it did not, the)2.75 E(HC-Recei)
100.8 342.8 Q -.165(ve)-.275 G 2.75(rm).165 G
(ight resend complete Ack V)-2.75 E
(ector information, going back to the start of the)-1.221 E
(connection, with e)100.8 355.8 Q -.165(ve)-.275 G(ry DCCP-Ack pack).165
E 2.75(et! Ho)-.11 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, n).165 H
(ote that acks-of-acks need not be).44 E(reliable themselv)100.8 368.8 Q
(es: when an ack-of-acks is lost, the HC-Recei)-.165 E -.165(ve)-.275 G
2.75(rw).165 G(ill simply maintain,)-2.75 E
(and periodically retransmit, old ackno)100.8 381.8 Q
(wledgement-related state for a little longer)-.275 E(.)-.605 E
(Therefore, there is no need for acks-of-acks-of-acks.)100.8 394.8 Q
(When communication is bidirectional, an)100.8 411.4 Q 2.75(yr)-.165 G
(equired acks-of-acks are automatically)-2.75 E
(contained in normal ackno)100.8 424.4 Q(wledgements for data pack)-.275
E 2.75(ets. On)-.11 F 2.75(au)2.75 G(nidirectional connection,)-2.75 E
(ho)100.8 437.4 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he recei).44 E -.165(ve)-.275 G 2.75(rD).165 G
(CCP sends no data, so the sender w)-2.75 E(ould not normally send)-.11
E(ackno)100.8 450.4 Q 2.75(wledgements. Therefore,)-.275 F
(the CCID in force on that half-connection must e)2.75 E(xplicitly)-.165
E(say whether)100.8 463.4 Q 2.75(,w)-.44 G(hen, and ho)-2.75 E 2.75(wt)
-.275 G(he HC-Sender should generate acks-of-acks.)-2.75 E -.165(Fo)
100.8 480 S 2.75(re).165 G(xample, consider a bidirectional connection \
where both half-connections use the same)-2.915 E
(CCID \(either 2 or 3\), and where DCCP B goes "quiescent".)100.8 493 Q
(This means that the)5.5 E(connection becomes unidirectional: DCCP B st\
ops sending data, and sends only sends)100.8 506 Q(DCCP-Ack pack)100.8
519 Q(ets to DCCP A.)-.11 E -.165(Fo)5.5 G 2.75(re).165 G
(xample, in CCID 2, TCP-lik)-2.915 E 2.75(eC)-.11 G(ongestion Control,)
-2.75 E(DCCP B uses Ack V)100.8 532 Q
(ector to reliably communicate which pack)-1.221 E(ets it has recei)-.11
E -.165(ve)-.275 G 2.75(d. As).165 F(described abo)100.8 545 Q -.165(ve)
-.165 G 2.75(,D).165 G(CCP A must occasionally ackno)-2.75 E
(wledge a pure ackno)-.275 E(wledgement from)-.275 E
(DCCP B, so that B can free old Ack V)100.8 558 Q(ector state.)-1.221 E
-.165(Fo)5.5 G 2.75(ri).165 G(nstance, A might send a DCCP-)-2.75 E
(DataAck pack)100.8 571 Q(et e)-.11 E -.165(ve)-.275 G(ry no).165 E 2.75
(wa)-.275 G(nd then, instead of DCCP-Data.)-2.75 E
(In contrast, in CCID 3, TFRC)5.5 E(Congestion Control, DCCP B')100.8
584 Q 2.75(sa)-.605 G(ckno)-2.75 E
(wledgements generally need not be reliable, since)-.275 E(the)100.8 597
Q 2.75(yc)-.165 G(ontain cumulati)-2.75 E .33 -.165(ve l)-.275 H
(oss rates; TFRC w).165 E(orks e)-.11 E -.165(ve)-.275 G 2.75(ni).165 G
2.75(fe)-2.75 G -.165(ve)-3.025 G(ry DCCP-Ack is lost.).165 E
(Therefore, DCCP A need ne)100.8 610 Q -.165(ve)-.275 G 2.75(ra).165 G
(ckno)-2.75 E(wledge an ackno)-.275 E(wledgement.)-.275 E
(When communication is unidirectional, a single CCID -- in the e)100.8
626.6 Q(xample, the A-to-B CCID)-.165 E(-- controls both DCCPs' ackno)
100.8 639.6 Q(wledgements, in terms of their content, their frequenc)
-.275 E 1.43 -.715(y, a)-.165 H(nd).715 E(so forth.)100.8 652.6 Q -.165
(Fo)5.5 G 2.75(rb).165 G(idirectional connections, the A-to-B CCID go)
-2.75 E -.165(ve)-.165 G(rns DCCP B').165 E(s)-.605 E(ackno)100.8 665.6
Q(wledgements \(including its acks of DCCP A)-.275 E 1.21 -.605('s a)
-1.221 H(cks\), while the B-to-A CCID go).605 E -.165(ve)-.165 G(rns)
.165 E(DCCP A)100.8 678.6 Q 1.21 -.605('s a)-1.221 H(ckno).605 E
(wledgements.)-.275 E(DCCP A switches its ack pattern from bidirectiona\
l to unidirectional when it notices that)100.8 695.2 Q
(DCCP B has gone quiescent.)100.8 708.2 Q
(It switches from unidirectional to bidirectional when it must)5.5 E
(ackno)100.8 721.2 Q(wledge e)-.275 E -.165(ve)-.275 G 2.75(nas).165 G
(ingle DCCP-Data or DCCP-DataAck pack)-2.75 E(et from DCCP B.)-.11 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(11.1. [P)2.75 F(age 67])-.165 E 0 Cg EP
%%Page: 68 68
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Each CCID de\214nes ho)100.8 85 Q 2.75(wt)-.275 G 2.75(od)-2.75 G
(etect quiescence on that CCID, and ho)-2.75 E 2.75(wt)-.275 G
(hat CCID handles)-2.75 E(acks-of-acks on unidirectional connections.)
100.8 98 Q(The B-to-A CCID de\214nes when DCCP B has)5.5 E
(gone quiescent.)100.8 111 Q(Usually)5.5 E 2.75(,t)-.715 G
(his happens when a period has passed without B sending an)-2.75 E(y)
-.165 E(data pack)100.8 124 Q(ets; in CCID 2, for e)-.11 E
(xample, this period is the maximum of 0.2 seconds and tw)-.165 E(o)-.11
E(round-trip times.)100.8 137 Q(The A-to-B CCID de\214nes ho)5.5 E 2.75
(wD)-.275 G(CCP A handles acks-of-acks once)-2.75 E
(DCCP B has gone quiescent.)100.8 150 Q/F1 11/Times-Bold@0 SF(11.2.)72
176 Q/F2 13/Times-Bold@0 SF(Ack Piggybacking)5.5 E F0(Ackno)100.8 192.6
Q(wledgements of A-to-B data MA)-.275 E 2.75(Yb)-1.155 G 2.75(ep)-2.75 G
(iggyback)-2.75 E(ed on data sent by DCCP B, as long)-.11 E
(as that does not delay the ackno)100.8 205.6 Q
(wledgement longer than the A-to-B CCID w)-.275 E(ould \214nd)-.11 E
2.75(acceptable. Ho)100.8 218.6 R(we)-.275 E -.165(ve)-.275 G .88 -.44
(r, d).165 H(ata ackno).44 E
(wledgements often require more than 4 bytes to e)-.275 E(xpress.)-.165
E 2.75(Al)100.8 231.6 S(ar)-2.75 E(ge set of ackno)-.198 E
(wledgements prepended to a lar)-.275 E(ge data pack)-.198 E(et might e)
-.11 E(xceed the)-.165 E(allo)100.8 244.6 Q(wed maximum pack)-.275 E
(et size.)-.11 E(In this case, DCCP B SHOULD send separate DCCP-Data)5.5
E(and DCCP-Ack pack)100.8 257.6 Q(ets, or w)-.11 E(ait, b)-.11 E
(ut not too long, for a smaller datagram.)-.22 E(Piggybacking is partic\
ularly common at DCCP A when the B-to-A half-connection is)100.8 274.2 Q
(quiescent -- that is, when DCCP A is just ackno)100.8 287.2 Q
(wledging DCCP B')-.275 E 2.75(sa)-.605 G(ckno)-2.75 E(wledgements.)
-.275 E(There are three reasons to ackno)100.8 300.2 Q(wledge DCCP B')
-.275 E 2.75(sa)-.605 G(ckno)-2.75 E(wledgements: to allo)-.275 E 2.75
(wD)-.275 G(CCP B)-2.75 E(to free up information about pre)100.8 313.2 Q
(viously ackno)-.275 E(wledged data pack)-.275 E
(ets from A; to shrink the)-.11 E(size of future ackno)100.8 326.2 Q
(wledgements; and to manipulate the rate at which future)-.275 E(ackno)
100.8 339.2 Q(wledgements are sent.)-.275 E
(Since these are secondary concerns, DCCP A can generally)5.5 E(af)100.8
352.2 Q(ford to w)-.275 E(ait inde\214nitely for a data pack)-.11 E
(et to piggyback its ackno)-.11 E(wledgement onto; if)-.275 E(DCCP B w)
100.8 365.2 Q(ants to elicit an ackno)-.11 E
(wledgement, it can send a DCCP-Sync.)-.275 E(An)100.8 381.8 Q 2.75(yr)
-.165 G(estrictions on ack piggybacking are described in the rele)-2.75
E -.275(va)-.275 G(nt CCID').275 E 2.75(sp)-.605 G(ro\214le.)-2.75 E F1
(11.3.)72 407.8 Q F2(Ack Ratio F)5.5 E(eatur)-.325 E(e)-.234 E F0(The A\
ck Ratio feature lets HC-Senders in\215uence the rate at which HC-Recei)
100.8 424.4 Q -.165(ve)-.275 G(rs generate).165 E(DCCP-Ack pack)100.8
437.4 Q(ets, thus controlling re)-.11 E -.165(ve)-.275 G
(rse-path congestion.).165 E(This dif)5.5 E(fers from TCP)-.275 E(,)
-1.221 E(which presently has no congestion control for pure ackno)100.8
450.4 Q(wledgement traf)-.275 E 2.75(\214c. Ack)-.275 F(Ratio)2.75 E(re)
100.8 463.4 Q -.165(ve)-.275 G
(rse-path congestion control does not try to be TCP-friendly).165 E 5.5
(.I)-.715 G 2.75(tj)-5.5 G(ust tries to a)-2.75 E -.22(vo)-.22 G(id).22
E(congestion collapse, and to be some)100.8 476.4 Q
(what better than TCP in the presence of a high pack)-.275 E(et)-.11 E
(loss or mark rate on the re)100.8 489.4 Q -.165(ve)-.275 G(rse path.)
.165 E(Ack Ratio applies to CCIDs whose HC-Recei)100.8 506 Q -.165(ve)
-.275 G(rs clock ackno).165 E(wledgements of)-.275 E 2.75(ft)-.275 G
(he receipt)-2.75 E(of data pack)100.8 519 Q 2.75(ets. The)-.11 F -.275
(va)2.75 G(lue of Ack Ratio/A equals the rough ratio of data pack).275 E
(ets sent by)-.11 E(DCCP A to DCCP-Ack pack)100.8 532 Q
(ets sent by DCCP B.)-.11 E(Higher Ack Ratios correspond to lo)5.5 E
(wer)-.275 E(DCCP-Ack rates; the sender raises Ack Ratio when the re)
100.8 545 Q -.165(ve)-.275 G(rse path is congested and).165 E(lo)100.8
558 Q(wers Ack Ratio when it is not.)-.275 E
(Each CCID pro\214le de\214nes ho)5.5 E 2.75(wi)-.275 G 2.75(tc)-2.75 G
(ontrols congestion on)-2.75 E(the ackno)100.8 571 Q
(wledgement path, and, particularly)-.275 E 2.75(,w)-.715 G
(hether Ack Ratio is used.)-2.75 E(CCID 2, for)5.5 E -.165(ex)100.8 584
S(ample, uses Ack Ratio for ackno).165 E
(wledgement congestion control, b)-.275 E(ut CCID 3 does not.)-.22 E(Ho)
100.8 597 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, e).165 H
(ach Ack Ratio feature has a v).44 E(alue whether or not that v)-.275 E
(alue is used by the)-.275 E(rele)100.8 610 Q -.275(va)-.275 G(nt CCID.)
.275 E(Ack Ratio has feature number 5, and is non-ne)100.8 626.6 Q 2.75
(gotiable. It)-.165 F(tak)2.75 E(es tw)-.11 E(o-byte inte)-.11 E(ger v)
-.165 E(alues.)-.275 E(An Ack Ratio/A v)100.8 639.6 Q
(alue of four means that DCCP B will send at least one ackno)-.275 E
(wledgement)-.275 E(pack)100.8 652.6 Q(et for e)-.11 E -.165(ve)-.275 G
(ry four data pack).165 E(ets sent by DCCP A.)-.11 E
(DCCP A sends a "Change L\(Ack)5.5 E
(Ratio\)" option to notify DCCP B of its ack ratio.)100.8 665.6 Q
(An Ack Ratio v)5.5 E(alue of zero indicates that)-.275 E(the rele)100.8
678.6 Q -.275(va)-.275 G
(nt half-connection does not use an Ack Ratio to control its ackno).275
E(wledgement)-.275 E 2.75(rate. Ne)100.8 691.6 R 2.75(wc)-.275 G(onnect\
ions start with Ack Ratio 2 for both endpoints; this Ack Ratio results \
in)-2.75 E(ackno)100.8 704.6 Q(wledgement beha)-.275 E
(vior analogous to TCP')-.22 E 2.75(sd)-.605 G(elayed acks.)-2.75 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(11.3. [P)2.75 F(age 68])-.165 E 0 Cg EP
%%Page: 69 69
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E(Ack R\
atio should be treated as a guideline rather than a strict requirement.)
100.8 85 Q 1.76 -.88(We i)5.5 H(ntend Ack).88 E(Ratio-controlled ackno)
100.8 98 Q(wledgement beha)-.275 E(vior to resemble TCP')-.22 E 2.75(sa)
-.605 G(ckno)-2.75 E(wledgement beha)-.275 E(vior)-.22 E
(when there is no re)100.8 111 Q -.165(ve)-.275 G
(rse-path congestion, and to be some).165 E(what more conserv)-.275 E
(ati)-.275 E .33 -.165(ve w)-.275 H(hen).165 E(there is re)100.8 124 Q
-.165(ve)-.275 G(rse-path congestion.).165 E -.165(Fo)5.5 G(llo).165 E
(wing this intent is more important than)-.275 E
(implementing Ack Ratio precisely)100.8 137 Q 5.5(.I)-.715 G 2.75(np)
-5.5 G(articular:)-2.75 E 12.65<8352>100.8 153.6 S(ecei)-12.65 E -.165
(ve)-.275 G(rs MA).165 E 2.75(Yp)-1.155 G(iggyback ackno)-2.75 E
(wledgement information on data pack)-.275 E(ets, creating)-.11 E
(DCCP-DataAck pack)117.3 166.6 Q 2.75(ets. The)-.11 F
(Ack Ratio does not apply to piggyback)2.75 E(ed)-.11 E(ackno)117.3
179.6 Q 2.75(wledgements. Ho)-.275 F(we)-.275 E -.165(ve)-.275 G .88
-.44(r, i).165 H 2.75(ft).44 G(he data pack)-2.75 E
(ets are too big to carry ackno)-.11 E(wledgement)-.275 E
(information, or the data sending rate is lo)117.3 192.6 Q
(wer than Ack Ratio w)-.275 E(ould suggest, then)-.11 E
(DCCP B SHOULD send enough pure DCCP-Ack pack)117.3 205.6 Q
(ets to maintain the rate of one)-.11 E(ackno)117.3 218.6 Q
(wledgement per Ack Ratio recei)-.275 E -.165(ve)-.275 G 2.75(dd).165 G
(ata pack)-2.75 E(ets.)-.11 E 12.65<8352>100.8 235.2 S(ecei)-12.65 E
-.165(ve)-.275 G(rs MA).165 E 2.75(Yr)-1.155 G(ate-pace their ackno)
-2.75 E(wledgements, rather than sending)-.275 E(ackno)117.3 248.2 Q
(wledgements immediately upon the receipt of data pack)-.275 E 2.75
(ets. Recei)-.11 F -.165(ve)-.275 G(rs that rate-).165 E(pace ackno)
117.3 261.2 Q(wledgements SHOULD pick a rate that approximates the ef)
-.275 E(fect of Ack)-.275 E(Ratio, and SHOULD include Elapsed T)117.3
274.2 Q(ime options \(Section 13.2\) to help the sender)-.385 E
(calculate round-trip times.)117.3 287.2 Q 12.65<8352>100.8 303.8 S
(ecei)-12.65 E -.165(ve)-.275 G(rs SHOULD implement delayed ackno).165 E
(wledgement timers lik)-.275 E 2.75(eT)-.11 G(CP')-2.75 E(s, whereby)
-.605 E(an)117.3 316.8 Q 2.75(yp)-.165 G(ack)-2.75 E(et')-.11 E 2.75(sa)
-.605 G(ckno)-2.75 E(wledgement is delayed by at most T seconds.)-.275 E
(This delay lets the)5.5 E(recei)117.3 329.8 Q -.165(ve)-.275 G 2.75(rc)
.165 G(ollect additional pack)-2.75 E(ets to ackno)-.11 E
(wledge, and thus reduce the per)-.275 E(-pack)-.22 E(et)-.11 E -.165
(ove)117.3 342.8 S(rhead of ackno).165 E(wledgements; b)-.275 E
(ut if T seconds ha)-.22 E .33 -.165(ve p)-.22 H
(assed by and the ack is still).165 E(around, it is sent out right a)
117.3 355.8 Q -.11(wa)-.165 G 4.18 -.715(y. T).11 H(he def).715 E
(ault v)-.11 E(alue of T should be 0.2 seconds, as is)-.275 E
(common in TCP implementations.)117.3 368.8 Q
(This may lead to sending more ackno)5.5 E(wledgement)-.275 E(pack)117.3
381.8 Q(ets than Ack Ratio w)-.11 E(ould suggest.)-.11 E 12.65<8352>
100.8 398.4 S(ecei)-12.65 E -.165(ve)-.275 G(rs SHOULD send ackno).165 E
(wledgements immediately on recei)-.275 E(ving pack)-.275 E(ets mark)
-.11 E(ed)-.11 E(ECN Congestion Experienced, or pack)117.3 411.4 Q
(ets whose out-of-order sequence numbers)-.11 E
(potentially indicate loss.)117.3 424.4 Q(Ho)5.5 E(we)-.275 E -.165(ve)
-.275 G .88 -.44(r, t).165 H(here is no need to send such immediate).44
E(ackno)117.3 437.4 Q(wledgements for mark)-.275 E(ed pack)-.11 E
(ets more than once per round-trip time.)-.11 E 12.65<8352>100.8 454 S
(ecei)-12.65 E -.165(ve)-.275 G(rs MA).165 E 2.75(Yi)-1.155 G
(gnore Ack Ratio if the)-2.75 E 2.75(yp)-.165 G(erform their o)-2.75 E
(wn congestion control on)-.275 E(ackno)117.3 467 Q 2.75(wledgements. F)
-.275 F(or e)-.165 E(xample, a recei)-.165 E -.165(ve)-.275 G 2.75(rt)
.165 G(hat kno)-2.75 E(ws the loss and mark rate for its)-.275 E
(DCCP-Ack pack)117.3 480 Q(ets might maintain a TCP-friendly ackno)-.11
E(wledgement rate on its o)-.275 E(wn.)-.275 E(Such a recei)117.3 493 Q
-.165(ve)-.275 G 2.75(rM).165 G(UST either ensure that it al)-2.75 E
-.11(wa)-.11 G(ys obtains suf).11 E(\214cient ackno)-.275 E(wledgement)
-.275 E(loss and mark information, or f)117.3 506 Q
(all back to Ack Ratio when suf)-.11 E(\214cient information is not)
-.275 E -.22(av)117.3 519 S
(ailable, as might happen during periods when the recei)-.055 E -.165
(ve)-.275 G 2.75(ri).165 G 2.75(sq)-2.75 G(uiescent.)-2.75 E/F1 11
/Times-Bold@0 SF(11.4.)72 545 Q/F2 13/Times-Bold@0 SF(Ack V)5.5 E
(ector Options)-1.3 E F0(The Ack V)100.8 561.6 Q(ector gi)-1.221 E -.165
(ve)-.275 G 2.75(sar).165 G(un-length encoded history of data pack)-2.75
E(ets recei)-.11 E -.165(ve)-.275 G 2.75(da).165 G 2.75(tt)-2.75 G
(he client.)-2.75 E(Each byte of the v)100.8 574.6 Q(ector gi)-.165 E
-.165(ve)-.275 G 2.75(st).165 G(he state of that data pack)-2.75 E
(et in the loss history)-.11 E 2.75(,a)-.715 G(nd the)-2.75 E
(number of preceding pack)100.8 587.6 Q(ets with the same state.)-.11 E
(The option')5.5 E 2.75(sd)-.605 G(ata looks lik)-2.75 E 2.75(et)-.11 G
(his:)-2.75 E/F3 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------)100.8 606.6 Q
(|0010011?| Length |SSLLLLLL|SSLLLLLL|SSLLLLLL|)100.8 619.6 Q(...)13.2 E
(+--------+--------+--------+--------+--------+--------)100.8 632.6 Q
52.8(Type=38/39 \\___________)100.8 645.6 R(Vector ___________...)6.6 E
F0(The tw)100.8 664.6 Q 2.75(oA)-.11 G(ck V)-2.75 E
(ector options \(option types 38 and 39\) dif)-1.221 E
(fer only in the v)-.275 E(alues the)-.275 E 2.75(yi)-.165 G(mply)-2.75
E(for ECN Nonce Echo.)100.8 677.6 Q(Section 12.2 describes this further)
5.5 E(.)-.605 E(The v)100.8 694.2 Q
(ector itself consists of a series of bytes, each of whose encoding is:)
-.165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76
(yd Section)-.11 F 2.75(11.4. [P)2.75 F(age 69])-.165 E 0 Cg EP
%%Page: 70 70
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF 6.6(01234567)107.4 85 S(+-+-+-+-+-+-+-+-+)100.8 98 Q
(|Sta| Run Length|)100.8 111 Q(+-+-+-+-+-+-+-+-+)100.8 124 Q F0
(Sta[te] occupies the most signi\214cant tw)100.8 143 Q 2.75(ob)-.11 G
(its of each byte, and can ha)-2.75 E .33 -.165(ve o)-.22 H
(ne of four v).165 E(alues,)-.275 E(as follo)100.8 156 Q(ws.)-.275 E F1
6.6(State Meaning)226.2 175 R 6.6(----- -------)226.2 188 R 26.4(0R)
239.4 201 S(eceived)-26.4 E 26.4(1R)239.4 214 S(eceived ECN Marked)-26.4
E 26.4(2R)239.4 227 S(eserved)-26.4 E 26.4(3N)239.4 240 S
(ot Yet Received)-26.4 E(Table 6: DCCP Ack Vector States)213 266 Q F0
(The term "ECN mark)100.8 285 Q(ed" refers to pack)-.11 E
(ets with ECN code point 11, CE \(Congestion)-.11 E(Experienced\); pack)
100.8 298 Q(ets recei)-.11 E -.165(ve)-.275 G 2.75(dw).165 G
(ith this ECN code point MUST be reported using State 1,)-2.75 E(Recei)
100.8 311 Q -.165(ve)-.275 G 2.75(dE).165 G(CN Mark)-2.75 E 2.75(ed. P)
-.11 F(ack)-.165 E(ets recei)-.11 E -.165(ve)-.275 G 2.75(dw).165 G
(ith other ECN code points 00, 01, or 10 \(Non-)-2.75 E(ECT)100.8 324 Q
2.75(,E)-.814 G(CT\(0\), or ECT\(1\), respecti)-2.75 E -.165(ve)-.275 G
(ly\) MUST be reported using State 0, Recei).165 E -.165(ve)-.275 G(d.)
.165 E(Run Length, the least signi\214cant six bits of each byte, speci\
\214es ho)100.8 340.6 Q 2.75(wm)-.275 G(an)-2.75 E 2.75(yc)-.165 G
(onsecuti)-2.75 E -.165(ve)-.275 G(pack)100.8 353.6 Q(ets ha)-.11 E .33
-.165(ve t)-.22 H(he gi).165 E -.165(ve)-.275 G 2.75(nS).165 G 2.75
(tate. Run)-2.75 F
(Length zero says the corresponding State applies to one)2.75 E(pack)
100.8 366.6 Q(et only; Run Length 63 says it applies to 64 consecuti)
-.11 E .33 -.165(ve p)-.275 H(ack).165 E 2.75(ets. Run)-.11 F
(lengths of 65 or)2.75 E(more must be encoded in multiple bytes.)100.8
379.6 Q(The \214rst byte in the \214rst Ack V)100.8 396.2 Q
(ector option refers to the pack)-1.221 E(et indicated in the)-.11 E
(Ackno)100.8 409.2 Q
(wledgement Number; subsequent bytes refer to older pack)-.275 E 2.75
(ets. \(Ack)-.11 F -1.221(Ve)2.75 G(ctor MUST)1.221 E(NO)100.8 422.2 Q
2.75(Tb)-.44 G 2.75(es)-2.75 G(ent on DCCP-Data and DCCP-Request pack)
-2.75 E(ets, which lack an Ackno)-.11 E(wledgement)-.275 E(Number)100.8
435.2 Q 2.75(.\) An)-.605 F(Ack V)2.75 E(ector containing the decimal v)
-1.221 E(alues 0,192,3,64,5 and the)-.275 E(Ackno)100.8 448.2 Q
(wledgement Number is decimal 100 indicates that:)-.275 E -.165(Pa)129.6
464.8 S(ck).165 E(et 100 w)-.11 E(as recei)-.11 E -.165(ve)-.275 G 2.75
(d\().165 G(Ackno)-2.75 E
(wledgement Number 100, State 0, Run Length 0\).)-.275 E -.165(Pa)129.6
481.4 S(ck).165 E(et 99 w)-.11 E(as lost \(State 3, Run Length 0\).)-.11
E -.165(Pa)129.6 498 S(ck).165 E(ets 98, 97, 96 and 95 were recei)-.11 E
-.165(ve)-.275 G 2.75(d\().165 G(State 0, Run Length 3\).)-2.75 E -.165
(Pa)129.6 514.6 S(ck).165 E(et 94 w)-.11 E(as ECN mark)-.11 E
(ed \(State 1, Run Length 0\).)-.11 E -.165(Pa)129.6 531.2 S(ck).165 E
(ets 93, 92, 91, 90, 89, and 88 were recei)-.11 E -.165(ve)-.275 G 2.75
(d\().165 G(State 0, Run Length 5\).)-2.75 E 2.75(As)100.8 547.8 S
(ingle Ack V)-2.75 E(ector option can ackno)-1.221 E
(wledge up to 16192 data pack)-.275 E 2.75(ets. Should)-.11 F(more)2.75
E(pack)100.8 560.8 Q(ets need to be ackno)-.11 E
(wledged than can \214t in 253 bytes of Ack V)-.275 E(ector)-1.221 E
2.75(,t)-.44 G(hen multiple)-2.75 E(Ack V)100.8 573.8 Q
(ector options can be sent; the second Ack V)-1.221 E(ector be)-1.221 E
(gins where the \214rst left of)-.165 E(f, and)-.275 E(so forth.)100.8
586.8 Q(Ack V)100.8 603.4 Q(ector states are subject to tw)-1.221 E 2.75
(og)-.11 G(eneral constraints.)-2.75 E(\(These principles SHOULD also)
5.5 E(be follo)100.8 616.4 Q(wed for other ackno)-.275 E
(wledgement mechanisms; referring to Ack V)-.275 E(ector states)-1.221 E
(simpli\214es their e)100.8 629.4 Q(xplanation.\))-.165 E 11(1. P)100.8
646 R(ack)-.165 E(ets reported as State 0 or State 1 MUST be ackno)-.11
E(wledgeable: their options ha)-.275 E -.165(ve)-.22 G
(been processed by the recei)122.8 659 Q(ving DCCP stack.)-.275 E(An)5.5
E 2.75(yd)-.165 G(ata on the pack)-2.75 E(et need not ha)-.11 E -.165
(ve)-.22 G(been deli)122.8 672 Q -.165(ve)-.275 G(red to the recei).165
E(ving application; in f)-.275 E(act, the data may ha)-.11 E .33 -.165
(ve b)-.22 H(een dropped.).165 E 11(2. P)100.8 688.6 R(ack)-.165 E
(ets reported as State 3 MUST NO)-.11 E 2.75(Tb)-.44 G 2.75(ea)-2.75 G
(ckno)-2.75 E 2.75(wledgeable. Feature)-.275 F(ne)2.75 E(gotiations)
-.165 E(and options on such pack)122.8 701.6 Q(ets MUST NO)-.11 E 2.75
(Th)-.44 G -2.475 -.22(av e)-2.75 H(been processed, and the)2.97 E
(Ackno)122.8 714.6 Q(wledgement Number MUST NO)-.275 E 2.75(Tc)-.44 G
(orrespond to such a pack)-2.75 E(et.)-.11 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(11.4. [P)2.75 F(age 70])-.165 E 0 Cg EP
%%Page: 71 71
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E -.165
(Pa)100.8 85 S(ck).165 E(ets dropped in the application')-.11 E 2.75(sr)
-.605 G(ecei)-2.75 E .33 -.165(ve b)-.275 H(uf)-.055 E
(fer MUST be reported as Recei)-.275 E -.165(ve)-.275 G 2.75(do).165 G
(r)-2.75 E(Recei)100.8 98 Q -.165(ve)-.275 G 2.75(dE).165 G(CN Mark)
-2.75 E(ed \(States 0 and 1\), depending on their ECN state; such pack)
-.11 E(ets' ECN)-.11 E(Nonces MUST be included in the Nonce Echo.)100.8
111 Q(The Data Dropped option informs the)5.5 E(sender that some pack)
100.8 124 Q(ets reported as recei)-.11 E -.165(ve)-.275 G 2.75(da).165 G
(ctually had their application data dropped.)-2.75 E(One or more Ack V)
100.8 140.6 Q(ector options that, together)-1.221 E 2.75(,r)-.44 G
(eport the status of a pack)-2.75 E(et with sequence)-.11 E
(number less than ISN, the initial sequence number)100.8 153.6 Q 2.75
(,S)-.44 G(HOULD be considered in)-2.75 E -.275(va)-.44 G 2.75(lid. The)
.275 F(recei)100.8 166.6 Q(ving DCCP SHOULD either ignore the options o\
r reset the connection with Reset)-.275 E(Code 5, "Option Error".)100.8
179.6 Q(No Ack V)5.5 E(ector option can refer to a pack)-1.221 E
(et that has not yet been)-.11 E(sent, as the Ackno)100.8 192.6 Q
(wledgement Number checks in Section 7.5.3 ensure, b)-.275 E
(ut because of)-.22 E(attack, implementation b)100.8 205.6 Q
(ug, or misbeha)-.22 E(vior)-.22 E 2.75(,a)-.44 G 2.75(nA)-2.75 G(ck V)
-2.75 E(ector option can claim that a pack)-1.221 E(et)-.11 E -.11(wa)
100.8 218.6 S 2.75(sr).11 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(db).165 G
(efore it is actually deli)-2.75 E -.165(ve)-.275 G
(red; Section 12.2 describes ho).165 E 2.75(wt)-.275 G
(his is detected and)-2.75 E(ho)100.8 231.6 Q 2.75(ws)-.275 G
(enders should react.)-2.75 E -.165(Pa)5.5 G(ck).165 E(ets that ha)-.11
E -.165(ve)-.22 G(n').165 E 2.75(tb)-.198 G(een included in an)-2.75 E
2.75(yA)-.165 G(ck V)-2.75 E(ector option)-1.221 E
(SHOULD be treated as "not yet recei)100.8 244.6 Q -.165(ve)-.275 G
(d" \(State 3\) by the sender).165 E(.)-.605 E(Appendix A pro)100.8
261.2 Q(vides a non-normati)-.165 E .33 -.165(ve d)-.275 H
(escription of the details of DCCP).165 E(ackno)100.8 274.2 Q
(wledgement handling, in the conte)-.275 E(xt of an abstract Ack V)-.165
E(ector implementation.)-1.221 E/F1 11/Times-Bold@0 SF 2.75(11.4.1. Ack)
72 300.2 R -1.1(Ve)2.75 G(ctor Consistency)1.1 E F0 2.75(AD)100.8 316.8
S(CCP sender will commonly recei)-2.75 E .33 -.165(ve m)-.275 H
(ultiple ackno).165 E(wledgements for some of its data)-.275 E(pack)
100.8 329.8 Q 2.75(ets. F)-.11 F(or instance, an HC-Sender might recei)
-.165 E .33 -.165(ve t)-.275 H .22 -.11(wo D).165 H(CCP-Acks with Ack V)
.11 E(ectors,)-1.221 E
(both of which contained information about sequence number 24.)100.8
342.8 Q(\(Information about a)5.5 E
(sequence number is generally repeated in e)100.8 355.8 Q -.165(ve)-.275
G(ry ack until the HC-Sender ackno).165 E(wledges an)-.275 E 2.75
(ack. In)100.8 368.8 R(this case, perhaps the HC-Recei)2.75 E -.165(ve)
-.275 G 2.75(ri).165 G 2.75(ss)-2.75 G(ending acks f)-2.75 E
(aster than the HC-Sender is)-.11 E(ackno)100.8 381.8 Q
(wledging them.\))-.275 E(In a perfect w)5.5 E(orld, the tw)-.11 E 2.75
(oA)-.11 G(ck V)-2.75 E(ectors w)-1.221 E(ould al)-.11 E -.11(wa)-.11 G
(ys be consistent.).11 E(Ho)100.8 394.8 Q(we)-.275 E -.165(ve)-.275 G
.88 -.44(r, t).165 H(here are man).44 E 2.75(yr)-.165 G(easons wh)-2.75
E 2.75(yt)-.055 G(he)-2.75 E 2.75(ym)-.165 G(ight not be.)-2.75 E -.165
(Fo)5.5 G 2.75(re).165 G(xample:)-2.915 E 12.65<8354>100.8 411.4 S
(he HC-Recei)-12.65 E -.165(ve)-.275 G 2.75(rr).165 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E
(et 24 between sending its acks, so the \214rst ack said 24)-.11 E -.11
(wa)117.3 424.4 S 2.75(sn).11 G(ot recei)-2.75 E -.165(ve)-.275 G 2.75
(d\().165 G(State 3\) and the second said it w)-2.75 E(as recei)-.11 E
-.165(ve)-.275 G 2.75(do).165 G 2.75(rE)-2.75 G(CN mark)-2.75 E
(ed \(State 0)-.11 E(or 1\).)117.3 437.4 Q 12.65<8354>100.8 454 S
(he HC-Recei)-12.65 E -.165(ve)-.275 G 2.75(rr).165 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E
(et 24 between sending its acks, and the netw)-.11 E(ork)-.11 E
(reordered the acks.)117.3 467 Q(In this case, the pack)5.5 E
(et will appear to transition from State 0 or 1 to)-.11 E(State 3.)117.3
480 Q 12.65<8354>100.8 496.6 S(he netw)-12.65 E(ork duplicated pack)-.11
E(et 24, and one of the duplicates w)-.11 E(as ECN mark)-.11 E 2.75
(ed. This)-.11 F(might sho)117.3 509.6 Q 2.75(wu)-.275 G 2.75(pa)-2.75 G
2.75(sat)-2.75 G(ransition between States 0 and 1.)-2.75 E 1.76 -.88
(To c)100.8 526.2 T(ope with these situations, HC-Sender DCCP implement\
ations SHOULD combine).88 E(multiple recei)100.8 539.2 Q -.165(ve)-.275
G 2.75(dA).165 G(ck V)-2.75 E(ector states according to this table:)
-1.221 E/F2 11/Courier@0 SF(Received State)288.6 558.2 Q 19.8(013)301.8
571.2 S(+---+---+---+)288.6 584.2 Q 6.6(0|0|)275.4 597.2 S(0/1| 0 |)-6.6
E 26.4(Old +---+---+---+)235.8 610.2 R 6.6(1|1|1|1|)275.4 623.2 S 19.8
(State +---+---+---+)229.2 636.2 R 6.6(3|0|1|3|)275.4 649.2 S
(+---+---+---+)288.6 662.2 Q F0 1.76 -.88(To r)100.8 681.2 T
(ead the table, choose the ro).88 E 2.75(wc)-.275 G
(orresponding to the pack)-2.75 E(et')-.11 E 2.75(so)-.605 G
(ld state and the column)-2.75 E(corresponding to the pack)100.8 694.2 Q
(et')-.11 E 2.75(ss)-.605 G(tate in the ne)-2.75 E(wly recei)-.275 E
-.165(ve)-.275 G 2.75(dA).165 G(ck V)-2.75 E(ector)-1.221 E 2.75(,t)-.44
G(hen read the pack)-2.75 E(et')-.11 E(s)-.605 E(ne)100.8 707.2 Q 2.75
(ws)-.275 G(tate of)-2.75 E 2.75(ft)-.275 G(he table.)-2.75 E -.165(Fo)
5.5 G 2.75(ra).165 G 2.75(no)-2.75 G(ld state of 0 \(recei)-2.75 E -.165
(ve)-.275 G 2.75(dn).165 G(on-mark)-2.75 E(ed\) and recei)-.11 E -.165
(ve)-.275 G 2.75(ds).165 G(tate of 1)-2.75 E(\(recei)100.8 720.2 Q -.165
(ve)-.275 G 2.75(dE).165 G(CN mark)-2.75 E(ed\), the pack)-.11 E(et')
-.11 E 2.75(sn)-.605 G .55 -.275(ew s)-2.75 H
(tate may be set to either 0 or 1.).275 E(The HC-Sender)5.5 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 216.51(yd Section)-.11 F 2.75
(11.4.1. [P)2.75 F(age 71])-.165 E 0 Cg EP
%%Page: 72 72
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(implementation will be indif)100.8 85 Q
(ferent to ack reordering if it chooses ne)-.275 E 2.75(ws)-.275 G
(tate 1 for that cell.)-2.75 E(The HC-Recei)100.8 101.6 Q -.165(ve)-.275
G 2.75(rs).165 G(hould collect information about recei)-2.75 E -.165(ve)
-.275 G 2.75(dp).165 G(ack)-2.75 E(ets, which it will)-.11 E -2.365
-.275(ev e)100.8 114.6 T
(ntually report to the HC-Sender on one or more ackno).275 E
(wledgements, according to the)-.275 E(follo)100.8 127.6 Q(wing table:)
-.275 E/F1 11/Courier@0 SF(Received Packet)282 146.6 Q 19.8(013)301.8
159.6 S(+---+---+---+)288.6 172.6 Q 6.6(0|0|)275.4 185.6 S(0/1| 0 |)-6.6
E 19.8(Stored +---+---+---+)222.6 198.6 R 6.6(1|)275.4 211.6 S
(0/1| 1 | 1 |)-6.6 E 19.8(State +---+---+---+)229.2 224.6 R 6.6
(3|0|1|3|)275.4 237.6 S(+---+---+---+)288.6 250.6 Q F0
(This table equals the sender')100.8 269.6 Q 2.75(st)-.605 G(able, e)
-2.75 E(xcept that when the stored state is 1 and the recei)-.165 E
-.165(ve)-.275 G(d).165 E(state is 0, the recei)100.8 282.6 Q -.165(ve)
-.275 G 2.75(ri).165 G 2.75(sa)-2.75 G(llo)-2.75 E
(wed to switch its stored state to 0.)-.275 E 2.75(AH)100.8 299.2 S
(C-Sender MA)-2.75 E 2.75(Yc)-1.155 G(hoose to thro)-2.75 E 2.75(wa)
-.275 G -.11(wa)-2.915 G 2.75(yo).11 G
(ld information gleaned from the HC-Recei)-2.75 E -.165(ve)-.275 G(r')
.165 E(s)-.605 E(Ack V)100.8 312.2 Q
(ectors, in which case it MUST ignore ne)-1.221 E(wly recei)-.275 E
-.165(ve)-.275 G 2.75(da).165 G(ckno)-2.75 E(wledgements from the)-.275
E(HC-Recei)100.8 325.2 Q -.165(ve)-.275 G 2.75(rf).165 G
(or those old pack)-2.75 E 2.75(ets. It)-.11 F(is often kinder to sa)
2.75 E .33 -.165(ve r)-.22 H(ecent Ack V).165 E(ector information)-1.221
E(for a while, so that the HC-Sender can undo its reaction to presumed \
congestion when a)100.8 338.2 Q("lost" pack)100.8 351.2 Q(et une)-.11 E
(xpectedly sho)-.165 E
(ws up \(the transition from State 3 to State 0\).)-.275 E/F2 11
/Times-Bold@0 SF 2.75(11.4.2. Ack)72 377.2 R -1.1(Ve)2.75 G(ctor Co)1.1
E -.11(ve)-.11 G(rage).11 E F0 1.76 -.88(We c)100.8 393.8 T(an di).88 E
(vide the pack)-.275 E(ets that ha)-.11 E .33 -.165(ve b)-.22 H
(een sent from an HC-Sender to an HC-Recei).165 E -.165(ve)-.275 G 2.75
(ri).165 G(nto)-2.75 E(four roughly contiguous groups.)100.8 406.8 Q
(From oldest to youngest, these are:)5.5 E 11(1. P)100.8 423.4 R(ack)
-.165 E(ets already ackno)-.11 E(wledged by the HC-Recei)-.275 E -.165
(ve)-.275 G .88 -.44(r, w).165 H(here the HC-Recei).44 E -.165(ve)-.275
G 2.75(rk).165 G(no)-2.75 E(ws)-.275 E
(that the HC-Sender has de\214nitely recei)122.8 436.4 Q -.165(ve)-.275
G 2.75(dt).165 G(he ackno)-2.75 E(wledgements.)-.275 E 11(2. P)100.8 453
R(ack)-.165 E(ets already ackno)-.11 E(wledged by the HC-Recei)-.275 E
-.165(ve)-.275 G .88 -.44(r, w).165 H(here the HC-Recei).44 E -.165(ve)
-.275 G 2.75(rc).165 G(annot be)-2.75 E
(sure that the HC-Sender has recei)122.8 466 Q -.165(ve)-.275 G 2.75(dt)
.165 G(he ackno)-2.75 E(wledgements.)-.275 E 11(3. P)100.8 482.6 R(ack)
-.165 E(ets not yet ackno)-.11 E(wledged by the HC-Recei)-.275 E -.165
(ve)-.275 G -.605(r.).165 G 11(4. P)100.8 499.2 R(ack)-.165 E
(ets not yet recei)-.11 E -.165(ve)-.275 G 2.75(db).165 G 2.75(yt)-2.75
G(he HC-Recei)-2.75 E -.165(ve)-.275 G -.605(r.).165 G
(The union of groups 2 and 3 is called the Ackno)100.8 515.8 Q
(wledgement W)-.275 E(indo)-.44 E 4.18 -.715(w. G)-.275 H(enerally).715
E 2.75(,e)-.715 G -.165(ve)-3.025 G(ry).165 E(Ack V)100.8 528.8 Q
(ector generated by the HC-Recei)-1.221 E -.165(ve)-.275 G 2.75(rw).165
G(ill co)-2.75 E -.165(ve)-.165 G 2.75(rt).165 G(he whole Ackno)-2.75 E
(wledgement)-.275 E -.44(Wi)100.8 541.8 S(ndo).44 E(w: Ack V)-.275 E
(ector ackno)-1.221 E(wledgements are cumulati)-.275 E -.165(ve)-.275 G
5.5(.\().165 G(This simpli\214es Ack V)-5.5 E(ector)-1.221 E
(maintenance at the HC-Recei)100.8 554.8 Q -.165(ve)-.275 G
(r; see Appendix A, belo).165 E -.715(w.)-.275 G 5.5(\)A).715 G 2.75(sp)
-5.5 G(ack)-2.75 E(ets are recei)-.11 E -.165(ve)-.275 G(d, this).165 E
(windo)100.8 567.8 Q 2.75(wb)-.275 G(oth gro)-2.75 E
(ws on the right and shrinks on the left.)-.275 E(It gro)5.5 E
(ws because there are more)-.275 E(pack)100.8 580.8 Q
(ets, and shrinks because the data pack)-.11 E(ets' Ackno)-.11 E
(wledgement Numbers will)-.275 E(ackno)100.8 593.8 Q(wledge pre)-.275 E
(vious ackno)-.275 E(wledgements, mo)-.275 E(ving pack)-.165 E
(ets from group 2 into group 1.)-.11 E F2(11.5.)72 619.8 Q/F3 13
/Times-Bold@0 SF(Send Ack V)5.5 E(ector F)-1.3 E(eatur)-.325 E(e)-.234 E
F0(The Send Ack V)100.8 636.4 Q(ector feature lets DCCPs ne)-1.221 E
(gotiate whether the)-.165 E 2.75(ys)-.165 G(hould use Ack V)-2.75 E
(ector)-1.221 E(options to report congestion.)100.8 649.4 Q(Ack V)5.5 E
(ector pro)-1.221 E(vides detailed loss information, and lets)-.165 E
(senders report back to their applications whether particular pack)100.8
662.4 Q(ets were dropped.)-.11 E(Send)5.5 E(Ack V)100.8 675.4 Q
(ector is mandatory for some CCIDs, and optional for others.)-1.221 E
(Send Ack V)100.8 692 Q(ector has feature number 6, and is serv)-1.221 E
(er)-.165 E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte Boolean)-.11 E -.275(va)100.8 705 S 2.75(lues. DCCP).275 F
2.75(AM)2.75 G(UST send Ack V)-2.75 E(ector options on its ackno)-1.221
E(wledgements when Send)-.275 E(Ack V)100.8 718 Q(ector/A has v)-1.221 E
(alue one, although it MA)-.275 E 2.75(Ys)-1.155 G(end Ack V)-2.75 E
(ector options e)-1.221 E -.165(ve)-.275 G 2.75(nw).165 G(hen Send)-2.75
E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(11.5. [P)2.75 F(age 72])-.165 E 0 Cg EP
%%Page: 73 73
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E(Ack V)
100.8 85 Q(ector/A is zero.)-1.221 E -1.221(Va)5.5 G(lues of tw)1.221 E
2.75(oo)-.11 G 2.75(rm)-2.75 G(ore are reserv)-2.75 E 2.75(ed. Ne)-.165
F 2.75(wc)-.275 G(onnections start with)-2.75 E(Send Ack V)100.8 98 Q
(ector 0 for both endpoints.)-1.221 E
(DCCP B sends a "Change R\(Send Ack V)5.5 E(ector)-1.221 E 2.75(,1)-.44
G(\)")-2.75 E(option to DCCP A to ask A to send Ack V)100.8 111 Q
(ector options as part of its ackno)-1.221 E(wledgement)-.275 E(traf)
100.8 124 Q(\214c.)-.275 E/F1 11/Times-Bold@0 SF(11.6.)72 150 Q/F2 13
/Times-Bold@0 SF(Slo)5.5 E 3.25(wR)-.13 G(ecei)-3.25 E -.13(ve)-.13 G
3.25(rO).13 G(ption)-3.25 E F0(An HC-Recei)100.8 166.6 Q -.165(ve)-.275
G 2.75(rs).165 G(ends the Slo)-2.75 E 2.75(wR)-.275 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(ro).165 G
(ption to its sender to indicate that it is ha)-2.75 E(ving)-.22 E
(trouble k)100.8 179.6 Q(eeping up with the sender')-.11 E 2.75(sd)-.605
G 2.75(ata. The)-2.75 F(HC-Sender SHOULD NO)2.75 E 2.75(Ti)-.44 G
(ncrease its)-2.75 E
(sending rate for approximately one round-trip time after seeing a pack)
100.8 192.6 Q(et with a Slo)-.11 E(w)-.275 E(Recei)100.8 205.6 Q -.165
(ve)-.275 G 2.75(ro).165 G 2.75(ption. After)-2.75 F
(one round-trip time, the ef)2.75 E(fect of Slo)-.275 E 2.75(wR)-.275 G
(ecei)-2.75 E -.165(ve)-.275 G 2.75(rd).165 G(isappears and the)-2.75 E
(HC-Sender may ag)100.8 218.6 Q(ain increase its rate, so the HC-Recei)
-.055 E -.165(ve)-.275 G 2.75(rS).165 G(HOULD continue to send)-2.75 E
(Slo)100.8 231.6 Q 2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75
(ro).165 G(ptions if it needs to pre)-2.75 E -.165(ve)-.275 G
(nt the HC-Sender from going f).165 E(aster in the long)-.11 E 2.75
(term. The)100.8 244.6 R(Slo)2.75 E 2.75(wR)-.275 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(ro).165 G
(ption does not indicate congestion, and the HC-Sender need not)-2.75 E
(reduce its sending rate.)100.8 257.6 Q(\(If necessary)5.5 E 2.75(,t)
-.715 G(he recei)-2.75 E -.165(ve)-.275 G 2.75(rc).165 G
(an force the sender to slo)-2.75 E 2.75(wd)-.275 G -.275(ow)-2.75 G
2.75(nb).275 G(y)-2.75 E(dropping pack)100.8 270.6 Q
(ets, with or without Data Dropped, or reporting f)-.11 E
(alse ECN marks.\))-.11 E(APIs)5.5 E(should let recei)100.8 283.6 Q
-.165(ve)-.275 G 2.75(ra).165 G(pplications set Slo)-2.75 E 2.75(wR)
-.275 G(ecei)-2.75 E -.165(ve)-.275 G .88 -.44(r, a).165 H
(nd sending applications determine).44 E(whether or not their recei)
100.8 296.6 Q -.165(ve)-.275 G(rs are Slo).165 E -.715(w.)-.275 G(Slo)
100.8 313.2 Q 2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(ri).165
G 2.75(sao)-2.75 G(ne-byte option.)-2.75 E/F3 11/Courier@0 SF
(+--------+)100.8 332.2 Q(|00000010|)100.8 345.2 Q(+--------+)100.8
358.2 Q(Type=2)107.4 371.2 Q F0(Slo)100.8 390.2 Q 2.75(wR)-.275 G(ecei)
-2.75 E -.165(ve)-.275 G 2.75(rd).165 G(oes not specify wh)-2.75 E 2.75
(yt)-.055 G(he recei)-2.75 E -.165(ve)-.275 G 2.75(ri).165 G 2.75(sh)
-2.75 G -.22(av)-2.75 G(ing trouble k).22 E(eeping up with the)-.11 E
(sender)100.8 403.2 Q 5.5(.P)-.605 G(ossible reasons include lack of b)
-5.5 E(uf)-.22 E(fer space, CPU o)-.275 E -.165(ve)-.165 G
(rload, and application).165 E 2.75(quotas. A)100.8 416.2 R
(sending application might react to Slo)2.75 E 2.75(wR)-.275 G(ecei)
-2.75 E -.165(ve)-.275 G 2.75(rb).165 G 2.75(yr)-2.75 G
(educing its sending rate,)-2.75 E(for e)100.8 429.2 Q(xample.)-.165 E
(The sending application should not react to Slo)100.8 445.8 Q 2.75(wR)
-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(rb).165 G 2.75(ys)-2.75 G
(ending more data, ho)-2.75 E(we)-.275 E -.165(ve)-.275 G -.605(r.).165
G(The optimal response to a CPU-bound recei)100.8 458.8 Q -.165(ve)-.275
G 2.75(rm).165 G(ight be to increase the sending rate, by)-2.75 E(switc\
hing to a less-compressed sending format, since a highly-compressed dat\
a format)100.8 471.8 Q(might o)100.8 484.8 Q -.165(ve)-.165 G
(rwhelm a slo).165 E 2.75(wC)-.275 G
(PU more seriously than the higher memory requirements of a)-2.75 E
(less-compressed data format.)100.8 497.8 Q
(This kind of format change should be requested at the)5.5 E
(application le)100.8 510.8 Q -.165(ve)-.275 G(l, not via the Slo).165 E
2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(ro).165 G(ption.)
-2.75 E(Slo)100.8 527.4 Q 2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G
2.75(ri).165 G(mplements a portion of TCP')-2.75 E 2.75(sr)-.605 G(ecei)
-2.75 E .33 -.165(ve w)-.275 H(indo).165 E 2.75(wf)-.275 G(unctionality)
-2.75 E(.)-.715 E F1(11.7.)72 553.4 Q F2(Data Dr)5.5 E(opped Option)
-.234 E F0(The Data Dropped option indicates that the application data \
on one or more recei)100.8 570 Q -.165(ve)-.275 G(d).165 E(pack)100.8
583 Q(ets did not actually reach the application.)-.11 E
(Data Dropped additionally reports wh)5.5 E 2.75(yt)-.055 G(he)-2.75 E
(data w)100.8 596 Q(as dropped: perhaps the data w)-.11 E
(as corrupt, or perhaps the recei)-.11 E -.165(ve)-.275 G 2.75(rc).165 G
(annot k)-2.75 E(eep up)-.11 E(with the sender')100.8 609 Q 2.75(sc)
-.605 G(urrent rate and the data w)-2.75 E(as dropped in some recei)-.11
E .33 -.165(ve b)-.275 H(uf)-.055 E(fer)-.275 E 5.5(.U)-.605 G
(sing Data)-5.5 E(Dropped, DCCP endpoints can discriminate between dif)
100.8 622 Q(ferent kinds of loss; this dif)-.275 E(fers)-.275 E
(from TCP)100.8 635 Q 2.75(,i)-1.221 G 2.75(nw)-2.75 G
(hich all loss is reported the same w)-2.75 E(ay)-.11 E(.)-.715 E
(Unless e)100.8 651.6 Q(xplicitly speci\214ed otherwise, DCCP congestio\
n control mechanisms MUST react)-.165 E(as if each Data Dropped pack)
100.8 664.6 Q(et w)-.11 E(as mark)-.11 E
(ed as ECN Congestion Experienced by the)-.11 E(netw)100.8 677.6 Q 2.75
(ork. W)-.11 F 2.75(ei)-.88 G(ntend for Data Dropped to enable research\
 into richer congestion responses)-2.75 E
(to corrupt and other endpoint-dropped pack)100.8 690.6 Q(ets, b)-.11 E
(ut DCCP CCIDs MUST react)-.22 E(conserv)100.8 703.6 Q(ati)-.275 E -.165
(ve)-.275 G(ly to Data Dropped until this beha).165 E
(vior is standardized.)-.22 E(Section 11.7.2, belo)5.5 E -.715(w,)-.275
G(describes congestion responses for all current Drop Codes.)100.8 716.6
Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(11.7. [P)2.75 F(age 73])-.165 E 0 Cg EP
%%Page: 74 74
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(If a recei)100.8 85 Q -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(et')
-.11 E 2.75(sa)-.605 G
(pplication data is dropped for one of the reasons listed belo)-2.75 E
1.43 -.715(w, t)-.275 H(his).715 E
(SHOULD be reported using a Data Dropped option.)100.8 98 Q(Alternati)
5.5 E -.165(ve)-.275 G(ly).165 E 2.75(,t)-.715 G(he recei)-2.75 E -.165
(ve)-.275 G 2.75(rM).165 G -1.155(AY)-2.75 G(choose to report as "recei)
100.8 111 Q -.165(ve)-.275 G(d" only those pack).165 E
(ets whose data were not dropped, subject to)-.11 E
(the constraint that pack)100.8 124 Q(ets not reported as recei)-.11 E
-.165(ve)-.275 G 2.75(dM).165 G(UST NO)-2.75 E 2.75(Th)-.44 G -2.475
-.22(av e)-2.75 H(had their options)2.97 E(processed.)100.8 137 Q
(The option')100.8 153.6 Q 2.75(sd)-.605 G(ata looks lik)-2.75 E 2.75
(et)-.11 G(his:)-2.75 E/F1 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------)100.8 172.6 Q
(|00101000| Length | Block)100.8 185.6 Q 6.6(|B)13.2 G 6.6(lock |)-6.6 F
6.6(Block | ...)6.6 F
(+--------+--------+--------+--------+--------+--------)100.8 198.6 Q
59.4(Type=40 \\___________)107.4 211.6 R(Vector ___________ ...)6.6 E F0
(The V)100.8 230.6 Q(ector consists of a series of bytes, called Blocks\
, each of whose encoding)-1.221 E(corresponds to one of tw)100.8 243.6 Q
2.75(oc)-.11 G(hoices:)-2.75 E F1 99 6.6(01234567 01234567)107.4 262.6 T
99(+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+)100.8 275.6 R(|0| Run Length)
100.8 288.6 Q 46.2(|o)13.2 G 46.2(r|)-46.2 G(1|DrpCd|Run Len|)-46.2 E 99
(+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+)100.8 301.6 R(Normal Block)114
314.6 Q(Drop Block)145.2 E F0
(The \214rst byte in the \214rst Data Dropped option refers to the pack)
100.8 333.6 Q(et indicated in the)-.11 E(Ackno)100.8 346.6 Q
(wledgement Number; subsequent bytes refer to older pack)-.275 E 2.75
(ets. \(Data)-.11 F(Dropped)2.75 E(MUST NO)100.8 359.6 Q 2.75(Tb)-.44 G
2.75(es)-2.75 G(ent on DCCP-Data or DCCP-Request pack)-2.75 E
(ets, which lack an)-.11 E(Ackno)100.8 372.6 Q(wledgement Number)-.275 E
2.75(,a)-.44 G(nd an)-2.75 E 2.75(yD)-.165 G(ata Dropped options recei)
-2.75 E -.165(ve)-.275 G 2.75(do).165 G 2.75(nt)-2.75 G(hese pack)-2.75
E(et types)-.11 E(MUST be ignored.\))100.8 385.6 Q
(Normal Blocks, which ha)5.5 E .33 -.165(ve h)-.22 H
(igh bit 0, indicate that an).165 E 2.75(yr)-.165 G(ecei)-2.75 E -.165
(ve)-.275 G(d).165 E(pack)100.8 398.6 Q
(ets in the Run Length had their data deli)-.11 E -.165(ve)-.275 G
(red to the application.).165 E(Drop Blocks, which)5.5 E(ha)100.8 411.6
Q .33 -.165(ve h)-.22 H(igh bit 1, indicate that recei).165 E -.165(ve)
-.275 G 2.75(dp).165 G(ack)-2.75 E
(ets in the Run Len[gth] were not deli)-.11 E -.165(ve)-.275 G(red as)
.165 E 2.75(usual. The)100.8 424.6 R
(3-bit Drop Code [DrpCd] \214eld says what happened; generally)2.75 E
2.75(,n)-.715 G 2.75(od)-2.75 G(ata from)-2.75 E(that pack)100.8 437.6 Q
(et reached the application.)-.11 E -.165(Pa)5.5 G(ck).165 E
(ets reported as "not yet recei)-.11 E -.165(ve)-.275 G(d" MUST be).165
E(included in Normal Blocks; pack)100.8 450.6 Q(ets not co)-.11 E -.165
(ve)-.165 G(red by an).165 E 2.75(yD)-.165 G
(ata Dropped option are treated as)-2.75 E(if the)100.8 463.6 Q 2.75(yw)
-.165 G(ere in a Normal Block.)-2.75 E
(De\214ned Drop Codes for Drop Blocks are as follo)5.5 E(ws.)-.275 E F1
(Drop Code)199.8 482.6 Q(Meaning)13.2 E 6.6(--------- -------)199.8
495.6 R 39.6(0P)226.2 508.6 S(rotocol Constraints)-39.6 E 39.6(1A)226.2
521.6 S(pplication Not Listening)-39.6 E 39.6(2R)226.2 534.6 S
(eceive Buffer)-39.6 E 39.6(3C)226.2 547.6 S(orrupt)-39.6 E 26.4
(4-6 Reserved)219.6 560.6 R 39.6(7D)226.2 573.6 S(elivered Corrupt)-39.6
E(Table 7: DCCP Drop Codes)232.8 599.6 Q F0(In more detail:)100.8 618.6
Q/F2 11/Times-Bold@0 SF(0)129.6 635.2 Q F0(The pack)23.3 E(et data w)
-.11 E(as dropped due to protocol constraints.)-.11 E -.165(Fo)5.5 G
2.75(re).165 G(xample, the)-2.915 E(data w)158.4 648.2 Q
(as included on a DCCP-Request pack)-.11 E(et, b)-.11 E(ut the recei)
-.22 E(ving application)-.275 E(does not allo)158.4 661.2 Q 2.75(ws)
-.275 G(uch piggybacking; or the data w)-2.75 E(as included on a pack)
-.11 E(et with)-.11 E(inappropriately lo)158.4 674.2 Q 2.75(wC)-.275 G
(hecksum Co)-2.75 E -.165(ve)-.165 G(rage.).165 E F2(1)129.6 690.8 Q F0
(The pack)23.3 E(et data w)-.11 E
(as dropped because the application is no longer listening.)-.11 E
(See Section 11.7.2.)158.4 703.8 Q -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(11.7. [P)2.75 F(age 74])
-.165 E 0 Cg EP
%%Page: 75 75
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(2)129.6 85 Q F0(The pack)23.3 E(et data w)-.11 E
(as dropped in a recei)-.11 E .33 -.165(ve b)-.275 H(uf)-.055 E(fer)
-.275 E 2.75(,p)-.44 G(robably because of recei)-2.75 E -.165(ve)-.275 G
-.22(bu)158.4 98 S -.275(ff).22 G(er o).275 E -.165(ve)-.165 G(r\215o)
.165 E 4.18 -.715(w. S)-.275 H(ee Section 11.7.2.).715 E F1(3)129.6
114.6 Q F0(The pack)23.3 E(et data w)-.11 E
(as dropped due to corruption.)-.11 E(See Section 9.3.)5.5 E F1(7)129.6
131.2 Q F0(The pack)23.3 E(et data w)-.11 E(as corrupted, b)-.11 E
(ut deli)-.22 E -.165(ve)-.275 G(red to the application an).165 E(yw)
-.165 E(ay)-.11 E 5.5(.S)-.715 G(ee)-5.5 E(Section 9.3.)158.4 144.2 Q
-.165(Fo)100.8 160.8 S 2.75(re).165 G(xample, assume a pack)-2.915 E
(et arri)-.11 E -.165(ve)-.275 G 2.75(sw).165 G(ith Ackno)-2.75 E
(wledgement Number 100, an Ack V)-.275 E(ector)-1.221 E
(reporting all pack)100.8 173.8 Q(ets as recei)-.11 E -.165(ve)-.275 G
(d, and a Data Dropped option containing the decimal v).165 E(alues)
-.275 E 2.75(0,160,3,162. Then:)100.8 186.8 R -.165(Pa)129.6 203.4 S(ck)
.165 E(et 100 w)-.11 E(as recei)-.11 E -.165(ve)-.275 G 2.75(d\().165 G
(Ackno)-2.75 E(wledgement Number 100, Normal Block, Run)-.275 E
(Length 0\).)129.6 216.4 Q -.165(Pa)129.6 233 S(ck).165 E(et 99 w)-.11 E
(as dropped in a recei)-.11 E .33 -.165(ve b)-.275 H(uf)-.055 E
(fer \(Drop Block, Drop Code 2, Run Length)-.275 E(0\).)129.6 246 Q
-.165(Pa)129.6 262.6 S(ck).165 E(ets 98, 97, 96, and 95 were recei)-.11
E -.165(ve)-.275 G 2.75(d\().165 G(Normal Block, Run Length 3\).)-2.75 E
-.165(Pa)129.6 279.2 S(ck).165 E
(ets 95, 94, and 93 were dropped in the recei)-.11 E .33 -.165(ve b)
-.275 H(uf)-.055 E(fer \(Drop Block, Drop Code)-.275 E
(2, Run Length 2\).)129.6 292.2 Q(Run lengths of more than 128 \(for No\
rmal Blocks\) or 16 \(for Drop Blocks\) must be)100.8 308.8 Q
(encoded in multiple Blocks.)100.8 321.8 Q 2.75(As)5.5 G
(ingle Data Dropped option can ackno)-2.75 E(wledge up to 32384)-.275 E
(Normal Block data pack)100.8 334.8 Q(ets, although the recei)-.11 E
-.165(ve)-.275 G 2.75(rS).165 G(HOULD NO)-2.75 E 2.75(Ts)-.44 G
(end a Data Dropped)-2.75 E(option when all rele)100.8 347.8 Q -.275(va)
-.275 G(nt pack).275 E(ets \214t into Normal Blocks.)-.11 E
(Should more pack)5.5 E(ets need to be)-.11 E(ackno)100.8 360.8 Q(wledg\
ed than can \214t in 253 bytes of Data Dropped, then multiple Data Drop\
ped)-.275 E(options can be sent.)100.8 373.8 Q
(The second option will be)5.5 E(gin where the \214rst left of)-.165 E
(f, and so forth.)-.275 E
(One or more Data Dropped options that, together)100.8 390.4 Q 2.75(,r)
-.44 G(eport the status of more pack)-2.75 E(ets than)-.11 E(ha)100.8
403.4 Q .33 -.165(ve b)-.22 H
(een sent, or that change the status of a pack).165 E
(et, or that disagree with Ack V)-.11 E(ector or)-1.221 E(equi)100.8
416.4 Q -.275(va)-.275 G(lent options \(by reporting a "not yet recei)
.275 E -.165(ve)-.275 G(d" pack).165 E(et as "dropped in the recei)-.11
E -.165(ve)-.275 G -.22(bu)100.8 429.4 S -.275(ff).22 G(er", for e).275
E(xample\), SHOULD be considered in)-.165 E -.275(va)-.44 G 2.75
(lid. The).275 F(recei)2.75 E(ving DCCP SHOULD)-.275 E(either ignore su\
ch options, or respond by resetting the connection with Reset Code 5,)
100.8 442.4 Q("Option Error".)100.8 455.4 Q 2.75(AD)100.8 472 S
(CCP application interf)-2.75 E(ace should let recei)-.11 E
(ving applications specify the Drop Codes)-.275 E
(corresponding to recei)100.8 485 Q -.165(ve)-.275 G 2.75(dp).165 G(ack)
-2.75 E 2.75(ets. F)-.11 F(or e)-.165 E(xample, this w)-.165 E
(ould let applications calculate their)-.11 E -.275(ow)100.8 498 S 2.75
(nc).275 G(hecksums, b)-2.75 E
(ut still report "dropped due to corruption" pack)-.22 E
(ets via the Data Dropped)-.11 E 2.75(option. The)100.8 511 R(interf)
2.75 E(ace SHOULD NO)-.11 E 2.75(Tl)-.44 G
(et applications reduce the "seriousness" of a)-2.75 E(pack)100.8 524 Q
(et')-.11 E 2.75(sD)-.605 G(rop Code; for e)-2.75 E
(xample, the application should not be able to upgrade a pack)-.165 E
(et)-.11 E(from deli)100.8 537 Q -.165(ve)-.275 G
(red corrupt \(Drop Code 7\) to deli).165 E -.165(ve)-.275 G
(red normally \(no Drop Code\).).165 E
(Data Dropped information is transmitted reliably)100.8 553.6 Q 5.5(.T)
-.715 G(hat is, endpoints SHOULD continue to)-5.5 E
(transmit Data Dropped options until recei)100.8 566.6 Q(ving an ackno)
-.275 E(wledgement indicating that the)-.275 E(rele)100.8 579.6 Q -.275
(va)-.275 G(nt options ha).275 E .33 -.165(ve b)-.22 H(een processed.)
.165 E(In Ack V)5.5 E(ector terms, each ackno)-1.221 E
(wledgement should)-.275 E(contain Data Dropped options that co)100.8
592.6 Q -.165(ve)-.165 G 2.75(rt).165 G(he whole Ackno)-2.75 E
(wledgement W)-.275 E(indo)-.44 E 2.75(w\()-.275 G(Section)-2.75 E
(11.4.2\), although when e)100.8 605.6 Q -.165(ve)-.275 G(ry pack).165 E
(et in that windo)-.11 E 2.75(ww)-.275 G
(ould be placed in a Normal Block no)-2.86 E(actual option is required.)
100.8 618.6 Q F1 2.75(11.7.1. Data)72 644.6 R(Dr)2.75 E
(opped and Normal Congestion Response)-.198 E F0
(When deciding on a response to a particular ackno)100.8 661.2 Q
(wledgement or set of ackno)-.275 E(wledgements)-.275 E(containing Data\
 Dropped options, a congestion control mechanism MUST consider)100.8
674.2 Q(dropped pack)100.8 687.2 Q
(ets and ECN Congestion Experienced marks \(including mark)-.11 E
(ed pack)-.11 E(ets that)-.11 E
(are included in Data Dropped\), as well as the pack)100.8 700.2 Q
(ets singled out in Data Dropped.)-.11 E -.165(Fo)5.5 G(r).165 E(windo)
100.8 713.2 Q(w-based mechanisms, the v)-.275 E
(alid response space is de\214ned as follo)-.275 E(ws.)-.275 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 216.51(yd Section)-.11 F 2.75
(11.7.1. [P)2.75 F(age 75])-.165 E 0 Cg EP
%%Page: 76 76
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Assume an old windo)100.8 85 Q 2.75(wo)-.275 G 2.75(fW)-2.75 G 5.5(.I)
-3.762 G(ndependently calculate a ne)-5.5 E 2.75(ww)-.275 G(indo)-2.75 E
2.75(wW)-.275 G(_ne)-2.75 E(w1 that)-.275 E(assumes no pack)100.8 98 Q
(ets were Data Dropped \(so W_ne)-.11 E
(w1 contains only the normal congestion)-.275 E(response\), and a ne)
100.8 111 Q 2.75(ww)-.275 G(indo)-2.75 E 2.75(wW)-.275 G(_ne)-2.75 E
(w2 that assumes no pack)-.275 E(ets were lost or mark)-.11 E(ed \(so)
-.11 E(W_ne)100.8 124 Q(w2 contains only the Data Dropped response\).)
-.275 E 1.76 -.88(We a)5.5 H(re assuming that Data Dropped).88 E
(recommended a reduction in congestion windo)100.8 137 Q 1.43 -.715
(w, s)-.275 H 2.75(oW).715 G(_ne)-2.75 E(w2 < W)-.275 E(.)-1.012 E
(Then the actual ne)100.8 153.6 Q 2.75(ww)-.275 G(indo)-2.75 E 2.75(wW)
-.275 G(_ne)-2.75 E 2.75(wM)-.275 G(UST NO)-2.75 E 2.75(Tb)-.44 G 2.75
(el)-2.75 G(ar)-2.75 E(ger than the minimum of W_ne)-.198 E(w1)-.275 E
(and W_ne)100.8 166.6 Q(w2; and the sender MA)-.275 E 2.75(Yc)-1.155 G
(ombine the tw)-2.75 E 2.75(or)-.11 G(esponses, by setting)-2.75 E(W_ne)
117.3 179.6 Q 2.75(w=W+m)-.275 G(in\(W_ne)-2.75 E(w1 - W)-.275 E 2.75
(,0)-1.012 G 2.75(\)+m)-2.75 G(in\(W_ne)-2.75 E(w2 - W)-.275 E 2.75(,0)
-1.012 G(\).)-2.75 E(The details of ho)100.8 196.2 Q 2.75(wt)-.275 G
(his is accomplished are speci\214ed in CCID pro\214le documents.)-2.75
E(Non-)5.5 E(windo)100.8 209.2 Q
(w-based congestion control mechanisms MUST beha)-.275 E .33 -.165(ve a)
-.22 H(nalogously; ag).165 E(ain, CCID)-.055 E(pro\214les de\214ne ho)
100.8 222.2 Q -.715(w.)-.275 G/F1 11/Times-Bold@0 SF 2.75(11.7.2. P)72
248.2 R(articular Dr)-.11 E(op Codes)-.198 E F0
(Drop Code 0, Protocol Constraints, does not indicate an)100.8 264.8 Q
2.75(yk)-.165 G(ind of congestion, so the)-2.75 E(sender')100.8 277.8 Q
2.75(sC)-.605 G(CID SHOULD react to pack)-2.75 E
(ets with Drop Code 0 as if the)-.11 E 2.75(yw)-.165 G(ere recei)-2.75 E
-.165(ve)-.275 G 2.75(d\().165 G(with)-2.75 E
(or without ECN Congestion Experienced marks, as appropriate\).)100.8
290.8 Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he sending).44 E(endpoint SHOULD NO)100.8 303.8 Q 2.75(Ts)-.44 G
(end data until it belie)-2.75 E -.165(ve)-.275 G 2.75(st).165 G
(he protocol constraint no longer)-2.75 E(applies.)100.8 316.8 Q(Drop C\
ode 1, Application Not Listening, means the application running at the \
endpoint)100.8 333.4 Q
(that sent the option is no longer listening for data.)100.8 346.4 Q
-.165(Fo)5.5 G 2.75(re).165 G(xample, a serv)-2.915 E
(er might close its)-.165 E(recei)100.8 359.4 Q
(ving half-connection to ne)-.275 E 2.75(wd)-.275 G(ata after recei)
-2.75 E(ving a complete request from the client.)-.275 E(This w)100.8
372.4 Q(ould limit the amount of state a)-.11 E -.275(va)-.22 G
(ilable at the serv).275 E(er for incoming data, and thus)-.165 E
(reduce the potential damage from certain denial-of-service attacks.)
100.8 385.4 Q 2.75(AD)5.5 G(ata Dropped option)-2.75 E
(containing Drop Code 1 SHOULD be sent whene)100.8 398.4 Q -.165(ve)
-.275 G 2.75(rr).165 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(dd).165 G
(ata is ignored due to a non-)-2.75 E(listening application.)100.8 411.4
Q(Once an endpoint reports Drop Code 1 for a pack)5.5 E(et, it SHOULD)
-.11 E(report Drop Code 1 for e)100.8 424.4 Q -.165(ve)-.275 G
(ry succeeding data pack).165 E(et on that half-connection; once an)-.11
E(endpoint recei)100.8 437.4 Q -.165(ve)-.275 G 2.75(saD).165 G
(rop State 1 report, it SHOULD e)-2.75 E(xpect that no more data will e)
-.165 E -.165(ve)-.275 G 2.75(rb).165 G(e)-2.75 E(deli)100.8 450.4 Q
-.165(ve)-.275 G(red to the other endpoint').165 E 2.75(sa)-.605 G
(pplication, so it SHOULD NO)-2.75 E 2.75(Ts)-.44 G(end more data.)-2.75
E(Drop Code 2, Recei)100.8 467 Q .33 -.165(ve B)-.275 H(uf).165 E(fer)
-.275 E 2.75(,i)-.44 G(ndicates congestion inside the recei)-2.75 E
(ving host.)-.275 E -.165(Fo)5.5 G 2.75(ri).165 G(nstance,)-2.75 E
(if a drop-from-tail k)100.8 480 Q(ernel sock)-.11 E(et b)-.11 E(uf)-.22
E(fer is too full to accept a pack)-.275 E(et')-.11 E 2.75(sa)-.605 G
(pplication data, that)-2.75 E(pack)100.8 493 Q
(et should be reported as Drop Code 2.)-.11 E -.165(Fo)5.5 G 2.75(rad)
.165 G(rop-from-head or more comple)-2.75 E 2.75(xs)-.165 G(ock)-2.75 E
(et)-.11 E -.22(bu)100.8 506 S -.275(ff).22 G(er).275 E 2.75(,t)-.44 G
(he dropped pack)-2.75 E(et should be reported as Drop Code 2.)-.11 E
(DCCP implementations)5.5 E(may also pro)100.8 519 Q
(vide an API by which applications can mark recei)-.165 E -.165(ve)-.275
G 2.75(dp).165 G(ack)-2.75 E(ets as Drop Code 2,)-.11 E
(indicating that the application ran out of space in its user)100.8 532
Q(-le)-.22 E -.165(ve)-.275 G 2.75(lr).165 G(ecei)-2.75 E .33 -.165
(ve b)-.275 H(uf)-.055 E(fer)-.275 E 5.5(.\()-.605 G(Ho)-5.5 E(we)-.275
E -.165(ve)-.275 G .88 -.44(r, i).165 H(t).44 E
(is not generally useful to report pack)100.8 545 Q
(ets as dropped due to Drop Code 2 after more than a)-.11 E
(couple round-trip times ha)100.8 558 Q .33 -.165(ve p)-.22 H 2.75
(assed. The).165 F(HC-Sender may ha)2.75 E .33 -.165(ve f)-.22 H(or).165
E(gotten its)-.198 E(ackno)100.8 571 Q(wledgement state for the pack)
-.275 E(et by that time, so the Data Dropped report will ha)-.11 E .33
-.165(ve n)-.22 H(o).165 E(ef)100.8 584 Q 2.75(fect.\) Ev)-.275 F
(ery pack)-.165 E(et ne)-.11 E(wly ackno)-.275 E
(wledged as Drop Code 2 SHOULD reduce the sender')-.275 E(s)-.605 E
(instantaneous rate by one pack)100.8 597 Q
(et per round-trip time, unless the sender is already sending)-.11 E
(one pack)100.8 610 Q(et per R)-.11 E(TT or less.)-.66 E
(Each CCID pro\214le de\214nes the CCID-speci\214c mechanism by)5.5 E
(which this is accomplished.)100.8 623 Q(Currently)100.8 639.6 Q 2.75
(,t)-.715 G
(he other Drop Codes, namely Drop Code 3, Corrupt, Drop Code 7, Deli)
-2.75 E -.165(ve)-.275 G(red).165 E(Corrupt, and reserv)100.8 652.6 Q
(ed Drop Codes 4-6, MUST cause the rele)-.165 E -.275(va)-.275 G
(nt CCID to beha).275 E .33 -.165(ve a)-.22 H 2.75(si).165 G 2.75(ft)
-2.75 G(he)-2.75 E(rele)100.8 665.6 Q -.275(va)-.275 G(nt pack).275 E
(ets were ECN mark)-.11 E(ed \(ECN Congestion Experienced\).)-.11 E F1
(12.)72 691.6 Q/F2 14/Times-Bold@0 SF
(Explicit Congestion Noti\214cation)5.5 E F0
(The DCCP protocol is fully ECN-a)100.8 708.2 Q -.11(wa)-.165 G
(re [RFC 3168].).11 E(Each CCID speci\214es ho)5.5 E 2.75(wi)-.275 G(ts)
-2.75 E(endpoints respond to ECN marks.)100.8 721.2 Q(Furthermore, DCCP)
5.5 E 2.75(,u)-1.221 G(nlik)-2.75 E 2.75(eT)-.11 G(CP)-2.75 E 2.75(,a)
-1.221 G(llo)-2.75 E(ws senders to)-.275 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(12. [P)
2.75 F(age 76])-.165 E 0 Cg EP
%%Page: 77 77
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(control the rate at which ackno)100.8 85 Q
(wledgements are generated \(with options lik)-.275 E 2.75(eA)-.11 G
(ck Ratio\);)-2.75 E(since ackno)100.8 98 Q
(wledgements are congestion-controlled, the)-.275 E 2.75(ya)-.165 G
(lso qualify as ECN-Capable)-2.75 E -.385(Tr)100.8 111 S(ansport.).385 E
2.75(AC)100.8 127.6 S(CID pro\214le describes ho)-2.75 E 2.75(wt)-.275 G
(hat CCID interacts with ECN, both for data traf)-2.75 E(\214c and)-.275
E(pure-ackno)100.8 140.6 Q(wledgement traf)-.275 E 2.75(\214c. A)-.275 F
(sender SHOULD set ECN-Capable T)2.75 E(ransport on its)-.385 E(pack)
100.8 153.6 Q(ets' IP headers, unless the recei)-.11 E -.165(ve)-.275 G
(r').165 E 2.75(sE)-.605 G(CN Incapable feature is on or the rele)-2.75
E -.275(va)-.275 G(nt CCID).275 E(disallo)100.8 166.6 Q(ws it.)-.275 E(\
The rest of this section describes the ECN Incapable feature and the in\
teraction of the ECN)100.8 183.2 Q(Nonce with ackno)100.8 196.2 Q
(wledgement options such as Ack V)-.275 E(ector)-1.221 E(.)-.605 E/F1 11
/Times-Bold@0 SF(12.1.)72 222.2 Q/F2 13/Times-Bold@0 SF(ECN Incapable F)
5.5 E(eatur)-.325 E(e)-.234 E F0(DCCP endpoints are ECN-a)100.8 238.8 Q
-.11(wa)-.165 G(re by def).11 E(ault, b)-.11 E
(ut the ECN Incapable feature lets an)-.22 E
(endpoint reject the use of Explicit Congestion Noti\214cation.)100.8
251.8 Q(The use of this feature is NO)5.5 E(T)-.44 E 2.75
(RECOMMENDED. ECN)100.8 264.8 R(incapability both a)2.75 E -.22(vo)-.22
G(ids ECN').22 E 2.75(sp)-.605 G(ossible bene\214ts and pre)-2.75 E
-.165(ve)-.275 G(nts).165 E
(senders from using the ECN Nonce to check for recei)100.8 277.8 Q -.165
(ve)-.275 G 2.75(rm).165 G(isbeha)-2.75 E(vior)-.22 E 5.5(.A)-.605 G
(DCCP stack)-2.75 E(MA)100.8 290.8 Q 2.75(Yt)-1.155 G(herefore lea)-2.75
E .33 -.165(ve t)-.22 H
(he ECN Incapable feature unimplemented, acting as if all).165 E
(connections were ECN capable.)100.8 303.8 Q(It is w)5.5 E
(orth noting that the inappropriate \214re)-.11 E -.11(wa)-.275 G(ll).11
E(interactions that dogged TCP')100.8 316.8 Q 2.75(si)-.605 G
(mplementation of ECN [RFC 3360] in)-2.75 E -.22(vo)-.44 G(lv).22 E 2.75
(eT)-.165 G(CP header)-2.75 E(bits, not the IP header')100.8 329.8 Q
2.75(sE)-.605 G(CN bits; we kno)-2.75 E 2.75(wo)-.275 G 2.75(fn)-2.75 G
2.75(om)-2.75 G(iddlebox that w)-2.75 E(ould block ECN-)-.11 E
(capable DCCP pack)100.8 342.8 Q(ets, b)-.11 E(ut allo)-.22 E 2.75(wE)
-.275 G(CN-incapable DCCP pack)-2.75 E(ets.)-.11 E
(ECN Incapable has feature number 4, and is serv)100.8 359.4 Q(er)-.165
E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte Boolean)-.11 E -.275(va)100.8 372.4 S 2.75(lues. DCCP).275
F 2.75(AM)2.75 G(UST be able to read ECN bits from recei)-2.75 E -.165
(ve)-.275 G 2.75(df).165 G(rames' IP headers when)-2.75 E
(ECN Incapable/A is zero.)100.8 385.4 Q
(\(This is independent of whether it can set ECN bits on sent)5.5 E 2.75
(frames.\) DCCP)100.8 398.4 R 2.75(At)2.75 G
(hus sends a "Change L\(ECN Inapable, 1\)" option to DCCP B to inform)
-2.75 E(it that A cannot read ECN bits.)100.8 411.4 Q
(If the ECN Incapable/A feature is one, then all of)5.5 E(DCCP B')100.8
424.4 Q 2.75(sp)-.605 G(ack)-2.75 E(ets MUST be sent as ECN incapable.)
-.11 E(Ne)5.5 E 2.75(wc)-.275 G(onnections start with ECN)-2.75 E
(Incapable 0 \(that is, ECN capable\) for both endpoints.)100.8 437.4 Q
-1.221(Va)5.5 G(lues of tw)1.221 E 2.75(oo)-.11 G 2.75(rm)-2.75 G
(ore are reserv)-2.75 E(ed.)-.165 E(If a DCCP is not ECN capable, it MU\
ST send Mandatory "Change L\(ECN Incapable, 1\)")100.8 454 Q
(options to the other endpoint until ackno)100.8 467 Q
(wledged \(by "Con\214rm R\(ECN Incapable, 1\)"\) or)-.275 E
(the connection closes.)100.8 480 Q(Furthermore, it MUST NO)5.5 E 2.75
(Ta)-.44 G(ccept an)-2.75 E 2.75(yd)-.165 G(ata until the other)-2.75 E
(endpoint sends "Con\214rm R\(ECN Incapable, 1\)".)100.8 493 Q
(It SHOULD send Data Dropped options)5.5 E(on its ackno)100.8 506 Q(wle\
dgements, with Drop Code 0 \("protocol constraints"\), if the other end\
point)-.275 E(does send data inappropriately)100.8 519 Q(.)-.715 E F1
(12.2.)72 545 Q F2(ECN Nonces)5.5 E F0(Congestion a)100.8 561.6 Q -.22
(vo)-.22 G(idance will not occur).22 E 2.75(,a)-.44 G(nd the recei)-2.75
E -.165(ve)-.275 G 2.75(rw).165 G(ill sometimes get its data f)-2.75 E
(aster)-.11 E 2.75(,i)-.44 G(f)-2.75 E(the sender isn')100.8 574.6 Q
2.75(tt)-.198 G(old about congestion e)-2.75 E -.165(ve)-.275 G 2.75
(nts. Thus,).165 F(the recei)2.75 E -.165(ve)-.275 G 2.75(rh).165 G
(as some incenti)-2.75 E .33 -.165(ve t)-.275 H(o).165 E -.11(fa)100.8
587.6 S(lsify ackno).11 E(wledgement information, reporting that mark)
-.275 E(ed or dropped pack)-.11 E(ets were)-.11 E(actually recei)100.8
600.6 Q -.165(ve)-.275 G 2.75(du).165 G(nmark)-2.75 E 2.75(ed. This)-.11
F(problem is more serious with DCCP than with TCP)2.75 E(,)-1.221 E
(since TCP pro)100.8 613.6 Q(vides reliable transport: it is more dif)
-.165 E(\214cult with TCP to lie about lost pack)-.275 E(ets)-.11 E
(without breaking the application.)100.8 626.6 Q
(ECN Nonces are a general mechanism to pre)100.8 643.2 Q -.165(ve)-.275
G(nt ECN cheating \(or loss cheating\).).165 E -1.1 -.88(Tw o)5.5 H
-.275(va)100.8 656.2 S(lues for the tw).275 E
(o-bit ECN header \214eld indicate ECN-Capable T)-.11 E
(ransport, 01 and 10.)-.385 E(The)5.5 E
(second code point, 10, is the ECN Nonce.)100.8 669.2 Q
(In general, a protocol sender chooses between)5.5 E
(these code points randomly on its output pack)100.8 682.2 Q
(ets, remembering the sequence it chose.)-.11 E(The)5.5 E
(protocol recei)100.8 695.2 Q -.165(ve)-.275 G 2.75(rr).165 G
(eports, on e)-2.75 E -.165(ve)-.275 G(ry ackno).165 E
(wledgement, the number of ECN Nonces it has)-.275 E(recei)100.8 708.2 Q
-.165(ve)-.275 G 2.75(dt).165 G(hus f)-2.75 E(ar)-.11 E 5.5(.T)-.605 G
(his is called the ECN Nonce Echo.)-5.5 E(Since ECN marking and pack)5.5
E(et)-.11 E(dropping both destro)100.8 721.2 Q 2.75(yt)-.11 G
(he ECN Nonce, a recei)-2.75 E -.165(ve)-.275 G 2.75(rt).165 G
(hat lies about an ECN mark or pack)-2.75 E(et)-.11 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(12.2. [P)2.75 F(age 77])-.165 E 0 Cg EP
%%Page: 78 78
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(drop has a 50% chance of guessing right and a)100.8 85 Q -.22(vo)-.22 G
(iding discipline.).22 E(The sender may react)5.5 E(puniti)100.8 98 Q
-.165(ve)-.275 G
(ly to an ECN Nonce mismatch, possibly up to dropping the connection.)
.165 E(The ECN)5.5 E(Nonce Echo \214eld need not be an inte)100.8 111 Q
(ger; one bit is enough to catch 50% of infractions, and)-.165 E
(the probability of success drops e)100.8 124 Q
(xponentially as more pack)-.165 E(ets are sent [RFC 3540].)-.11 E
(In DCCP)100.8 140.6 Q 2.75(,t)-1.221 G
(he ECN Nonce Echo \214eld is encoded in ackno)-2.75 E
(wledgement options.)-.275 E -.165(Fo)5.5 G(r).165 E -.165(ex)100.8
153.6 S(ample, the Ack V).165 E(ector option comes in tw)-1.221 E 2.75
(of)-.11 G(orms, Ack V)-2.75 E(ector [Nonce 0] \(option 38\) and)-1.221
E(Ack V)100.8 166.6 Q
(ector [Nonce 1] \(option 39\), corresponding to the tw)-1.221 E 2.75
(ov)-.11 G(alues for a one-bit ECN)-3.025 E(Nonce Echo.)100.8 179.6 Q
(The Nonce Echo for a gi)5.5 E -.165(ve)-.275 G 2.75(nA).165 G(ck V)
-2.75 E(ector equals the one-bit sum \(e)-1.221 E(xclusi)-.165 E -.165
(ve)-.275 G(-).165 E(or)100.8 192.6 Q 2.75(,o)-.44 G 2.75(rp)-2.75 G
(arity\) of ECN nonces for pack)-2.75 E(ets reported by that Ack V)-.11
E(ector as recei)-1.221 E -.165(ve)-.275 G 2.75(da).165 G(nd not)-2.75 E
(ECN mark)100.8 205.6 Q 2.75(ed. Thus,)-.11 F(only pack)2.75 E(ets mark)
-.11 E(ed as State 0 matter for this calculation \(that is,)-.11 E -.275
(va)100.8 218.6 S(lid recei).275 E -.165(ve)-.275 G 2.75(dp).165 G(ack)
-2.75 E(ets that were not ECN mark)-.11 E 2.75(ed\). Ev)-.11 F
(ery Ack V)-.165 E(ector option is detailed)-1.221 E
(enough for the sender to determine what the Nonce Echo should ha)100.8
231.6 Q .33 -.165(ve b)-.22 H 2.75(een. It).165 F(can check)2.75 E
(this calculation ag)100.8 244.6 Q
(ainst the actual Nonce Echo, and complain if there is a mismatch.)-.055
E(\(The)5.5 E(Ack V)100.8 257.6 Q(ector could concei)-1.221 E -.275(va)
-.275 G(bly report e).275 E -.165(ve)-.275 G(ry pack).165 E(et')-.11 E
2.75(sE)-.605 G(CN Nonce state, b)-2.75 E(ut this w)-.22 E(ould)-.11 E
(se)100.8 270.6 Q -.165(ve)-.275 G
(rely limit its compressibility without pro).165 E(viding much e)-.165 E
(xtra protection.\))-.165 E
(Each DCCP sender SHOULD set ECN Nonces on its pack)100.8 287.2 Q
(ets, and remember which)-.11 E(pack)100.8 300.2 Q(ets had nonces.)-.11
E(When a sender detects an ECN Nonce Echo mismatch, it beha)5.5 E -.165
(ve)-.22 G 2.75(sa).165 G(s)-2.75 E(described in the ne)100.8 313.2 Q
(xt section.)-.165 E(Each DCCP recei)5.5 E -.165(ve)-.275 G 2.75(rM).165
G(UST calculate and use the correct)-2.75 E -.275(va)100.8 326.2 S
(lue for ECN Nonce Echo when sending ackno).275 E(wledgement options.)
-.275 E(ECN incapability)100.8 342.8 Q 2.75(,a)-.715 G 2.75(si)-2.75 G
(ndicated by the ECN Incapable feature, is handled as follo)-2.75 E
(ws: An)-.275 E(endpoint sending pack)100.8 355.8 Q
(ets to an ECN-incapable recei)-.11 E -.165(ve)-.275 G 2.75(rM).165 G
(UST send its pack)-2.75 E(ets as ECN)-.11 E
(incapable, and an ECN-incapable recei)100.8 368.8 Q -.165(ve)-.275 G
2.75(rM).165 G(UST use the v)-2.75 E(alue zero for all ECN Nonce)-.275 E
(Echoes.)100.8 381.8 Q/F1 11/Times-Bold@0 SF(12.3.)72 407.8 Q/F2 13
/Times-Bold@0 SF(Aggr)5.5 E(ession P)-.234 E(enalties)-.26 E F0
(DCCP endpoints ha)100.8 424.4 Q .33 -.165(ve s)-.22 H -2.365 -.275
(ev e).165 H(ral mechanisms for detecting congestion-related misbeha)
.275 E(vior)-.22 E(.)-.605 E -.165(Fo)100.8 437.4 S 2.75(re).165 G
(xample:)-2.915 E 12.65<8341>100.8 454 S(sender can detect an ECN Nonce\
 Echo mismatch, indicating possible recei)-9.9 E -.165(ve)-.275 G(r).165
E(misbeha)117.3 467 Q(vior)-.22 E(.)-.605 E 12.65<8341>100.8 483.6 S
(recei)-9.9 E -.165(ve)-.275 G 2.75(rc).165 G(an detect whether the sen\
der is responding to congestion feedback or Slo)-2.75 E(w)-.275 E(Recei)
117.3 496.6 Q -.165(ve)-.275 G -.605(r.).165 G 12.65<8341>100.8 513.2 S
2.75(ne)-12.65 G(ndpoint may be able to detect that its peer is reporti\
ng inappropriately small)-2.75 E(Elapsed T)117.3 526.2 Q(ime v)-.385 E
(alues \(Section 13.2\).)-.275 E
(An endpoint that detects possible congestion-related misbeha)100.8
542.8 Q(vior SHOULD try to v)-.22 E(erify)-.165 E
(that its peer is truly misbeha)100.8 555.8 Q 2.75(ving. F)-.22 F(or e)
-.165 E(xample, a sending endpoint might send a pack)-.165 E(et)-.11 E
(whose ECN header \214eld is set to Congestion Experienced, 11; a recei)
100.8 568.8 Q -.165(ve)-.275 G 2.75(rt).165 G(hat doesn')-2.75 E 2.75
(tr)-.198 G(eport)-2.75 E 2.75(ac)100.8 581.8 S
(orresponding mark is most lik)-2.75 E(ely misbeha)-.11 E(ving.)-.22 E
(Upon detecting possible misbeha)100.8 598.4 Q(vior)-.22 E 2.75(,as)-.44
G(ender SHOULD respond as if the recei)-2.75 E -.165(ve)-.275 G 2.75(rh)
.165 G(ad)-2.75 E(reported one or more recent pack)100.8 611.4 Q
(ets as ECN-mark)-.11 E(ed \(instead of unmark)-.11 E(ed\), while a)-.11
E(recei)100.8 624.4 Q -.165(ve)-.275 G 2.75(rS).165 G
(HOULD report one or more recent non-mark)-2.75 E(ed pack)-.11 E
(ets as ECN-mark)-.11 E(ed.)-.11 E(Alternately)100.8 637.4 Q 2.75(,as)
-.715 G(ender might act as if the recei)-2.75 E -.165(ve)-.275 G 2.75
(rh).165 G(ad sent a Slo)-2.75 E 2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)
-.275 G 2.75(ro).165 G(ption, and a)-2.75 E(recei)100.8 650.4 Q -.165
(ve)-.275 G 2.75(rm).165 G(ight send Slo)-2.75 E 2.75(wR)-.275 G(ecei)
-2.75 E -.165(ve)-.275 G 2.75(ro).165 G 2.75(ptions. Other)-2.75 F
(reactions that serv)2.75 E 2.75(et)-.165 G 2.75(os)-2.75 G(lo)-2.75 E
2.75(wt)-.275 G(he transfer)-2.75 E(rate are also acceptable.)100.8
663.4 Q(An entity that detects particularly e)5.5 E(gre)-.165 E
(gious and ongoing)-.165 E(misbeha)100.8 676.4 Q(vior MA)-.22 E 2.75(Ya)
-1.155 G
(lso reset the connection with Reset Code 11, "Aggression Penalty".)
-2.75 E(Ho)100.8 693 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, E).165 H
(CN Nonce mismatches and other w).44 E
(arning signs can result from innocent)-.11 E
(causes, such as implementation b)100.8 706 Q(ugs or attack.)-.22 E
(In particular)5.5 E 2.75(,as)-.44 G(uccessful DCCP-Data)-2.75 E
(attack \(Section 7.5.5\) can cause the recei)100.8 719 Q -.165(ve)-.275
G 2.75(rt).165 G 2.75(or)-2.75 G(eport an incorrect ECN Nonce Echo.)
-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76
(yd Section)-.11 F 2.75(12.3. [P)2.75 F(age 78])-.165 E 0 Cg EP
%%Page: 79 79
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(Therefore, connection reset and other hea)100.8 85 Q
(vyweight mechanisms SHOULD be sent only as)-.22 E
(last resorts, after multiple round-trip times of v)100.8 98 Q
(eri\214ed aggression.)-.165 E/F1 11/Times-Bold@0 SF(13.)72 124 Q/F2 14
/Times-Bold@0 SF -.252(Ti)5.5 G(ming Options).252 E F0(The T)100.8 140.6
Q(imestamp, T)-.385 E(imestamp Echo, and Elapsed T)-.385 E
(ime options help DCCP endpoints)-.385 E -.165(ex)100.8 153.6 S
(plicitly measure round-trip times.).165 E F1(13.1.)72 179.6 Q/F3 13
/Times-Bold@0 SF -.234(Ti)5.5 G(mestamp Option).234 E F0
(This option is permitted in an)100.8 196.2 Q 2.75(yD)-.165 G(CCP pack)
-2.75 E 2.75(et. The)-.11 F(length of the option is 6 bytes.)2.75 E/F4
11/Courier@0 SF(+--------+--------+--------+--------+--------+--------+)
100.8 215.2 Q 59.4(|00101001|00000110| Timestamp)100.8 228.2 R 59.4
(Value |)6.6 F(+--------+--------+--------+--------+--------+--------+)
100.8 241.2 Q 6.6(Type=41 Length=6)107.4 254.2 R F0
(The four bytes of option data carry the timestamp of this pack)100.8
273.2 Q 2.75(et. The)-.11 F(timestamp is a 32-bit)2.75 E(inte)100.8
286.2 Q(ger that increases monotonically with time, at a rate of 1 unit\
 per 10 microseconds.)-.165 E(At)5.5 E(this rate, T)100.8 299.2 Q
(imestamp V)-.385 E(alue will wrap approximately e)-1.221 E -.165(ve)
-.275 G(ry 11.9 hours.).165 E(Endpoints need not)5.5 E
(measure time at this \214ne granularity; for e)100.8 312.2 Q
(xample, an endpoint that preferred to measure)-.165 E
(time at millisecond granularity might send T)100.8 325.2 Q(imestamp V)
-.385 E(alues that were all multiples of)-1.221 E 2.75(100. The)100.8
338.2 R(precise time corresponding to T)2.75 E(imestamp V)-.385 E
(alue zero is not speci\214ed: T)-1.221 E(imestamp)-.385 E -1.221(Va)
100.8 351.2 S(lues are only meaningful relati)1.221 E .33 -.165(ve t)
-.275 H 2.75(oo).165 G(ther T)-2.75 E(imestamp V)-.385 E
(alues sent on the same)-1.221 E 2.75(connection. A)100.8 364.2 R
(DCCP recei)2.75 E(ving a T)-.275 E
(imestamp option SHOULD respond with a T)-.385 E(imestamp)-.385 E
(Echo option on the ne)100.8 377.2 Q(xt pack)-.165 E(et it sends.)-.11 E
F1(13.2.)72 403.2 Q F3(Elapsed T)5.5 E(ime Option)-.234 E F0
(This option is permitted in an)100.8 419.8 Q 2.75(yD)-.165 G(CCP pack)
-2.75 E(et that contains an Ackno)-.11 E(wledgement Number)-.275 E
(\(such options recei)100.8 432.8 Q -.165(ve)-.275 G 2.75(do).165 G 2.75
(no)-2.75 G(ther pack)-2.75 E(et types MUST be ignored\).)-.11 E
(It indicates ho)5.5 E 2.75(wm)-.275 G(uch)-2.75 E
(time has elapsed, in hundredths of milliseconds \(or)100.8 445.8 Q 2.75
(,e)-.44 G(qui)-2.75 E -.275(va)-.275 G(lently).275 E 2.75(,m)-.715 G
(ultiples of)-2.75 E(10 microseconds\), since the pack)100.8 458.8 Q
(et being ackno)-.11 E(wledged -- the pack)-.275 E(et with the gi)-.11 E
-.165(ve)-.275 G(n).165 E(Ackno)100.8 471.8 Q(wledgement Number -- w)
-.275 E(as recei)-.11 E -.165(ve)-.275 G 2.75(d. The).165 F
(option may tak)2.75 E 2.75(e4o)-.11 G 2.75(r6b)-2.75 G(ytes, depending)
-2.75 E(on the size of the Elapsed T)100.8 484.8 Q(ime v)-.385 E 2.75
(alue. Elapsed)-.275 F -.385(Ti)2.75 G(me helps correct round-trip time)
.385 E(estimates when the g)100.8 497.8 Q(ap between recei)-.055 E
(ving a pack)-.275 E(et and ackno)-.11 E(wledging that pack)-.275 E
(et may be)-.11 E(long -- in CCID 3, for e)100.8 510.8 Q
(xample, where ackno)-.165 E(wledgements are sent infrequently)-.275 E
(.)-.715 E F4(+--------+--------+--------+--------+)100.8 529.8 Q 13.2
(|00101011|00000100| Elapsed)100.8 542.8 R 6.6(Time |)6.6 F
(+--------+--------+--------+--------+)100.8 555.8 Q 19.8(Type=43 Len=4)
107.4 568.8 R(+--------+--------+--------+--------+--------+--------+)
100.8 594.8 Q 72.6(|00101011|00000110| Elapsed)100.8 607.8 R 66(Time |)
6.6 F(+--------+--------+--------+--------+--------+--------+)100.8
620.8 Q 19.8(Type=43 Len=6)107.4 633.8 R F0(The option data, Elapsed T)
100.8 652.8 Q
(ime, represents an estimated upper bound on the amount of time)-.385 E
(elapsed since the pack)100.8 665.8 Q(et being ackno)-.11 E(wledged w)
-.275 E(as recei)-.11 E -.165(ve)-.275 G(d, with units of hundredths of)
.165 E 2.75(milliseconds. If)100.8 678.8 R(Elapsed T)2.75 E
(ime is less than a half-second, the \214rst, smaller form of the)-.385
E(option SHOULD be used.)100.8 691.8 Q(Elapsed T)5.5 E
(imes of more than 0.65535 seconds MUST be sent)-.385 E
(using the second form of the option.)100.8 704.8 Q
(The special Elapsed T)5.5 E(ime v)-.385 E(alue 4294967295, which)-.275
E(corresponds to approximately 11.9 hours, is used to represent an)100.8
717.8 Q 2.75(yE)-.165 G(lapsed T)-2.75 E(ime greater)-.385 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(13.2. [P)2.75 F(age 79])-.165 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(than 42949.67294 seconds.)100.8 85 Q(DCCP endpoints MUST NO)5.5 E 2.75
(Tr)-.44 G(eport Elapsed T)-2.75 E(imes that are)-.385 E
(signi\214cantly lar)100.8 98 Q(ger than the true elapsed times.)-.198 E
2.75(Ac)5.5 G(onnection MA)-2.75 E 2.75(Yb)-1.155 G 2.75(er)-2.75 G
(eset with Reset)-2.75 E(Code 11, "Aggression Penalty", if one endpoint\
 determines that the other is reporting a)100.8 111 Q(much-too-lar)100.8
124 Q(ge Elapsed T)-.198 E(ime.)-.385 E(Elapsed T)100.8 140.6 Q(ime is \
measured in hundredths of milliseconds as a compromise between tw)-.385
E(o)-.11 E(con\215icting goals.)100.8 153.6 Q(First, it pro)5.5 E
(vides enough granularity to reduce rounding error when)-.165 E
(measuring elapsed time o)100.8 166.6 Q -.165(ve)-.165 G 2.75(rf).165 G
(ast LANs; second, it allo)-2.86 E(ws man)-.275 E 2.75(yr)-.165 G
(easonable elapsed times)-2.75 E(to \214t into tw)100.8 179.6 Q 2.75(ob)
-.11 G(ytes of data.)-2.75 E/F1 11/Times-Bold@0 SF(13.3.)72 205.6 Q/F2
13/Times-Bold@0 SF -.234(Ti)5.5 G(mestamp Echo Option).234 E F0
(This option is permitted in an)100.8 222.2 Q 2.75(yD)-.165 G(CCP pack)
-2.75 E(et, as long as at least one pack)-.11 E(et carrying the)-.11 E
-.385(Ti)100.8 235.2 S(mestamp option has been recei).385 E -.165(ve)
-.275 G 2.75(d. Generally).165 F 2.75(,aD)-.715 G
(CCP endpoint should send one)-2.75 E -.385(Ti)100.8 248.2 S
(mestamp Echo option for each T).385 E(imestamp option it recei)-.385 E
-.165(ve)-.275 G(s; and it should send that).165 E
(option as soon as is con)100.8 261.2 Q -.165(ve)-.44 G 2.75(nient. The)
.165 F(length of the option is between 6 and 10 bytes,)2.75 E
(depending on whether Elapsed T)100.8 274.2 Q(ime is included and ho)
-.385 E 2.75(wl)-.275 G(ar)-2.75 E(ge it is.)-.198 E/F3 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 293.2 Q
66(|00101010|00000110| Timestamp)100.8 306.2 R 59.4(Echo |)6.6 F
(+--------+--------+--------+--------+--------+--------+)100.8 319.2 Q
19.8(Type=42 Len=6)107.4 332.2 R
(+--------+--------+------- ... -------+--------+--------+)100.8 358.2 Q
6.6(|00101010|00001000| Timestamp)100.8 371.2 R 13.2(Echo | Elapsed)6.6
F 6.6(Time |)6.6 F
(+--------+--------+------- ... -------+--------+--------+)100.8 384.2 Q
19.8(Type=42 Len=8)107.4 397.2 R(\(4 bytes\))46.2 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 423.2
Q 6.6(|00101010|00001010| Timestamp)100.8 436.2 R 13.2(Echo |)6.6 F
(Elapsed Time)26.4 E(|)19.8 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 449.2
Q 13.2(Type=42 Len=10)107.4 462.2 R(\(4 bytes\))46.2 E(\(4 bytes\))72.6
E F0(The \214rst four bytes of option data, T)100.8 481.2 Q
(imestamp Echo, carry a T)-.385 E(imestamp V)-.385 E(alue tak)-1.221 E
(en from a)-.11 E(preceding recei)100.8 494.2 Q -.165(ve)-.275 G 2.75
(dT).165 G(imestamp option.)-3.135 E(Usually)5.5 E 2.75(,t)-.715 G
(his will be the last pack)-2.75 E(et that w)-.11 E(as)-.11 E(recei)
100.8 507.2 Q -.165(ve)-.275 G 2.75(d-).165 G 2.75(-t)-2.75 G(he pack)
-2.75 E(et indicated by the Ackno)-.11 E(wledgement Number)-.275 E 2.75
(,i)-.44 G 2.75(fa)-2.75 G .33 -.165(ny -)-2.75 H 2.75(-b).165 G
(ut it might be)-2.97 E 2.75(ap)100.8 520.2 S(receding pack)-2.75 E 2.75
(et. Each)-.11 F -.385(Ti)2.75 G(mestamp recei).385 E -.165(ve)-.275 G
2.75(dw).165 G(ill generally result in e)-2.75 E(xactly one)-.165 E
-.385(Ti)100.8 533.2 S(mestamp Echo transmitted.).385 E
(If an endpoint has recei)5.5 E -.165(ve)-.275 G 2.75(dm).165 G
(ultiple T)-2.75 E(imestamp options)-.385 E
(since the last time it sent a pack)100.8 546.2 Q(et, then it MA)-.11 E
2.75(Yi)-1.155 G(gnore all T)-2.75 E(imestamp options b)-.385 E
(ut the one)-.22 E(included on the pack)100.8 559.2 Q
(et with the greatest sequence number; alternati)-.11 E -.165(ve)-.275 G
(ly).165 E 2.75(,i)-.715 G 2.75(tM)-2.75 G 2.31 -1.155(AY i)-2.75 H
(nclude)1.155 E(multiple T)100.8 572.2 Q
(imestamp Echo options in its response, each corresponding to a dif)
-.385 E(ferent)-.275 E -.385(Ti)100.8 585.2 S(mestamp option.).385 E
(The Elapsed T)100.8 601.8 Q(ime v)-.385 E
(alue, similar to that in the Elapsed T)-.275 E
(ime option, indicates the amount of)-.385 E(time elapsed since recei)
100.8 614.8 Q(ving the pack)-.275 E(et whose timestamp is being echoed.)
-.11 E(This time)5.5 E(MUST be in hundredths of milliseconds.)100.8
627.8 Q(Elapsed T)5.5 E(ime is meant to help the T)-.385 E(imestamp)
-.385 E(sender separate the netw)100.8 640.8 Q
(ork round-trip time from the T)-.11 E(imestamp recei)-.385 E -.165(ve)
-.275 G(r').165 E 2.75(sp)-.605 G(rocessing)-2.75 E 2.75(time. This)
100.8 653.8 R(may be particularly important for CCIDs where ackno)2.75 E
(wledgements are sent)-.275 E(infrequently)100.8 666.8 Q 2.75(,s)-.715 G
2.75(ot)-2.75 G(hat there might be considerable delay between recei)
-2.75 E(ving a T)-.275 E(imestamp)-.385 E
(option and sending the corresponding T)100.8 679.8 Q(imestamp Echo.)
-.385 E 2.75(Am)5.5 G(issing Elapsed T)-2.75 E(ime \214eld is)-.385 E
(equi)100.8 692.8 Q -.275(va)-.275 G(lent to an Elapsed T).275 E
(ime of zero.)-.385 E(The smallest v)5.5 E
(ersion of the option SHOULD be)-.165 E(used that can hold the rele)
100.8 705.8 Q -.275(va)-.275 G(nt Elapsed T).275 E(ime v)-.385 E(alue.)
-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76
(yd Section)-.11 F 2.75(13.3. [P)2.75 F(age 80])-.165 E 0 Cg EP
%%Page: 81 81
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(14.)72 85 Q/F2 14/Times-Bold@0 SF(Maximum P)5.5 E(ack)
-.14 E(et Size)-.14 E F0 2.75(AD)100.8 101.6 S
(CCP implementation MUST maintain the maximum pack)-2.75 E
(et size \(MPS\) allo)-.11 E(wed for)-.275 E(each acti)100.8 114.6 Q .33
-.165(ve D)-.275 H(CCP session.).165 E
(The MPS is in\215uenced by the maximum pack)5.5 E(et size allo)-.11 E
(wed by)-.275 E
(the current congestion control mechanism \(CCMPS\), the maximum pack)
100.8 127.6 Q(et size supported)-.11 E(by the path')100.8 140.6 Q 2.75
(sl)-.605 G(inks \(PMTU, the P)-2.75 E(ath Maximum T)-.165 E
(ransmission Unit\) [RFC 1191], and the)-.385 E
(lengths of the IP and DCCP headers.)100.8 153.6 Q 2.75(AD)100.8 170.2 S
(CCP application interf)-2.75 E(ace SHOULD let the application disco)
-.11 E -.165(ve)-.165 G 2.75(rD).165 G(CCP')-2.75 E 2.75(sc)-.605 G
(urrent MPS.)-2.75 E(Generally)100.8 183.2 Q 2.75(,t)-.715 G
(he DCCP implementation will refuse to send an)-2.75 E 2.75(yp)-.165 G
(ack)-2.75 E(et bigger than the MPS,)-.11 E
(returning an appropriate error to the application.)100.8 196.2 Q 2.75
(AD)5.5 G(CCP interf)-2.75 E(ace MA)-.11 E 2.75(Ya)-1.155 G(llo)-2.75 E
(w)-.275 E(applications to request fragmentation for pack)100.8 209.2 Q
(ets lar)-.11 E(ger than PMTU, b)-.198 E(ut not lar)-.22 E(ger than)
-.198 E(CCMPS \(pack)100.8 222.2 Q(ets lar)-.11 E
(ger than CCMPS MUST be rejected in an)-.198 E 2.75(yc)-.165 G 2.75
(ase\). Fragmentation)-2.75 F(SHOULD NO)100.8 235.2 Q 2.75(Tb)-.44 G
2.75(et)-2.75 G(he def)-2.75 E(ault, since it decreases rob)-.11 E
(ustness: an entire pack)-.22 E(et is discarded if)-.11 E -2.365 -.275
(ev e)100.8 248.2 T 2.75(no).275 G(ne of its fragments is lost.)-2.75 E
(Applications can usually get better error tolerance by)5.5 E
(producing pack)100.8 261.2 Q(ets smaller than the PMTU.)-.11 E(The MPS\
 reported to the application SHOULD be in\215uenced by the size e)100.8
277.8 Q(xpected to be)-.165 E(required for DCCP headers and options.)
100.8 290.8 Q(If the application pro)5.5 E(vides data that, when)-.165 E
(combined with the options the DCCP implementation w)100.8 303.8 Q
(ould lik)-.11 E 2.75(et)-.11 G 2.75(oi)-2.75 G(nclude, w)-2.75 E
(ould e)-.11 E(xceed)-.165 E(the MPS, the implementation should either \
send the options on a separate pack)100.8 316.8 Q(et \(such as a)-.11 E
(DCCP-Ack\) or lo)100.8 329.8 Q
(wer the MPS, drop the data, and return an appropriate error to the)
-.275 E(application.)100.8 342.8 Q F1(14.1.)72 368.8 Q/F3 13
/Times-Bold@0 SF(Measuring PMTU)5.5 E F0(Each DCCP endpoint MUST k)100.8
385.4 Q(eep track of the current PMTU for each connection, e)-.11 E
(xcept)-.165 E
(that this is not required for IPv4 connections whose applications ha)
100.8 398.4 Q .33 -.165(ve r)-.22 H(equested).165 E 2.75
(fragmentation. The)100.8 411.4 R
(PMTU SHOULD be initialized from the interf)2.75 E(ace MTU that will be)
-.11 E(used to send pack)100.8 424.4 Q 2.75(ets. The)-.11 F
(MPS will be initialized with the minimum of the PMTU and the)2.75 E
(CCMPS, if an)100.8 437.4 Q -.715(y.)-.165 G(Classical PMTU disco)100.8
454 Q -.165(ve)-.165 G(ry uses unfragmentable pack).165 E 2.75(ets. In)
-.11 F(IPv4, these pack)2.75 E(ets ha)-.11 E .33 -.165(ve t)-.22 H(he)
.165 E(IP Don')100.8 467 Q 2.75(tF)-.198 G
(ragment \(DF\) bit set; in IPv6, all pack)-2.75 E
(ets are unfragmentable once emitted by an)-.11 E(end host.)100.8 480 Q
(As speci\214ed in RFC 1191, when a router recei)5.5 E -.165(ve)-.275 G
2.75(sap).165 G(ack)-2.75 E(et with DF set that is)-.11 E(lar)100.8 493
Q(ger than the ne)-.198 E(xt link')-.165 E 2.75(sM)-.605 G
(TU, it sends an ICMP Destination Unreachable message back)-2.75 E
(to the source whose Code indicates that an unfragmentable pack)100.8
506 Q(et w)-.11 E(as too lar)-.11 E(ge to forw)-.198 E(ard)-.11 E
(\(a "Datagram T)100.8 519 Q(oo Big" message\).)-.88 E
(When a DCCP implementation recei)5.5 E -.165(ve)-.275 G 2.75(saD).165 G
(atagram T)-2.75 E(oo)-.88 E
(Big message, it decreases its PMTU to the Ne)100.8 532 Q(xt-Hop MTU v)
-.165 E(alue gi)-.275 E -.165(ve)-.275 G 2.75(ni).165 G 2.75(nt)-2.75 G
(he ICMP)-2.75 E 2.75(message. If)100.8 545 R(the MTU gi)2.75 E -.165
(ve)-.275 G 2.75(ni).165 G 2.75(nt)-2.75 G
(he message is zero, the sender chooses a v)-2.75 E(alue for PMTU)-.275
E(using the algorithm described in RFC 1191 \(Section 7\).)100.8 558 Q
(If the MTU gi)5.5 E -.165(ve)-.275 G 2.75(ni).165 G 2.75(nt)-2.75 G
(he message)-2.75 E(is greater than the current PMTU, the Datagram T)
100.8 571 Q(oo Big message is ignored, as described)-.88 E(in RFC 1191.)
100.8 584 Q(\(W)5.5 E 2.75(ea)-.88 G(re a)-2.75 E -.11(wa)-.165 G
(re that this may cause problems for DCCP endpoints behind).11 E
(certain \214re)100.8 597 Q -.11(wa)-.275 G(lls.\)).11 E 2.75(AD)100.8
613.6 S(CCP implementation may allo)-2.75 E 2.75(wt)-.275 G
(he application to occasionally request that PMTU)-2.75 E(disco)100.8
626.6 Q -.165(ve)-.165 G(ry be performed ag).165 E 2.75(ain. This)-.055
F(will reset the PMTU to the outgoing interf)2.75 E(ace')-.11 E 2.75(sM)
-.605 G(TU.)-2.75 E(Such requests SHOULD be rate limited, to one per tw)
100.8 639.6 Q 2.75(os)-.11 G(econds, for e)-2.75 E(xample.)-.165 E 2.75
(AD)100.8 656.2 S(CCP sender MA)-2.75 E 2.75(Yt)-1.155 G
(reat the reception of an ICMP Datagram T)-2.75 E(oo Big message as an)
-.88 E(indication that the pack)100.8 669.2 Q(et being reported w)-.11 E
(as not lost due to congestion, and so for the)-.11 E
(purposes of congestion control it MA)100.8 682.2 Q 2.75(Yi)-1.155 G
(gnore the DCCP recei)-2.75 E -.165(ve)-.275 G(r').165 E 2.75(si)-.605 G
(ndication that this)-2.75 E(pack)100.8 695.2 Q(et did not arri)-.11 E
-.165(ve)-.275 G 5.5(.H).165 G -.275(ow)-5.5 G -2.365 -.275(ev e).275 H
.88 -.44(r, i).275 H 2.75(ft).44 G
(his is done, then the DCCP sender MUST check the)-2.75 E(ECN bits of t\
he IP header echoed in the ICMP message, and only perform this)100.8
708.2 Q(optimization if these ECN bits indicate that the pack)100.8
721.2 Q(et did not e)-.11 E(xperience congestion prior)-.165 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(14.1. [P)2.75 F(age 81])-.165 E 0 Cg EP
%%Page: 82 82
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(to reaching the router whose link MTU it e)100.8 85 Q(xceeded.)-.165 E
2.75(AD)100.8 101.6 S(CCP implementation SHOULD ensure, as f)-2.75 E
(ar as possible, that ICMP Datagram T)-.11 E(oo)-.88 E
(Big messages were actually generated by routers, so that attack)100.8
114.6 Q(ers cannot dri)-.11 E .33 -.165(ve t)-.275 H(he PMTU).165 E(do)
100.8 127.6 Q(wn to a f)-.275 E(alsely small v)-.11 E 2.75(alue. The)
-.275 F(simplest w)2.75 E(ay to do this is to v)-.11 E
(erify that the Sequence)-.165 E(Number on the ICMP error')100.8 140.6 Q
2.75(se)-.605 G
(ncapsulated header corresponds to a Sequence Number that)-2.75 E
(the implementation recently sent.)100.8 153.6 Q
(\(According to current speci\214cations, routers should)5.5 E(return t\
he full DCCP header and payload up to a maximum of 576 bytes [RFC 1812]\
 or the)100.8 166.6 Q(minimum IPv6 MTU [RFC 2463], although the)100.8
179.6 Q 2.75(ya)-.165 G(re not required to return more than 64)-2.75 E
(bits [RFC 792].)100.8 192.6 Q(An)5.5 E 2.75(ya)-.165 G
(mount greater than 128 bits will include the Sequence Number)-2.75 E
(.\))-.605 E(ICMP Datagram T)100.8 205.6 Q
(oo Big messages with incorrect or missing Sequence Numbers may be)-.88
E(ignored, or the DCCP implementation may lo)100.8 218.6 Q
(wer the PMTU only temporarily in response.)-.275 E
(If more than three odd Datagram T)100.8 231.6 Q
(oo Big messages are recei)-.88 E -.165(ve)-.275 G 2.75(da).165 G
(nd the other DCCP)-2.75 E(endpoint reports more than three lost pack)
100.8 244.6 Q(ets, ho)-.11 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t)
.165 H(he DCCP implementation).44 E
(SHOULD assume the presence of a confused router)100.8 257.6 Q 2.75(,a)
-.44 G(nd either obe)-2.75 E 2.75(yt)-.165 G(he ICMP messages')-2.75 E
(PMTU or \(on IPv4 netw)100.8 270.6 Q(orks\) switch to allo)-.11 E
(wing fragmentation.)-.275 E(DCCP also allo)100.8 287.2 Q(ws upw)-.275 E
(ard probing of the PMTU [PMTUD], where the DCCP endpoint)-.11 E(be)
100.8 300.2 Q(gins by sending small pack)-.165 E
(ets with DF set, then gradually increases the pack)-.11 E
(et size until)-.11 E 2.75(ap)100.8 313.2 S(ack)-2.75 E(et is lost.)-.11
E(This mechanism does not require an)5.5 E 2.75(yI)-.165 G
(CMP error processing.)-2.75 E(DCCP-)5.5 E(Sync pack)100.8 326.2 Q
(ets are the best choice for upw)-.11 E
(ard probing, since DCCP-Sync probes do not risk)-.11 E
(application data loss.)100.8 339.2 Q
(The DCCP implementation inserts arbitrary data into the DCCP-)5.5 E
(Sync application area, padding the pack)100.8 352.2 Q
(et to the right length; and since e)-.11 E -.165(ve)-.275 G(ry v).165 E
(alid DCCP-)-.275 E(Sync generates an immediate DCCP-SyncAck in respons\
e, the endpoint will ha)100.8 365.2 Q .33 -.165(ve a p)-.22 H(retty).165
E(good idea of when a probe is lost.)100.8 378.2 Q/F1 11/Times-Bold@0 SF
(14.2.)72 404.2 Q/F2 13/Times-Bold@0 SF(Sender Beha)5.5 E(vior)-.325 E
F0 2.75(AD)100.8 420.8 S(CCP sender SHOULD send e)-2.75 E -.165(ve)-.275
G(ry pack).165 E(et as unfragmentable, as described abo)-.11 E -.165(ve)
-.165 G 2.75(,w).165 G(ith)-2.75 E(the follo)100.8 433.8 Q(wing e)-.275
E(xceptions.)-.165 E 12.65<834f>100.8 450.4 S 2.75(nI)-12.65 G
(Pv4 connections whose applications ha)-2.75 E .33 -.165(ve r)-.22 H
(equested fragmentation, the sender).165 E(SHOULD send pack)117.3 463.4
Q(ets with the DF bit not set.)-.11 E 12.65<834f>100.8 480 S 2.75(nI)
-12.65 G(Pv6 connections whose applications ha)-2.75 E .33 -.165(ve r)
-.22 H(equested fragmentation, the sender).165 E
(SHOULD use fragmentation e)117.3 493 Q
(xtension headers to fragment pack)-.165 E(ets lar)-.11 E(ger than PMTU)
-.198 E(into suitably-sized chunks.)117.3 506 Q
(\(Those chunks are, of course, unfragmentable.\))5.5 E 12.65<8349>100.8
522.6 S 2.75(ti)-12.65 G 2.75(su)-2.75 G(ndesirable for PMTU disco)-2.75
E -.165(ve)-.165 G(ry to occur on the initial connection setup).165 E
(handshak)117.3 535.6 Q
(e, as the connection setup process may not be representati)-.11 E .33
-.165(ve o)-.275 H 2.75(fp).165 G(ack)-2.75 E(et sizes)-.11 E
(used during the connection, and performing MTU disco)117.3 548.6 Q
-.165(ve)-.165 G(ry on the initial handshak).165 E(e)-.11 E
(might unnecessarily delay connection establishment.)117.3 561.6 Q
(Thus, DCCP-Request and DCCP-)5.5 E(Response pack)117.3 574.6 Q
(ets SHOULD be sent as fragmentable.)-.11 E
(In addition, DCCP-Reset pack)5.5 E(ets)-.11 E
(SHOULD be sent as fragmentable, although typically these w)117.3 587.6
Q(ould be small enough to)-.11 E(not be a problem.)117.3 600.6 Q -.165
(Fo)5.5 G 2.75(rI).165 G(Pv4 connections, these pack)-2.75 E
(ets SHOULD be sent with the DF)-.11 E
(bit not set; for IPv6 connections, the)117.3 613.6 Q 2.75(yS)-.165 G
(HOULD be preempti)-2.75 E -.165(ve)-.275 G(ly fragmented to a size).165
E(not lar)117.3 626.6 Q(ger than the rele)-.198 E -.275(va)-.275 G
(nt interf).275 E(ace MTU.)-.11 E(If the DCCP implementation has decrea\
sed the PMTU, the sending application has not)100.8 643.2 Q(requested f\
ragmentation, and the sending application attempts to send a pack)100.8
656.2 Q(et lar)-.11 E(ger than)-.198 E(the ne)100.8 669.2 Q 2.75(wM)
-.275 G(PS, the API MUST refuse to send the pack)-2.75 E
(et and return an appropriate error to)-.11 E(the application.)100.8
682.2 Q(The application should then use the API to query the ne)5.5 E
2.75(wv)-.275 G(alue of MPS.)-3.025 E(The k)100.8 695.2 Q
(ernel might ha)-.11 E .33 -.165(ve s)-.22 H(ome pack).165 E(ets b)-.11
E(uf)-.22 E(fered for transmission that are smaller than the old)-.275 E
(MPS, b)100.8 708.2 Q(ut lar)-.22 E(ger than the ne)-.198 E 2.75(wM)
-.275 G 2.75(PS. It)-2.75 F(MA)2.75 E 2.75(Ys)-1.155 G(end these pack)
-2.75 E(ets as fragmentable, or it MA)-.11 E(Y)-1.155 E
(discard these pack)100.8 721.2 Q(ets; it MUST NO)-.11 E 2.75(Ts)-.44 G
(end them as unfragmentable.)-2.75 E -.385(Ko)72 769 S(hler/Handle).385
E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(14.2. [P)2.75 F(age 82])
-.165 E 0 Cg EP
%%Page: 83 83
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(15.)72 85 Q/F2 14/Times-Bold@0 SF -.35(Fo)5.5 G
(rward Compatibility).35 E F0(Future v)100.8 101.6 Q
(ersions of DCCP may add ne)-.165 E 2.75(wo)-.275 G
(ptions and features.)-2.75 E 2.75(Af)5.5 G .55 -.275(ew s)-2.75 H
(imple guidelines will).275 E(let e)100.8 114.6 Q
(xtended DCCPs interoperate with normal DCCPs.)-.165 E 12.65<8344>100.8
131.2 S(CCP processors MUST NO)-12.65 E 2.75(Ta)-.44 G(ct puniti)-2.75 E
-.165(ve)-.275 G(ly to).165 E -.11(wa)-.275 G
(rds options and features the).11 E 2.75(yd)-.165 G 2.75(on)-2.75 G(ot)
-2.75 E 2.75(understand. F)117.3 144.2 R(or e)-.165 E
(xample, DCCP processors MUST NO)-.165 E 2.75(Tr)-.44 G
(eset the connection if some)-2.75 E(\214eld mark)117.3 157.2 Q
(ed Reserv)-.11 E(ed in this speci\214cation is non-zero; if some unkno)
-.165 E(wn option is)-.275 E(present; or if some feature ne)117.3 170.2
Q(gotiation option mentions an unkno)-.165 E(wn feature.)-.275 E
(Instead,)5.5 E(DCCP processors MUST ignore these e)117.3 183.2 Q -.165
(ve)-.275 G 2.75(nts. The).165 F(Mandatory option is the single)2.75 E
-.165(ex)117.3 196.2 S(ception: if Mandatory precedes some unkno).165 E
(wn option or feature, the connection)-.275 E(MUST be reset.)117.3 209.2
Q 12.65<8344>100.8 225.8 S
(CCP processors MUST anticipate the possibility of unkno)-12.65 E
(wn feature v)-.275 E(alues, which)-.275 E(might occur as part of a ne)
117.3 238.8 Q(gotiation for a kno)-.165 E(wn feature.)-.275 E -.165(Fo)
5.5 G 2.75(rs).165 G(erv)-2.75 E(er)-.165 E(-priority features,)-.22 E
(unkno)117.3 251.8 Q(wn v)-.275 E
(alues are handled as a matter of course: since the non-e)-.275 E
(xtended DCCP')-.165 E(s)-.605 E(priority list will not contain unkno)
117.3 264.8 Q(wn v)-.275 E(alues, the result of the ne)-.275 E
(gotiation cannot be an)-.165 E(unkno)117.3 277.8 Q(wn v)-.275 E 2.75
(alue. A)-.275 F
(DCCP SHOULD respond with an empty Con\214rm option if it is)2.75 E
(assigned an unacceptable v)117.3 290.8 Q(alue for some non-ne)-.275 E
(gotiable feature.)-.165 E 12.65<8345>100.8 307.4 S(ach DCCP e)-12.65 E
(xtension SHOULD be controlled by some feature.)-.165 E(The def)5.5 E
(ault v)-.11 E(alue of)-.275 E(this feature should correspond to "e)
117.3 320.4 Q(xtension not a)-.165 E -.275(va)-.22 G 2.75(ilable". If)
.275 F(an e)2.75 E(xtended DCCP)-.165 E -.11(wa)117.3 333.4 S
(nts to use the e).11 E
(xtension, it SHOULD attempt to change the feature')-.165 E 2.75(sv)
-.605 G(alue using a)-3.025 E(Change L or Change R option.)117.3 346.4 Q
(An)5.5 E 2.75(yn)-.165 G(on-e)-2.75 E
(xtended DCCP will ignore the option, thus)-.165 E(lea)117.3 359.4 Q
(ving the feature v)-.22 E(alue at its def)-.275 E(ault, "e)-.11 E
(xtension not a)-.165 E -.275(va)-.22 G(ilable".).275 E
(Section 19 lists DCCP assigned numbers reserv)100.8 376 Q(ed for e)
-.165 E(xperimental and testing purposes.)-.165 E F1(16.)72 402 Q F2
(Middlebox Considerations)5.5 E F0
(This section describes properties of DCCP that \214re)100.8 418.6 Q
-.11(wa)-.275 G(lls, netw).11 E(ork address translators, and)-.11 E
(other middlebox)100.8 431.6 Q(es should consider)-.165 E 2.75(,i)-.44 G
(ncluding parts of the pack)-2.75 E(et that middlebox)-.11 E(es should)
-.165 E(not change.)100.8 444.6 Q(The intent is to dra)5.5 E 2.75(wa)
-.165 G(ttention to aspects of DCCP that may be useful, or)-2.75 E
(dangerous, for middlebox)100.8 457.6 Q(es, or that dif)-.165 E
(fer signi\214cantly from TCP)-.275 E(.)-1.221 E
(The Service Code \214eld in DCCP-Request pack)100.8 474.2 Q(ets pro)
-.11 E(vides information that may be useful)-.165 E
(for stateful middlebox)100.8 487.2 Q 2.75(es. W)-.165 F
(ith Service Code, a middlebox can tell what protocol a)-.44 E
(connection will use without relying on port numbers.)100.8 500.2 Q
(Middlebox)5.5 E(es can disallo)-.165 E(w)-.275 E
(connections that attempt to access une)100.8 513.2 Q
(xpected services by sending a DCCP-Reset with)-.165 E
(Reset Code 8, "Bad Service Code".)100.8 526.2 Q(Middlebox)5.5 E
(es should not modify the Service Code)-.165 E(unless the)100.8 539.2 Q
2.75(ya)-.165 G
(re really changing the service a connection is accessing.)-2.75 E
(The Source and Destination Port \214elds are in the same pack)100.8
555.8 Q(et locations as the)-.11 E
(corresponding \214elds in TCP and UDP)100.8 568.8 Q 2.75(,w)-1.221 G
(hich may simplify some middlebox)-2.75 E(implementations.)100.8 581.8 Q
(The forw)100.8 598.4 Q
(ard compatibility considerations in Section 15 apply to middlebox)-.11
E(es as well.)-.165 E(In)5.5 E(particular)100.8 611.4 Q 2.75(,m)-.44 G
(iddlebox)-2.75 E(es generally shouldn')-.165 E 2.75(ta)-.198 G
(ct puniti)-2.75 E -.165(ve)-.275 G(ly to).165 E -.11(wa)-.275 G
(rds options and features).11 E(the)100.8 624.4 Q 2.75(yd)-.165 G 2.75
(on)-2.75 G(ot understand.)-2.75 E
(Modifying DCCP Sequence Numbers and Ackno)100.8 641 Q
(wledgement Numbers is more tedious and)-.275 E
(dangerous than modifying TCP sequence numbers.)100.8 654 Q 2.75(Am)5.5
G(iddlebox that added pack)-2.75 E(ets to, or)-.11 E(remo)100.8 667 Q
-.165(ve)-.165 G 2.75(dp).165 G(ack)-2.75 E
(ets from, a DCCP connection w)-.11 E(ould ha)-.11 E .33 -.165(ve t)-.22
H 2.75(om).165 G(odify ackno)-2.75 E(wledgement)-.275 E
(options, such as Ack V)100.8 680 Q(ector)-1.221 E 2.75(,a)-.44 G
(nd CCID-speci\214c options, such as TFRC')-2.75 E 2.75(sL)-.605 G
(oss Interv)-2.75 E(als, at)-.275 E 2.75(minimum. On)100.8 693 R
(ECN-capable connections, the middlebox w)2.75 E(ould ha)-.11 E .33
-.165(ve t)-.22 H 2.75(ok).165 G(eep track of ECN)-2.86 E
(Nonce information for pack)100.8 706 Q(ets it introduced or remo)-.11 E
-.165(ve)-.165 G(d, so that the rele).165 E -.275(va)-.275 G(nt).275 E
(ackno)100.8 719 Q(wledgement options continued to ha)-.275 E .33 -.165
(ve c)-.22 H(orrect ECN Nonce Echoes, or risk the).165 E -.385(Ko)72 769
S(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(16. [P)
2.75 F(age 83])-.165 E 0 Cg EP
%%Page: 84 84
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(connection being reset for "Aggression Penalty".)100.8 85 Q 1.76 -.88
(We t)5.5 H(herefore recommend that).88 E(middlebox)100.8 98 Q
(es not modify pack)-.165 E(et streams by adding or remo)-.11 E
(ving pack)-.165 E(ets.)-.11 E
(Note that there is less need to modify DCCP')100.8 114.6 Q 2.75(sp)
-.605 G(er)-2.75 E(-pack)-.22 E(et sequence numbers than TCP')-.11 E(s)
-.605 E(per)100.8 127.6 Q(-byte sequence numbers; for e)-.22 E
(xample, a middlebox can change the contents of a pack)-.165 E(et)-.11 E
(without changing its sequence number)100.8 140.6 Q 5.5(.\()-.605 G
(In TCP)-5.5 E 2.75(,s)-1.221 G
(equence number modi\214cation is required)-2.75 E
(to support protocols lik)100.8 153.6 Q 2.75(eF)-.11 G(TP that carry v)
-2.75 E(ariable-length addresses in the data stream.)-.275 E(If)5.5 E
(such an application were deplo)100.8 166.6 Q(yed o)-.11 E -.165(ve)
-.165 G 2.75(rD).165 G(CCP)-2.75 E 2.75(,m)-1.221 G(iddlebox)-2.75 E
(es w)-.165 E(ould simply gro)-.11 E 2.75(wo)-.275 G 2.75(rs)-2.75 G
(hrink)-2.75 E(the rele)100.8 179.6 Q -.275(va)-.275 G(nt pack).275 E
(ets as necessary)-.11 E 2.75(,w)-.715 G
(ithout changing their sequence numbers.)-2.75 E(This might)5.5 E(in)
100.8 192.6 Q -.22(vo)-.44 G(lv).22 E 2.75(ef)-.165 G
(ragmenting the pack)-2.75 E(et.\))-.11 E(Middlebox)100.8 209.2 Q
(es may)-.165 E 2.75(,o)-.715 G 2.75(fc)-2.75 G
(ourse, reset connections in progress.)-2.75 E
(Clearly this requires inserting)5.5 E 2.75(ap)100.8 222.2 S(ack)-2.75 E
(et into one or both pack)-.11 E(et streams, b)-.11 E(ut the dif)-.22 E
(\214cult issues do not arise.)-.275 E(DCCP is some)100.8 238.8 Q
(what unfriendly to "connection splicing" [SHHP00], in which clients')
-.275 E(connection attempts are intercepted, b)100.8 251.8 Q
(ut possibly later "spliced in" to e)-.22 E(xternal serv)-.165 E(er)
-.165 E(connections via sequence number manipulations.)100.8 264.8 Q
2.75(Ac)5.5 G(onnection splicer at minimum w)-2.75 E(ould)-.11 E(ha)
100.8 277.8 Q .33 -.165(ve t)-.22 H 2.75(oe).165 G
(nsure that the spliced connections agreed on all rele)-2.75 E -.275(va)
-.275 G(nt feature v).275 E(alues, which)-.275 E(might tak)100.8 290.8 Q
2.75(es)-.11 G(ome rene)-2.75 E(gotiation.)-.165 E(The contents of this\
 section should not be interpreted as a wholesale endorsement of)100.8
307.4 Q(stateful middlebox)100.8 320.4 Q(es.)-.165 E/F1 11/Times-Bold@0
SF(17.)72 346.4 Q/F2 14/Times-Bold@0 SF
(Relations to Other Speci\214cations)5.5 E F1(17.1.)72 372.4 Q/F3 13
/Times-Bold@0 SF -.52(RT)5.5 G(P).52 E F0(The Real-T)100.8 389 Q(ime T)
-.385 E(ransport Protocol, R)-.385 E(TP [RFC 3550], is currently used o)
-.66 E -.165(ve)-.165 G 2.75(rU).165 G(DP by man)-2.75 E(y)-.165 E
(of DCCP')100.8 402 Q 2.75(st)-.605 G(ar)-2.75 E
(get applications \(for instance, streaming media\).)-.198 E
(Therefore, it is important to)5.5 E -.165(ex)100.8 415 S
(amine the relationship between DCCP and R).165 E(TP)-.66 E 2.75(,a)
-1.221 G(nd in particular)-2.75 E 2.75(,t)-.44 G(he question of)-2.75 E
(whether an)100.8 428 Q 2.75(yc)-.165 G(hanges in R)-2.75 E
(TP are necessary or desirable when it is layered o)-.66 E -.165(ve)
-.165 G 2.75(rD).165 G(CCP)-2.75 E(instead of UDP)100.8 441 Q(.)-1.221 E
(There are tw)100.8 457.6 Q 2.75(op)-.11 G(otential sources of o)-2.75 E
-.165(ve)-.165 G(rhead in the R).165 E(TP-o)-.66 E -.165(ve)-.165 G -.22
(r-).165 G(DCCP combination,).22 E(duplicated ackno)100.8 470.6 Q
(wledgement information and duplicated sequence numbers.)-.275 E -.88
(To)5.5 G(gether).88 E(,)-.44 E(these sources of o)100.8 483.6 Q -.165
(ve)-.165 G(rhead add slightly more than 4 bytes per pack).165 E
(et relati)-.11 E .33 -.165(ve t)-.275 H 2.75(oR).165 G(TP-o)-3.41 E
-.165(ve)-.165 G -.22(r-).165 G(UDP)100.8 496.6 Q 2.75(,a)-1.221 G
(nd that eliminating the redundanc)-2.75 E 2.75(yw)-.165 G
(ould not reduce the o)-2.86 E -.165(ve)-.165 G(rhead.).165 E
(First, consider ackno)100.8 513.2 Q 2.75(wledgements. Both)-.275 F -.66
(RT)2.75 G 2.75(Pa).66 G(nd DCCP report feedback about loss rates)-2.75
E(to data senders, via R)100.8 526.2 Q
(TP Control Protocol Sender and Recei)-.66 E -.165(ve)-.275 G 2.75(rR)
.165 G(eports \(R)-2.75 E(TCP SR/RR)-.66 E(pack)100.8 539.2 Q
(ets\) and via DCCP ackno)-.11 E(wledgement options.)-.275 E
(These feedback mechanisms are)5.5 E(potentially redundant.)100.8 552.2
Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, R).165 H
(TCP SR/RR pack)-.22 E(ets contain information not present in)-.11 E
(DCCP ackno)100.8 565.2 Q(wledgements, such as "interarri)-.275 E -.275
(va)-.275 G 2.75(lj).275 G(itter", and DCCP')-2.75 E 2.75(sa)-.605 G
(ckno)-2.75 E(wledgements)-.275 E
(contain information not transmitted by R)100.8 578.2 Q(TCP)-.66 E 2.75
(,s)-1.221 G(uch as the ECN Nonce Echo.)-2.75 E(Neither)5.5 E
(feedback mechanism mak)100.8 591.2 Q(es the other redundant.)-.11 E
(Sending both types of feedback need not be particularly costly either)
100.8 607.8 Q 5.5(.R)-.605 G(TCP reports may)-6.16 E(be sent relati)
100.8 620.8 Q -.165(ve)-.275 G(ly infrequently: once e).165 E -.165(ve)
-.275 G(ry 5 seconds on a).165 E -.165(ve)-.22 G(rage, for lo).165 E
(w-bandwidth \215o)-.275 E(ws.)-.275 E(In DCCP)100.8 633.8 Q 2.75(,s)
-1.221 G(ome feedback mechanisms are e)-2.75 E(xpensi)-.165 E .33 -.165
(ve -)-.275 H 2.75(-A).165 G(ck V)-2.75 E(ector)-1.221 E 2.75(,f)-.44 G
(or e)-2.75 E(xample, is frequent)-.165 E(and v)100.8 646.8 Q
(erbose -- b)-.165 E(ut others are relati)-.22 E -.165(ve)-.275 G
(ly cheap: CCID 3 \(TFRC\) ackno).165 E(wledgements tak)-.275 E(e)-.11 E
(between 16 and 32 bytes of options sent once per round-trip time.)100.8
659.8 Q(\(Reporting less)5.5 E(frequently than once per R)100.8 672.8 Q
(TT w)-.66 E(ould mak)-.11 E 2.75(ec)-.11 G
(ongestion control less responsi)-2.75 E .33 -.165(ve t)-.275 H 2.75(ol)
.165 G 2.75(oss.\) W)-2.75 F(e)-.88 E(therefore conclude that ackno)
100.8 685.8 Q(wledgement o)-.275 E -.165(ve)-.165 G(rhead in R).165 E
(TP-o)-.66 E -.165(ve)-.165 G -.22(r-).165 G(DCCP need not be).22 E
(signi\214cantly higher than for R)100.8 698.8 Q(TP-o)-.66 E -.165(ve)
-.165 G -.22(r-).165 G(UDP).22 E 2.75(,a)-1.221 G 2.75(tl)-2.75 G
(east for CCID 3.)-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 224.76(yd Section)-.11 F 2.75(17.1. [P)2.75 F(age 84])-.165 E 0
Cg EP
%%Page: 85 85
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(One clear redundanc)100.8 85 Q 2.75(yc)-.165 G
(an be addressed at the application le)-2.75 E -.165(ve)-.275 G 2.75
(l. The).165 F -.165(ve)2.75 G(rbose pack).165 E(et-by-)-.11 E(pack)
100.8 98 Q(et loss reports sent in R)-.11 E
(TCP Extended Reports Loss RLE Blocks [RFC 3611] can be)-.66 E(deri)
100.8 111 Q -.165(ve)-.275 G 2.75(df).165 G(rom DCCP')-2.75 E 2.75(sA)
-.605 G(ck V)-2.75 E(ector options.)-1.221 E(\(The con)5.5 E -.165(ve)
-.44 G(rse is not true, since Loss RLE).165 E
(Blocks contain no ECN information.\))100.8 124 Q
(Since DCCP implementations should pro)5.5 E(vide an)-.165 E
(API for application access to Ack V)100.8 137 Q(ector information, R)
-1.221 E(TP-o)-.66 E -.165(ve)-.165 G -.22(r-).165 G
(DCCP applications might).22 E(request either DCCP Ack V)100.8 150 Q
(ectors or R)-1.221 E(TCP Extended Report Loss RLE Blocks, b)-.66 E
(ut not)-.22 E(both.)100.8 163 Q(No)100.8 179.6 Q 2.75(wc)-.275 G
(onsider sequence number redundanc)-2.75 E 2.75(yo)-.165 G 2.75(nd)-2.75
G(ata pack)-2.75 E 2.75(ets. The)-.11 F(embedded R)2.75 E(TP header)-.66
E(contains a 16-bit R)100.8 192.6 Q(TP sequence number)-.66 E 5.5(.M)
-.605 G(ost data pack)-5.5 E(ets will use the DCCP-Data type;)-.11 E
(DCCP-DataAck and DCCP-Ack pack)100.8 205.6 Q
(ets need not usually be sent.)-.11 E(The DCCP-Data header)5.5 E
(is 12 bytes long without options, including a 24-bit sequence number)
100.8 218.6 Q 5.5(.T)-.605 G(his is 4 bytes more)-5.5 E
(than a UDP header)100.8 231.6 Q 5.5(.A)-.605 G .33 -.165(ny o)-5.5 H
(ptions required on data pack).165 E(ets w)-.11 E(ould add further o)
-.11 E -.165(ve)-.165 G(rhead,).165 E(although man)100.8 244.6 Q 2.75
(yC)-.165 G(CIDs \(for instance, CCID 3, TFRC\) don')-2.75 E 2.75(tr)
-.198 G(equire options on most data)-2.75 E(pack)100.8 257.6 Q(ets.)-.11
E(The DCCP sequence number cannot be inferred from the R)100.8 274.2 Q
(TP sequence number since it)-.66 E(increments on non-data pack)100.8
287.2 Q(ets as well as data pack)-.11 E 2.75(ets. The)-.11 F -.66(RT)
2.75 G 2.75(Ps).66 G(equence number cannot)-2.75 E
(be inferred from the DCCP sequence number either [RFC 3550].)100.8
300.2 Q(Furthermore, remo)5.5 E(ving)-.165 E -.66(RT)100.8 313.2 S(P')
.66 E 2.75(ss)-.605 G(equence number w)-2.75 E(ould not sa)-.11 E .33
-.165(ve a)-.22 H .33 -.165(ny h).165 H
(eader space because of alignment issues.).165 E -.88(We)5.5 G
(therefore recommend that R)100.8 326.2 Q(TP transmitted o)-.66 E -.165
(ve)-.165 G 2.75(rD).165 G(CCP use the same headers currently)-2.75 E
2.75(de\214ned. The)100.8 339.2 R 2.75(4b)2.75 G
(yte header cost is a reasonable tradeof)-2.75 E 2.75(ff)-.275 G
(or DCCP')-2.75 E 2.75(sc)-.605 G(ongestion control)-2.75 E
(features and access to ECN.)100.8 352.2 Q -.385(Tr)5.5 G
(uly bandwidth-starv).385 E(ed endpoints should use some future)-.165 E
(header compression scheme.)100.8 365.2 Q/F1 11/Times-Bold@0 SF(17.2.)72
391.2 Q/F2 13/Times-Bold@0 SF(Congestion Manager and Multiplexing)5.5 E
F0(Since DCCP doesn')100.8 407.8 Q 2.75(tp)-.198 G(ro)-2.75 E
(vide reliable, ordered deli)-.165 E -.165(ve)-.275 G(ry).165 E 2.75(,m)
-.715 G(ultiple application sub-\215o)-2.75 E(ws may)-.275 E
(be multiple)100.8 420.8 Q -.165(xe)-.165 G 2.75(do).165 G -.165(ve)
-2.915 G 2.75(ras).165 G
(ingle DCCP connection with no inherent performance penalty)-2.75 E(.)
-.715 E(Thus, there is no need for DCCP to pro)100.8 433.8 Q(vide b)
-.165 E(uilt-in, SCTP-style support for multiple sub-)-.22 E<8d6f>100.8
446.8 Q(ws.)-.275 E(Some applications might w)100.8 463.4 Q
(ant to share congestion control state among multiple DCCP)-.11 E<8d6f>
100.8 476.4 Q(ws that share the same source and destination addresses.)
-.275 E(This functionality could be)5.5 E(pro)100.8 489.4 Q
(vided by the Congestion Manager [RFC 3124], a generic multiple)-.165 E
(xing f)-.165 E(acility)-.11 E(.)-.715 E(Ho)100.8 502.4 Q(we)-.275 E
-.165(ve)-.275 G .88 -.44(r, t).165 H(he CM w).44 E
(ould not fully support DCCP without change; it does not gracefully)-.11
E(handle multiple congestion control mechanisms, for e)100.8 515.4 Q
(xample.)-.165 E F1(18.)72 541.4 Q/F3 14/Times-Bold@0 SF
(Security Considerations)5.5 E F0(DCCP does not pro)100.8 558 Q
(vide cryptographic security guarantees.)-.165 E(Applications desiring)
5.5 E(cryptographic security services \(inte)100.8 571 Q(grity)-.165 E
2.75(,a)-.715 G(uthentication, con\214dentiality)-2.75 E 2.75(,a)-.715 G
(ccess control,)-2.75 E(and anti-replay protection\) should use IPsec o\
r end-to-end security of some kind; Secure)100.8 584 Q -.66(RT)100.8 597
S 2.75(Pi).66 G 2.75(so)-2.75 G(ne candidate protocol [RFC 3711].)-2.75
E(Ne)100.8 613.6 Q -.165(ve)-.275 G
(rtheless, DCCP is intended to protect ag).165 E
(ainst some classes of attack)-.055 E(ers: Attack)-.11 E(ers)-.11 E
(cannot hijack a DCCP connection \(close the connection une)100.8 626.6
Q(xpectedly)-.165 E 2.75(,o)-.715 G 2.75(rc)-2.75 G(ause attack)-2.75 E
(er)-.11 E(data to be accepted by an endpoint as if it came from the se\
nder\) unless the)100.8 639.6 Q 2.75(yc)-.165 G(an guess)-2.75 E -.275
(va)100.8 652.6 S(lid sequence numbers.).275 E
(Thus, as long as endpoints choose initial sequence numbers well,)5.5 E
2.75(aD)100.8 665.6 S(CCP attack)-2.75 E(er must snoop on data pack)-.11
E(ets to get an)-.11 E 2.75(yr)-.165 G
(easonable probability of success.)-2.75 E(Sequence number v)100.8 678.6
Q(alidity checks pro)-.275 E(vide this guarantee.)-.165 E
(Section 7.5.5 describes sequence)5.5 E(number security further)100.8
691.6 Q 5.5(.T)-.605 G
(his security property only holds assuming that DCCP')-5.5 E 2.75(sr)
-.605 G(andom)-2.75 E
(numbers are chosen according to the guidelines in RFC 1750.)100.8 704.6
Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)
-.11 F 2.75(18. [P)2.75 F(age 85])-.165 E 0 Cg EP
%%Page: 86 86
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(DCCP also pro)100.8 85 Q(vides mechanisms to limit the potential impac\
t of some denial-of-service)-.165 E 2.75(attacks. These)100.8 98 R
(mechanisms include Init Cookie \(Section 8.1.4\), the DCCP-CloseReq)
2.75 E(pack)100.8 111 Q(et \(Section 5.5\), the Application Not Listeni\
ng Drop Code \(Section 11.7.2\), limitations)-.11 E(on the processing o\
f options that might cause connection reset \(Section 7.5.5\), limitati\
ons)100.8 124 Q
(on the processing of some ICMP messages \(Section 14.1\), and v)100.8
137 Q(arious rate limits, which)-.275 E(let serv)100.8 150 Q(ers a)-.165
E -.22(vo)-.22 G(id e).22 E(xtensi)-.165 E .33 -.165(ve c)-.275 H
(omputation or pack).165 E(et generation \(Sections 7.5.3, 8.1.3, and)
-.11 E(others\).)100.8 163 Q(DCCP pro)100.8 179.6 Q
(vides no protection ag)-.165 E(ainst attack)-.055 E
(ers that can snoop on data pack)-.11 E(ets.)-.11 E/F1 11/Times-Bold@0
SF(18.1.)72 205.6 Q/F2 13/Times-Bold@0 SF(Security Considerations f)5.5
E(or P)-.325 E(artial Checksums)-.13 E F0(The partial checksum f)100.8
222.2 Q(acility has a separate security impact, particularly in its int\
eraction)-.11 E(with authentication and encryption mechanisms.)100.8
235.2 Q(The impact is the same in DCCP as in the)5.5 E
(UDP-Lite protocol, and what follo)100.8 248.2 Q(ws w)-.275 E
(as adapted from the corresponding te)-.11 E(xt in the UDP-)-.165 E
(Lite speci\214cation [RFC 3828].)100.8 261.2 Q(When a DCCP pack)100.8
277.8 Q(et')-.11 E 2.75(sC)-.605 G(hecksum Co)-2.75 E -.165(ve)-.165 G
(rage \214eld is not zero, the unco).165 E -.165(ve)-.165 G
(red portion of a).165 E(pack)100.8 290.8 Q(et may change in transit.)
-.11 E(This is contrary to the idea behind most authentication)5.5 E
(mechanisms: authentication succeeds if the pack)100.8 303.8 Q
(et has not changed in transit.)-.11 E(Unless)5.5 E
(authentication mechanisms that operate only on the sensiti)100.8 316.8
Q .33 -.165(ve p)-.275 H(art of pack).165 E(ets are de)-.11 E -.165(ve)
-.275 G(loped).165 E(and used, authentication will al)100.8 329.8 Q -.11
(wa)-.11 G(ys f).11 E(ail for partially-checksummed DCCP pack)-.11 E
(ets whose)-.11 E(unco)100.8 342.8 Q -.165(ve)-.165 G
(red part has been damaged.).165 E(The IPsec inte)100.8 359.4 Q
(grity check \(Encapsulation Security Protocol, ESP)-.165 E 2.75(,o)
-1.221 G 2.75(rA)-2.75 G(uthentication Header)-2.75 E(,)-.44 E
(AH\) is applied \(at least\) to the entire IP pack)100.8 372.4 Q
(et payload.)-.11 E(Corruption of an)5.5 E 2.75(yb)-.165 G
(it within that)-2.75 E(area will then result in the IP recei)100.8
385.4 Q -.165(ve)-.275 G 2.75(rd).165 G(iscarding a DCCP pack)-2.75 E
(et, e)-.11 E -.165(ve)-.275 G 2.75(ni).165 G 2.75(ft)-2.75 G
(he corruption)-2.75 E(happened in an unco)100.8 398.4 Q -.165(ve)-.165
G(red part of the DCCP application data.).165 E(When IPsec is used with\
 ESP payload encryption, a link can not determine the speci\214c)100.8
415 Q(transport protocol of a pack)100.8 428 Q(et being forw)-.11 E
(arded by inspecting the IP pack)-.11 E(et payload.)-.11 E(In this)5.5 E
(case, the link MUST pro)100.8 441 Q(vide a standard inte)-.165 E
(grity check co)-.165 E -.165(ve)-.165 G(ring the entire IP pack).165 E
(et and)-.11 E 2.75(payload. DCCP)100.8 454 R(partial checksums pro)2.75
E(vide no bene\214t in this case.)-.165 E
(Encryption \(e.g., at the transport or application le)100.8 470.6 Q
-.165(ve)-.275 G(ls\) may be used.).165 E(Note that omitting an)5.5 E
(inte)100.8 483.6 Q(grity check can, under certain circumstances, compr\
omise con\214dentiality [BEL98].)-.165 E(If a fe)100.8 500.2 Q 2.75(wb)
-.275 G(its of an encrypted pack)-2.75 E
(et are damaged, the decryption transform will typically)-.11 E
(spread errors so that the pack)100.8 513.2 Q
(et becomes too damaged to be of use.)-.11 E(Man)5.5 E 2.75(ye)-.165 G
(ncryption)-2.75 E(transforms today e)100.8 526.2 Q(xhibit this beha)
-.165 E(vior)-.22 E 5.5(.T)-.605 G(here e)-5.5 E
(xist encryption transforms, stream ciphers,)-.165 E
(which do not cause error propag)100.8 539.2 Q 2.75(ation. Proper)-.055
F(use of stream ciphers can be quite dif)2.75 E(\214cult,)-.275 E
(especially when authentication checking is omitted [BB01].)100.8 552.2
Q(In particular)5.5 E 2.75(,a)-.44 G 2.75(na)-2.75 G(ttack)-2.75 E
(er can)-.11 E(cause predictable changes to the ultimate plainte)100.8
565.2 Q(xt, e)-.165 E -.165(ve)-.275 G 2.75(nw).165 G
(ithout being able to decrypt the)-2.75 E(cipherte)100.8 578.2 Q(xt.)
-.165 E F1(19.)72 604.2 Q/F3 14/Times-Bold@0 SF(IAN)5.5 E 3.5(AC)-.28 G
(onsiderations)-3.5 E F0(IAN)100.8 620.8 Q 2.75(Ah)-.385 G
(as assigned IP Protocol Number 33 to DCCP)-2.75 E(.)-1.221 E
(DCCP introduces eight sets of numbers whose v)100.8 637.4 Q
(alues should be allocated by IAN)-.275 E 2.75(A. W)-.385 F(e)-.88 E(re\
fer to allocation policies, such as Standards Action, outlined in RFC 2\
434, and most)100.8 650.4 Q(re)100.8 663.4 Q(gistries reserv)-.165 E
2.75(es)-.165 G(ome v)-2.75 E(alues for e)-.275 E
(xperimental and testing use [RFC 3692].)-.165 E(In addition,)5.5 E
(DCCP requires that the IAN)100.8 676.4 Q 2.75(AP)-.385 G
(ort Numbers re)-2.75 E(gistry be opened for DCCP port)-.165 E(re)100.8
689.4 Q(gistrations; Section 19.9 describes ho)-.165 E -.715(w.)-.275 G
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)
-.11 F 2.75(19. [P)2.75 F(age 86])-.165 E 0 Cg EP
%%Page: 87 87
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(19.1.)72 85 Q/F2 13/Times-Bold@0 SF -.13(Pa)5.5 G(ck)
.13 E(et T)-.13 E(ypes Registry)-.962 E F0(Each entry in the DCCP P)
100.8 101.6 Q(ack)-.165 E(et T)-.11 E(ypes re)-.88 E
(gistry contains a pack)-.165 E(et type, which is a number in)-.11 E
(the range 0-15; a pack)100.8 114.6 Q
(et type name, such as DCCP-Request; and a reference to the RFC)-.11 E
(de\214ning the pack)100.8 127.6 Q(et type.)-.11 E(The re)5.5 E
(gistry is initially populated using the v)-.165 E(alues in T)-.275 E
(able 1)-.88 E(\(Section 5.1\).)100.8 140.6 Q
(This document allocates pack)5.5 E(et types 0-9, and pack)-.11 E
(et type 14 is permanently)-.11 E(reserv)100.8 153.6 Q(ed for e)-.165 E
(xperimental and testing use.)-.165 E -.165(Pa)5.5 G(ck).165 E
(et types 10-13 and 15 are currently)-.11 E(reserv)100.8 166.6 Q
(ed, and should be allocated with the Standards Action polic)-.165 E
1.43 -.715(y, w)-.165 H(hich requires IESG).715 E(re)100.8 179.6 Q(vie)
-.275 E 2.75(wa)-.275 G(nd appro)-2.75 E -.275(va)-.165 G 2.75(la).275 G
(nd standards-track IETF RFC publication.)-2.75 E F1(19.2.)72 205.6 Q F2
(Reset Codes Registry)5.5 E F0(Each entry in the DCCP Reset Codes re)
100.8 222.2 Q(gistry contains a Reset Code, which is a number in)-.165 E
(the range 0-255; a short description of the Reset Code, such as "No Co\
nnection"; and a)100.8 235.2 Q
(reference to the RFC de\214ning the Reset Code.)100.8 248.2 Q(The re)
5.5 E(gistry is initially populated using the)-.165 E -.275(va)100.8
261.2 S(lues in T).275 E(able 2 \(Section 5.6\).)-.88 E
(This document allocates Reset Codes 0-11, and Reset)5.5 E
(Codes 120-126 are permanently reserv)100.8 274.2 Q(ed for e)-.165 E
(xperimental and testing use.)-.165 E(Reset Codes)5.5 E
(12-119 and 127 are currently reserv)100.8 287.2 Q
(ed, and should be allocated with the IETF Consensus)-.165 E(polic)100.8
300.2 Q 1.43 -.715(y, r)-.165 H(equiring an IETF RFC publication \(stan\
dards-track or not\) with IESG re).715 E(vie)-.275 E 2.75(wa)-.275 G(nd)
-2.75 E(appro)100.8 313.2 Q -.275(va)-.165 G 2.75(l. Reset).275 F
(Codes 128-255 are permanently reserv)2.75 E(ed for CCID-speci\214c re)
-.165 E(gistries;)-.165 E(each CCID Pro\214le document describes ho)
100.8 326.2 Q 2.75(wt)-.275 G(he corresponding re)-2.75 E
(gistry is managed.)-.165 E F1(19.3.)72 352.2 Q F2(Option T)5.5 E
(ypes Registry)-.962 E F0(Each entry in the DCCP option types re)100.8
368.8 Q(gistry contains an option type, which is a number in)-.165 E
(the range 0-255; the name of the option, such as "Slo)100.8 381.8 Q
2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G
(r"; and a reference to the).165 E(RFC de\214ning the option type.)100.8
394.8 Q(The re)5.5 E(gistry is initially populated using the v)-.165 E
(alues in T)-.275 E(able 3)-.88 E(\(Section 5.8\).)100.8 407.8 Q(This d\
ocument allocates option types 0-2 and 32-44, and option types 31)5.5 E
(and 120-126 are permanently reserv)100.8 420.8 Q(ed for e)-.165 E
(xperimental and testing use.)-.165 E(Option types)5.5 E
(3-30, 45-119, and 127 are currently reserv)100.8 433.8 Q
(ed, and should be allocated with the IETF)-.165 E(Consensus polic)100.8
446.8 Q 1.43 -.715(y, r)-.165 H
(equiring an IETF RFC publication \(standards-track or not\) with IESG)
.715 E(re)100.8 459.8 Q(vie)-.275 E 2.75(wa)-.275 G(nd appro)-2.75 E
-.275(va)-.165 G 2.75(l. Option).275 F
(types 128-255 are permanently reserv)2.75 E(ed for CCID-speci\214c)
-.165 E(re)100.8 472.8 Q
(gistries; each CCID Pro\214le document describes ho)-.165 E 2.75(wt)
-.275 G(he corresponding re)-2.75 E(gistry is)-.165 E(managed.)100.8
485.8 Q F1(19.4.)72 511.8 Q F2 -.325(Fe)5.5 G(atur).325 E 3.25(eN)-.234
G(umbers Registry)-3.25 E F0(Each entry in the DCCP feature numbers re)
100.8 528.4 Q(gistry contains a feature number)-.165 E 2.75(,w)-.44 G
(hich is a)-2.75 E(number in the range 0-255; the name of the feature, \
such as "ECN Incapable"; and a)100.8 541.4 Q
(reference to the RFC de\214ning the feature number)100.8 554.4 Q 5.5
(.T)-.605 G(he re)-5.5 E(gistry is initially populated using)-.165 E
(the v)100.8 567.4 Q(alues in T)-.275 E(able 4 \(Section 6\).)-.88 E
(This document allocates feature numbers 0-9, and feature)5.5 E
(numbers 120-126 are permanently reserv)100.8 580.4 Q(ed for e)-.165 E
(xperimental and testing use.)-.165 E(Feature)5.5 E
(numbers 10-119 and 127 are currently reserv)100.8 593.4 Q
(ed, and should be allocated with the IETF)-.165 E(Consensus polic)100.8
606.4 Q 1.43 -.715(y, r)-.165 H
(equiring an IETF RFC publication \(standards-track or not\) with IESG)
.715 E(re)100.8 619.4 Q(vie)-.275 E 2.75(wa)-.275 G(nd appro)-2.75 E
-.275(va)-.165 G 2.75(l. Feature).275 F
(numbers 128-255 are permanently reserv)2.75 E(ed for CCID-)-.165 E
(speci\214c re)100.8 632.4 Q
(gistries; each CCID Pro\214le document describes ho)-.165 E 2.75(wt)
-.275 G(he corresponding re)-2.75 E(gistry is)-.165 E(managed.)100.8
645.4 Q F1(19.5.)72 671.4 Q F2(Congestion Contr)5.5 E
(ol Identi\214ers Registry)-.234 E F0
(Each entry in the DCCP Congestion Control Identi\214ers \(CCID\) re)
100.8 688 Q(gistry contains a CCID,)-.165 E(which is a number in the ra\
nge 0-255; the name of the CCID, such as "TCP-lik)100.8 701 Q(e)-.11 E
(Congestion Control"; and a reference to the RFC de\214ning the CCID.)
100.8 714 Q(The re)5.5 E(gistry is)-.165 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(19.5. [P)2.75 F(age 87])-.165 E 0 Cg EP
%%Page: 88 88
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(initially populated using the v)100.8 85 Q(alues in T)-.275 E
(able 5 \(Section 10\).)-.88 E(CCIDs 2 and 3 are allocated)5.5 E(by con\
currently published pro\214les, and CCIDs 248-254 are permanently reser\
v)100.8 98 Q(ed for)-.165 E -.165(ex)100.8 111 S
(perimental and testing use.).165 E
(CCIDs 0, 1, 4-247, and 255 are currently reserv)5.5 E(ed, and)-.165 E
(should be allocated with the IETF Consensus polic)100.8 124 Q 1.43
-.715(y, r)-.165 H(equiring an IETF RFC publication).715 E
(\(standards-track or not\) with IESG re)100.8 137 Q(vie)-.275 E 2.75
(wa)-.275 G(nd appro)-2.75 E -.275(va)-.165 G(l.).275 E/F1 11
/Times-Bold@0 SF(19.6.)72 163 Q/F2 13/Times-Bold@0 SF(Ack V)5.5 E
(ector States Registry)-1.3 E F0(Each entry in the DCCP Ack V)100.8
179.6 Q(ector States re)-1.221 E(gistry contains an Ack V)-.165 E
(ector State, which is)-1.221 E 2.75(an)100.8 192.6 S
(umber in the range 0-3; the name of the State, such as "Recei)-2.75 E
-.165(ve)-.275 G 2.75(dE).165 G(CN Mark)-2.75 E(ed"; and a)-.11 E
(reference to the RFC de\214ning the State.)100.8 205.6 Q(The re)5.5 E
(gistry is initially populated using the v)-.165 E(alues)-.275 E(in T)
100.8 218.6 Q(able 6 \(Section 11.4\).)-.88 E
(This document allocates States 0, 1, and 3.)5.5 E(State 2 is currently)
5.5 E(reserv)100.8 231.6 Q
(ed, and should be allocated with the Standards Action polic)-.165 E
1.43 -.715(y, w)-.165 H(hich requires IESG).715 E(re)100.8 244.6 Q(vie)
-.275 E 2.75(wa)-.275 G(nd appro)-2.75 E -.275(va)-.165 G 2.75(la).275 G
(nd standards-track IETF RFC publication.)-2.75 E F1(19.7.)72 270.6 Q F2
(Dr)5.5 E(op Codes Registry)-.234 E F0
(Each entry in the DCCP Drop Codes re)100.8 287.2 Q
(gistry contains a Data Dropped Drop Code, which)-.165 E(is a number in\
 the range 0-7; the name of the Drop Code, such as "Application Not)
100.8 300.2 Q
(Listening"; and a reference to the RFC de\214ning the Drop Code.)100.8
313.2 Q(The re)5.5 E(gistry is initially)-.165 E(populated using the v)
100.8 326.2 Q(alues in T)-.275 E(able 7 \(Section 11.7\).)-.88 E
(This document allocates Drop Codes)5.5 E(0-3 and 7.)100.8 339.2 Q
(Drop Codes 4-6 are currently reserv)5.5 E
(ed, and should be allocated with the)-.165 E(Standards Action polic)
100.8 352.2 Q 1.43 -.715(y, w)-.165 H(hich requires IESG re).715 E(vie)
-.275 E 2.75(wa)-.275 G(nd appro)-2.75 E -.275(va)-.165 G 2.75(la).275 G
(nd standards-track)-2.75 E(IETF RFC publication.)100.8 365.2 Q F1
(19.8.)72 391.2 Q F2(Ser)5.5 E(vice Codes Registry)-.13 E F0
(Each entry in the Service Codes re)100.8 407.8 Q
(gistry contains a Service Code, which is a number in the)-.165 E(range\
 0-4294967294; a short English description of the intended service; and\
 an optional)100.8 420.8 Q(reference to an RFC or other publicly a)100.8
433.8 Q -.275(va)-.22 G
(ilable speci\214cation de\214ning the Service Code.).275 E(The re)100.8
446.8 Q(gistry should list the Service Code')-.165 E 2.75(sn)-.605 G
(umeric v)-2.75 E(alue as a decimal number)-.275 E 2.75(,b)-.44 G
(ut when)-2.97 E(each byte of the four)100.8 459.8 Q
(-byte Service Code is in the range 32-127, the re)-.22 E
(gistry should also)-.165 E(sho)100.8 472.8 Q 2.75(waf)-.275 G(our)-2.75
E(-character ASCII interpretation of the Service Code.)-.22 E
(Thus, the number)5.5 E(1717858426 w)100.8 485.8 Q
(ould additionally appear as "fdpz".)-.11 E
(Service Codes are not DCCP-speci\214c.)5.5 E
(Service Code 0 is permanently reserv)100.8 498.8 Q
(ed \(it represents the absence of a meaningful Service)-.165 E(Code\),\
 and Service Codes 1056964608-1073741823 \(high byte ASCII "?"\) are re\
serv)100.8 511.8 Q(ed for)-.165 E(Pri)100.8 524.8 Q -.275(va)-.275 G
(te Use.).275 E(Note that 4294967295 is not a v)5.5 E
(alid Service Code.)-.275 E(Most of the remaining)5.5 E
(Service Codes are allocated First Come First Serv)100.8 537.8 Q
(ed, with no RFC publication required;)-.165 E -.165(ex)100.8 550.8 S
(ceptions are listed in Section 8.1.2.).165 E
(This document allocates a single Service Code,)5.5 E
(1145656131 \("DISC"\).)100.8 563.8 Q
(This corresponds to the discard service, which discards all data)5.5 E
(sent to the service and sends no data in reply)100.8 576.8 Q(.)-.715 E
F1(19.9.)72 602.8 Q F2 -.26(Po)5.5 G(rt Numbers Registry).26 E F0
(DCCP services may use contact port numbers to pro)100.8 619.4 Q
(vide service to unkno)-.165 E(wn callers, as in)-.275 E(TCP and UDP)
100.8 632.4 Q 5.5(.I)-1.221 G(AN)-5.5 E 2.75(Ai)-.385 G 2.75(st)-2.75 G
(herefore requested to open the e)-2.75 E(xisting Port Numbers re)-.165
E(gistry for)-.165 E(DCCP using the follo)100.8 645.4 Q
(wing rules, which we intend to mesh well with e)-.275 E
(xisting Port Numbers)-.165 E(re)100.8 658.4 Q(gistration procedures.)
-.165 E(Port numbers are di)100.8 675 Q(vided into three ranges.)-.275 E
(The W)5.5 E(ell Kno)-.88 E(wn Ports are those from 0)-.275 E
(through 1023, the Re)100.8 688 Q
(gistered Ports are those from 1024 through 49151, and the Dynamic)-.165
E(and/or Pri)100.8 701 Q -.275(va)-.275 G
(te Ports are those from 49152 through 65535.).275 E -.88(We)5.5 G
(ll Kno).88 E(wn and Re)-.275 E(gistered)-.165 E
(Ports are intended for use by serv)100.8 714 Q
(er applications that desire a def)-.165 E(ault contact point on a)-.11
E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(19.9. [P)2.75 F(age 88])-.165 E 0 Cg EP
%%Page: 89 89
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 2.75
(system. On)100.8 85 R(most systems, W)2.75 E(ell Kno)-.88 E
(wn Ports can only be used by system \(or root\))-.275 E
(processes or by programs e)100.8 98 Q -.165(xe)-.165 G(cuted by pri)
.165 E(vile)-.275 E(ged users, while Re)-.165 E
(gistered Ports can be used)-.165 E
(by ordinary user processes or programs e)100.8 111 Q -.165(xe)-.165 G
(cuted by ordinary users.).165 E(Dynamic and/or)5.5 E(Pri)100.8 124 Q
-.275(va)-.275 G(te Ports are intended for temporary use, including cli\
ent-side ports, out-of-band).275 E(ne)100.8 137 Q
(gotiated ports, and application testing prior to re)-.165 E
(gistration of a dedicated port; the)-.165 E(y)-.165 E(MUST NO)100.8 150
Q 2.75(Tb)-.44 G 2.75(er)-2.75 G -.165(eg)-2.75 G(istered.).165 E
(The Port Numbers re)100.8 166.6 Q(gistry should accept re)-.165 E
(gistrations for DCCP ports in the W)-.165 E(ell Kno)-.88 E(wn)-.275 E
(Ports and Re)100.8 179.6 Q(gistered Ports ranges.)-.165 E -.88(We)5.5 G
(ll Kno).88 E(wn and Re)-.275 E(gistered Ports SHOULD NO)-.165 E 2.75
(Tb)-.44 G(e)-2.75 E(used without re)100.8 192.6 Q 2.75
(gistration. Although)-.165 F
(in some cases -- such as porting an application from)2.75 E
(UDP to DCCP -- it may seem natural to use a DCCP port before re)100.8
205.6 Q(gistration completes, we)-.165 E(emphasize that IAN)100.8 218.6
Q 2.75(Aw)-.385 G(ill not guarantee re)-2.75 E
(gistration of particular W)-.165 E(ell Kno)-.88 E(wn and)-.275 E(Re)
100.8 231.6 Q(gistered Ports.)-.165 E(Re)5.5 E
(gistrations should be requested as early as possible.)-.165 E
(Each port re)100.8 248.2 Q(gistration SHALL include the follo)-.165 E
(wing information:)-.275 E 12.65<8341>100.8 264.8 S(short port name, co\
nsisting entirely of letters \(A-Z and a-z\), digits \(0-9\), and)-9.9 E
(punctuation characters from "-_+./*" \(not including the quotes\).)
117.3 277.8 Q 12.65<8354>100.8 294.4 S
(he port number that is requested to be re)-12.65 E(gistered.)-.165 E
12.65<8341>100.8 311 S(short English phrase describing the port')-9.9 E
2.75(sp)-.605 G 2.75(urpose. This)-2.75 F(SHOULD include one or)2.75 E
(more space-separated te)117.3 324 Q
(xtual Service Code descriptors naming the port')-.165 E 2.75(sc)-.605 G
(orresponding)-2.75 E(Service Codes \(see Section 8.1.2\).)117.3 337 Q
12.65<834e>100.8 353.6 S
(ame and contact information for the person or entity performing the re)
-12.65 E(gistration, and)-.165 E
(possibly a reference to a document de\214ning the port')117.3 366.6 Q
2.75(su)-.605 G 2.75(se. Re)-2.75 F(gistrations coming from)-.165 E
(IETF w)117.3 379.6 Q(orking groups need only name the w)-.11 E
(orking group, b)-.11 E(ut it is also recommended to)-.22 E
(indicate a contact person.)117.3 392.6 Q(Re)100.8 409.2 Q
(gistrants are encouraged to follo)-.165 E 2.75(wt)-.275 G
(hese guidelines when submitting a re)-2.75 E(gistration:)-.165 E 12.65
<8341>100.8 425.8 S(port name SHOULD NO)-9.9 E 2.75(Tb)-.44 G 2.75(er)
-2.75 G -.165(eg)-2.75 G(istered for more than one DCCP port number).165
E(.)-.605 E 12.65<8341>100.8 442.4 S(port name re)-9.9 E
(gistered for UDP MA)-.165 E 2.75(Yb)-1.155 G 2.75(er)-2.75 G -.165(eg)
-2.75 G(istered for DCCP as well.).165 E(An)5.5 E 2.75(ys)-.165 G(uch)
-2.75 E(re)117.3 455.4 Q
(gistration SHOULD use the same port number as the e)-.165 E
(xisting UDP re)-.165 E(gistration.)-.165 E 12.65<8343>100.8 472 S
(oncrete intent to use a port SHOULD precede port re)-12.65 E 2.75
(gistration. F)-.165 F(or e)-.165 E(xample, e)-.165 E(xisting)-.165 E
(UDP ports SHOULD NO)117.3 485 Q 2.75(Tb)-.44 G 2.75(er)-2.75 G -.165
(eg)-2.75 G(istered in adv).165 E(ance of an)-.275 E 2.75(yi)-.165 G
(ntent to use those ports for)-2.75 E(DCCP)117.3 498 Q(.)-1.221 E 12.65
<8341>100.8 514.6 S
(port name generally associated with TCP and/or SCTP SHOULD NO)-9.9 E
2.75(Tb)-.44 G 2.75(er)-2.75 G -.165(eg)-2.75 G(istered).165 E(for DCCP)
117.3 527.6 Q 2.75(,s)-1.221 G
(ince that port name implies reliable transport.)-2.75 E -.165(Fo)5.5 G
2.75(re).165 G(xample, we discourage)-2.915 E(re)117.3 540.6 Q
(gistration of an)-.165 E 2.75(y")-.165 G(http" port for DCCP)-2.75 E
5.5(.H)-1.221 G -.275(ow)-5.5 G -2.365 -.275(ev e).275 H .88 -.44(r, i)
.275 H 2.75(fs).44 G(uch a re)-2.75 E(gistration mak)-.165 E(es sense)
-.11 E(\(that is, if there is concrete intent to use such a port\), the\
 DCCP re)117.3 553.6 Q(gistration SHOULD)-.165 E
(use the same port number as the e)117.3 566.6 Q(xisting re)-.165 E
(gistration.)-.165 E 12.65<834d>100.8 583.2 S(ultiple DCCP re)-12.65 E
(gistrations for the same port number are allo)-.165 E
(wed as long as the)-.275 E(re)117.3 596.2 Q
(gistrations' Service Codes do not o)-.165 E -.165(ve)-.165 G(rlap.).165
E(This document re)100.8 612.8 Q(gisters the follo)-.165 E(wing port.)
-.275 E(\(This should be considered a model)5.5 E(re)100.8 625.8 Q
(gistration.\))-.165 E 8.25(discard 9/dccp Discard)100.8 651.8 R
(SC:DISC)2.75 E 2.75(#I)100.8 664.8 S(ETF dccp WG, Eddie K)-2.75 E
(ohler <k)-.385 E(ohler@cs.ucla.edu>, DCCP RFC)-.11 E(The discard servi\
ce, which accepts DCCP connections on port 9, discards all incoming)
100.8 681.4 Q(application data and sends no data in response.)100.8
694.4 Q(Thus, DCCP')5.5 E 2.75(sd)-.605 G(iscard port is analogous to)
-2.75 E(TCP')100.8 707.4 Q 2.75(sd)-.605 G
(iscard port, and might be used to check the health of a DCCP stack.)
-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76
(yd Section)-.11 F 2.75(19.9. [P)2.75 F(age 89])-.165 E 0 Cg EP
%%Page: 90 90
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(20.)72 85 Q/F2 14/Times-Bold@0 SF(Thanks)5.5 E F0
(Thanks to Jitendra P)100.8 101.6 Q(adh)-.165 E
(ye for his help with early v)-.055 E(ersions of this speci\214cation.)
-.165 E(Thanks to Junwen Lai and Arun V)100.8 118.2 Q
(enkataramani, who, as interns at ICIR, b)-1.221 E(uilt a prototype)-.22
E(DCCP implementation.)100.8 131.2 Q(In particular)5.5 E 2.75(,J)-.44 G
(unwen Lai recommended that the old feature)-2.75 E(ne)100.8 144.2 Q
(gotiation mechanism be scrapped and co-designed the current mechanism.)
-.165 E(Arun)5.5 E -1.221(Ve)100.8 157.2 S(nkataramani')1.221 E 2.75(sf)
-.605 G(eedback impro)-2.75 E -.165(ve)-.165 G 2.75(dA).165 G
(ppendix A.)-2.75 E 1.76 -.88(We t)100.8 173.8 T(hank the staf).88 E
2.75(fa)-.275 G(nd interns of ICIR and, formerly)-2.75 E 2.75(,A)-.715 G
(CIRI, the members of the End-to-)-3.19 E
(End Research Group, and the members of the T)100.8 186.8 Q
(ransport Area W)-.385 E(orking Group for their)-.88 E(feedback on DCCP)
100.8 199.8 Q 5.5(.W)-1.221 G 2.75(ee)-6.38 G
(specially thank the DCCP e)-2.75 E(xpert re)-.165 E(vie)-.275 E
(wers: Gre)-.275 E 2.75(gM)-.165 G(inshall, Eric)-2.75 E
(Rescorla, and Magnus W)100.8 212.8 Q
(esterlund for detailed written comments and problem spotting,)-.88 E
(and Rob Austein and Ste)100.8 225.8 Q .33 -.165(ve B)-.275 H(ello).165
E(vin for v)-.165 E(erbal comments and written notes.)-.165 E 1.76 -.88
(We a)100.8 242.4 T(lso thank those who pro).88 E
(vided comments and suggestions via the DCCP BOF)-.165 E 2.75(,W)-.88 G
(orking)-3.63 E(Group, and mailing lists, including Damon Lanphear)100.8
255.4 Q 2.75(,P)-.44 G(atrick McManus, Colin Perkins,)-2.915 E
(Sara Karlber)100.8 268.4 Q(g, K)-.198 E -.275(ev)-.275 G
(in Lai, Bernard Aboba, Y).275 E(oungsoo Choi, Pengfei Di, Dan Duchamp,)
-1.21 E(Gorry F)100.8 281.4 Q(airhurst, Derek F)-.165 E -.165(aw)-.165 G
(cus, Da).165 E(vid T)-.22 E(imoth)-.385 E 2.75(yF)-.055 G
(leeman, John Loughne)-2.75 E 1.43 -.715(y, G)-.165 H -.055(hy).715 G
(slain).055 E(Pelletier)100.8 294.4 Q 2.75(,T)-.44 G
(om Phelan, Stanisla)-3.63 E 2.75(vS)-.22 G(haluno)-2.75 E 1.43 -.715
(v, S)-.165 H(omsak V).715 E(anit-Anunchai, Da)-1.221 E(vid V)-.22 E
(os, Y)-1.419 E(ufei)-1.221 E -.88(Wa)100.8 307.4 S(ng, and Michael W)
.88 E 2.75(elzl. In)-.88 F(particular)2.75 E 2.75(,C)-.44 G
(olin Perkins pro)-2.75 E(vided e)-.165 E(xtensi)-.165 E -.165(ve)-.275
G 2.75(,d).165 G(etailed)-2.75 E(feedback, Michael W)100.8 320.4 Q
(elzl suggested the Data Checksum option, Gorry F)-.88 E(airhurst pro)
-.165 E(vided)-.165 E -.165(ex)100.8 333.4 S(tensi).165 E .33 -.165
(ve f)-.275 H(eedback on v).165 E(arious checksum issues, and Somsak V)
-.275 E(anit-Anunchai et al.)-1.221 E -.605('s)-.77 G
(Colored Petri Net model disco)100.8 346.4 Q -.165(ve)-.165 G
(red a problem with message e).165 E(xchange.)-.165 E F1(A.)72 372.4 Q
F2 -.35(Ap)5.5 G(pendix: Ack V).35 E(ector Implementation Notes)-1.4 E
F0(This appendix discusses particulars of DCCP ackno)100.8 389 Q
(wledgement handling, in the conte)-.275 E(xt of)-.165 E
(an abstract implementation for Ack V)100.8 402 Q(ector)-1.221 E 5.5(.I)
-.605 G 2.75(ti)-5.5 G 2.75(si)-2.75 G(nformati)-2.75 E .33 -.165(ve r)
-.275 H(ather than normati).165 E -.165(ve)-.275 G(.).165 E
(The \214rst part of our implementation runs at the HC-Recei)100.8 418.6
Q -.165(ve)-.275 G .88 -.44(r, a).165 H(nd therefore ackno).44 E
(wledges)-.275 E(data pack)100.8 431.6 Q 2.75(ets. It)-.11 F
(generates Ack V)2.75 E(ector options.)-1.221 E
(The implementation has the follo)5.5 E(wing)-.275 E(characteristics:)
100.8 444.6 Q 12.65<8341>100.8 461.2 S 2.75(tm)-12.65 G
(ost one byte of state per ackno)-2.75 E(wledged pack)-.275 E(et.)-.11 E
12.65<834f>100.8 477.8 S(\(1\) time to update that state when a ne)
-12.65 E 2.75(wp)-.275 G(ack)-2.75 E(et arri)-.11 E -.165(ve)-.275 G
2.75(s\().165 G(normal case\).)-2.75 E 12.65<8343>100.8 494.4 S(umulati)
-12.65 E .33 -.165(ve a)-.275 H(ckno).165 E(wledgements.)-.275 E 12.65
<8351>100.8 511 S(uick remo)-12.65 E -.275(va)-.165 G 2.75(lo).275 G
2.75(fo)-2.75 G(ld state.)-2.75 E
(The basic data structure is a circular b)100.8 527.6 Q(uf)-.22 E
(fer containing information about ackno)-.275 E(wledged)-.275 E(pack)
100.8 540.6 Q 2.75(ets. Each)-.11 F(byte in this b)2.75 E(uf)-.22 E
(fer contains a state and run length; the state can be 0 \(pack)-.275 E
(et)-.11 E(recei)100.8 553.6 Q -.165(ve)-.275 G(d\), 1 \(pack).165 E
(et ECN mark)-.11 E(ed\), or 3 \(pack)-.11 E(et not yet recei)-.11 E
-.165(ve)-.275 G 2.75(d\). The).165 F -.22(bu)2.75 G -.275(ff).22 G
(er gro).275 E(ws from)-.275 E(right to left.)100.8 566.6 Q
(The implementation maintains \214v)5.5 E 2.75(ev)-.165 G
(ariables, aside from the b)-3.025 E(uf)-.22 E(fer contents:)-.275 E
12.65<8322>100.8 583.2 S -.22(bu)-12.65 G(f_head" and "b).22 E
(uf_tail", which mark the li)-.22 E .33 -.165(ve p)-.275 H
(ortion of the b).165 E(uf)-.22 E(fer)-.275 E(.)-.605 E 12.65<8322>100.8
599.8 S -.22(bu)-12.65 G(f_ackno", the Ackno).22 E
(wledgement Number of the most recent pack)-.275 E(et ackno)-.11 E
(wledged)-.275 E(in the b)117.3 612.8 Q(uf)-.22 E(fer)-.275 E 5.5(.T)
-.605 G(his corresponds to the "head" pointer)-5.5 E(.)-.605 E 12.65
<8322>100.8 629.4 S -.22(bu)-12.65 G(f_nonce", the one-bit sum \(e).22 E
(xclusi)-.165 E -.165(ve)-.275 G(-or).165 E 2.75(,o)-.44 G 2.75(rp)-2.75
G(arity\) of the ECN Nonces recei)-2.75 E -.165(ve)-.275 G 2.75(do).165
G(n)-2.75 E(all pack)117.3 642.4 Q(ets ackno)-.11 E(wledged by the b)
-.275 E(uf)-.22 E(fer with State 0.)-.275 E 1.76 -.88(We d)100.8 659 T
(ra).88 E 2.75(wa)-.165 G(ckno)-2.75 E(wledgement b)-.275 E(uf)-.22 E
(fers lik)-.275 E 2.75(et)-.11 G(his:)-2.75 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 236.068(yd Section)-.11 F 2.75(A. [P)
2.75 F(age 90])-.165 E 0 Cg EP
%%Page: 91 91
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF
(+---------------------------------------------------------------+)114
85 Q 13.2(|S,L|S,L|S,L|S,L| | | | |S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|)114
98 R(+---------------------------------------------------------------+)
114 111 Q 125.4(^^)206.4 124 S 26.4(buf_tail buf_head,)186.6 137 R
(buf_ackno = A)6.6 E(buf_nonce = E)33 E
(<=== buf_head and buf_tail move this way <===)180 163 Q F0(Each `)100.8
182 Q F1(S,L)A F0 2.75('r)C(epresents a State/Run length byte.)-2.75 E
1.76 -.88(We w)5.5 H(ill dra).88 E 2.75(wt)-.165 G(hese b)-2.75 E(uf)
-.22 E(fers sho)-.275 E(wing only)-.275 E(their li)100.8 195 Q .33 -.165
(ve p)-.275 H(ortion, and will add an annotation sho).165 E
(wing the Ackno)-.275 E(wledgement Number for)-.275 E(the last li)100.8
208 Q .33 -.165(ve b)-.275 H(yte in the b).165 E(uf)-.22 E(fer)-.275 E
5.5(.F)-.605 G(or e)-5.665 E(xample:)-.165 E F1
(+-----------------------------------------------+)120.6 227 Q 6.6(A|)
107.4 240 S(S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L| T)-6.6 E
(BN[E])26.4 E(+-----------------------------------------------+)120.6
253 Q F0(Here, b)100.8 272 Q(uf_nonce equals E and b)-.22 E
(uf_ackno equals A.)-.22 E 1.76 -.88(We w)100.8 288.6 T(ill use this b)
.88 E(uf)-.22 E(fer as a running e)-.275 E(xample.)-.165 E F1
(+---------------------------+)160.2 307.6 Q
(10 |0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 320.6 Q 13.2(BN[1] [Example)
26.4 F(Buffer])6.6 E(+---------------------------+)160.2 333.6 Q F0
(In concrete terms, its meaning is as follo)100.8 352.6 Q(ws:)-.275 E
-.165(Pa)129.6 369.2 S(ck).165 E(et 10 w)-.11 E(as recei)-.11 E -.165
(ve)-.275 G 2.75(d. \(The).165 F(head of the b)2.75 E(uf)-.22 E
(fer has sequence number 10, state 0,)-.275 E(and run length 0.\))129.6
382.2 Q -.165(Pa)129.6 398.8 S(ck).165 E(ets 9, 8, and 7 ha)-.11 E .33
-.165(ve n)-.22 H(ot yet been recei).165 E -.165(ve)-.275 G 2.75
(d. \(The).165 F(three bytes preceding the head)2.75 E(each ha)129.6
411.8 Q .33 -.165(ve s)-.22 H(tate 3 and run length 0.\)).165 E -.165
(Pa)129.6 428.4 S(ck).165 E(ets 6, 5, 4, 3, and 2 were recei)-.11 E
-.165(ve)-.275 G(d.).165 E -.165(Pa)129.6 445 S(ck).165 E(et 1 w)-.11 E
(as ECN mark)-.11 E(ed.)-.11 E -.165(Pa)129.6 461.6 S(ck).165 E(et 0 w)
-.11 E(as recei)-.11 E -.165(ve)-.275 G(d.).165 E
(The one-bit sum of the ECN Nonces on pack)129.6 478.2 Q
(ets 10, 6, 5, 4, 3, 2, and 0 equals 1.)-.11 E(Additionally)100.8 494.8
Q 2.75(,t)-.715 G(he HC-Recei)-2.75 E -.165(ve)-.275 G 2.75(rm).165 G
(ust k)-2.75 E(eep some information about the Ack V)-.11 E
(ectors it has)-1.221 E(recently sent.)100.8 507.8 Q -.165(Fo)5.5 G 2.75
(re).165 G(ach pack)-2.75 E(et sent carrying an Ack V)-.11 E(ector)
-1.221 E 2.75(,i)-.44 G 2.75(tr)-2.75 G(emembers four v)-2.75 E
(ariables:)-.275 E 12.65<8322>100.8 524.4 S
(ack_seqno", the Sequence Number used for the pack)-12.65 E 2.75
(et. This)-.11 F(is an HC-Recei)2.75 E -.165(ve)-.275 G(r).165 E
(sequence number)117.3 537.4 Q(.)-.605 E 12.65<8322>100.8 554 S
(ack_ptr", the v)-12.65 E(alue of b)-.275 E
(uf_head at the time of ackno)-.22 E(wledgement.)-.275 E 12.65<8322>
100.8 570.6 S(ack_ackno", the Ackno)-12.65 E
(wledgement Number used for the pack)-.275 E 2.75(et. This)-.11 F
(is an HC-)2.75 E(Sender sequence number)117.3 583.6 Q 5.5(.S)-.605 G
(ince ackno)-5.5 E(wledgements are cumulati)-.275 E -.165(ve)-.275 G
2.75(,t).165 G(his single number)-2.75 E
(completely speci\214es all necessary information about the pack)117.3
596.6 Q(ets ackno)-.11 E(wledged by this)-.275 E(Ack V)117.3 609.6 Q
(ector)-1.221 E(.)-.605 E 12.65<8322>100.8 626.2 S
(ack_nonce", the one-bit sum of the ECN Nonces for all State 0 pack)
-12.65 E(ets in the b)-.11 E(uf)-.22 E(fer)-.275 E(from b)117.3 639.2 Q
(uf_head to ack_ackno, inclusi)-.22 E -.165(ve)-.275 G 5.5(.I).165 G
(nitially)-5.5 E 2.75(,t)-.715 G(his equals the Nonce Echo of the)-2.75
E(ackno)117.3 652.2 Q(wledgement')-.275 E 2.75(sA)-.605 G(ck V)-2.75 E
(ector \(or)-1.221 E 2.75(,i)-.44 G 2.75(ft)-2.75 G(he ack pack)-2.75 E
(et contained more than one Ack)-.11 E -1.221(Ve)117.3 665.2 S(ctor)
1.221 E 2.75(,t)-.44 G(he e)-2.75 E(xclusi)-.165 E -.165(ve)-.275 G
(-or of all the ackno).165 E(wledgement')-.275 E 2.75(sA)-.605 G(ck V)
-2.75 E 2.75(ectors\). It)-1.221 F(changes as)2.75 E
(information about old ackno)117.3 678.2 Q(wledgements is remo)-.275 E
-.165(ve)-.165 G 2.75(d\().165 G(so ack_ptr and b)-2.75 E(uf_head)-.22 E
(di)117.3 691.2 Q -.165(ve)-.275 G -.198(rg).165 G(e\), and as old pack)
.198 E(ets arri)-.11 E .33 -.165(ve \()-.275 H(so the).165 E 2.75(yc)
-.165 G(hange from State 3 or State 1 to State 0\).)-2.75 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 236.068(yd Section)-.11 F 2.75
(A. [P)2.75 F(age 91])-.165 E 0 Cg EP
%%Page: 92 92
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Times-Bold@0 SF(A.1.)72 85 Q/F2 13/Times-Bold@0 SF -.13(Pa)5.5 G(ck).13
E(et Arri)-.13 E -.13(va)-.13 G(l).13 E F0(This section describes ho)
100.8 101.6 Q 2.75(wt)-.275 G(he HC-Recei)-2.75 E -.165(ve)-.275 G 2.75
(ru).165 G(pdates its ackno)-2.75 E(wledgement b)-.275 E(uf)-.22 E
(fer as)-.275 E(pack)100.8 114.6 Q(ets arri)-.11 E .33 -.165(ve f)-.275
H(rom the HC-Sender).165 E(.)-.605 E F1 2.75(A.1.1. New)72 140.6 R -.11
(Pa)2.75 G(ck).11 E(ets)-.11 E F0(When a pack)100.8 157.2 Q
(et with Sequence Number greater than b)-.11 E(uf_ackno arri)-.22 E
-.165(ve)-.275 G(s, the HC-Recei).165 E -.165(ve)-.275 G(r).165 E
(updates b)100.8 170.2 Q(uf_head \(by mo)-.22 E
(ving it to the left appropriately\), b)-.165 E
(uf_ackno \(which is set to the)-.22 E(ne)100.8 183.2 Q 2.75(wp)-.275 G
(ack)-2.75 E(et')-.11 E 2.75(sS)-.605 G
(equence Number\), and possibly b)-2.75 E(uf_nonce \(if the pack)-.22 E
(et arri)-.11 E -.165(ve)-.275 G 2.75(du).165 G(nmark)-2.75 E(ed)-.11 E
(with ECN Nonce 1\), in addition to the b)100.8 196.2 Q(uf)-.22 E
(fer itself.)-.275 E -.165(Fo)5.5 G 2.75(re).165 G
(xample, if HC-Sender pack)-2.915 E(et 11)-.11 E(arri)100.8 209.2 Q
-.165(ve)-.275 G 2.75(dE).165 G(CN mark)-2.75 E(ed, the Example Buf)-.11
E(fer abo)-.275 E .33 -.165(ve w)-.165 H(ould enter this ne).055 E 2.75
(ws)-.275 G(tate \(changes are)-2.75 E(mark)100.8 222.2 Q
(ed with stars\):)-.11 E/F3 11/Courier@0 SF
(** +***----------------------------+)140.4 241.2 Q
(11 |1,0|0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 254.2 Q(BN[1])26.4 E
(** +***----------------------------+)140.4 267.2 Q F0(If the pack)100.8
286.2 Q(et')-.11 E 2.75(ss)-.605 G
(tate equals the state at the head of the b)-2.75 E(uf)-.22 E(fer)-.275
E 2.75(,t)-.44 G(he HC-Recei)-2.75 E -.165(ve)-.275 G 2.75(rm).165 G
(ay choose)-2.75 E(to increment its run length \(up to the maximum\).)
100.8 299.2 Q -.165(Fo)5.5 G 2.75(re).165 G(xample, if HC-Sender pack)
-2.915 E(et 11)-.11 E(arri)100.8 312.2 Q -.165(ve)-.275 G 2.75(dw).165 G
(ithout ECN marking and with ECN Nonce 0, the Example Buf)-2.75 E
(fer might enter this)-.275 E(state instead:)100.8 325.2 Q F3
(** +--*------------------------+)166.8 344.2 Q
(11 |0,1|3,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 357.2 Q(BN[1])26.4 E
(** +--*------------------------+)166.8 370.2 Q F0(Of course, the ne)
100.8 389.2 Q 2.75(wp)-.275 G(ack)-2.75 E(et')-.11 E 2.75(ss)-.605 G
(equence number might not equal the e)-2.75 E(xpected sequence)-.165 E
(number)100.8 402.2 Q 5.5(.I)-.605 G 2.75(nt)-5.5 G
(his case, the HC-Recei)-2.75 E -.165(ve)-.275 G 2.75(rw).165 G
(ill enter the interv)-2.75 E(ening pack)-.165 E(ets as State 3.)-.11 E
(If)5.5 E(se)100.8 415.2 Q -.165(ve)-.275 G(ral pack).165 E
(ets are missing, the HC-Recei)-.11 E -.165(ve)-.275 G 2.75(rm).165 G
(ay prefer to enter multiple bytes with run)-2.75 E
(length 0, rather than a single byte with a lar)100.8 428.2 Q
(ger run length; this simpli\214es table updates if)-.198 E
(one of the missing pack)100.8 441.2 Q(ets arri)-.11 E -.165(ve)-.275 G
2.75(s. F).165 F(or e)-.165 E(xample, if HC-Sender pack)-.165 E
(et 12 arri)-.11 E -.165(ve)-.275 G 2.75(dw).165 G(ith ECN)-2.75 E
(Nonce 1, the Example Buf)100.8 454.2 Q(fer w)-.275 E
(ould enter this state:)-.11 E F3
(** +*******----------------------------+)114 473.2 Q(*)59.4 E
(12 |0,0|3,0|0,1|3,0|3,0|3,0|0,4|1,0|0,0| 0)114 486.2 Q(BN[0])26.4 E
(** +*******----------------------------+)114 499.2 Q(*)59.4 E F0
(Of course, the circular b)100.8 518.2 Q(uf)-.22 E(fer may o)-.275 E
-.165(ve)-.165 G(r\215o).165 E 1.43 -.715(w, e)-.275 H
(ither when the HC-Sender is sending data at a).715 E -.165(ve)100.8
531.2 S(ry high rate, when the HC-Recei).165 E -.165(ve)-.275 G(r').165
E 2.75(sa)-.605 G(ckno)-2.75 E(wledgements are not reaching the HC-)
-.275 E(Sender)100.8 544.2 Q 2.75(,o)-.44 G 2.75(rw)-2.75 G
(hen the HC-Sender is for)-2.75 E(getting to ackno)-.198 E
(wledge those acks \(so the HC-)-.275 E(Recei)100.8 557.2 Q -.165(ve)
-.275 G 2.75(ri).165 G 2.75(su)-2.75 G(nable to clean up old state\).)
-2.75 E(In this case, the HC-Recei)5.5 E -.165(ve)-.275 G 2.75(rs).165 G
(hould either)-2.75 E(compress the b)100.8 570.2 Q(uf)-.22 E(fer \(by i\
ncreasing run lengths when possible\), transfer its state to a lar)-.275
E(ger)-.198 E -.22(bu)100.8 583.2 S -.275(ff).22 G(er).275 E 2.75(,o)
-.44 G .88 -.44(r, a)-2.75 H 2.75(sal).44 G(ast resort, drop all recei)
-2.75 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E
(ets, without processing them whatsoe)-.11 E -.165(ve)-.275 G -.44(r,)
.165 G(until its b)100.8 596.2 Q(uf)-.22 E(fer shrinks ag)-.275 E(ain.)
-.055 E F1 2.75(A.1.2. Old)72 622.2 R -.11(Pa)2.75 G(ck).11 E(ets)-.11 E
F0(When a pack)100.8 638.8 Q(et with Sequence Number S arri)-.11 E -.165
(ve)-.275 G(s, and S <= b).165 E(uf_ackno, the HC-Recei)-.22 E -.165(ve)
-.275 G(r).165 E(will scan the table for the byte corresponding to S.)
100.8 651.8 Q(\(Inde)5.5 E(xing structures could reduce the)-.165 E
(comple)100.8 664.8 Q(xity of this scan.\))-.165 E(If S w)5.5 E(as pre)
-.11 E(viously lost \(State 3\), and it w)-.275 E
(as stored in a byte with)-.11 E(run length 0, the HC-Recei)100.8 677.8
Q -.165(ve)-.275 G 2.75(rc).165 G(an simply change the byte')-2.75 E
2.75(ss)-.605 G 2.75(tate. F)-2.75 F(or e)-.165 E(xample, if HC-)-.165 E
(Sender pack)100.8 690.8 Q(et 8 w)-.11 E(as recei)-.11 E -.165(ve)-.275
G 2.75(dw).165 G(ith ECN Nonce 0, the Example Buf)-2.75 E(fer w)-.275 E
(ould enter this)-.11 E(state:)100.8 703.8 Q -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 219.568(yd Section)-.11 F 2.75
(A.1.2. [P)2.75 F(age 92])-.165 E 0 Cg EP
%%Page: 93 93
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 11
/Courier@0 SF(+--------*------------------+)186.6 85 Q
(10 |0,0|3,0|0,0|3,0|0,4|1,0|0,0| 0)166.8 98 Q(BN[1])26.4 E
(+--------*------------------+)186.6 111 Q F0(If S w)100.8 130 Q
(as not mark)-.11 E(ed as lost, or if it w)-.11 E
(as not contained in the table, the pack)-.11 E(et is probably a)-.11 E
(duplicate, and should be ignored.)100.8 143 Q(\(The ne)5.5 E 2.75(wp)
-.275 G(ack)-2.75 E(et')-.11 E 2.75(sE)-.605 G
(CN marking state might dif)-2.75 E(fer from)-.275 E(the state in the b)
100.8 156 Q(uf)-.22 E(fer; Section 11.4.1 describes what is allo)-.275 E
(wed then.\))-.275 E(If S')5.5 E 2.75(sb)-.605 G(uf)-2.97 E
(fer byte has)-.275 E 2.75(an)100.8 169 S
(on-zero run length, then the b)-2.75 E(uf)-.22 E
(fer might need be reshuf)-.275 E(\215ed to mak)-.275 E 2.75(es)-.11 G
(pace for one or)-2.75 E(tw)100.8 182 Q 2.75(on)-.11 G .55 -.275(ew b)
-2.75 H(ytes.).275 E
(The ack_nonce \214elds may also need manipulation when old pack)100.8
198.6 Q(ets arri)-.11 E -.165(ve)-.275 G 5.5(.I).165 G 2.75(np)-5.5 G
(articular)-2.75 E(,)-.44 E(when S transitions from State 3 or State 1 \
to State 0, and S had ECN Nonce 1, then the)100.8 211.6 Q
(implementation should \215ip the v)100.8 224.6 Q
(alue of ack_nonce for e)-.275 E -.165(ve)-.275 G(ry ackno).165 E
(wledgement with)-.275 E(ack_ackno >= S.)100.8 237.6 Q
(It is impossible with this data structure to shift pack)100.8 254.2 Q
(ets from State 0 to State 1, since the)-.11 E -.22(bu)100.8 267.2 S
-.275(ff).22 G(er doesn').275 E 2.75(ts)-.198 G(tore indi)-2.75 E
(vidual pack)-.275 E(ets' ECN Nonces.)-.11 E/F2 11/Times-Bold@0 SF(A.2.)
72 293.2 Q/F3 13/Times-Bold@0 SF(Sending Ackno)5.5 E(wledgements)-.13 E
F0(Whene)100.8 309.8 Q -.165(ve)-.275 G 2.75(rt).165 G(he HC-Recei)-2.75
E -.165(ve)-.275 G 2.75(rn).165 G(eeds to generate an ackno)-2.75 E
(wledgement, the b)-.275 E(uf)-.22 E(fer')-.275 E 2.75(sc)-.605 G
(ontents)-2.75 E(can simply be copied into one or more Ack V)100.8 322.8
Q(ector options.)-1.221 E(Copied Ack V)5.5 E(ectors might not)-1.221 E
(be maximally compressed; for e)100.8 335.8 Q(xample, the Example Buf)
-.165 E(fer abo)-.275 E .33 -.165(ve c)-.165 H(ontains three adjacent)
.165 E(3,0 bytes that could be combined into a single 3,2 byte.)100.8
348.8 Q(The HC-Recei)5.5 E -.165(ve)-.275 G 2.75(rm).165 G
(ight, therefore,)-2.75 E(choose to compress the b)100.8 361.8 Q(uf)-.22
E(fer in place before sending the option, or to compress the b)-.275 E
(uf)-.22 E(fer)-.275 E(while cop)100.8 374.8 Q
(ying it; either operation is simple.)-.11 E(Ev)100.8 391.4 Q(ery ackno)
-.165 E(wledgement sent by the HC-Recei)-.275 E -.165(ve)-.275 G 2.75
(rS).165 G(HOULD include the entire state of the)-2.75 E -.22(bu)100.8
404.4 S -.275(ff).22 G(er).275 E 5.5(.T)-.605 G(hat is, ackno)-5.5 E
(wledgements are cumulati)-.275 E -.165(ve)-.275 G(.).165 E
(If the ackno)100.8 421 Q(wledgement \214ts in one Ack V)-.275 E(ector)
-1.221 E 2.75(,t)-.44 G(hat Ack V)-2.75 E(ector')-1.221 E 2.75(sN)-.605
G(once Echo simply)-2.75 E(equals b)100.8 434 Q 2.75(uf_nonce. F)-.22 F
(or multiple Ack V)-.165 E(ectors, more care is required.)-1.221 E
(The Ack V)5.5 E(ectors)-1.221 E
(should be split at points corresponding to pre)100.8 447 Q(vious ackno)
-.275 E(wledgements, since the stored)-.275 E(ack_nonce \214elds pro)
100.8 460 Q(vide enough information to calculate correct Nonce Echoes.)
-.165 E(The)5.5 E(implementation should therefore ackno)100.8 473 Q
(wledge data at least once per 253 bytes of b)-.275 E(uf)-.22 E(fer)
-.275 E 2.75(state. \(Otherwise,)100.8 486 R(there')2.75 E 2.75(db)-.55
G 2.75(en)-2.75 G 2.75(ow)-2.75 G(ay to calculate a Nonce Echo.\))-2.86
E -.165(Fo)100.8 502.6 S 2.75(re).165 G(ach ackno)-2.75 E
(wledgement it sends, the HC-Recei)-.275 E -.165(ve)-.275 G 2.75(rw).165
G(ill add an ackno)-2.75 E(wledgement)-.275 E 2.75(record. ack_seqno)
100.8 515.6 R(will equal the HC-Recei)2.75 E -.165(ve)-.275 G 2.75(rs)
.165 G(equence number it used for the ack pack)-2.75 E(et;)-.11 E
(ack_ptr will equal b)100.8 528.6 Q(uf_head; ack_ackno will equal b)-.22
E(uf_ackno; and ack_nonce will equal)-.22 E -.22(bu)100.8 541.6 S
(f_nonce.).22 E F2(A.3.)72 567.6 Q F3(Clearing State)5.5 E F0
(Some of the HC-Sender')100.8 584.2 Q 2.75(sp)-.605 G(ack)-2.75 E
(ets will include ackno)-.11 E(wledgement numbers, which ack the)-.275 E
(HC-Recei)100.8 597.2 Q -.165(ve)-.275 G(r').165 E 2.75(sa)-.605 G(ckno)
-2.75 E 2.75(wledgements. When)-.275 F(such an ack is recei)2.75 E -.165
(ve)-.275 G(d, the HC-Recei).165 E -.165(ve)-.275 G 2.75<728c>.165 G
(nds)-2.75 E(the ackno)100.8 610.2 Q
(wledgement record R with the appropriate ack_seqno, then:)-.275 E 12.65
<8353>100.8 626.8 S(ets b)-12.65 E(uf_tail to R.ack_ptr + 1.)-.22 E
12.65<8349>100.8 643.4 S 2.75(fR)-12.65 G(.ack_nonce is 1, it \215ips b)
-2.75 E(uf_nonce, and the v)-.22 E(alue of ack_nonce for e)-.275 E -.165
(ve)-.275 G(ry later ack).165 E(record.)117.3 656.4 Q 12.65<8354>100.8
673 S(hro)-12.65 E(ws a)-.275 E -.11(wa)-.165 G 2.75(yRa).11 G(nd e)
-2.75 E -.165(ve)-.275 G(ry preceding ack record.).165 E(\(The HC-Recei)
100.8 689.6 Q -.165(ve)-.275 G 2.75(rm).165 G(ay choose to k)-2.75 E
(eep some older information, in case a lost pack)-.11 E(et sho)-.11 E
(ws)-.275 E(up late.\))100.8 702.6 Q -.165(Fo)5.5 G 2.75(re).165 G
(xample, say that the HC-Recei)-2.915 E -.165(ve)-.275 G 2.75(rs).165 G
(toring the Example Buf)-2.75 E(fer had sent tw)-.275 E(o)-.11 E(ackno)
100.8 715.6 Q(wledgements already:)-.275 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 227.818(yd Section)-.11 F 2.75
(A.3. [P)2.75 F(age 93])-.165 E 0 Cg EP
%%Page: 94 94
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E 11
(1. ack_seqno)100.8 85 R 2.75(=5)2.75 G
(9, ack_ackno = 3, ack_nonce = 1.)-2.75 E 11(2. ack_seqno)100.8 101.6 R
2.75(=6)2.75 G(0, ack_ackno = 10, ack_nonce = 0.)-2.75 E
(Say the HC-Recei)100.8 118.2 Q -.165(ve)-.275 G 2.75(rt).165 G
(hen recei)-2.75 E -.165(ve)-.275 G 2.75(daD).165 G(CCP-DataAck pack)
-2.75 E(et with Ackno)-.11 E(wledgement)-.275 E
(Number 59 from the HC-Sender)100.8 131.2 Q 5.5(.T)-.605 G
(his informs the HC-Recei)-5.5 E -.165(ve)-.275 G 2.75(rt).165 G
(hat the HC-Sender)-2.75 E(recei)100.8 144.2 Q -.165(ve)-.275 G
(d, and processed, all the information in HC-Recei).165 E -.165(ve)-.275
G 2.75(rp).165 G(ack)-2.75 E(et 59.)-.11 E(This pack)5.5 E(et)-.11 E
(ackno)100.8 157.2 Q(wledged HC-Sender pack)-.275 E
(et 3, so the HC-Sender has no)-.11 E 2.75(wr)-.275 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(dH).165 G(C-Recei)-2.75 E -.165(ve)-.275 G(r').165 E(s)
-.605 E(ackno)100.8 170.2 Q(wledgements for pack)-.275 E
(ets 0, 1, 2, and 3. The Example Buf)-.11 E
(fer should enter this state:)-.275 E/F1 11/Courier@0 SF
(+------------------*+ *)186.6 189.2 Q(*)46.2 E
(10 |0,0|3,0|3,0|3,0|0,2| 4)166.8 202.2 Q(BN[0])26.4 E
(+------------------*+ *)186.6 215.2 Q(*)46.2 E F0(The tail byte')100.8
234.2 Q 2.75(sr)-.605 G(un length w)-2.75 E(as adjusted, since pack)-.11
E(et 3 w)-.11 E(as in the middle of that byte.)-.11 E
(Since R.ack_nonce w)100.8 247.2 Q(as 1, the b)-.11 E
(uf_nonce \214eld w)-.22 E
(as \215ipped, as were the ack_nonce \214elds for)-.11 E(later ackno)
100.8 260.2 Q(wledgements \(here, the HC-Recei)-.275 E -.165(ve)-.275 G
2.75(rA).165 G(ck 60 record, not sho)-2.75 E(wn, has its)-.275 E
(ack_nonce \215ipped to 1\).)100.8 273.2 Q(The HC-Recei)5.5 E -.165(ve)
-.275 G 2.75(rc).165 G(an also thro)-2.75 E 2.75(wa)-.275 G -.11(wa)
-2.915 G 2.75(ys).11 G(tored information about)-2.75 E(HC-Recei)100.8
286.2 Q -.165(ve)-.275 G 2.75(rA).165 G(ck 59 and an)-2.75 E 2.75(ye)
-.165 G(arlier ackno)-2.75 E(wledgements.)-.275 E 2.75(Ac)100.8 302.8 S
(areful implementation might try to ensure reasonable rob)-2.75 E
(ustness to reordering.)-.22 E(Suppose that the Example Buf)100.8 315.8
Q(fer is as before, b)-.275 E(ut that pack)-.22 E(et 9 no)-.11 E 2.75
(wa)-.275 G(rri)-2.75 E -.165(ve)-.275 G(s, out of).165 E 2.75
(sequence. The)100.8 328.8 R -.22(bu)2.75 G -.275(ff).22 G(er w).275 E
(ould enter this state:)-.11 E F1(+----*----------------------+)186.6
347.8 Q(10 |0,0|0,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 360.8 Q(BN[1])33 E
(+----*----------------------+)186.6 373.8 Q F0
(The danger is that the HC-Sender might ackno)100.8 392.8 Q
(wledge the HC-Recei)-.275 E -.165(ve)-.275 G(r').165 E 2.75(sp)-.605 G
(re)-2.75 E(vious)-.275 E(ackno)100.8 405.8 Q
(wledgement \(with sequence number 60\), which says that P)-.275 E(ack)
-.165 E(et 9 w)-.11 E(as not recei)-.11 E -.165(ve)-.275 G(d,).165 E
(before the HC-Recei)100.8 418.8 Q -.165(ve)-.275 G 2.75(rh).165 G
(as a chance to send a ne)-2.75 E 2.75(wa)-.275 G(ckno)-2.75 E
(wledgement saying that P)-.275 E(ack)-.165 E(et 9)-.11 E(actually w)
100.8 431.8 Q(as recei)-.11 E -.165(ve)-.275 G 2.75(d. Therefore,).165 F
(when pack)2.75 E(et 9 arri)-.11 E -.165(ve)-.275 G(d, the HC-Recei).165
E -.165(ve)-.275 G 2.75(rm).165 G(ight modify)-2.75 E(its ackno)100.8
444.8 Q(wledgement record to:)-.275 E 11(1. ack_seqno)100.8 461.4 R 2.75
(=5)2.75 G(9, ack_ackno = 3, ack_nonce = 1.)-2.75 E 11(2. ack_seqno)
100.8 478 R 2.75(=6)2.75 G(0, ack_ackno = 3, ack_nonce = 1.)-2.75 E
(That is, Ack 60 is no)100.8 494.6 Q 2.75(wt)-.275 G(reated lik)-2.75 E
2.75(ead)-.11 G(uplicate of Ack 59.)-2.75 E(This w)5.5 E(ould pre)-.11 E
-.165(ve)-.275 G(nt the T).165 E(ail)-.88 E(pointer from mo)100.8 507.6
Q(ving past pack)-.165 E(et 9 until the HC-Recei)-.11 E -.165(ve)-.275 G
2.75(rk).165 G(no)-2.75 E(ws that the HC-Sender has)-.275 E
(seen an Ack V)100.8 520.6 Q(ector indicating that pack)-1.221 E(et')
-.11 E 2.75(sa)-.605 G(rri)-2.75 E -.275(va)-.275 G(l.).275 E/F2 11
/Times-Bold@0 SF(A.4.)72 546.6 Q/F3 13/Times-Bold@0 SF(Pr)5.5 E
(ocessing Ackno)-.234 E(wledgements)-.13 E F0(When the HC-Sender recei)
100.8 563.2 Q -.165(ve)-.275 G 2.75(sa).165 G 2.75(na)-2.75 G(ckno)-2.75
E(wledgement, it generally cares about the number of)-.275 E(pack)100.8
576.2 Q(ets that were dropped and/or ECN mark)-.11 E 2.75(ed. It)-.11 F
(simply reads this of)2.75 E 2.75(ft)-.275 G(he Ack V)-2.75 E(ector)
-1.221 E(.)-.605 E(Additionally)100.8 589.2 Q 2.75(,i)-.715 G 2.75(ts)
-2.75 G(hould check the ECN Nonce for correctness.)-2.75 E
(\(As described in Section)5.5 E(11.4.1, it may w)100.8 602.2 Q
(ant to k)-.11 E(eep more detailed information about ackno)-.11 E
(wledged pack)-.275 E(ets in case)-.11 E(pack)100.8 615.2 Q
(ets change states between ackno)-.11 E
(wledgements, or in case the application queries)-.275 E(whether a pack)
100.8 628.2 Q(et arri)-.11 E -.165(ve)-.275 G(d.\)).165 E
(The HC-Sender must also ackno)100.8 644.8 Q(wledge the HC-Recei)-.275 E
-.165(ve)-.275 G(r').165 E 2.75(sa)-.605 G(ckno)-2.75 E
(wledgements so that the)-.275 E(HC-Recei)100.8 657.8 Q -.165(ve)-.275 G
2.75(rc).165 G(an free old Ack V)-2.75 E(ector state.)-1.221 E
(\(Since Ack V)5.5 E(ector ackno)-1.221 E(wledgements are)-.275 E
(reliable, the HC-Recei)100.8 670.8 Q -.165(ve)-.275 G 2.75(rm).165 G
(ust maintain and resend Ack V)-2.75 E
(ector information until it is sure)-1.221 E
(that the HC-Sender has recei)100.8 683.8 Q -.165(ve)-.275 G 2.75(dt)
.165 G(hat information.\))-2.75 E 2.75(As)5.5 G(imple algorithm suf)
-2.75 E(\214ces: since Ack)-.275 E -1.221(Ve)100.8 696.8 S(ctor ackno)
1.221 E(wledgements are cumulati)-.275 E -.165(ve)-.275 G 2.75(,as).165
G(ingle ackno)-2.75 E(wledgement number tells HC-)-.275 E(Recei)100.8
709.8 Q -.165(ve)-.275 G 2.75(rh).165 G .55 -.275(ow m)-2.75 H
(uch ack information has arri).275 E -.165(ve)-.275 G 2.75(d. Assuming)
.165 F(that the HC-Recei)2.75 E -.165(ve)-.275 G 2.75(rs).165 G(ends no)
-2.75 E(data, the HC-Sender can ensure that at least once a round-trip \
time, it sends a DCCP-)100.8 722.8 Q -.385(Ko)72 769 S(hler/Handle).385
E(y/Flo)-.165 E 227.818(yd Section)-.11 F 2.75(A.4. [P)2.75 F(age 94])
-.165 E 0 Cg EP
%%Page: 95 95
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(DataAck pack)100.8 85 Q(et ackno)-.11 E
(wledging the latest DCCP-Ack pack)-.275 E(et it has recei)-.11 E -.165
(ve)-.275 G 2.75(d. Of).165 F(course,)2.75 E
(the HC-Sender only needs to ackno)100.8 98 Q(wledge the HC-Recei)-.275
E -.165(ve)-.275 G(r').165 E 2.75(sa)-.605 G(ckno)-2.75 E
(wledgements if the)-.275 E(HC-Sender is also sending data.)100.8 111 Q
(If the HC-Sender is not sending data, then the HC-)5.5 E(Recei)100.8
124 Q -.165(ve)-.275 G(r').165 E 2.75(sA)-.605 G(ck V)-2.75 E
(ector state is stable, and there is no need to shrink it.)-1.221 E
(The HC-Sender)5.5 E(must w)100.8 137 Q
(atch for drops and ECN marks on recei)-.11 E -.165(ve)-.275 G 2.75(dD)
.165 G(CCP-Ack pack)-2.75 E(ets so that it can adjust)-.11 E
(the HC-Recei)100.8 150 Q -.165(ve)-.275 G(r').165 E 2.75(sa)-.605 G
(ck-sending rate -- for e)-2.75 E
(xample, with Ack Ratio -- in response to)-.165 E(congestion.)100.8 163
Q
(If the other half-connection is not quiescent -- that is, the HC-Recei)
100.8 179.6 Q -.165(ve)-.275 G 2.75(ri).165 G 2.75(ss)-2.75 G
(ending data to)-2.75 E(the HC-Sender)100.8 192.6 Q 2.75(,p)-.44 G
(ossibly using another CCID -- then the ackno)-2.75 E
(wledgements on that half-)-.275 E(connection are suf)100.8 205.6 Q
(\214cient for the HC-Recei)-.275 E -.165(ve)-.275 G 2.75(rt).165 G 2.75
(of)-2.75 G(ree its state.)-2.75 E/F1 11/Times-Bold@0 SF(B.)72 231.6 Q
/F2 14/Times-Bold@0 SF -.35(Ap)5.5 G(pendix: P).35 E
(artial Checksumming Design Moti)-.14 E -.14(va)-.14 G(tion).14 E F0
2.75(Ag)100.8 248.2 S(reat deal of discussion has tak)-2.75 E
(en place re)-.11 E -.055(ga)-.165 G(rding the utility of allo).055 E
(wing a DCCP sender)-.275 E
(to restrict the checksum so that it does not co)100.8 261.2 Q -.165(ve)
-.165 G 2.75(rt).165 G(he complete pack)-2.75 E 2.75(et. This)-.11 F
(section)2.75 E(attempts to capture some of the rationale behind speci\
\214c details of DCCP design.)100.8 274.2 Q(Man)100.8 290.8 Q 2.75(yo)
-.165 G 2.75(ft)-2.75 G(he applications that we en)-2.75 E
(visage using DCCP are resilient to some de)-.44 E(gree of data)-.165 E
(loss, or the)100.8 303.8 Q 2.75(yw)-.165 G(ould typically ha)-2.86 E
.33 -.165(ve c)-.22 H(hosen a reliable transport.).165 E
(Some of these applications)5.5 E
(may also be resilient to data corruption -- some audio payloads, for e)
100.8 316.8 Q 2.75(xample. These)-.165 F
(resilient applications might prefer to recei)100.8 329.8 Q .33 -.165
(ve c)-.275 H(orrupted data than to ha).165 E .33 -.165(ve D)-.22 H
(CCP drop a).165 E(corrupted pack)100.8 342.8 Q 2.75(et. This)-.11 F
(is particularly because of congestion control: DCCP cannot tell the)
2.75 E(dif)100.8 355.8 Q(ference between pack)-.275 E
(ets dropped due to corruption and pack)-.11 E(ets dropped due to)-.11 E
(congestion, and so it must reduce the transmission rate accordingly)
100.8 368.8 Q 5.5(.T)-.715 G(his response may)-5.5 E
(cause the connection to recei)100.8 381.8 Q .33 -.165(ve l)-.275 H
(ess bandwidth than it is due; corruption in some).165 E(netw)100.8
394.8 Q(orking technologies is independent of, or at least not al)-.11 E
-.11(wa)-.11 G(ys correlated to, congestion.).11 E
(Therefore, corrupted pack)100.8 407.8 Q
(ets do not need to cause as strong a reduction in transmission rate)
-.11 E(as the congestion response w)100.8 420.8 Q
(ould dictate \(so long as the DCCP header and options are not)-.11 E
(corrupt\).)100.8 433.8 Q(Thus DCCP allo)100.8 450.4 Q
(ws the checksum to co)-.275 E -.165(ve)-.165 G 2.75(ra).165 G
(ll of the pack)-2.75 E(et, just the DCCP header)-.11 E 2.75(,o)-.44 G
2.75(rb)-2.75 G(oth)-2.75 E
(the DCCP header and some number of bytes from the application data.)
100.8 463.4 Q(If the application)5.5 E(cannot tolerate an)100.8 476.4 Q
2.75(yd)-.165 G(ata corruption, then the checksum must co)-2.75 E -.165
(ve)-.165 G 2.75(rt).165 G(he whole pack)-2.75 E 2.75(et. If)-.11 F(the)
2.75 E(application w)100.8 489.4 Q
(ould prefer to tolerate some corruption rather than ha)-.11 E .33 -.165
(ve t)-.22 H(he pack).165 E(et dropped,)-.11 E
(then it can set the checksum to co)100.8 502.4 Q -.165(ve)-.165 G 2.75
(ro).165 G(nly part of the pack)-2.75 E(et \(b)-.11 E(ut al)-.22 E -.11
(wa)-.11 G(ys the DCCP header\).).11 E(In addition, if the application \
wishes to decouple checksumming of the DCCP header from)100.8 515.4 Q(c\
hecksumming of the application data, it may do so by including the Data\
 Checksum)100.8 528.4 Q 2.75(option. This)100.8 541.4 R -.11(wo)2.75 G
(uld allo).11 E 2.75(wD)-.275 G
(CCP to discard corrupted application data, b)-2.75 E
(ut still not mistak)-.22 E(e)-.11 E(the corruption for netw)100.8 554.4
Q(ork congestion.)-.11 E(Thus, from the application point of vie)100.8
571 Q 1.43 -.715(w, p)-.275 H
(artial checksums seem to be a desirable feature.).715 E(Ho)100.8 584 Q
(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he usefulness of partial checksums depends on partially corrupted pack)
.44 E(ets being)-.11 E(deli)100.8 597 Q -.165(ve)-.275 G
(red to the recei).165 E -.165(ve)-.275 G 3.96 -.605(r. I).165 H 2.75
(ft).605 G(he link-layer CRC al)-2.75 E -.11(wa)-.11 G
(ys discards corrupted pack).11 E(ets, then this)-.11 E
(will not happen, and so the usefulness of partial checksums w)100.8 610
Q(ould be restricted to)-.11 E
(corruption that occurred in routers and other places not co)100.8 623 Q
-.165(ve)-.165 G(red by link CRCs.).165 E(There does)5.5 E
(not appear to be consensus on ho)100.8 636 Q 2.75(wl)-.275 G(ik)-2.75 E
(ely it is that future netw)-.11 E(ork links that suf)-.11 E(fer)-.275 E
(signi\214cant corruption will not co)100.8 649 Q -.165(ve)-.165 G 2.75
(rt).165 G(he entire pack)-2.75 E(et with a single strong CRC.)-.11 E
(DCCP)5.5 E(mak)100.8 662 Q
(es it possible to tailor such links to the application, b)-.11 E
(ut it is dif)-.22 E(\214cult to predict if this)-.275 E
(will be compelling for future link technologies.)100.8 675 Q
(In addition, partial checksums do not co-e)100.8 691.6 Q
(xist well with IP-le)-.165 E -.165(ve)-.275 G 2.75(la).165 G
(uthentication)-2.75 E(mechanisms such as IPsec AH, which co)100.8 704.6
Q -.165(ve)-.165 G 2.75(rt).165 G(he entire pack)-2.75 E
(et with a cryptographic hash.)-.11 E
(Thus, if cryptographic authentication mechanisms are required to co-e)
100.8 717.6 Q(xist with partial)-.165 E -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 236.673(yd Section)-.11 F 2.75(B. [P)2.75 F
(age 95])-.165 E 0 Cg EP
%%Page: 96 96
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(checksums, the authentication must be carried in the application data.)
100.8 85 Q 2.75(Ap)5.5 G(ossible mode of)-2.75 E(usage w)100.8 98 Q
(ould appear to be similar to that of Secure R)-.11 E(TP)-.66 E 5.5(.H)
-1.221 G -.275(ow)-5.5 G -2.365 -.275(ev e).275 H .88 -.44(r, s).275 H
(uch "application-le).44 E -.165(ve)-.275 G(l").165 E
(authentication does not protect the DCCP option ne)100.8 111 Q
(gotiation and state machine from for)-.165 E(ged)-.198 E(pack)100.8 124
Q 2.75(ets. An)-.11 F(alternati)2.75 E .33 -.165(ve w)-.275 H
(ould be to use IPsec ESP).055 E 2.75(,a)-1.221 G
(nd use encryption to protect the)-2.75 E(DCCP headers ag)100.8 137 Q
(ainst attack, while using the DCCP header v)-.055 E
(alidity checks to authenticate)-.275 E
(that the header is from someone who possessed the correct k)100.8 150 Q
-.165(ey)-.11 G 5.5(.H)-.55 G -.275(ow)-5.5 G -2.365 -.275(ev e).275 H
.88 -.44(r, w).275 H(hile this is).44 E(resistant to replay \(due to th\
e DCCP sequence number\), it is not by itself resistant to some)100.8
163 Q(forms of man-in-the-middle attacks because the application data i\
s not tightly coupled to)100.8 176 Q(the pack)100.8 189 Q(et header)-.11
E 5.5(.T)-.605 G(hus an application-le)-5.5 E -.165(ve)-.275 G 2.75(la)
.165 G(uthentication probably needs to be coupled)-2.75 E
(with IPsec ESP or a similar mechanism to pro)100.8 202 Q
(vide a reasonably complete security solution.)-.165 E(The o)100.8 215 Q
-.165(ve)-.165 G(rhead of such a solution might be unacceptable for som\
e applications that w).165 E(ould)-.11 E
(otherwise wish to use partial checksums.)100.8 228 Q
(On balance, the authors belie)100.8 244.6 Q .33 -.165(ve t)-.275 H
(hat DCCP partial checksums ha).165 E .33 -.165(ve t)-.22 H
(he potential to enable).165 E(some future uses that w)100.8 257.6 Q
(ould otherwise be dif)-.11 E 2.75(\214cult. As)-.275 F
(the cost and comple)2.75 E(xity of)-.165 E
(supporting them is small, it seems w)100.8 270.6 Q
(orth including them at this time.)-.11 E(It remains to be seen)5.5 E
(whether the)100.8 283.6 Q 2.75(ya)-.165 G(re useful in practice.)-2.75
E/F1 14/Times-Bold@0 SF(Normati)72 309.6 Q .28 -.14(ve R)-.14 H(efer).14
E(ences)-.252 E F0([RFC 793] J. Postel, editor)100.8 326.2 Q 5.5(.T)
-.605 G(ransmission Control Protocol.)-5.885 E(RFC 793.)5.5 E
([RFC 1191] J. C. Mogul and S. E. Deering.)100.8 342.8 Q -.165(Pa)5.5 G
(th MTU Disco).165 E -.165(ve)-.165 G(ry).165 E 5.5(.R)-.715 G(FC 1191.)
-5.5 E([RFC 2119] S. Bradner)100.8 359.4 Q 5.5(.K)-.605 G .33 -.165
(ey W)-5.775 H(ords F)-.715 E(or Use in RFCs to Indicate Requirement Le)
-.165 E -.165(ve)-.275 G(ls.).165 E(RFC 2119.)129.6 372.4 Q
([RFC 2434] T)100.8 389 Q 2.75(.N)-.814 G(arten and H. Alv)-2.75 E 2.75
(estrand. Guidelines)-.165 F(for Writing an IAN)2.75 E 2.75(AC)-.385 G
(onsiderations)-2.75 E(Section in RFCs.)129.6 402 Q(RFC 2434.)5.5 E
([RFC 2460] S. Deering and R. Hinden.)100.8 418.6 Q
(Internet Protocol, V)5.5 E(ersion 6 \(IPv6\) Speci\214cation.)-1.221 E
(RFC 2460.)129.6 431.6 Q([RFC 3168] K.K. Ramakrishnan, S. Flo)100.8
448.2 Q(yd, and D. Black.)-.11 E(The Addition of Explicit)5.5 E
(Congestion Noti\214cation \(ECN\) to IP)129.6 461.2 Q 5.5(.R)-1.221 G
(FC 3168.)-5.5 E([RFC 3309] J. Stone, R. Ste)100.8 477.8 Q -.11(wa)-.275
G(rt, and D. Otis.).11 E(Stream Control T)5.5 E(ransmission Protocol)
-.385 E(\(SCTP\) Checksum Change.)129.6 490.8 Q(RFC 3309.)5.5 E
([RFC 3692] T)100.8 507.4 Q 2.75(.N)-.814 G 2.75(arten. Assigning)-2.75
F(Experimental and T)2.75 E(esting Numbers Considered Useful.)-.77 E
(RFC 3692.)129.6 520.4 Q([RFC 3775] D. Johnson, C. Perkins, and J. Arkk)
100.8 537 Q 2.75(o. Mobility)-.11 F(Support in IPv6.)2.75 E(RFC 3775.)
5.5 E([RFC 3828] L-A. Larzon, M. De)100.8 553.6 Q
(germark, S. Pink, L-E. Jonsson, editor)-.165 E 2.75(,a)-.44 G(nd G. F)
-2.75 E(airhurst,)-.165 E(editor)129.6 566.6 Q 2.75(.T)-.605 G
(he Lightweight User Datagram Protocol \(UDP-Lite\).)-2.75 E(RFC 3828.)
5.5 E F1(Inf)72 592.6 Q(ormati)-.35 E .28 -.14(ve R)-.14 H(efer).14 E
(ences)-.252 E F0([BB01] S.M. Bello)100.8 609.2 Q(vin and M. Blaze.)
-.165 E(Cryptographic Modes of Operation for the Internet.)5.5 E
(2nd NIST W)129.6 622.2 Q(orkshop on Modes of Operation, August 2001.)
-.88 E([BEL98] S.M. Bello)100.8 638.8 Q 2.75(vin. Cryptograph)-.165 F
2.75(ya)-.055 G(nd the Internet.)-2.75 E(Proc. CR)5.5 E(YPT)-.715 E 2.75
(O')-.198 G(98 \(LNCS)-2.75 E(1462\), pp46-55, August, 1988.)129.6 651.8
Q([CCID 2 PR)100.8 668.4 Q(OFILE] S. Flo)-.44 E(yd and E. K)-.11 E
(ohler)-.385 E 5.5(.P)-.605 G
(ro\214le for DCCP Congestion Control ID 2:)-5.5 E(TCP-lik)129.6 681.4 Q
2.75(eC)-.11 G(ongestion Control.)-2.75 E
(draft-ietf-dccp-ccid2-10.txt, w)5.5 E(ork in progress, March)-.11 E
(2005.)129.6 694.4 Q([CCID 3 PR)100.8 711 Q(OFILE] S. Flo)-.44 E
(yd, E. K)-.11 E(ohler)-.385 E 2.75(,a)-.44 G(nd J. P)-2.75 E(adh)-.165
E 2.75(ye. Pro\214le)-.055 F(for DCCP Congestion)2.75 E
(Control ID 3: TFRC Congestion Control.)129.6 724 Q
(draft-ietf-dccp-ccid3-11.txt, w)5.5 E(ork in)-.11 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 288.01(yd [P)-.11 F(age 96])-.165 E 0
Cg EP
%%Page: 97 97
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E
(progress, March 2005.)129.6 85 Q([M85] Robert T)100.8 101.6 Q 2.75(.M)
-.814 G 2.75(orris. A)-2.75 F -.88(We)2.75 G
(akness in the 4.2BSD Unix TCP/IP Softw).88 E 2.75(are. Computer)-.11 F
(Science T)129.6 114.6 Q(echnical Report 117, A)-.77 E
(T&T Bell Laboratories, Murray Hill, NJ, February)-1.221 E(1985.)129.6
127.6 Q([PMTUD] Matt Mathis, John Hef)100.8 144.2 Q(fner)-.275 E 2.75
(,a)-.44 G(nd K)-2.75 E -.275(ev)-.275 G(in Lahe).275 E 4.18 -.715(y. P)
-.165 H(ath MTU Disco).55 E -.165(ve)-.165 G(ry).165 E 5.5(.d)-.715 G
(raft-ietf-)-5.5 E(pmtud-method-01.txt, w)129.6 157.2 Q
(ork in progress, February 2004.)-.11 E([RFC 792] J. Postel, editor)
100.8 173.8 Q 5.5(.I)-.605 G(nternet Control Message Protocol.)-5.5 E
(RFC 792.)5.5 E([RFC 1750] D. Eastlak)100.8 190.4 Q(e, S. Crock)-.11 E
(er)-.11 E 2.75(,a)-.44 G(nd J. Schiller)-2.75 E 5.5(.R)-.605 G
(andomness Recommendations for)-5.5 E(Security)129.6 203.4 Q 5.5(.R)
-.715 G(FC 1750.)-5.5 E([RFC 1812] F)100.8 220 Q 2.75(.B)-.88 G(ak)-2.75
E(er)-.11 E 2.75(,e)-.44 G(ditor)-2.75 E 5.5(.R)-.605 G
(equirements for IP V)-5.5 E(ersion 4 Routers.)-1.221 E(RFC 1812.)5.5 E
([RFC 1948] S. Bello)100.8 236.6 Q 2.75(vin. Defending)-.165 F(Ag)2.75 E
(ainst Sequence Number Attacks.)-.055 E(RFC 1948.)5.5 E
([RFC 1982] R. Elz and R. Bush.)100.8 253.2 Q(Serial Number Arithmetic.)
5.5 E(RFC 1982.)5.5 E([RFC 2018] M. Mathis, J. Mahda)100.8 269.8 Q
(vi, S. Flo)-.22 E(yd, and A. Romano)-.11 E 4.18 -.715(w. T)-.275 H
(CP Selecti).715 E -.165(ve)-.275 G(Ackno)129.6 282.8 Q
(wledgement Options.)-.275 E(RFC 2018.)5.5 E([RFC 2401] S. K)100.8 299.4
Q(ent and R. Atkinson.)-.275 E
(Security Architecture for the Internet Protocol.)5.5 E(RFC 2401.)129.6
312.4 Q([RFC 2463] A. Conta and S. Deering.)100.8 329 Q
(Internet Control Message Protocol \(ICMPv6\) for)5.5 E
(the Internet Protocol V)129.6 342 Q(ersion 6 \(IPv6\) Speci\214cation.)
-1.221 E(RFC 2463.)5.5 E([RFC 2581] M. Allman, V)100.8 358.6 Q 2.75(.P)
-1.419 G(axson, and W)-2.915 E 2.75(.S)-1.012 G(te)-2.75 E -.165(ve)
-.275 G 2.75(ns. TCP).165 F(Congestion Control.)2.75 E(RFC 2581.)5.5 E
([RFC 2960] R. Ste)100.8 375.2 Q -.11(wa)-.275 G
(rt, Q. Xie, K. Morneault, C. Sharp, H. Schw).11 E(arzbauer)-.11 E 2.75
(,T)-.44 G 2.75(.T)-3.564 G(aylor)-3.63 E 2.75(,I)-.44 G(.)-2.75 E
(Rytina, M. Kalla, L. Zhang, and V)129.6 388.2 Q 2.75(.P)-1.419 G 2.75
(axson. Stream)-2.915 F(Control T)2.75 E(ransmission Protocol.)-.385 E
(RFC 2960.)129.6 401.2 Q([RFC 3124] H. Balakrishnan and S. Seshan.)100.8
417.8 Q(The Congestion Manager)5.5 E 5.5(.R)-.605 G(FC 3124.)-5.5 E
([RFC 3360] S. Flo)100.8 434.4 Q 2.75(yd. Inappropriate)-.11 F
(TCP Resets Considered Harmful.)2.75 E(RFC 3360.)5.5 E
([RFC 3448] M. Handle)100.8 451 Q 1.43 -.715(y, S)-.165 H 2.75(.F).715 G
(lo)-2.75 E(yd, J. P)-.11 E(adh)-.165 E(ye, and J. W)-.055 E(idmer)-.44
E 5.5(.T)-.605 G(CP Friendly Rate Control)-5.5 E
(\(TFRC\): Protocol Speci\214cation.)129.6 464 Q(RFC 3448.)5.5 E
([RFC 3540] N. Spring, D. W)100.8 480.6 Q(etherall, and D. Ely)-.88 E
5.5(.R)-.715 G(ob)-5.5 E(ust Explicit Congestion Noti\214cation)-.22 E
(\(ECN\) Signaling with Nonces.)129.6 493.6 Q(RFC 3540.)5.5 E
([RFC 3550] H. Schulzrinne, S. Casner)100.8 510.2 Q 2.75(,R)-.44 G 2.75
(.F)-2.75 G(rederick, and V)-2.75 E 2.75(.J)-1.419 G 2.75(acobson. R)
-2.75 F(TP: A T)-.66 E(ransport)-.385 E(Protocol for Real-T)129.6 523.2
Q(ime Applications.)-.385 E(STD 64.)5.5 E(RFC 3550.)5.5 E([RFC 3611] T)
100.8 539.8 Q 2.75(.F)-.814 G
(riedman, R. Caceres, and A. Clark, editors.)-2.75 E -.66(RT)5.5 G 2.75
(PC).66 G(ontrol Protocol)-2.75 E(Extended Reports \(R)129.6 552.8 Q
(TCP XR\).)-.66 E(RFC 3611.)5.5 E([RFC 3711] M. Baugher)100.8 569.4 Q
2.75(,D)-.44 G 2.75(.M)-2.75 G(cGre)-2.75 E 1.43 -.715(w, M)-.275 H 2.75
(.N).715 G(aslund, E. Carrara, and K. Norrman.)-2.75 E(The)5.5 E
(Secure Real-time T)129.6 582.4 Q(ransport Protocol \(SR)-.385 E 2.75
(TP\). RFC)-.66 F(3711.)2.75 E([RFC 3819] P)100.8 599 Q 2.75(.K)-1.221 G
(arn, editor)-2.75 E 2.75(,C)-.44 G 2.75(.B)-2.75 G(ormann, G. F)-2.75 E
(airhurst, D. Grossman, R. Ludwig, J.)-.165 E(Mahda)129.6 612 Q
(vi, G. Montene)-.22 E(gro, J. T)-.165 E(ouch, and L. W)-.88 E 2.75
(ood. Advice)-.88 F(for Internet Subnetw)2.75 E(ork)-.11 E 2.75
(Designers. RFC)129.6 625 R(3819.)2.75 E([SHHP00] Oli)100.8 641.6 Q
-.165(ve)-.275 G 2.75(rS).165 G(patscheck, Jor)-2.75 E
(gen S. Hansen, John H. Hartman, and Larry L.)-.198 E(Peterson.)5.5 E
(Optimizing TCP F)129.6 654.6 Q(orw)-.165 E(arder Performance.)-.11 E
(IEEE/A)5.5 E(CM T)-.44 E(ransactions on Netw)-.385 E(orking)-.11 E
(8\(2\):146-157, April 2000.)129.6 667.6 Q
([SYNCOOKIES] Daniel J. Bernstein.)100.8 684.2 Q(SYN Cookies.)5.5 E
(http://cr)5.5 E(.yp.to/syncookies.html, as of)-.605 E(July 2003.)129.6
697.2 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 288.01(yd [P)
-.11 F(age 97])-.165 E 0 Cg EP
%%Page: 98 98
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.735(-DRAFT Expires:)-1.012 F
(28 May 2006)2.75 E(No)96.111 E -.165(ve)-.165 G(mber 2005).165 E/F1 14
/Times-Bold@0 SF -.7(Au)72 85 S(thors' Addr).7 E(esses)-.252 E F0
(Eddie K)100.8 101.6 Q(ohler <k)-.385 E(ohler@cs.ucla.edu>)-.11 E
(4531C Boelter Hall)100.8 114.6 Q(UCLA Computer Science Department)100.8
127.6 Q(Los Angeles, CA 90095)100.8 140.6 Q(USA)100.8 153.6 Q
(Mark Handle)100.8 170.2 Q 2.75(y<)-.165 G(M.Handle)-2.75 E
(y@cs.ucl.ac.uk>)-.165 E(Department of Computer Science)100.8 183.2 Q
(Uni)100.8 196.2 Q -.165(ve)-.275 G(rsity Colle).165 E(ge London)-.165 E
(Go)100.8 209.2 Q(wer Street)-.275 E(London WC1E 6BT)100.8 222.2 Q(UK)
100.8 235.2 Q(Sally Flo)100.8 251.8 Q(yd <\215o)-.11 E(yd@icir)-.11 E
(.or)-.605 E(g>)-.198 E(ICSI Center for Internet Research)100.8 264.8 Q
(1947 Center Street, Suite 600)100.8 277.8 Q(Berk)100.8 290.8 Q(ele)-.11
E 1.43 -.715(y, C)-.165 H 2.75(A9).715 G(4704)-2.75 E(USA)100.8 303.8 Q
F1(Full Copyright Statement)72 329.8 Q F0(Cop)100.8 346.4 Q
(yright \(C\) The Internet Society 2005.)-.11 E
(This document is subject to the rights, licenses)5.5 E
(and restrictions contained in BCP 78, and e)100.8 359.4 Q
(xcept as set forth therein, the authors retain all)-.165 E
(their rights.)100.8 372.4 Q
(This document and the information contained herein are pro)100.8 389 Q
(vided on an "AS IS" basis and)-.165 E(THE CONTRIB)100.8 402 Q(UT)-.11 E
(OR, THE ORGANIZA)-.198 E(TION HE/SHE REPRESENTS OR IS)-1.221 E
(SPONSORED BY \(IF ANY\), THE INTERNET SOCIETY AND THE INTERNET)100.8
415 Q(ENGINEERING T)100.8 428 Q(ASK FORCE DISCLAIM ALL W)-1.023 E
(ARRANTIES, EXPRESS OR)-1.32 E(IMPLIED, INCLUDING B)100.8 441 Q(UT NO)
-.11 E 2.75(TL)-.44 G(IMITED T)-2.75 E 2.75(OA)-.198 G(NY W)-2.75 E
(ARRANTY THA)-1.32 E 2.75(TT)-1.221 G(HE USE)-2.75 E(OF THE INFORMA)
100.8 454 Q(TION HEREIN WILL NO)-1.221 E 2.75(TI)-.44 G
(NFRINGE ANY RIGHTS OR ANY)-2.75 E(IMPLIED W)100.8 467 Q
(ARRANTIES OF MERCHANT)-1.32 E(ABILITY OR FITNESS FOR A)-1.023 E -1.012
(PA)100.8 480 S -.66(RT)1.012 G(ICULAR PURPOSE.).66 E F1
(Intellectual Pr)72 506 Q(operty)-.252 E F0(The IETF tak)100.8 522.6 Q
(es no position re)-.11 E -.055(ga)-.165 G(rding the v).055 E
(alidity or scope of an)-.275 E 2.75(yI)-.165 G(ntellectual Property)
-2.75 E(Rights or other rights that might be claimed to pertain to the \
implementation or use of the)100.8 535.6 Q
(technology described in this document or the e)100.8 548.6 Q
(xtent to which an)-.165 E 2.75(yl)-.165 G(icense under such rights)
-2.75 E(might or might not be a)100.8 561.6 Q -.275(va)-.22 G
(ilable; nor does it represent that it has made an).275 E 2.75(yi)-.165
G(ndependent)-2.75 E(ef)100.8 574.6 Q(fort to identify an)-.275 E 2.75
(ys)-.165 G(uch rights.)-2.75 E
(Information on the procedures with respect to rights in)5.5 E
(RFC documents can be found in BCP 78 and BCP 79.)100.8 587.6 Q
(Copies of IPR disclosures made to the IETF Secretariat and an)100.8
604.2 Q 2.75(ya)-.165 G(ssurances of licenses to)-2.75 E(be made a)100.8
617.2 Q -.275(va)-.22 G(ilable, or the result of an attempt made to obt\
ain a general license or).275 E(permission for the use of such propriet\
ary rights by implementers or users of this)100.8 630.2 Q(speci\214cati\
on can be obtained from the IETF on-line IPR repository at)100.8 643.2 Q
(http://www)100.8 656.2 Q(.ietf.or)-.715 E(g/ipr)-.198 E(.)-.605 E
(The IETF in)100.8 672.8 Q(vites an)-.44 E 2.75(yi)-.165 G
(nterested party to bring to its attention an)-2.75 E 2.75(yc)-.165 G
(op)-2.75 E(yrights, patents or)-.11 E
(patent applications, or other proprietary rights that may co)100.8
685.8 Q -.165(ve)-.165 G 2.75(rt).165 G(echnology that may be)-2.75 E
(required to implement this standard.)100.8 698.8 Q
(Please address the information to the IETF at ietf-)5.5 E(ipr@ietf.or)
100.8 711.8 Q(g.)-.198 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 288.01(yd [P)-.11 F(age 98])-.165 E 0 Cg EP
%%Trailer
end
%%EOF

PAFTECH AB 2003-20262026-04-22 22:02:33