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


%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Sun Jul 18 20:00:59 2004
%%DocumentNeededResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Roman
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.18 1
%%Pages: 88
%%PageOrder: Ascend
%%Orientation: Portrait
%%EndComments
%%BeginProlog
%%BeginResource: procset grops 1.18 1
/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
/Fk{
setcmykcolor fill
}bind def
/Fg{
setgray fill
}bind def
/FL/fill load def
/LW/setlinewidth load def
/Cr/setrgbcolor load def
/Ck/setcmykcolor load def
/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
}bind def
/PEND{
clear
countdictstack CNT sub{end}repeat
level1 restore
}bind def
end def
/setpacking where{
pop
setpacking
}if
%%EndResource
%%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-07.ps Mark)72 111 R(Handley)6 E
(Expires: January 2005)72 124 Q(UCL)287.998 E(Sally Floyd)437.998 137 Q
(ICIR)479.998 150 Q(18 July 2004)431.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(This document is an Internet-Draft.)100.8 236.6 Q
(By submitting this Internet-Draft, we certify that an)100.8 253.2 Q
2.75(ya)-.165 G(pplicable patent or other IPR claims)-2.75 E
(of which we are a)100.8 266.2 Q -.11(wa)-.165 G(re ha).11 E .33 -.165
(ve b)-.22 H(een disclosed, or will be disclosed, and an).165 E 2.75(yo)
-.165 G 2.75(fw)-2.75 G(hich we)-2.75 E(become a)100.8 279.2 Q -.11(wa)
-.165 G(re will be disclosed, in accordance with RFC 3668 \(BCP 79\).)
.11 E(By submitting this Internet-Draft, we accept the pro)100.8 295.8 Q
(visions of Section 3 of RFC 3667)-.165 E(\(BCP 78\).)100.8 308.8 Q
(Internet-Drafts are w)100.8 325.4 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 338.4 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 351.4 Q
(Internet-Drafts are draft documents v)100.8 368 Q
(alid for a maximum of six months and may be)-.275 E
(updated, replaced, or obsoleted by other documents at an)100.8 381 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 a "w)
100.8 394 Q(ork in progress.")-.11 E
(The list of current Internet-Drafts can be accessed at http://www)100.8
410.6 Q(.ietf.or)-.715 E(g/1id-abstracts.html)-.198 E
(The list of Internet-Draft Shado)100.8 427.2 Q 2.75(wD)-.275 G
(irectories can be accessed at)-2.75 E(http://www)100.8 440.2 Q
(.ietf.or)-.715 E(g/shado)-.198 E -.715(w.)-.275 G(html).715 E F2
(Copyright Notice)72 466.2 Q F3(Cop)100.8 482.8 Q
(yright \(C\) The Internet Society \(2004\). All Rights Reserv)-.11 E
(ed.)-.165 E F2(Abstract)72 508.8 Q F3(The Datagram Congestion Control \
Protocol \(DCCP\) is a transport protocol that)100.8 525.4 Q(implements\
 bidirectional, unicast connections of congestion-controlled, unreliabl\
e)100.8 538.4 Q 2.75(datagrams. It)100.8 551.4 R(should be suitable for\
 use by applications such as streaming media, Internet)2.75 E(telephon)
100.8 564.4 Q 1.43 -.715(y, a)-.165 H(nd on-line g).715 E(ames.)-.055 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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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-06.txt:)100.8 111 Q 2.75(*C)
100.8 137 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 150 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 163 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 189 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 215 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 228 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 254 S(dd Minimum Checksum Co)-2.75 E -.165(ve)
-.165 G(rage feature.).165 E 2.75(*A)100.8 280 S
(dd Reset Congestion State option.)-2.75 E 2.75(*S)100.8 306 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 319 Q(gotiated.)
-.165 E 2.75(*M)100.8 345 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 371 Q 2.75(*O)100.8 397 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 423 S
(dd pseudocode for e)-2.75 E -.165(ve)-.275 G(nt processing.).165 E 2.75
(*R)100.8 449 S(emo)-2.75 E .33 -.165(ve # N)-.165 H
(DP; replace with Ack Count.).165 E 2.75(*R)100.8 475 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 501 S
(ata Checksum \(formerly P)-2.75 E(ayload Checksum\) uses a 32-bit CRC.)
-.165 E 2.75(*S)100.8 527 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 540 Q(alue.)-.275 E
2.75(*R)100.8 566 S(ename "v)-2.75 E
(alue type" to "reconciliation rule".)-.275 E 2.75(*R)100.8 592 S
(ename "Reset Reason" to "Reset Code".)-2.75 E 2.75(*M)100.8 618 S
(obility ID becomes 128 bits long.)-2.75 E 2.75(*A)100.8 644 S
(dd probabilities to Mobility ID discussion.)-2.75 E 2.75(*A)100.8 670 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 2])-.165 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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(6)
11.5 E(2. Design Rationale)100.8 122 Q F0 11(......................)5.04
G F2(6)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(7)11.5 E
(3.1. Numbers and Fields)115.8 146 Q F0 11(...................)12.4 G F2
(7)11.5 E(3.2. P)115.8 158 Q(arts of a Connection)-.15 E F0 11
(...................)6.72 G F2(7)11.5 E(3.3. Features)115.8 170 Q F0 11
(.......................)4.07 G F2(8)11.5 E(3.4. Round-T)115.8 182 Q
(rip T)-.35 E(imes)-.35 E F0 11(....................)5.18 G F2(8)11.5 E
(3.5. Security Limitation)115.8 194 Q F0 11(....................)1.14 G
F2(8)11.5 E(3.6. Rob)115.8 206 Q(ustness Principle)-.2 E F0 11
(...................)8.98 G F2(8)11.5 E(4. Ov)100.8 218 Q(ervie)-.15 E
(w)-.25 E F0 11(........................)7.67 G F2(9)11.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(9)11.5 E(4.2. Sequence Numbers)115.8 242 Q F0 11
(....................)1.72 G F2(10)6.5 E(4.3. States)115.8 254 Q F0 11
(........................).31 G F2(10)6.5 E(4.4. Congestion Control)
115.8 266 Q F0 11(....................).58 G F2(12)6.5 E(4.5. Features)
115.8 278 Q F0 11(.......................)4.07 G F2(12)6.5 E(4.6. Dif)
115.8 290 Q(ferences From TCP)-.25 E F0 11(...................)1.55 G F2
(13)6.5 E(4.7. Example Connection)115.8 302 Q F0 11(...................)
8.79 G F2(14)6.5 E(5. Header F)100.8 314 Q(ormats)-.15 E F0 11
(......................)10.2 G F2(15)6.5 E(5.1. Generic Header)115.8 326
Q F0 11(.....................)2.43 G F2(15)6.5 E
(5.2. DCCP-Request Header)115.8 338 Q F0 11(..................)13.66 G
F2(18)6.5 E(5.3. DCCP-Response Header)115.8 350 Q F0 11
(..................)7.55 G F2(18)6.5 E
(5.4. DCCP-Data, DCCP-Ack, and DCCP-DataAck Headers)115.8 362 Q F0 11
(.........)8.82 G F2(19)6.5 E(5.5. DCCP-CloseReq and DCCP-Close Headers)
115.8 374 Q F0 11(.............).18 G F2(20)6.5 E
(5.6. DCCP-Reset Header)115.8 386 Q F0 11(...................)9.91 G F2
(21)6.5 E(5.7. DCCP-Sync and DCCP-SyncAck Headers)115.8 398 Q F0 11
(.............)5.19 G F2(23)6.5 E(5.8. Options)115.8 410 Q F0 11
(.......................)6.28 G F2(24)6.5 E(5.8.1. P)130.8 422 Q
(adding Option)-.15 E F0 11(...................)7.54 G F2(24)6.5 E
(5.8.2. Mandatory Option)130.8 434 Q F0 11(..................)10.04 G F2
(25)6.5 E(6. Feature Ne)100.8 446 Q(gotiation)-.15 E F0 11
(.....................)8.39 G F2(25)6.5 E(6.1. Change Options)115.8 458
Q F0 11(.....................).73 G F2(25)6.5 E(6.2. Con\214rm Options)
115.8 470 Q F0 11(....................)11.69 G F2(26)6.5 E
(6.3. Reconciliation Rules)115.8 482 Q F0 11(...................)9.34 G
F2(26)6.5 E(6.3.1. Serv)130.8 494 Q(er)-.15 E(-Priority)-.2 E F0 11
(...................)10.81 G F2(26)6.5 E(6.3.2. Non-Ne)130.8 506 Q
(gotiable)-.15 E F0 11(...................)6.17 G F2(27)6.5 E
(6.4. Feature Numbers)115.8 518 Q F0 11(....................)10.05 G F2
(27)6.5 E(6.5. Examples)115.8 530 Q F0 11(......................)12.26 G
F2(28)6.5 E(6.6. Option Exchange)115.8 542 Q F0 11(....................)
9.49 G F2(29)6.5 E(6.6.1. Normal Exchange)130.8 554 Q F0 11
(..................)11.72 G F2(29)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(30)6.5 E(6.6.3. Loss and Retransmission)130.8 578 Q F0 11
(................)11.7 G F2(31)6.5 E(6.6.4. Reordering)130.8 590 Q F0 11
(....................)11.71 G F2(31)6.5 E(6.6.5. Preference Changes)
130.8 602 Q F0 11(..................)4.51 G F2(32)6.5 E
(6.6.6. Simultaneous Ne)130.8 614 Q(gotiation)-.15 E F0 11
(................)7.68 G F2(32)6.5 E(6.6.7. Unkno)130.8 626 Q
(wn Features)-.25 E F0 11(..................)8.63 G F2(33)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(33)6.5 E(6.6.9. Mandatory Feature Ne)130.8
650 Q(gotiation)-.15 E F0 11(..............)13.26 G F2(33)6.5 E
(6.6.10. Out-of-Band Agreement)130.8 662 Q F0 11(................)8.67 G
F2(34)6.5 E(7. Sequence Numbers)100.8 674 Q F0 11(.....................)
10.47 G F2(34)6.5 E(7.1. V)115.8 686 Q(ariables)-1.11 E F0 11
(.......................).74 G F2(34)6.5 E
(7.2. Initial Sequence Numbers)115.8 698 Q F0 11(..................)2.83
G F2(35)6.5 E(7.3. Quiet T)115.8 710 Q(ime)-.35 E F0 11
(......................)6.22 G F2(35)6.5 E(7.4. Ackno)115.8 722 Q
(wledgement Numbers)-.25 E F0 11(.................)6 G F2(35)6.5 E F0
-.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 10/Times-Roman@0 SF(7.5. V)
115.8 84 Q(alidity and Synchronization)-1.11 E F0 11(.................)
3.79 G F1(36)6.5 E(7.5.1. Sequence-V)130.8 96 Q(alidity Rules)-1.11 E F0
11(................)13.1 G F1(36)6.5 E(7.5.2. Handling Sequence-In)130.8
108 Q -.25(va)-.4 G(lid P).25 E(ack)-.15 E(ets)-.1 E F0 11
(.............)11.1 G F1(38)6.5 E(7.5.3. Sequence and Ackno)130.8 120 Q
(wledgement Number W)-.25 E(indo)-.4 E(ws)-.25 E F0 11(........)13.2 G
F1(38)6.5 E(7.5.4. Sequence W)130.8 132 Q(indo)-.4 E 2.5(wF)-.25 G
(eature)-2.5 E F0 11(................)4.6 G F1(39)6.5 E
(7.5.5. Sequence Number Attacks)130.8 144 Q F0 11(................)5.06
G F1(40)6.5 E(7.5.6. Examples)130.8 156 Q F0 11(.....................)
3.51 G F1(40)6.5 E(7.6. Short Sequence Numbers)115.8 168 Q F0 11
(..................)5.05 G F1(41)6.5 E(7.6.1. Allo)130.8 180 Q 2.5(wS)
-.25 G(hort Sequence Numbers Feature)-2.5 E F0 11(............)5.31 G F1
(42)6.5 E(7.6.2. When to A)130.8 192 Q -.2(vo)-.74 G
(id Short Sequence Numbers).2 E F0 11(............)1.83 G F1(42)6.5 E
(7.7. NDP Count and Detecting Application Loss)115.8 204 Q F0 11
(............)12.82 G F1(43)6.5 E(7.7.1. Usage Notes)130.8 216 Q F0 11
(....................)5.88 G F1(43)6.5 E(7.7.2. Send NDP Count Feature)
130.8 228 Q F0 11(................)9.76 G F1(43)6.5 E(8. Ev)100.8 240 Q
(ent Processing)-.15 E F0 11(......................)5.19 G F1(44)6.5 E
(8.1. Connection Establishment)115.8 252 Q F0 11(..................)1.42
G F1(44)6.5 E(8.1.1. Client Request)130.8 264 Q F0 11
(...................)11.28 G F1(44)6.5 E(8.1.2. Service Codes)130.8 276
Q F0 11(...................)12.96 G F1(45)6.5 E(8.1.3. Serv)130.8 288 Q
(er Response)-.15 E F0 11(...................)3.67 G F1(45)6.5 E
(8.1.4. Init Cookie Option)130.8 300 Q F0 11(..................)8.64 G
F1(46)6.5 E(8.1.5. Handshak)130.8 312 Q 2.5(eC)-.1 G(ompletion)-2.5 E F0
11(.................)3.89 G F1(47)6.5 E(8.2. Data T)115.8 324 Q(ransfer)
-.35 E F0 11(.....................)10.55 G F1(47)6.5 E(8.3. T)115.8 336
Q(ermination)-.7 E F0 11(......................)2.96 G F1(47)6.5 E
(8.3.1. Abnormal T)130.8 348 Q(ermination)-.7 E F0 11(.................)
6.16 G F1(49)6.5 E(8.4. DCCP State Diagram)115.8 360 Q F0 11
(...................)6.84 G F1(49)6.5 E(8.5. Pseudocode)115.8 372 Q F0
11(......................)3.93 G F1(50)6.5 E(9. Checksums)100.8 384 Q F0
11(........................).59 G F1(53)6.5 E
(9.1. Header Checksum Field)115.8 396 Q F0 11(..................)10.05 G
F1(54)6.5 E(9.2. Header Checksum Co)115.8 408 Q -.15(ve)-.15 G
(rage Field).15 E F0 11(...............)10.78 G F1(54)6.5 E
(9.2.1. Minimum Checksum Co)130.8 420 Q -.15(ve)-.15 G(rage Feature).15
E F0 11(............)8.96 G F1(55)6.5 E(9.3. Data Checksum Option)115.8
432 Q F0 11(..................)12.82 G F1(55)6.5 E
(9.3.1. Check Data Checksum Feature)130.8 444 Q F0 11(...............)
1.31 G F1(56)6.5 E(9.3.2. Usage Notes)130.8 456 Q F0 11
(....................)5.88 G F1(56)6.5 E(10. Congestion Control IDs)
100.8 468 Q F0 11(....................)1.14 G F1(56)6.5 E
(10.1. Unspeci\214ed Sender)115.8 480 Q(-Based Congestion Control)-.2 E
F0 11(...........)11.22 G F1(57)6.5 E(10.2. TCP-lik)115.8 492 Q 2.5(eC)
-.1 G(ongestion Control)-2.5 E F0 11(................)11.51 G F1(58)6.5
E(10.3. TFRC Congestion Control)115.8 504 Q F0 11(.................)9.32
G F1(58)6.5 E(10.4. CCID-Speci\214c Options, Features, and Reset Codes)
115.8 516 Q F0 11(..........)7.55 G F1(59)6.5 E(11. Ackno)100.8 528 Q
(wledgements)-.25 E F0 11(.....................)3.77 G F1(60)6.5 E
(11.1. Acks of Acks and Unidirectional Connections)115.8 540 Q F0 11
(............).06 G F1(61)6.5 E(11.2. Ack Piggybacking)115.8 552 Q F0 11
(....................).04 G F1(62)6.5 E(11.3. Ack Ratio Feature)115.8
564 Q F0 11(....................).88 G F1(62)6.5 E(11.4. Ack V)115.8 576
Q(ector Options)-1.11 E F0 11(...................)8.52 G F1(63)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(65)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(66)
6.5 E(11.5. Send Ack V)115.8 612 Q(ector Feature)-1.11 E F0 11
(..................)1.45 G F1(66)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(66)6.5 E
(11.7. Reset Congestion State Option)115.8 636 Q F0 11(................)
6.14 G F1(67)6.5 E(11.8. Data Dropped Option)115.8 648 Q F0 11
(...................)1.3 G F1(67)6.5 E
(11.8.1. Data Dropped and Normal Congestion Response)130.8 660 Q F0 11
(.........)7.7 G F1(69)6.5 E(11.8.2. P)130.8 672 Q(articular Drop Codes)
-.15 E F0 11(.................)3.67 G F1(69)6.5 E
(12. Explicit Congestion Noti\214cation)100.8 684 Q F0 11
(.................)7.94 G F1(70)6.5 E(12.1. ECN Capable Feature)115.8
696 Q F0 11(...................).19 G F1(70)6.5 E(12.2. ECN Nonces)115.8
708 Q F0 11(.....................)7.96 G F1(71)6.5 E
(12.3. Other Aggression Penalties)115.8 720 Q F0 11(.................)
6.02 G F1(71)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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 10/Times-Roman@0 SF(13. T)
100.8 84 Q(iming Options)-.35 E F0 11(......................)5.93 G F1
(72)6.5 E(13.1. T)115.8 96 Q(imestamp Option)-.35 E F0 11
(...................)13.02 G F1(72)6.5 E(13.2. Elapsed T)115.8 108 Q
(ime Option)-.35 E F0 11(...................)2.75 G F1(72)6.5 E(13.3. T)
115.8 120 Q(imestamp Echo Option)-.35 E F0 11(..................)3.72 G
F1(73)6.5 E(14. Maximum P)100.8 132 Q(ack)-.15 E(et Size)-.1 E F0 11
(....................)6.4 G F1(73)6.5 E(15. F)100.8 144 Q(orw)-.15 E
(ard Compatibility)-.1 E F0 11(....................)5 G F1(75)6.5 E
(16. Middlebox Considerations)100.8 156 Q F0 11(...................)4.06
G F1(75)6.5 E(17. Relations to Other Speci\214cations)100.8 168 Q F0 11
(.................)6.01 G F1(76)6.5 E(17.1. DCCP and R)115.8 180 Q(TP)
-.6 E F0 11(....................)10.9 G F1(76)6.5 E(17.2. Multiple)115.8
192 Q(xing Issues)-.15 E F0 11(...................)8.93 G F1(77)6.5 E
(18. Security Considerations)100.8 204 Q F0 11(....................).87
G F1(78)6.5 E(18.1. Security Considerations for P)115.8 216 Q
(artial Checksums)-.15 E F0 11(...........)10.89 G F1(78)6.5 E(19. IAN)
100.8 228 Q 2.5(AC)-.35 G(onsiderations)-2.5 E F0 11
(....................)9.56 G F1(78)6.5 E(20. Thanks)100.8 240 Q F0 11
(........................)12.26 G F1(79)6.5 E(A. Appendix: Ack V)100.8
252 Q(ector Implementation Notes)-1.11 E F0 11(..............).34 G F1
(79)6.5 E(A.1. P)115.8 264 Q(ack)-.15 E(et Arri)-.1 E -.25(va)-.25 G(l)
.25 E F0 11(.....................)5.94 G F1(81)6.5 E(A.1.1. Ne)130.8 276
Q 2.5(wP)-.25 G(ack)-2.65 E(ets)-.1 E F0 11(....................)3.05 G
F1(81)6.5 E(A.1.2. Old P)130.8 288 Q(ack)-.15 E(ets)-.1 E F0 11
(....................)6.68 G F1(82)6.5 E(A.2. Sending Ackno)115.8 300 Q
(wledgements)-.25 E F0 11(.................)3.77 G F1(82)6.5 E
(A.3. Clearing State)115.8 312 Q F0 11(.....................)6.29 G F1
(83)6.5 E(A.4. Processing Ackno)115.8 324 Q(wledgements)-.25 E F0 11
(................)6.97 G F1(84)6.5 E(B. Appendix: Design Moti)100.8 336
Q -.25(va)-.25 G(tion).25 E F0 11(..................)8.03 G F1(84)6.5 E
(B.1. CsCo)115.8 348 Q 2.5(va)-.15 G(nd P)-2.5 E(artial Checksumming)
-.15 E F0 11(...............)8.52 G F1(84)6.5 E(Normati)100.8 360 Q .3
-.15(ve R)-.25 H(eferences).15 E F0 11(.....................)8.66 G F1
(85)6.5 E(Informati)100.8 372 Q .3 -.15(ve R)-.25 H(eferences).15 E F0
11(.....................)4.22 G F1(86)6.5 E(Authors' Addresses)100.8 384
Q F0 11(......................)5.05 G F1(87)6.5 E(Full Cop)100.8 396 Q
(yright Statement)-.1 E F0 11(....................)10.12 G F1(87)6.5 E
(Intellectual Property)100.8 408 Q F0 11(......................)2.27 G
F1(87)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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 Con\
gestion Control Protocol \(DCCP\) is a transport protocol that)100.8
101.6 Q(implements bidirectional, unicast connections of congestion-con\
trolled, 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\) and the ECN)-12.65 E
(Nonce, as per [RFC 3168] and [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(ransfer Unit \(PMTU\) disco)-.385 E -.165(ve)-.165 G(ry).165 E
2.75(,a)-.715 G 2.75(sp)-2.75 G(er [RFC 1191].)-2.75 E(DCCP is intended\
 for applications, such as streaming media and Internet telephon)100.8
368 Q 1.43 -.715(y, w)-.165 H(here).715 E
(the costs of long delays can e)100.8 381 Q
(xceed the costs of loss and out-of-order deli)-.165 E -.165(ve)-.275 G
(ry).165 E 5.5(.T)-.715 G(CP is not)-5.5 E
(well-suited for these applications, since its reliable in-order deli)
100.8 394 Q -.165(ve)-.275 G(ry).165 E 2.75(,c)-.715 G(ombined with)
-2.75 E(congestion control, can cause arbitrarily long delays.)100.8 407
Q(UDP a)5.5 E -.22(vo)-.22 G(ids long delays, b).22 E(ut UDP)-.22 E
(applications must implement congestion control on their o)100.8 420 Q
2.75(wn. DCCP)-.275 F(pro)2.75 E(vides b)-.165 E(uilt-in)-.22 E(congest\
ion control, including ECN support, for unreliable datagram \215o)100.8
433 Q 2.75(ws. DCCP)-.275 F -.22(avo)2.75 G(ids).22 E
(the arbitrary delays associated with TCP)100.8 446 Q 5.5(.I)-1.221 G
2.75(ta)-5.5 G(lso implements reliable connection setup,)-2.75 E(teardo)
100.8 459 Q(wn, and feature ne)-.275 E(gotiation, and pro)-.165 E
(vides a choice of congestion control)-.165 E(mechanisms.)100.8 472 Q F1
(2.)72 498 Q F2(Design Rationale)5.5 E F0
(Most streaming UDP applications should ha)100.8 514.6 Q .33 -.165(ve l)
-.22 H(ittle reason not to switch to DCCP).165 E 2.75(,o)-1.221 G
(nce it)-2.75 E(is deplo)100.8 527.6 Q 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 o)-2.75 E -.165(ve)-.165 G
(rhead as possible,).165 E(both in terms of the pack)100.8 540.6 Q
(et header size and in terms of the state and CPU o)-.11 E -.165(ve)
-.165 G(rhead required).165 E(at end hosts.)100.8 553.6 Q
(Only the minimal necessary functionality w)5.5 E(as included in DCCP)
-.11 E 2.75(,l)-1.221 G(ea)-2.75 E(ving)-.22 E(other functionality)100.8
566.6 Q 2.75(,s)-.715 G(uch as forw)-2.75 E
(ard error correction \(FEC\), semi-reliability)-.11 E 2.75(,a)-.715 G
(nd multiple)-2.75 E(streams, to be layered on top of DCCP as desired.)
100.8 579.6 Q(This desire for minimal o)5.5 E -.165(ve)-.165 G
(rhead is also).165 E(one of the reasons to a)100.8 592.6 Q -.22(vo)-.22
G(id proposing an unreliable v).22 E(ariant of the Stream Control)-.275
E -.385(Tr)100.8 605.6 S(ansmission Protocol \(SCTP).385 E 2.75(,[)
-1.221 G(RFC 2960]\).)-2.75 E(Dif)100.8 622.2 Q
(ferent forms of conformant congestion control are appropriate for dif)
-.275 E(ferent applications.)-.275 E -.165(Fo)100.8 635.2 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
648.2 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 661.2 Q(in the playout stream.\))100.8
674.2 Q(DCCP thus allo)5.5 E(ws applications to choose between se)-.275
E -.165(ve)-.275 G(ral forms of).165 E(congestion control.)100.8 687.2 Q
(One choice, TCP-lik)5.5 E 2.75(eC)-.11 G(ongestion Control, halv)-2.75
E(es the congestion)-.165 E(windo)100.8 700.2 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
(congestion control mechanism will respond quickly to changes in a)100.8
713.2 Q -.275(va)-.22 G(ilable bandwidth, b).275 E(ut)-.22 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 6])-.165 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(must tolerate the abrupt changes in congestion windo)100.8 85 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 98 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(congesti\
on control, minimizes abrupt changes in the sending rate while maintain\
ing longer)100.8 111 Q(-)-.22 E(term f)100.8 124 Q(airness with TCP)-.11
E(.)-1.221 E(DCCP also lets unreliable traf)100.8 140.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 153.6 Q(ets as ECN-capable, since the API could not guarantee the)
-.11 E(application w)100.8 166.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
179.6 Q 1.76 -.88(We c)100.8 196.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
209.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 222.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 235.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 248.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 261.2 Q
(TFRC where the state about past pack)100.8 274.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 287.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 300.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 313.2 Q(yment of CM itself.)-.11 E/F1 11
/Times-Bold@0 SF(3.)72 339.2 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 355.8 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
368.8 Q(T", "RECOMMENDED",)-.44 E("MA)5.5 E(Y", and "OPTION)-1.155 E
(AL" in this)-.385 E
(document are to be interpreted as described in [RFC 2119].)100.8 381.8
Q F1(3.1.)72 407.8 Q/F3 13/Times-Bold@0 SF(Numbers and Fields)5.5 E F0
(All multi-byte numerical quantities in DCCP)100.8 424.4 Q 2.75(,s)
-1.221 G(uch as port numbers, Sequence Numbers,)-2.75 E(and ar)100.8
437.4 Q(guments to options, are transmitted in netw)-.198 E
(ork byte order \(most signi\214cant byte)-.11 E(\214rst\).)100.8 450.4
Q 1.76 -.88(We o)100.8 467 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 480 Q -.11(wa)-.275
G(rds the least signi\214cant bit.).11 E(Random numbers in DCCP are use\
d for their security properties, and MUST be chosen)100.8 496.6 Q
(according to the guidelines in [RFC 1750].)100.8 509.6 Q(All operation\
s on DCCP sequence numbers, and comparisons such as "greater" and)100.8
526.2 Q("greatest", use circular arithmetic modulo 2**48.)100.8 539.2 Q
(This form of arithmetic preserv)5.5 E(es the)-.165 E
(relationships between sequence numbers as the)100.8 552.2 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(Reserv)100.8 568.8 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 581.8 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 594.8 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 607.8 Q
(ed \214eld has non-zero v)-.165 E(alue [RFC 3360].)-.275 E F1(3.2.)72
633.8 Q F3 -.13(Pa)5.5 G(rts of a Connection).13 E F0
(Each DCCP connection runs between tw)100.8 650.4 Q 2.75(oe)-.11 G
(ndpoints, which we often name DCCP A and)-2.75 E(DCCP B.)100.8 663.4 Q
(DCCP connections are acti)100.8 680 Q -.165(ve)-.275 G
(ly initiated by one endpoint.).165 E(The acti)5.5 E .33 -.165(ve e)
-.275 H(ndpoint is called the).165 E(client, and the passi)100.8 693 Q
.33 -.165(ve e)-.275 H(ndpoint is called the serv).165 E(er)-.165 E(.)
-.605 E(DCCP connections are bidirectional; data may pass from either e\
ndpoint to the other)100.8 709.6 Q 5.5(.T)-.605 G(his)-5.5 E
(means that data and ackno)100.8 722.6 Q(wledgements may be \215o)-.275
E(wing in both directions simultaneously)-.275 E(.)-.715 E -.385(Ko)72
769 S(hler/Handle).385 E(y/Flo)-.165 E 235.76(yd Section)-.11 F 2.75
(3.2. [P)2.75 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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Logically)100.8 85 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 98 Q(Each half-connection consists of the application data)5.5 E
(sent by one endpoint and the corresponding ackno)100.8 111 Q
(wledgements sent by the other endpoint.)-.275 E 1.76 -.88(We c)100.8
124 T(an illustrate this as follo).88 E(ws:)-.275 E/F1 11/Courier@0 SF
6.6(+--------+ A-to-B)107.4 143 R 52.8(half-connection: +--------+)6.6 F
52.8(||)107.4 156 S 6.6(--> application)-26.4 F 6.6(data -->)6.6 F 52.8
(||)26.4 G 52.8(||)107.4 169 S 6.6(<-- acknowledgements <--)-26.4 F 52.8
(||)26.4 G 6.6(|D)107.4 182 S(CCP A |)-6.6 E 6.6(|D)224.4 G(CCP B |)-6.6
E 52.8(||)107.4 195 S(B-to-A half-connection:)-39.6 E 52.8(||)59.4 G
52.8(||)107.4 208 S 6.6(<-- application)-26.4 F 6.6(data <--)6.6 F 52.8
(||)26.4 G 19.8(+--------+ -->)107.4 221 R 6.6(acknowledgements -->)13.2
F(+--------+)26.4 E F0(Although the)100.8 240 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 253 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 266 Q
(wledgement information rele)-.275 E -.275(va)-.275 G(nt to the other)
.275 E(.)-.605 E(In the conte)100.8 282.6 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 295.6 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 308.6 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 321.6 Q/F2 11/Times-Bold@0 SF(3.3.)72 347.6 Q/F3 13
/Times-Bold@0 SF -.325(Fe)5.5 G(atur).325 E(es)-.234 E F0 2.75(AD)100.8
364.2 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 377.2 Q(control mechanisms in use on the tw)
100.8 390.2 Q 2.75(oh)-.11 G 2.75(alf-connections. The)-2.75 F
(endpoints can achie)2.75 E -.165(ve)-.275 G(agreement through the e)
100.8 403.2 Q(xchange of feature ne)-.165 E
(gotiation options in DCCP headers, or)-.165 E
(through out-of-band communication.)100.8 416.2 Q
(DCCP features are identi\214ed by a feature number and an endpoint.)
100.8 432.8 Q(The notation "F/X")5.5 E(represents the feature with feat\
ure number F located at DCCP endpoint X.)100.8 445.8 Q(Each v)5.5 E
(alid)-.275 E(feature number thus corresponds to tw)100.8 458.8 Q 2.75
(of)-.11 G(eatures, which are ne)-2.75 E(gotiated separately and need)
-.165 E(not ha)100.8 471.8 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 484.8 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(all features F/B.)100.8 497.8 Q F2
(3.4.)72 523.8 Q F3(Round-T)5.5 E(rip T)-.962 E(imes)-.234 E F0 1.76
-.88(We s)100.8 540.4 T
(ometimes refer to round-trip times -- for setting timers, for e).88 E
2.75(xample. If)-.165 F(no useful)2.75 E(round-trip time estimate is a)
100.8 553.4 Q -.275(va)-.22 G
(ilable, a DCCP implementation SHOULD use 0.1 seconds).275 E(instead.)
100.8 566.4 Q(The maximum se)100.8 583 Q
(gment lifetime, or MSL, is the maximum length of time a pack)-.165 E
(et can)-.11 E(survi)100.8 596 Q .33 -.165(ve i)-.275 H 2.75(nt).165 G
(he netw)-2.75 E 2.75(ork. The)-.11 F(def)2.75 E(ault MSL is tw)-.11 E
2.75(om)-.11 G(inutes for this speci\214cation.)-2.75 E F2(3.5.)72 622 Q
F3(Security Limitation)5.5 E F0(DCCP is not rob)100.8 638.6 Q(ust ag)
-.22 E(ainst attack)-.055 E
(ers who can snoop on a connection in progress, or who)-.11 E
(can guess v)100.8 651.6 Q(alid sequence numbers in other w)-.275 E 2.75
(ays. Applications)-.11 F(desiring stronger security)2.75 E
(should use IPsec or application-le)100.8 664.6 Q -.165(ve)-.275 G 2.75
(lc).165 G(ryptograph)-2.75 E -.715(y.)-.055 G F2(3.6.)72 690.6 Q F3
(Rob)5.5 E(ustness Principle)-.26 E F0(DCCP implementations will follo)
100.8 707.2 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
720.2 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 -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 235.76(yd Section)
-.11 F 2.75(3.6. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(4.)72 85
Q/F2 14/Times-Bold@0 SF(Ov)5.5 E(er)-.14 E(view)-.14 E F0(DCCP')100.8
101.6 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 114.6 Q
(ay handshak)-.11 E(e; data transfer; and termination.)-.11 E
(Data can \215o)100.8 127.6 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 140.6 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 153.6 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
166.6 Q(The application must package its data into e)5.5 E
(xplicit frames, and must)-.165 E(retransmit its o)100.8 179.6 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 192.6 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 205.6 Q(wledgements.)-.275 E F1(4.1.)72
231.6 Q/F3 13/Times-Bold@0 SF -.13(Pa)5.5 G(ck).13 E(et T)-.13 E(ypes)
-.962 E F0 -.77(Te)100.8 248.2 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 261.2 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 274.2 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 287.2 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
300.2 Q(CK+RST)-.44 E(.)-.814 E(Eight pack)100.8 316.8 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 329.8 Q(ay handshak)-.11
E(es during initiation and termination.)-.11 E/F4 11/Courier@0 SF 244.2
(Client Server)120.6 348.8 R 244.2(------ ------)120.6 361.8 R
(\(1\) Initiation)232.8 374.8 Q(DCCP-Request -->)120.6 387.8 Q
(<-- DCCP-Response)338.4 400.8 Q(DCCP-Ack -->)120.6 413.8 Q
(\(2\) Data transfer)232.8 426.8 Q
(DCCP-Data, DCCP-Ack, DCCP-DataAck -->)120.6 439.8 Q
(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)206.4 452.8 Q(\(3\) Termination)
232.8 465.8 Q(<-- DCCP-CloseReq)338.4 478.8 Q(DCCP-Close -->)120.6 491.8
Q(<-- DCCP-Reset)358.2 504.8 Q F0(The tw)100.8 523.8 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 540.4 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
553.4 Q(ed-size header data; for e)-.165 E
(xample, DCCP-Acks include an Ackno)-.165 E(wledgement)-.275 E(Number)
100.8 566.4 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 583 Q
(et types are as follo)-.11 E(ws:)-.275 E F1(DCCP-Request)100.8 599.6 Q
F0(Sent by the client to initiate a connection \(the \214rst part of th\
e three-w)129.6 612.6 Q(ay initiation)-.11 E(handshak)129.6 625.6 Q
(e\).)-.11 E F1(DCCP-Response)100.8 642.2 Q F0(Sent by the serv)129.6
655.2 Q
(er in response to a DCCP-Request \(the second part of the three-w)-.165
E(ay)-.11 E(initiation handshak)129.6 668.2 Q(e\).)-.11 E F1(DCCP-Data)
100.8 684.8 Q F0(Used to transmit application data.)129.6 697.8 Q -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 235.76(yd Section)-.11 F
2.75(4.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(DCCP-Ack)
100.8 85 Q F0(Used to transmit pure ackno)129.6 98 Q(wledgements.)-.275
E F1(DCCP-DataAck)100.8 114.6 Q F0
(Used to transmit application data with piggyback)129.6 127.6 Q
(ed ackno)-.11 E(wledgements.)-.275 E F1(DCCP-CloseReq)100.8 144.2 Q F0
(Sent by the serv)129.6 157.2 Q
(er to request that the client close the connection.)-.165 E F1
(DCCP-Close)100.8 173.8 Q F0
(Used to close the connection; elicits a DCCP-Reset in response.)129.6
186.8 Q F1(DCCP-Reset)100.8 203.4 Q F0
(Used to terminate the connection, either normally or abnormally)129.6
216.4 Q(.)-.715 E F1(DCCP-Sync)100.8 233 Q F0(,)A F1(DCCP-SyncAck)2.75 E
F0(Used to resynchronize sequence numbers after lar)129.6 246 Q(ge b)
-.198 E(ursts of loss.)-.22 E F1(4.2.)72 272 Q/F2 13/Times-Bold@0 SF
(Sequence Numbers)5.5 E F0(Each DCCP pack)100.8 288.6 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 301.6 Q
2.75(eT)-.11 G(CP')-2.75 E 2.75(sb)-.605 G
(yte-based sequence numbers, DCCP sequence numbers are pack)-2.75 E
(et-based:)-.11 E(each pack)100.8 314.6 Q
(et sent increments the sequence number by one.)-.11 E -.165(Fo)5.5 G
2.75(re).165 G(xample:)-2.915 E/F3 11/Courier@0 SF(DCCP A)120.6 333.6 Q
(DCCP B)250.8 E 244.2(------ ------)120.6 346.6 R
(DCCP-Data\(seqno 1\) -->)120.6 359.6 Q(DCCP-Data\(seqno 2\) -->)120.6
372.6 Q(<-- DCCP-Ack\(seqno 10, ackno 2\))246 385.6 Q
(DCCP-DataAck\(seqno 3, ackno 10\) -->)120.6 398.6 Q
(<-- DCCP-Data\(seqno 11\))298.8 411.6 Q F0(Ev)100.8 430.6 Q
(en DCCP-Ack pure ackno)-.165 E
(wledgements increment the sequence number)-.275 E 5.5(.I)-.605 G 2.75
(nt)-5.5 G(he e)-2.75 E(xample,)-.165 E(DCCP B')100.8 443.6 Q 2.75(ss)
-.605 G(econd pack)-2.75 E
(et uses sequence number 11, since sequence number 10 w)-.11 E(as used)
-.11 E(for an ackno)100.8 456.6 Q 2.75(wledgement. This)-.275 F
(lets endpoints detect lost ackno)2.75 E 2.75(wledgements. It)-.275 F
(also means)2.75 E(that endpoints can get out of sync after long b)100.8
469.6 Q(ursts of loss; the DCCP-Sync and DCCP-)-.22 E(SyncAck pack)100.8
482.6 Q(et types are used to reco)-.11 E -.165(ve)-.165 G 2.75(r\().165
G(Section 7.5\).)-2.75 E(Since DCCP pro)100.8 499.2 Q(vides unreliable \
semantics, there are no retransmissions, and it doesn')-.165 E(t)-.198 E
(mak)100.8 512.2 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 525.2 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 538.2 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 551.2 Q 2.75(tr)
-.198 G(ecei)-2.75 E -.165(ve)-.275 G(d.).165 E F1(4.3.)72 577.2 Q F2
(States)5.5 E F0(DCCP endpoints progress through dif)100.8 593.8 Q
(ferent states during the course of a connection,)-.275 E
(corresponding roughly to the three phases of initiation, data transfer)
100.8 606.8 Q 2.75(,a)-.44 G(nd termination.)-2.75 E(The)5.5 E
(\214gure belo)100.8 619.8 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 -.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 10])-.165 E 0
Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF 290.4
(Client Server)120.6 85 R 290.4(------ ------)120.6 98 R
(\(0\) No connection)239.4 111 Q 290.4(CLOSED LISTEN)120.6 124 R
(\(1\) Initiation)239.4 150 Q 33(REQUEST DCCP-Request)120.6 163 R(-->)
6.6 E(<-- DCCP-Response)312 176 Q(RESPOND)33 E 26.4(PARTOPEN DCCP-Ack)
120.6 189 R(or DCCP-DataAck -->)6.6 E(\(2\) Data transfer)239.4 215 Q
59.4(OPEN <--)120.6 228 R(DCCP-Data, Ack, DataAck -->)6.6 E(OPEN)39.6 E
(\(3\) Termination)239.4 254 Q(<-- DCCP-CloseReq)312 267 Q(CLOSEREQ)33 E
33(CLOSING DCCP-Close)120.6 280 R(-->)6.6 E(<-- DCCP-Reset)331.8 293 Q
(CLOSED)33 E(TIMEWAIT)120.6 306 Q(CLOSED)120.6 319 Q F0
(The nine possible states are as follo)100.8 338 Q 2.75(ws. Section)
-.275 F 2.75(8d)2.75 G(escribes them in more detail.)-2.75 E/F2 11
/Times-Bold@0 SF(CLOSED)100.8 354.6 Q F0(Represents none)129.6 367.6 Q
(xistent connections.)-.165 E F2(LISTEN)100.8 384.2 Q F0
(Represents serv)129.6 397.2 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 410.2 Q 2.75(yp)-.165 G
(articular DCCP connection.)-2.75 E F2(REQ)100.8 426.8 Q(UEST)-.11 E F0
2.75(Ac)129.6 439.8 S(lient sock)-2.75 E
(et enters this state, from CLOSED, after sending a DCCP-Request)-.11 E
(pack)129.6 452.8 Q(et to try to initiate a connection.)-.11 E F2
(RESPOND)100.8 469.4 Q F0 2.75(As)129.6 482.4 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 495.4 Q F2 -.814(PA)
100.8 512 S -2.068 -.44(RT O).814 H(PEN).44 E F0 2.75(Ac)129.6 525 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 538 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 551 Q(ut it MUST include an)-.22 E(Ackno)129.6 564 Q
(wledgement Number on all of its pack)-.275 E(ets.)-.11 E F2(OPEN)100.8
580.6 Q F0(The central, data transfer portion of a DCCP connection.)
129.6 593.6 Q(Client and serv)5.5 E(er sock)-.165 E(ets)-.11 E
(enter this state from P)129.6 606.6 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 619.6 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 632.6 Q
2.75(sO)-.605 G(PEN state.)-2.75 E F2(CLOSEREQ)100.8 649.2 Q F0 2.75(As)
129.6 662.2 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 675.2 Q -.165
(ve)-.165 G .88 -.44(r, b).165 H(ut the client must hold TIMEW).22 E
(AIT state.)-1.32 E F2(CLOSING)100.8 691.8 Q F0(Serv)129.6 704.8 Q
(er and client sock)-.165 E
(ets can both enter this state to close the connection.)-.11 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 11])-.165 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(TIMEW)
100.8 85 Q(AIT)-1.32 E F0 2.75(As)129.6 98 S(ock)-2.75 E(et remains in \
this state for 2MSL \(4 minutes\) after the connection has been)-.11 E
(torn do)129.6 111 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 pack).165 E(ets.)
-.11 E F1(4.4.)72 137 Q/F2 13/Times-Bold@0 SF(Congestion Contr)5.5 E(ol)
-.234 E F0(DCCP connections are congestion controlled, b)100.8 153.6 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 166.6 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 179.6 Q(ferent mechanisms.)
-.275 E(Mechanisms are denoted by one-byte congestion control)5.5 E
(identi\214ers, or CCIDs.)100.8 192.6 Q(The endpoints ne)5.5 E
(gotiate their CCIDs during connection initiation.)-.165 E
(Each CCID describes ho)100.8 205.6 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 218.6 Q
(wledgements, and so forth.)-.275 E(CCIDs 2 and 3 are)5.5 E
(currently de\214ned; CCID 0 is reserv)100.8 231.6 Q
(ed, and CCID 1 is used for special purposes.)-.165 E(CCID 2 pro)100.8
248.2 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 261.2 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 274.2 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 287.2 Q 2.75
(et)-.165 G(he congestion windo)-2.75 E -.715(w.)-.275 G(Ackno)100.8
300.2 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 313.2 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 3517].)-.44 E(CCID 3 pro)100.8 329.8 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
342.8 Q(The sender maintains a)5.5 E
(transmit rate, which it updates using the recei)100.8 355.8 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 368.8 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 381.8 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 398.4
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 411.4
Q(OFILE] [CCID 3 PR)-.44 E(OFILE].)-.44 E F1(4.5.)72 437.4 Q F2 -.325
(Fe)5.5 G(atur).325 E(es)-.234 E F0
(DCCP endpoints generally use Change and Con\214rm options to ne)100.8
454 Q(gotiate and agree on)-.165 E(feature v)100.8 467 Q
(alues, although agreement may also be achie)-.275 E -.165(ve)-.275 G
2.75(du).165 G(sing an out-of-band signalling)-2.75 E 2.75
(channel. Feature)100.8 480 R(ne)2.75 E(gotiation will almost al)-.165 E
-.11(wa)-.11 G(ys happen on the connection initiation).11 E(handshak)
100.8 493 Q(e, b)-.11 E(ut it can be)-.22 E(gin at an)-.165 E 2.75(yt)
-.165 G(ime.)-2.75 E(There are four feature ne)100.8 509.6 Q
(gotiation options in all: Change L, Con\214rm L, Change R, and)-.165 E
(Con\214rm R.)100.8 522.6 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
535.6 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 548.6 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 561.6 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 574.6 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 593.6 R 257.4(------ ------)120.6 606.6 R(Change R\(CCID, 2\) -->)
120.6 619.6 Q(<-- Confirm L\(CCID, 2\))318.6 632.6 Q 6.6(*a)193.2 645.6
S(greement that CCID/Server = 2 *)-6.6 E(Change R\(CCID, 3 4\) -->)120.6
671.6 Q(<-- Confirm L\(CCID, 4, 4 2\))285.6 684.6 Q 6.6(*a)193.2 697.6 S
(greement that CCID/Server = 4 *)-6.6 E F0(In the second e)100.8 716.6 Q
(xchange, the client requests that the serv)-.165 E
(er use either CCID 3 or CCID 4,)-.165 E -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(4.5. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(with 3 preferred.)100.8 85 Q
(The serv)5.5 E(er chooses 4 and supplies its preference list, "4 2".)
-.165 E(The Change L and Con\214rm R options are used for feature ne)
100.8 101.6 Q(gotiations initiated by the)-.165 E(feature location.)
100.8 114.6 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 127.6 Q/F1 11
/Courier@0 SF 250.8(Client Server)120.6 146.6 R 250.8(------ ------)
120.6 159.6 R(<-- Change L\(CCID, 3 2\))305.4 172.6 Q
(Confirm R\(CCID, 3, 3 2\))120.6 185.6 Q(-->)13.2 E 6.6(*a)193.2 198.6 S
(greement that CCID/Server = 3 *)-6.6 E F0
(Section 6 describes the feature ne)100.8 221.2 Q
(gotiation options further)-.165 E 2.75(,i)-.44 G
(ncluding the retransmission)-2.75 E(strate)100.8 234.2 Q(gies that mak)
-.165 E 2.75(en)-.11 G -.165(eg)-2.75 G(otiation reliable.).165 E/F2 11
/Times-Bold@0 SF(4.6.)72 260.2 Q/F3 13/Times-Bold@0 SF(Differ)5.5 E
(ences Fr)-.234 E(om TCP)-.234 E F0(Dif)100.8 276.8 Q
(ferences between DCCP and TCP apart from those discussed so f)-.275 E
(ar include:)-.11 E<83>100.8 293.4 Q F2(Copious space f)12.65 E
(or options)-.275 E F0(\(up to 1008 bytes\).)2.75 E<83>100.8 310 Q F2
(Differ)12.65 E(ent ackno)-.198 E(wledgement f)-.11 E(ormats.)-.275 E F0
(The CCID for a connection determines ho)2.75 E(w)-.275 E(much ackno)
117.3 323 Q
(wledgement information needs to be transmitted. In CCID 2 \(TCP-lik)
-.275 E(e\),)-.11 E(this is about one ack per 2 pack)117.3 336 Q
(ets, and each ack must declare e)-.11 E(xactly which pack)-.165 E(ets)
-.11 E(were recei)117.3 349 Q -.165(ve)-.275 G
(d; in CCID 3 \(TFRC\), it').165 E 2.75(sa)-.605 G(bout one ack per R)
-2.75 E(TT)-.66 E 2.75(,a)-.814 G(nd acks must declare at)-2.75 E
(minimum just the lengths of recent loss interv)117.3 362 Q(als.)-.275 E
<83>100.8 378.6 Q F2(Denial-of-ser)12.65 E(vice \(DoS\) pr)-.11 E
(otection.)-.198 E F0(Se)2.75 E -.165(ve)-.275 G
(ral mechanisms help limit the amount of).165 E(state possibly-misbeha)
117.3 391.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 404.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 417.6 R
(one connection endpoint need hold TIMEW)2.75 E(AIT state; the DCCP-)
-1.32 E(CloseReq pack)117.3 430.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 443.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 456.6 Q(et generation.)-.11 E<83>100.8
473.2 Q F2(Distinguishing differ)12.65 E(ent kinds of loss.)-.198 E F0
2.75(AD)5.5 G(ata Dropped option \(Section 11.8\) lets an)-2.75 E
(endpoint declare that a pack)117.3 486.2 Q(et w)-.11 E
(as dropped because of corruption, because of recei)-.11 E -.165(ve)
-.275 G -.22(bu)117.3 499.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 512.2 Q
(ork-congestion losses \(although currently such losses will)-.11 E
(cause a congestion response\).)117.3 525.2 Q<83>100.8 541.8 Q F2(Ackno)
12.65 E(wledgement r)-.11 E(eadiness.)-.198 E F0(In TCP)2.75 E 2.75(,ap)
-1.221 G(ack)-2.75 E(et is ackno)-.11 E(wledged only when the data is)
-.275 E(queued for deli)117.3 554.8 Q -.165(ve)-.275 G
(ry to the application.).165 E(This 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 request a drop-from-front recei)117.3 567.8 Q .33
-.165(ve b)-.275 H(uf)-.055 E(fer)-.275 E 2.75(,f)-.44 G(or e)-2.75 E
2.75(xample. DCCP)-.165 F(ackno)117.3 580.8 Q(wledges a pack)-.275 E
(et when its options ha)-.11 E .33 -.165(ve b)-.22 H(een processed.).165
E(The Data Dropped)5.5 E(option may later report that the pack)117.3
593.8 Q(et')-.11 E 2.75(sp)-.605 G(ayload w)-2.75 E(as discarded.)-.11 E
<83>100.8 610.4 Q F2(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 623.4 Q<83>100.8 640 Q F2
(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 656.6 Q F2(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 669.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 682.6 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.6. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(4.7.)72
85 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 101.6 Q
2.75(ws. \(This)-.275 F(description is informati)2.75 E -.165(ve)-.275 G
(,).165 E(not normati)100.8 114.6 Q -.165(ve)-.275 G(.\)).165 E/F3 11
/Courier@0 SF 217.8(Client Server)147 133.6 R 217.8(------ ------)147
146.6 R 6.6(0. [CLOSED])120.6 159.6 R([LISTEN])198 E 6.6
(1. DCCP-Request)120.6 172.6 R(-->)6.6 E 198(2. <--)120.6 185.6 R
(DCCP-Response)6.6 E 6.6(3. DCCP-Ack)120.6 198.6 R(-->)6.6 E
(<-- DCCP-Ack)371.4 211.6 Q 6.6(4. DCCP-Data,)120.6 224.6 R
(DCCP-Ack, DCCP-DataAck -->)6.6 E(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)
206.4 237.6 Q 198(5. <--)120.6 250.6 R(DCCP-CloseReq)6.6 E 6.6
(6. DCCP-Close)120.6 263.6 R(-->)6.6 E 217.8(7. <--)120.6 276.6 R
(DCCP-Reset)6.6 E 6.6(8. [TIMEWAIT])120.6 289.6 R F0 11(1. The)100.8
312.2 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 325.2 Q 2.75(yf)-.165
G(eatures being ne)-2.75 E(gotiated, including the)-.165 E
(CCID that the client w)122.8 338.2 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 351.2 Q
(et, which the serv)-.11 E(er may)-.165 E(ignore.)122.8 364.2 Q 11
(2. The)100.8 380.8 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 393.8 Q(This response indicates an)
5.5 E 2.75(yf)-.165 G(eatures and options that the)-2.75 E(serv)122.8
406.8 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 419.8 Q(client for the connection to complete.)122.8 432.8 Q 11
(3. The)100.8 449.4 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 462.4 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 475.4 Q(as one in the DCCP-Response.)
-.11 E(It may also continue feature)5.5 E(ne)122.8 488.4 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 501.4 Q(et.)-.11 E 11(4. The)100.8
518 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 531 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 544 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 557 Q
(ets, while the client will send DCCP-)-.11 E(Acks e)122.8 570 Q(xclusi)
-.165 E -.165(ve)-.275 G(ly).165 E(.)-.715 E 11(5. The)100.8 586.6 R
(serv)2.75 E(er sends a DCCP-CloseReq pack)-.165 E
(et requesting a close.)-.11 E 11(6. The)100.8 603.2 R
(client sends a DCCP-Close pack)2.75 E(et ackno)-.11 E
(wledging the close.)-.275 E 11(7. The)100.8 619.8 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 632.8 Q
(DCCP-Resets are part of normal connection termination; see)5.5 E
(Section 5.6.)122.8 645.8 Q 11(8. The)100.8 662.4 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 a reasonable interv)-.11 E(al of)-.275 E
(time to allo)122.8 675.4 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 692 Q .33 -.165(ve c)-.275 H(onnection closedo).165
E(wn sequence is initiated by the client:)-.275 E(5b)100.8 708.6 Q 8.69
(.T)-.44 G(he client sends a DCCP-Close pack)-8.69 E
(et closing the connection.)-.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 14])
-.165 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(6b)100.8 85 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 98 Q(7b)100.8 114.6 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 a reasonable interv)
-.11 E(al of)-.275 E(time to allo)122.8 127.6 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/F1 11/Times-Bold@0 SF(5.)72 153.6 Q/F2 14/Times-Bold@0 SF
(Header F)5.5 E(ormats)-.35 E F0
(The DCCP header can be from 12 to 1020 bytes long.)100.8 170.2 Q
(The initial 12 bytes of the header)5.5 E(ha)100.8 183.2 Q .33 -.165
(ve t)-.22 H(he same semantics for all pack).165 E(et types.)-.11 E
-.165(Fo)5.5 G(llo).165 E(wing this comes an)-.275 E 2.75(ya)-.165 G
(dditional \214x)-2.75 E(ed-)-.165 E
(length \214elds required by the pack)100.8 196.2 Q
(et type, and then a v)-.11 E(ariable-length list of options.)-.275 E
(Some)5.5 E(pack)100.8 209.2 Q(et types allo)-.11 E 2.75(wa)-.275 G
(pplication data to follo)-2.75 E 2.75(wt)-.275 G(he header)-2.75 E(.)
-.605 E/F3 11/Courier@0 SF 6.6
(+---------------------------------------+ -.)107.4 228.2 R 85.8(|G)
107.4 241.2 S(eneric Header)-85.8 E 19.8(||)79.2 G 13.2
(+---------------------------------------+ |)107.4 254.2 R 6.6(|A)107.4
267.2 S(dditional Fields \(depending on type\) |)-6.6 E(+- DCCP Header)
19.8 E 13.2(+---------------------------------------+ |)107.4 280.2 R
72.6(|O)107.4 293.2 S(ptions \(optional\))-72.6 E 19.8(||)66 G 6.6
(+=======================================+ -')107.4 306.2 R 39.6(|A)
107.4 319.2 S(pplication Data \(optional\))-39.6 E(|)39.6 E
(+---------------------------------------+)107.4 332.2 Q F1(5.1.)72
364.2 Q/F4 13/Times-Bold@0 SF(Generic Header)5.5 E F0
(The DCCP generic header tak)100.8 380.8 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 393.8 Q
(If X is one, the Sequence Number \214eld is 48 bits long and the)5.5 E
(generic header tak)100.8 406.8 Q(es 16 bytes, as follo)-.11 E(ws.)-.275
E F3 125.4(0123)114 425.8 S 6.6(01234567890123456789012345678901)114
438.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
451.8 Q 66(|S)107.4 464.8 S(ource Port)-66 E 72.6(|D)66 G(est Port)-72.6
E(|)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
477.8 Q 13.2(|D)107.4 490.8 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
503.8 Q 33(||)107.4 516.8 S 39.6(X| |)-33 F(.)310.2 E 6.6(|R)107.4 529.8
S(es |=| Type)-6.6 E 66(|S)13.2 G(equence Number \(high bits\))-66 E(.)
66 E 33(||)107.4 542.8 S 39.6(1| |)-33 F(.)310.2 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
555.8 Q 66(.S)107.4 568.8 S(equence Number \(low bits\))-66 E 19.8(|R)
72.6 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
581.8 Q F0(If X is zero, only the lo)100.8 600.8 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 613.8 Q -.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 15])-.165 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF 125.4(0123)
114 85 S 6.6(01234567890123456789012345678901)114 98 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
111 Q 66(|S)107.4 124 S(ource Port)-66 E 72.6(|D)66 G(est Port)-72.6 E
(|)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
137 Q 13.2(|D)107.4 150 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
163 Q 33(||)107.4 176 S 39.6(X| |)-33 F(|)310.2 E 6.6(|R)107.4 189 S
(es |=| Type)-6.6 E 66(|S)13.2 G(equence Number \(low bits\))-66 E(|)
72.6 E 33(||)107.4 202 S 39.6(0| |)-33 F(|)310.2 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
215 Q F0(The generic header \214elds are de\214ned as follo)100.8 237.6
Q(ws.)-.275 E/F2 11/Times-Bold@0 SF(Sour)100.8 254.2 Q
(ce and Destination P)-.198 E(orts: 16 bits each)-.22 E F0(These \214el\
ds identify the connection, similar to the corresponding \214elds in TC\
P and)129.6 267.2 Q(UDP)129.6 280.2 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 293.2 Q
(et, the Destination Port the rele)-.11 E -.275(va)-.275 G
(nt port on the other endpoint.).275 E(Source Ports)5.5 E
(SHOULD be chosen randomly)129.6 306.2 Q 2.75(,t)-.715 G 2.75(or)-2.75 G
(educe the lik)-2.75 E(elihood of attack.)-.11 E F2(Data Offset: 8 bits)
100.8 322.8 Q F0(The of)129.6 335.8 Q
(fset from the start of the DCCP header to the be)-.275 E
(ginning of the pack)-.165 E(et')-.11 E(s)-.605 E
(application data, in 32-bit w)129.6 348.8 Q(ords.)-.11 E F2(CCV)100.8
365.4 Q(al: 4 bits)-1.012 E F0(Used by the HC-Sender CCID.)129.6 378.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 391.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 404.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 417.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 430.4 Q -.165(ve)-.275 G 2.75(rC).165
G(CID speci\214es otherwise.)-2.75 E F2(Checksum Co)100.8 447 Q -.11(ve)
-.11 G(rage \(CsCo).11 E(v\): 4 bits)-.11 E F0(Checksum Co)129.6 460 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 473 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 486 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 499 Q
(See Section 9.)5.5 E F2(Checksum: 16 bits)100.8 515.6 Q F0
(The Internet checksum of the pack)129.6 528.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 541.6 Q 2.75(,a)-.44 G
(nd, depending on Checksum Co)-2.75 E -.165(ve)-.165 G
(rage, some or all of the).165 E(application data.)129.6 554.6 Q
(See Section 9.)5.5 E F2 -.814(Ty)100.8 571.2 S(pe: 4 bits).814 E F0
(The T)129.6 584.2 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 16])-.165 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF 13.2
(Type Meaning)129.6 85 R 13.2(---- -------)129.6 98 R 26.4(0D)142.8 111
S(CCP-Request)-26.4 E 26.4(1D)142.8 124 S(CCP-Response)-26.4 E 26.4(2D)
142.8 137 S(CCP-Data)-26.4 E 26.4(3D)142.8 150 S(CCP-Ack)-26.4 E 26.4
(4D)142.8 163 S(CCP-DataAck)-26.4 E 26.4(5D)142.8 176 S(CCP-CloseReq)
-26.4 E 26.4(6D)142.8 189 S(CCP-Close)-26.4 E 26.4(7D)142.8 202 S
(CCP-Reset)-26.4 E 26.4(8D)142.8 215 S(CCP-Sync)-26.4 E 26.4(9D)142.8
228 S(CCP-SyncAck)-26.4 E 6.6(10-15 Reserved)129.6 241 R F0(Recei)129.6
260 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 273 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 286 Q -.165(ve)-.275 G(d.).165 E/F2 11/Times-Bold@0 SF(Reser)100.8
302.6 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
315.6 Q(ets, and recei)-.11 E -.165(ve)-.275 G(rs MUST).165 E
(ignore its v)129.6 328.6 Q(alue.)-.275 E F2
(Extended Sequence Numbers \(X\): 1 bit)100.8 345.2 Q F0
(Set to one to indicate the use of an e)129.6 358.2 Q
(xtended generic header with 48-bit Sequence)-.165 E(and Ackno)129.6
371.2 Q(wledgement Numbers.)-.275 E
(DCCP-Data, DCCP-DataAck, and DCCP-Ack)5.5 E(pack)129.6 384.2 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 397.2 Q(ets)-.11 E(MUST set X to one; endpoints MUST ignore an)
129.6 410.2 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 423.2
Q(ets to g)-.11 E(ain increased)-.055 E(protection ag)129.6 436.2 Q
(ainst wrapped sequence numbers and attacks.)-.055 E(See Section 7.6.)
5.5 E F2(Sequence Number: 24 or 48 bits)100.8 452.8 Q F0
(Identi\214es the pack)129.6 465.8 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
478.8 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 491.8 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 508.4 Q
(et types e)-.11 E(xcept DCCP-Request and DCCP-Data carry an)-.165 E
(Ackno)100.8 521.4 Q
(wledgement Number in the four or eight bytes immediately follo)-.275 E
(wing the generic)-.275 E(header)100.8 534.4 Q 5.5(.W)-.605 G
(hen X=1, its format is:)-5.5 E F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
553.4 Q 19.8(|R)107.4 566.4 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
579.4 Q 46.2(.A)107.4 592.4 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
605.4 Q F0(When X=0, only the lo)100.8 624.4 Q 2.75(w2)-.275 G 2.75(4b)
-2.75 G(its of the Ackno)-2.75 E(wledgement Number are transmitted.)
-.275 E F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
643.4 Q 19.8(|R)107.4 656.4 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(low bits\))46.2 E(|)46.2 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
669.4 Q F2(Ackno)100.8 692 Q(wledgement Number: 24 or 48 bits)-.11 E F0
(Generally contains GSR, the Greatest Sequence Number Recei)129.6 705 Q
-.165(ve)-.275 G 2.75(do).165 G 2.75(na)-2.75 G -.165(ny)-2.75 G(ackno)
129.6 718 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 -.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 17])-.165 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(header options were processed by the recei)129.6 85 Q -.165(ve)-.275 G
3.96 -.605(r. S).165 H(ection 7.4 describes this further).605 E(.)-.605
E(Options such as Ack V)129.6 98 Q
(ector \(Section 11.4\) combine with the Ackno)-1.221 E(wledgement)-.275
E(Number to pro)129.6 111 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 127.6 Q
(wledgement Numbers on DCCP-Sync and DCCP-SyncAck pack)-.275 E
(ets need not)-.11 E(equal GSR; see Section 5.7.)129.6 140.6 Q/F1 11
/Times-Bold@0 SF(Reser)100.8 157.2 Q -.11(ve)-.11 G(d: 8 bits).11 E F0
(Senders MUST set this \214eld to all zeroes on generated pack)129.6
170.2 Q(ets, and recei)-.11 E -.165(ve)-.275 G(rs MUST).165 E
(ignore its v)129.6 183.2 Q(alue.)-.275 E F1(5.2.)72 209.2 Q/F2 13
/Times-Bold@0 SF(DCCP-Request Header)5.5 E F0 2.75(Ac)100.8 225.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 238.8 Q 2.75(Yc)
-1.155 G(ontain application data.)-2.75 E/F3 11/Courier@0 SF 125.4(0123)
114 257.8 S 6.6(01234567890123456789012345678901)114 270.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
283.8 Q 79.2(/G)107.4 296.8 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 125.4(/w)107.4 309.8 S(ith Type=0 \(DCCP-Request\))
-125.4 E(/)118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
322.8 Q 165(|S)107.4 335.8 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
348.8 Q 138.6(|O)107.4 361.8 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
374.8 Q 158.4(|A)107.4 387.8 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 400.8 S 191.4(.. |)-198 F F1(Ser)100.8 423.4 Q
(vice Code: 32 bits)-.11 E F0
(Describes the service to which the client application w)129.6 436.4 Q
(ants to connect.)-.11 E(Examples)5.5 E(might include R)129.6 449.4 Q
(TSP and DOOM.)-.66 E(Service Codes are intended to mak)5.5 E 2.75(ea)
-.11 G(pplication)-2.75 E(protocols independent of well-kno)129.6 462.4
Q(wn ports, and help middlebox)-.275 E(es identify the)-.165 E
(protocol used on a gi)129.6 475.4 Q -.165(ve)-.275 G 2.75(nc).165 G
2.75(onnection. See)-2.75 F(Section 8.1.2.)2.75 E F1(5.3.)72 501.4 Q F2
(DCCP-Response Header)5.5 E F0(The serv)100.8 518 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 531 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.)100.8 544 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 18])-.165 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 19.8(|R)107.4 163 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
176 Q 46.2(.A)107.4 189 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 165(|S)107.4 215 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q 138.6(|O)107.4 241 S 118.8(ptions /)-138.6 F 19.8(Padding |)26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
254 Q 158.4(|A)107.4 267 S(pplication Data)-158.4 E(|)151.8 E 198(|.)
107.4 280 S 191.4(.. |)-198 F/F2 11/Times-Bold@0 SF(Ackno)100.8 302.6 Q
(wledgement Number: 48 bits)-.11 E F0(Contains GSR.)129.6 315.6 Q
(Since DCCP-Responses are only sent during connection initiation,)5.5 E
(this will al)129.6 328.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 345.2 Q(vice Code: 32 bits)-.11
E F0(Echoes the Service Code on a recei)129.6 358.2 Q -.165(ve)-.275 G
2.75(dD).165 G(CCP-Request.)-2.75 E F2(5.4.)72 384.2 Q/F3 13
/Times-Bold@0 SF(DCCP-Data, DCCP-Ack, and DCCP-DataAck Headers)5.5 E F0
(The central data transfer portion of e)100.8 400.8 Q -.165(ve)-.275 G
(ry DCCP connection uses DCCP-Data, DCCP-Ack,).165 E
(and DCCP-DataAck pack)100.8 413.8 Q 2.75(ets. DCCP-Data)-.11 F(pack)
2.75 E(ets carry application data.)-.11 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 \(12 or 16 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 138.6(|O)107.4 510.8 S 118.8(ptions /)-138.6 F 19.8
(Padding |)26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
523.8 Q 158.4(|A)107.4 536.8 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 549.8 S 191.4(.. |)-198 F 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 19])-.165 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 \(12 or 16 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 19.8(|R)107.4 163 S 19.8(eserved |)-19.8 F(Acknowledgement Number)
79.2 E(|)85.8 E
(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\))
100.8 176 Q 39.6(\(. Acknowledgement)100.8 189 R(Number \(low bits\))6.6
E 19.8(|R)46.2 G 19.8(eserved |\))-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 138.6(|O)107.4 215 S 118.8(ptions /)-138.6 F 19.8(Padding |)26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q F0(\(The parenthesized \214elds appear only when the header')100.8
247 Q 2.75(sE)-.605 G(xtended Sequence Numbers \214eld)-2.75 E(is 1.\))
100.8 260 Q(DCCP-DataAck pack)5.5 E
(ets carry both application data and an Ackno)-.11 E(wledgement)-.275 E
(Number: ackno)100.8 273 Q(wledgement information is piggyback)-.275 E
(ed on a data pack)-.11 E(et.)-.11 E F1 125.4(0123)114 292 S 6.6
(01234567890123456789012345678901)114 305 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
318 Q 92.4(/G)107.4 331 S(eneric DCCP Header \(12 or 16 bytes\))-92.4 E
(/)85.8 E 118.8(/w)107.4 344 S(ith Type=4 \(DCCP-DataAck\))-118.8 E(/)
125.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
357 Q 19.8(|R)107.4 370 S 19.8(eserved |)-19.8 F(Acknowledgement Number)
79.2 E(|)85.8 E
(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\))
100.8 383 Q 39.6(\(. Acknowledgement)100.8 396 R(Number \(low bits\))6.6
E 19.8(|R)46.2 G 19.8(eserved |\))-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
409 Q 138.6(|O)107.4 422 S 118.8(ptions /)-138.6 F 19.8(Padding |)26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
435 Q 158.4(|A)107.4 448 S(pplication Data)-158.4 E(|)151.8 E 198(|.)
107.4 461 S 191.4(.. |)-198 F F0 2.75(AD)100.8 480 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
493 Q(This dif)5.5 E(fers from DCCP-)-.275 E
(Request and DCCP-Response pack)100.8 506 Q
(ets, where an empty application data area indicates the)-.11 E(absence\
 of application data \(as opposed to the presence of zero-length applic\
ation data\).)100.8 519 Q(Recei)100.8 535.6 Q -.165(ve)-.275 G
(rs MUST ignore the application data area in DCCP-Ack pack).165 E 2.75
(ets. DCCP-Ack)-.11 F(senders will generally lea)100.8 548.6 Q .33 -.165
(ve t)-.22 H(his area empty).165 E(.)-.715 E
(DCCP-Ack and DCCP-DataAck pack)100.8 565.2 Q
(ets often include additional ackno)-.11 E(wledgement)-.275 E
(options, such as Ack V)100.8 578.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 604.2 Q/F3 13/Times-Bold@0 SF
(DCCP-CloseReq and DCCP-Close Headers)5.5 E F0
(DCCP-CloseReq and DCCP-Close pack)100.8 620.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 633.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 646.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 659.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(state.)100.8 672.8 Q -.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 20])-.165 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 19.8(|R)107.4 163 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
176 Q 46.2(.A)107.4 189 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 138.6(|O)107.4 215 S 118.8(ptions /)-138.6 F 19.8(Padding |)26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q F0(Recei)100.8 247 Q -.165(ve)-.275 G(rs MUST ignore the applicat\
ion data area in DCCP-CloseReq and DCCP-Close).165 E(pack)100.8 260 Q
(ets.)-.11 E/F2 11/Times-Bold@0 SF(5.6.)72 286 Q/F3 13/Times-Bold@0 SF
(DCCP-Reset Header)5.5 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 F1 125.4(0123)114
347.6 S 6.6(01234567890123456789012345678901)114 360.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
373.6 Q 79.2(/G)107.4 386.6 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 125.4(/w)107.4 399.6 S(ith Type=7 \(DCCP-Reset\))-125.4
E(/)132 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
412.6 Q 19.8(|R)107.4 425.6 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
438.6 Q 46.2(.A)107.4 451.6 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
464.6 Q 13.2(|R)107.4 477.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
490.6 Q 138.6(|O)107.4 503.6 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
516.6 Q 171.6(|E)107.4 529.6 S(rror Text)-171.6 E(|)178.2 E 198(|.)107.4
542.6 S 191.4(.. |)-198 F F2(Reset Code: 8 bits)100.8 565.2 Q F0
(Represents the reason that the sender reset the DCCP connection.)129.6
578.2 Q F2(Data 1, Data 2, and Data 3: 8 bits each)100.8 594.8 Q F0
(The Data \214elds pro)129.6 607.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 620.8 R
(meanings of these \214elds depend on the v)2.75 E(alue of Reason.)-.275
E F2(Err)100.8 637.4 Q(or T)-.198 E(ext \(application data ar)-1.012 E
(ea\))-.198 E F0(If present, Error T)129.6 650.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, preferably in English and)-.165 E
(encoded in Unicode UTF-8, that describes the error in more detail.)
129.6 663.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
676.4 Q -.165(ex)-.77 G(t).165 E(such as "Aggression Penalty: Recei)
129.6 689.4 Q -.165(ve)-.275 G 2.75(d3b).165 G
(ad ECN Nonce Echoes, assuming)-2.75 E(misbeha)129.6 702.4 Q(vior".)-.22
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 21])-.165 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(The follo)100.8 85 Q
(wing Reset Codes are currently de\214ned.)-.275 E
(Unless otherwise speci\214ed, the Data 1,)5.5 E(2, and 3 \214elds MUST\
 be set to 0 by the sender of the DCCP-Reset and ignored by its)100.8 98
Q(recei)100.8 111 Q -.165(ve)-.275 G 3.96 -.605(r. S).165 H(ection refe\
rences describe concrete situations that will cause each Reset Code to)
.605 E(be generated; the)100.8 124 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 140.6 Q F0
(Indicates the absence of a meaningful Reset Code.)129.6 153.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 166.6 Q(wh)129.6
179.6 Q 2.75(yt)-.055 G(he connection is being reset.)-2.75 E F1
(1, "Closed")100.8 196.2 Q F0(Normal connection close.)129.6 209.2 Q
(See Section 8.3.)5.5 E F1(2, "Aborted")100.8 225.8 Q F0
(The sending endpoint g)129.6 238.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 251.8 Q F1(3, "No Connection")100.8
268.4 Q F0(No connection e)129.6 281.4 Q 2.75(xists. See)-.165 F
(Section 8.3.1.)2.75 E F1(4, "P)100.8 298 Q(ack)-.11 E(et Err)-.11 E
(or")-.198 E F0(An une)129.6 311 Q(xpected pack)-.165 E(et type arri)
-.11 E -.165(ve)-.275 G(d; for e).165 E(xample, a DCCP-Data pack)-.165 E
(et arri)-.11 E -.165(ve)-.275 G 2.75(da).165 G 2.75(ta)-2.75 G
(connection in the REQ)129.6 324 Q(UEST state.)-.11 E
(See Section 8.3.1. The Data 1 \214eld equals the)5.5 E(of)129.6 337 Q
(fending pack)-.275 E(et type.)-.11 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 mark)129.6 435.2 Q
(ed Mandatory)-.11 E 5.5(.T)-.715 G(he Data)-5.5 E(\214elds report the \
option type and data of the unprocessed option \(not the Mandatory)129.6
448.2 Q(option\), using the 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 Sections 12.2 and 13.2.)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.4.)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 22])-.165 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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)107.4 120.6 Q 13.2(Code Name)107.4 133.6 R(Data 1)132 E
(Data 2 & 3)33 E 6.6(----- ----)107.4 146.6 R 26.4(------ ----------)132
F 26.4(0U)120.6 159.6 S 92.4(nspecified 0)-26.4 F(0)79.2 E 26.4(1C)120.6
172.6 S 125.4(losed 0)-26.4 F(0)79.2 E 26.4(2A)120.6 185.6 S 118.8
(borted 0)-26.4 F(0)79.2 E 26.4(3N)120.6 198.6 S 6.6(oC)-26.4 G 79.2
(onnection 0)-6.6 F(0)79.2 E 26.4(4P)120.6 211.6 S(acket Error)-26.4 E
(pkt type)72.6 E(0)52.8 E 26.4(5O)120.6 224.6 S(ption Error)-26.4 E
(option #)72.6 E(option data)19.8 E 26.4(6M)120.6 237.6 S
(andatory Error)-26.4 E(option #)52.8 E(option data)19.8 E 26.4(7C)120.6
250.6 S(onnection Refused)-26.4 E 79.2(00)52.8 G 26.4(8B)120.6 263.6 S
(ad Service Code)-26.4 E 79.2(00)66 G 26.4(9T)120.6 276.6 S(oo Busy)
-26.4 E 79.2(00)118.8 G 19.8(10 Bad)114 289.6 R(Init Cookie)6.6 E 79.2
(00)72.6 G 19.8(11 Aggression)114 302.6 R 46.2(Penalty 0)6.6 F(0)79.2 E
(12-127 Reserved)107.4 315.6 Q(128-255 CCID-specific codes)100.8 328.6 Q
/F2 11/Times-Bold@0 SF(5.7.)72 360.6 Q/F3 13/Times-Bold@0 SF
(DCCP-Sync and DCCP-SyncAck Headers)5.5 E F0(DCCP-Sync pack)100.8 377.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
390.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(DCCP-SyncAck.)100.8 403.2 Q F1
125.4(0123)114 422.2 S 6.6(01234567890123456789012345678901)114 435.2 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
448.2 Q 79.2(/G)107.4 461.2 S(eneric DCCP Header with X=1 \(16 bytes\))
-79.2 E(/)79.2 E 66(/w)107.4 474.2 S
(ith Type=8 \(DCCP-Sync\) or 9 \(DCCP-SyncAck\))-66 E(/)66 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
487.2 Q 19.8(|R)107.4 500.2 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
513.2 Q 46.2(.A)107.4 526.2 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
539.2 Q 138.6(|O)107.4 552.2 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
565.2 Q F0(The Ackno)100.8 584.2 Q(wledgement Number \214eld has specia\
l semantics for DCCP-Sync and DCCP-)-.275 E(SyncAck pack)100.8 597.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 610.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
623.2 Q(et w)-.11 E(as processed simply because it appears in the Ackno)
-.11 E(wledgement Number \214eld of)-.275 E 2.75(aD)100.8 636.2 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
649.2 Q(wledgement Number by de\214nition corresponds to an ackno)-.275
E(wledgeable pack)-.275 E(et.)-.11 E(Second, the Ackno)100.8 662.2 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
675.2 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
688.2 Q(Recei)100.8 704.8 Q -.165(ve)-.275 G
(rs MUST ignore the application data area in DCCP-Sync and DCCP-SyncAck)
.165 E(pack)100.8 717.8 Q 2.75(ets. Endpoints)-.11 F
(may \214nd it useful to pad DCCP-Sync pack)2.75 E
(ets with "application data")-.11 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 23])
-.165 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(when performing PMTU disco)
100.8 85 Q -.165(ve)-.165 G(ry; see Section 14.).165 E/F1 11
/Times-Bold@0 SF(5.8.)72 111 Q/F2 13/Times-Bold@0 SF(Options)5.5 E F0
(An)100.8 127.6 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 140.6 Q 5.5(.E)-.605 G
(ach option is a multiple of 8 bits in length.)-5.5 E
(The combination of all options)5.5 E
(MUST add up to a multiple of 32 bits.)100.8 153.6 Q(Indi)5.5 E
(vidual options are not padded to multiples of 32)-.275 E(bits, ho)100.8
166.6 Q(we)-.275 E -.165(ve)-.275 G(r; an).165 E 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(.A)-.715 G .33 -.165(ny o)-5.5 H(ptions present are).165 E
(included in the header checksum.)100.8 179.6 Q
(The \214rst byte of an option is the option type.)100.8 196.2 Q
(Options with types 0 through 31 are single-)5.5 E(byte options.)100.8
209.2 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 222.2 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
235.2 Q(o.)-.11 E(Options are processed sequentially)100.8 251.8 Q 2.75
(,s)-.715 G(tarting at the \214rst option in the pack)-2.75 E(et header)
-.11 E(.)-.605 E(The follo)100.8 268.4 Q
(wing options are currently de\214ned:)-.275 E/F3 11/Courier@0 SF 178.2
(Option Section)160.2 287.4 R 19.8(Type Length)107.4 300.4 R 92.4
(Meaning Reference)33 F 19.8(---- ------)107.4 313.4 R 92.4
(------- ---------)33 F 52.8(01)120.6 326.4 S 105.6(Padding 5.8.1)-6.6 F
52.8(11)120.6 339.4 S 92.4(Mandatory 5.8.2)-6.6 F 52.8(21)120.6 352.4 S
(Slow Receiver)-6.6 E(11.6)72.6 E 52.8(31)120.6 365.4 S
(Reset Congestion State)-6.6 E(11.7)13.2 E 39.6(4-31 1 Reserved)107.4
378.4 R 26.4(32 variable)114 391.4 R(Change L)19.8 E(6.1)105.6 E 26.4
(33 variable)114 404.4 R(Confirm L)19.8 E(6.2)99 E 26.4(34 variable)114
417.4 R(Change R)19.8 E(6.1)105.6 E 26.4(35 variable)114 430.4 R
(Confirm R)19.8 E(6.2)99 E 26.4(36 variable)114 443.4 R(Init Cookie)19.8
E(8.1.4)85.8 E 39.6(37 4-5)114 456.4 R(NDP Count)39.6 E(7.7)99 E 26.4
(38 variable)114 469.4 R(Ack Vector [Nonce 0])19.8 E(11.4)26.4 E 26.4
(39 variable)114 482.4 R(Ack Vector [Nonce 1])19.8 E(11.4)26.4 E 26.4
(40 variable)114 495.4 R(Data Dropped)19.8 E(11.8)79.2 E 46.2(41 6)114
508.4 R 92.4(Timestamp 13.1)46.2 F 39.6(42 6-10)114 521.4 R
(Timestamp Echo)33 E(13.3)66 E 39.6(43 4-6)114 534.4 R(Elapsed Time)39.6
E(13.2)79.2 E 46.2(44 4)114 547.4 R(Data Checksum)46.2 E(9.3)72.6 E 6.6
(45-127 variable)107.4 560.4 R(Reserved)19.8 E 6.6(128-255 variable)
100.8 573.4 R(CCID-specific options)19.8 E(10.4)19.8 E F0
(This section describes tw)100.8 592.4 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 605.4 Q(.)-.605 E F1 2.75
(5.8.1. P)72 631.4 R(adding Option)-.11 E F3(+--------+)100.8 650.4 Q
(|00000000|)100.8 663.4 Q(+--------+)100.8 676.4 Q(Type=0)114 689.4 Q F0
-.165(Pa)100.8 708.4 S
(dding is a single byte option used to pad between or after options.)
.165 E(It either ensures the)5.5 E(application data be)100.8 721.4 Q
(gins on a 32-bit boundary \(as required\), or ensures alignment of)
-.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 24])-.165 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(follo)100.8 85 Q
(wing options \(not mandatory\).)-.275 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 OP)-.275 E 5.5(.T)
-1.221 G(hen 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 OP)-.275 E 5.5(.I)-1.221 G
2.75(ft)-5.5 G(he)-2.75 E(endpoint does not understand or process OP)
100.8 227 Q 2.75(,h)-1.221 G -.275(ow)-2.75 G -2.365 -.275(ev e).275 H
.88 -.44(r, t).275 H(hen it MUST reset the connection).44 E
(using Reset Code 6, "Mandatory F)100.8 240 Q 2.75(ailure". F)-.165 F
(or instance, the endpoint w)-.165 E(ould reset the)-.11 E
(connection if it did not understand OP')100.8 253 Q 2.75(st)-.605 G
(ype; if it understood OP')-2.75 E 2.75(st)-.605 G(ype, b)-2.75 E
(ut not OP')-.22 E 2.75(sd)-.605 G(ata;)-2.75 E(if OP')100.8 266 Q 2.75
(sd)-.605 G(ata w)-2.75 E(as in)-.11 E -.275(va)-.44 G(lid for OP').275
E 2.75(st)-.605 G(ype; if OP w)-2.75 E(as a feature ne)-.11 E
(gotiation option, and the)-.165 E(endpoint did not understand the encl\
osed feature number; if the endpoint understood OP)100.8 279 Q(,)-1.221
E -.22(bu)100.8 292 S 2.75(tc).22 G
(hose not to perform the action OP implies; and so forth.)-2.75 E(The c\
onnection is in error and should be reset with Reset Code 5, "Option Er\
ror" if option)100.8 308.6 Q(OP is absent \(Mandatory w)100.8 321.6 Q
(as the last byte of the option list\), or if option OP equals)-.11 E
(Mandatory)100.8 334.6 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 347.6 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 364.2 Q
(vior of Mandatory feature ne)-.22 E(gotiation options in more)-.165 E
(detail.)100.8 377.2 Q F1(6.)72 403.2 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
419.8 S(ur DCCP options, Change L, Con\214rm L, Change R, and Con\214rm\
 R, implement in-band).165 E(feature ne)100.8 432.8 Q 2.75
(gotiation. Change)-.165 F(options initiate a ne)2.75 E
(gotiation; Con\214rm options complete that)-.165 E(ne)100.8 445.8 Q
2.75(gotiation. The)-.165 F("L" options are sent by the feature locatio\
n, and the "R" options are sent)2.75 E(by the feature remote.)100.8
458.8 Q(Change options are retransmitted to ensure reliability)5.5 E(.)
-.715 E(All these options ha)100.8 475.4 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 488.4 Q 2.75(alues. The)-.275 F(feature)2.75 E -.275(va)100.8
501.4 S(lues are generally arranged in a linear preference list, where \
the \214rst v).275 E(alue is most)-.275 E(preferred.)100.8 514.4 Q F2
(+--------+--------+--------+--------+--------)100.8 533.4 Q 13.2(|T)
100.8 546.4 S 6.6(ype |)-13.2 F(Length |Feature#| Value\(s\) ...)6.6 E
(+--------+--------+--------+--------+--------)100.8 559.4 Q F0 -.88(To)
100.8 578.4 S(gether).88 E 2.75(,t)-.44 G(he feature number and the opt\
ion type \("L" or "R"\) uniquely identify the feature)-2.75 E
(to which an option applies.)100.8 591.4 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 604.4 Q(.)-.605 E F1(6.1.)72 630.4 Q/F4 13
/Times-Bold@0 SF(Change Options)5.5 E F0
(Change L and Change R options initiate feature ne)100.8 647 Q 2.75
(gotiation. Which)-.165 F(option to use depends)2.75 E(on where the ne)
100.8 660 Q(gotiated feature is located.)-.165 E 1.76 -.88(To s)5.5 H
(tart a ne).88 E(gotiation for feature F/A, DCCP A)-.165 E
(must send a Change L option; to start a ne)100.8 673 Q
(gotiation for F/B, it must send a Change R)-.165 E 2.75(option. Change)
100.8 686 R(options are retransmitted until some response is recei)2.75
E -.165(ve)-.275 G 2.75(d. Change).165 F(options)2.75 E
(contain at least one V)100.8 699 Q(alue, and thus ha)-1.221 E .33 -.165
(ve l)-.22 H(ength at least 4.).165 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 25])
-.165 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF
(+--------+--------+--------+--------+--------)173.4 85 Q(Change L:)
100.8 98 Q(|00100000| Length |Feature#| Value\(s\) ...)13.2 E
(+--------+--------+--------+--------+--------)173.4 111 Q(Type=32)180
124 Q(+--------+--------+--------+--------+--------)173.4 150 Q
(Change R:)100.8 163 Q(|00100010| Length |Feature#| Value\(s\) ...)13.2
E(+--------+--------+--------+--------+--------)173.4 176 Q(Type=34)180
189 Q/F2 11/Times-Bold@0 SF(6.2.)72 221 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 237.6 Q
(gotiation, and are sent in response to)-.165 E
(Change R and Change L options, respecti)100.8 250.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 263.6 S
(cept in response to Change options.).165 E(An)5.5 E 2.75(yp)-.165 G
(ack)-2.75 E(et including a Con\214rm option MUST carry)-.11 E(an Ackno)
100.8 276.6 Q(wledgement Number; thus, Con\214rm options are not allo)
-.275 E(wed on DCCP-Request)-.275 E(and DCCP-Data pack)100.8 289.6 Q
2.75(ets. Con\214rm)-.11 F
(options need not be retransmitted, since Change options)2.75 E
(are retransmitted as necessary)100.8 302.6 Q 5.5(.N)-.715 G
(ormal Con\214rm options contain the selected V)-5.5 E(alue,)-1.221 E
(possibly follo)100.8 315.6 Q(wed by the sender')-.275 E 2.75(sp)-.605 G
(reference list.)-2.75 E F1
(+--------+--------+--------+--------+--------)173.4 334.6 Q
(Confirm L: |00100001| Length |Feature#| Value\(s\) ...)100.8 347.6 Q
(+--------+--------+--------+--------+--------)173.4 360.6 Q(Type=33)180
373.6 Q(+--------+--------+--------+--------+--------)173.4 399.6 Q
(Confirm R: |00100011| Length |Feature#| Value\(s\) ...)100.8 412.6 Q
(+--------+--------+--------+--------+--------)173.4 425.6 Q(Type=35)180
438.6 Q F0(If an endpoint recei)100.8 457.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 470.6 Q -.275(va)-.44 G
(lid v).275 E
(alue -- it will respond with an empty Con\214rm option containing no v)
-.275 E 2.75(alue. Such)-.275 F(options ha)100.8 483.6 Q .33 -.165(ve l)
-.22 H(ength 3.).165 E F2(6.3.)72 509.6 Q F3(Reconciliation Rules)5.5 E
F0(Reconciliation rules determine ho)100.8 526.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 539.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 552.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 565.2 Q 2.75(oe)-.11 G(ndpoints.)-2.75 E
(All current DCCP features use one of tw)100.8 581.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 594.8 Q(gotiable \("NN"\).)-.165 E F2 2.75
(6.3.1. Ser)72 620.8 R -.11(ve)-.11 G -.407(r-).11 G(Priority).407 E F0
(The feature v)100.8 637.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 preference list of v)100.8 650.4 Q
(alues, with the most preferred v)-.275 E(alue)-.275 E(coming \214rst.)
100.8 663.4 Q(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 676.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 689.4 Q
(alue and once in the con\214rmer')-.275 E 2.75(sp)-.605 G
(reference list.)-2.75 E 1.76 -.88(To r)100.8 706 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 719 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 -.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 26])-.165 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(Con\214rm option will con\214rm the feature')100.8 85 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 98 Q 2.75(As)100.8
114.6 S(ingle feature ne)-2.75 E(gotiation may)-.165 E 2.75(,b)-.715 G
(ecause of loss or delay)-2.75 E 2.75(,c)-.715 G
(ontain retransmitted Change)-2.75 E
(options and multiple Con\214rm options.)100.8 127.6 Q
(Each of the retransmitted Change options MUST)5.5 E
(contain the same payload; see Section 6.6.3.)100.8 140.6 Q -.165(Fo)5.5
G 2.75(rs).165 G(erv)-2.75 E(er)-.165 E
(-priority features, this means that)-.22 E
(an endpoint sending Change options MUST NO)100.8 153.6 Q 2.75(Tc)-.44 G
(hange its preference list during a)-2.75 E(ne)100.8 166.6 Q 2.75
(gotiation. Ho)-.165 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he other endpoint MA).44 E 2.75(Yc)-1.155 G
(hange its preference list at will, assuming)-2.75 E(it hasn')100.8
179.6 Q 2.75(tr)-.198 G
(ecently sent a Change option for the same feature.)-2.75 E
(Reordering protection)5.5 E
(\(Section 6.6.4\) ensures that agreement is reached.)100.8 192.6 Q/F1
11/Times-Bold@0 SF 2.75(6.3.2. Non-Negotiable)72 218.6 R F0
(The feature v)100.8 235.2 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 248.2 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 261.2 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 274.2 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 287.2 Q(as Mandatory; see Section 6.6.9\).)-.11
E(Change R and Con\214rm L options)5.5 E(MUST NO)100.8 300.2 Q 2.75(Tb)
-.44 G 2.75(es)-2.75 G(ent for non-ne)-2.75 E(gotiable features.)-.165 E
(Non-ne)5.5 E(gotiable features use the feature)-.165 E(ne)100.8 313.2 Q
(gotiation mechanism to achie)-.165 E .33 -.165(ve r)-.275 H(eliability)
.165 E(.)-.715 E F1(6.4.)72 339.2 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 355.8 Q(wing feature numbers.)
-.275 E/F3 11/Courier@0 SF(Rec'n Initial)358.2 374.8 Q(Section)52.8 E
13.2(Number Meaning)100.8 387.8 R 13.2(Rule Value)151.8 F
(Req'd Reference)13.2 E 13.2(------ -------)100.8 400.8 R 6.6
(----- ----- -----)151.8 F(---------)6.6 E 33(0R)120.6 413.8 S(eserved)
-33 E 33(1C)120.6 426.8 S(ongestion Control ID \(CCID\))-33 E 33(SP 2 Y)
19.8 F(10)33 E 33(2A)120.6 439.8 S(llow Short Seqnos)-33 E 33(SP 1 Y)
85.8 F(7.6.1)33 E 33(3S)120.6 452.8 S(equence Window)-33 E 26.4
(NN 100 Y 7.5.4)105.6 F 33(4E)120.6 465.8 S(CN Capable)-33 E 33(SP 1 Y)
132 F(12.1)33 E 33(5A)120.6 478.8 S(ck Ratio)-33 E 33(NN 2 N)145.2 F
(11.3)33 E 33(6S)120.6 491.8 S(end Ack Vector)-33 E 33(SP 0 N)105.6 F
(11.5)33 E 33(7S)120.6 504.8 S(end NDP Count)-33 E 33(SP 0 N)112.2 F
(7.7.2)33 E 33(8M)120.6 517.8 S(inimum Checksum Coverage)-33 E 33
(SP 0 N)39.6 F(9.2.1)33 E 33(9C)120.6 530.8 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 543.8 R 6.6
(128-255 CCID-specific)100.8 556.8 R 191.4(features 10.4)6.6 F F1
(Rec'n Rule)100.8 579.4 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 592.4 Q(gotiable.)
-.165 E F1(Initial V)100.8 609 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 625.6 Q(d)-.22 E F0
(This column is "Y" if)53.999 E 2.75(fe)-.275 G -.165(ve)-3.025 G
(ry DCCP implementation MUST understand).165 E(the feature.)183.3 638.6
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 2.75(ne)-2.75 G(xtension \(see)-2.915 E(Sec\
tion 15\), and it is safe to respond to Change options for the feature)
183.3 651.6 Q(with empty Con\214rm options.)183.3 664.6 Q
(Of course, a CCID might require the)5.5 E
(feature; a DCCP that implements CCID 2 MUST support Ack Ratio and)183.3
677.6 Q(Send Ack V)183.3 690.6 Q(ector)-1.221 E 2.75(,f)-.44 G(or e)
-2.75 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(6.4. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(6.5.)72
85 Q/F2 13/Times-Bold@0 SF(Examples)5.5 E F0(Here are three e)100.8 98 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 111 Q/F3 11/Courier@0 SF 132(Client Server)180 130 R 132
(------ ------)180 143 R(1. Change R\(CCID, 2 3 1\))107.4 156 Q(-->)13.2
E(\("2 3 1" is client's preference list\))127.2 169 Q 151.8(2. <--)107.4
182 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E(\(3 is the negotiated value;)
272.4 195 Q("3 2 1" is server's pref list\))272.4 208 Q 6.6(*a)186.6 221
S(greement that CCID/Server = 3 *)-6.6 E 118.8(1. XXX)107.4 246 R 6.6
(<-- Change)13.2 F(L\(CCID, 3 2 1\))6.6 E 184.8(2. Retransmission:)107.4
259 R 6.6(<-- Change)279 272 R(L\(CCID, 3 2 1\))6.6 E
(3. Confirm R\(CCID, 3, 2 3 1\))107.4 285 Q(-->)13.2 E 6.6(*a)186.6 298
S(greement that CCID/Server = 3 *)-6.6 E 151.8(1. <--)107.4 323 R
(Change L\(Ack Ratio, 3\))13.2 E(2. Confirm R\(Ack Ratio, 3\))107.4 336
Q(-->)13.2 E 6.6(*a)166.8 349 S(greement that Ack Ratio/Server = 3 *)
-6.6 E F0(This e)100.8 368 Q(xample sho)-.165 E(ws a simultaneous ne)
-.275 E(gotiation.)-.165 E F3 132(Client Server)180 387 R 132
(------ ------)180 400 R(1a. Change R\(CCID, 2 3 1\))100.8 413 Q(-->)
13.2 E 151.8(b. <--)107.4 426 R(Change L\(CCID, 3 2 1\))13.2 E 151.8
(2a. <--)100.8 439 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E
(b. Confirm R\(CCID, 3, 2 3 1\))107.4 452 Q(-->)13.2 E 6.6(*a)186.6 465
S(greement that CCID/Server = 3 *)-6.6 E F0
(Here are the byte encodings of se)100.8 484 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 497 Q F1(Change L\(CCID, 2 3\) = 32,5,1,2,3)100.8 513.6 Q
F0(DCCP B should change CCID/A)129.6 526.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 539.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 F1
(Change L\(Sequence W)100.8 556.2 Q(indo)-.198 E 1.21 -.605(w, 1)-.11 H
(024\) = 32,6,3,0,4,0).605 E F0(DCCP B should change Sequence W)129.6
569.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 582.2 Q
(gotiable feature\) to the 3-byte string 0,4,0 \(the v)-.165 E
(alue 1024\).)-.275 E F1(Con\214rm L\(CCID, 2, 2 3\) = 33,6,1,2,2,3)
100.8 598.8 Q F0(DCCP A has changed CCID/A)129.6 611.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 624.8 Q(.)
-.605 E F1(Empty Con\214rm L\(126\) = 33,3,126)100.8 641.4 Q F0
(DCCP A doesn')129.6 654.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 667.4 Q(as in)
-.11 E -.275(va)-.44 G(lid.).275 E F1
(Change R\(CCID, 3 2\) = 34,5,1,3,2)100.8 684 Q F0
(DCCP B should change CCID/B')129.6 697 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 710 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 28])-.165 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF
(Con\214rm R\(CCID, 2, 3 2\) = 35,6,1,2,3,2)100.8 85 Q F0
(DCCP A has changed CCID/B')129.6 98 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 111 Q(.)-.605 E F1(Con\214rm R\(Sequence W)100.8
127.6 Q(indo)-.198 E 1.21 -.605(w, 1)-.11 H(024\) = 35,6,3,0,4,0).605 E
F0(DCCP A has changed Sequence W)129.6 140.6 Q(indo)-.44 E(w/B')-.275 E
2.75(sv)-.605 G(alue to the 3-byte string 0,4,0 \(the)-3.025 E -.275(va)
129.6 153.6 S(lue 1024\).).275 E F1(Empty Con\214rm R\(126\) = 35,3,126)
100.8 170.2 Q F0(DCCP A doesn')129.6 183.2 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 196.2 Q(as in)
-.11 E -.275(va)-.44 G(lid.).275 E F1(6.6.)72 222.2 Q/F2 13/Times-Bold@0
SF(Option Exchange)5.5 E F0 2.75(Af)100.8 238.8 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 255.4 R
(ery non-reordered Change option gets a Con\214rm option in response.)
-.165 E 11(2. Change)100.8 272 R(options are retransmitted until a resp\
onse for the latest Change is recei)2.75 E -.165(ve)-.275 G(d.).165 E 11
(3. Feature)100.8 288.6 R(ne)2.75 E(gotiation options are processed in \
strictly increasing order by Sequence)-.165 E(Number)122.8 301.6 Q(.)
-.605 E(The rest of this section describes the consequences of these ru\
les in more detail.)100.8 318.2 Q F1 2.75(6.6.1. Normal)72 344.2 R
(Exchange)2.75 E F0(Change options are generated when a DCCP endpoint w)
100.8 360.8 Q(ants to change the v)-.11 E(alue of some)-.275 E 2.75
(feature. Generally)100.8 373.8 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
386.8 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 399.8 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 412.8 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\).)-.11 E(Alternati)100.8 425.8
Q -.165(ve)-.275 G(ly).165 E 2.75(,i)-.715 G 2.75(tm)-2.75 G
(ay create a "feature ne)-2.75 E(gotiation pack)-.165 E
(et", often a DCCP-Ack or DCCP-)-.11 E(Sync, just to carry the option.)
100.8 438.8 Q(Feature ne)5.5 E(gotiation pack)-.165 E
(ets MUST be rate-limited by the)-.11 E(rele)100.8 451.8 Q -.275(va)
-.275 G(nt congestion control mechanisms.).275 E
(In addition, an endpoint SHOULD generate at)5.5 E(most one feature ne)
100.8 464.8 Q(gotiation pack)-.165 E
(et per round-trip time \(0.1 seconds, if no R)-.11 E(TT is)-.66 E -.22
(av)100.8 477.8 S(ailable\).)-.055 E(On recei)100.8 494.4 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 507.4 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 520.4 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 533.4 S 2.75(lue. Ev).275 F(ery non-re\
ordered Change option MUST result in a corresponding Con\214rm)-.165 E
(option, and an)100.8 546.4 Q 2.75(yp)-.165 G(ack)-2.75 E
(et including a Con\214rm option MUST carry an Ackno)-.11 E(wledgement)
-.275 E(Number)100.8 559.4 Q 5.5(.G)-.605 G
(enerated Con\214rm options may be attached to pack)-5.5 E(ets that w)
-.11 E(ould ha)-.11 E .33 -.165(ve b)-.22 H(een sent).165 E(an)100.8
572.4 Q(yw)-.165 E
(ay \(such as DCCP-Response or DCCP-SyncAck\), or to ne)-.11 E 2.75(wf)
-.275 G(eature ne)-2.75 E(gotiation)-.165 E(pack)100.8 585.4 Q
(ets, as described abo)-.11 E -.165(ve)-.165 G(.).165 E
(The Change-sending endpoint MUST w)100.8 602 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 615 Q 2.75(alue. The)-.275 F
(Con\214rm-sending endpoint changes its stored)2.75 E(feature v)100.8
628 Q(alue as soon as it sends the Con\214rm.)-.275 E(Endpoints MUST NO)
100.8 644.6 Q 2.75(Ts)-.44 G(end pack)-2.75 E
(ets that contain more than one feature ne)-.11 E(gotiation option)-.165
E(referring to the same feature.)100.8 657.6 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)-.275 E
(option and one R option with the same feature number F)100.8 670.6 Q
2.75(,s)-.88 G(ince the tw)-2.75 E 2.75(oo)-.11 G(ptions actually)-2.75
E(refer to dif)100.8 683.6 Q(ferent features \(F/A and F/B\).)-.275 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)
-.11 F 2.75(6.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF 2.75
(6.6.2. Pr)72 85 R(ocessing Recei)-.198 E -.11(ve)-.11 G 2.75(dO).11 G
(ptions)-2.75 E F0(DCCP endpoints e)100.8 101.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 114.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 127.6 Q(returns to ST)100.8 140.6 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
153.6 Q(ABLE, indicates that an endpoint in CHANGING state changed its \
preference list,)-1.023 E -.22(bu)100.8 166.6 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-related state transitions at th\
e feature location are implemented as sho)100.8 183.2 Q(wn in the)-.275
E(diagram belo)100.8 196.2 Q 4.18 -.715(w. F)-.275 H(or feature-related\
 state transitions at the feature remote, switch the "L"s).55 E
(and "R"s.)100.8 209.2 Q
(The diagram ignores sequence number and option v)5.5 E
(alidity issues; these are)-.275 E(handled e)100.8 222.2 Q
(xplicitly in the pseudocode that follo)-.165 E(ws the diagram.)-.275 E
/F2 11/Courier@0 SF(timeout/)454.8 241.2 Q(rcv Confirm R)78.6 254.2 Q
(app/protocol evt : snd Change L)39.6 E(rcv non-ack)46.2 E 6.6(:i)78.6
267.2 S 33(gnore +---------------------------------------+)-6.6 F 6.6
(:s)13.2 G(nd Change L)-6.6 E 13.2(+----+ |)111.6 280.2 R 13.2(|+)257.4
G(----+)-13.2 E 26.4(|v)111.6 293.2 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 306.2 R(Confirm R)
6.6 E 6.6(:c)19.8 G(alc new value, +------------+)-6.6 E 79.2(||)91.8
319.2 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 332.2 S 13.2
(TABLE |<-----------------------------------|)-19.8 F 6.6(CHANGING |)
13.2 F 79.2(||)91.8 345.2 S(rcv empty Confirm R)-26.4 E 79.2(||)59.4 G
46.2(+------------+ :)91.8 358.2 R(revert to old value)6.6 E
(+------------+)46.2 E 231 26.4(|^ |^)118.2 371.2 T 217.8(+----+ pref)
118.2 384.2 R(list |)6.6 E 6.6(|s)26.4 G(nd)-6.6 E(rcv Change R)78.6
397.2 Q 13.2(changes |)224.4 F 6.6(|C)26.4 G(hange L)-6.6 E 6.6(:c)78.6
410.2 S(alc new value, snd Confirm L)-6.6 E 26.4(v|)165 G
(+------------+)421.8 423.2 Q 72.6(+---| |)395.4 436.2 R
(rcv Confirm/Change R |)256.8 449.2 Q 13.2(|U)19.8 G 6.6(NSTABLE |)-13.2
F 6.6(:i)256.8 462.2 S 79.2(gnore +-->|)-6.6 F(|)79.2 E(+------------+)
421.8 475.2 Q F0(Endpoints SHOULD use the follo)100.8 494.2 Q
(wing pseudocode, which corresponds to the state)-.275 E
(diagram, to react to each feature ne)100.8 507.2 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 520.2
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 533.2 Q(of the co\
nnection, and handle reordering as described in Section 6.6.4; "F)100.8
546.2 Q(.state", which is)-.88 E(the feature')100.8 559.2 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 572.2 Q 2.75(sv)-.605 G(alue.)-3.025 E(First, check for unkno)
100.8 588.8 Q(wn features \(Section 6.6.7\);)-.275 E(If F is unkno)
109.05 601.8 Q(wn:)-.275 E(If option w)117.3 614.8 Q(as Mandatory:)-.11
E(/* Section 6.6.9 */)8.25 E(Reset connection and return)125.55 627.8 Q
(Otherwise, if O.type == Change R:)117.3 640.8 Q
(Send Empty Con\214rm L on a future pack)125.55 653.8 Q(et)-.11 E
(Return)117.3 666.8 Q(Second, check for reordering \(Section 6.6.4\);)
100.8 692.8 Q(If F)109.05 705.8 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 718.8
Q(.ackno < FGSS\))-1.221 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 30])-.165 E 0
Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Ignore option and return)117.3
85 Q(Third, process Change R options;)100.8 111 Q
(If O.type == Change R:)109.05 124 Q(If option')117.3 137 Q 2.75(sv)
-.605 G(alue is v)-3.025 E 5.5(alid: /*)-.275 F(Section 6.6.8 */)2.75 E
(Calculate ne)125.55 150 Q 2.75(wv)-.275 G(alue)-3.025 E
(Send Con\214rm L on a future pack)125.55 163 Q(et)-.11 E(Set F)125.55
176 Q(.state := ST)-.88 E(ABLE)-1.023 E(Otherwise, if option w)117.3 189
Q(as Mandatory:)-.11 E(Reset connection and return)125.55 202 Q
(Otherwise:)117.3 215 Q(Send Empty Con\214rm L on a future pack)125.55
228 Q(et)-.11 E(/* Remain in e)125.55 241 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 254 Q 2.75(.*)
-.605 G(/)-2.75 E -.165(Fo)100.8 280 S
(urth, process Con\214rm R options \(b).165 E
(ut only in CHANGING state\).)-.22 E(If F)109.05 293 Q
(.state == CHANGING and O.type == Con\214rm R:)-.88 E(If O.len > 3:)
117.3 306 Q(/* nonempty */)8.25 E(If option')125.55 319 Q 2.75(sv)-.605
G(alue is v)-3.025 E(alid:)-.275 E(Set F)133.8 332 Q(.v)-.88 E
(alue := ne)-.275 E 2.75(wv)-.275 G(alue)-3.025 E(Otherwise:)125.55 345
Q(Reset connection and return)133.8 358 Q(Set F)117.3 371 Q
(.state := ST)-.88 E(ABLE)-1.023 E/F1 11/Times-Bold@0 SF 2.75
(6.6.3. Loss)72 397 R(and Retransmission)2.75 E F0 -.165(Pa)100.8 413.6
S(ck).165 E(ets containing Change and Con\214rm options might be lost o\
r delayed by the netw)-.11 E(ork.)-.11 E
(Therefore, Change options are retransmitted to achie)100.8 426.6 Q .33
-.165(ve r)-.275 H(eliability).165 E(.)-.715 E 2.75(AC)100.8 443.2 S(HA\
NGING endpoint transmits another Change option once it realizes that it\
 has not)-2.75 E(heard back from the other endpoint.)100.8 456.2 Q
(The ne)5.5 E 2.75(wC)-.275 G(hange option need not contain the same)
-2.75 E(payload as the original; reordering protection will ensure that\
 agreement is reached based)100.8 469.2 Q
(on the most recently transmitted option.)100.8 482.2 Q
(The endpoint may piggyback its Change options)5.5 E(on pack)100.8 495.2
Q(ets it w)-.11 E(ould ha)-.11 E .33 -.165(ve s)-.22 H(ent an).165 E(yw)
-.165 E(ay)-.11 E 5.5(.I)-.715 G 2.75(fi)-5.5 G 2.75(tg)-2.75 G
(enerates ne)-2.75 E 2.75(wp)-.275 G(ack)-2.75 E(ets for feature ne)-.11
E(gotiation, it)-.165 E(MUST use an e)100.8 508.2 Q(xponential-back)
-.165 E(of)-.11 E 2.75(ft)-.275 G(imer)-2.75 E 5.5(.T)-.605 G
(he timer is initially set to approximately one or)-5.5 E(tw)100.8 521.2
Q 2.75(or)-.11 G(ound-trip times \(or 0.1-0.2 seconds, if no R)-2.75 E
(TT is a)-.66 E -.275(va)-.22 G(ilable\), and pinned at roughly).275 E
(32 R)100.8 534.2 Q(TTs.)-.66 E 2.75(AC)100.8 550.8 S(HANGING endpoint \
MUST continue retransmitting Change options until it gets some)-2.75 E
(response or the connection terminates.)100.8 563.8 Q
(Endpoints SHOULD NO)100.8 580.4 Q 2.75(Ts)-.44 G
(end Change options for a gi)-2.75 E -.165(ve)-.275 G 2.75(nf).165 G
(eature more frequently than)-2.75 E(once per R)100.8 593.4 Q(TT)-.66 E
5.5(.O)-.814 G
(therwise, the reordering protection algorithms described in the ne)-5.5
E(xt)-.165 E(subsection may delay agreement, since no recei)100.8 606.4
Q -.165(ve)-.275 G 2.75(dC).165 G(on\214rm option w)-2.75 E(ould ackno)
-.11 E(wledge the)-.275 E(most recently transmitted Change.)100.8 619.4
Q(Con\214rm options are ne)100.8 636 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
649 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 675 R F0
(Reordering might cause pack)100.8 691.6 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 704.6 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 717.6 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 31])-.165 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 32])-.165 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 preceded by a Mandatory option, the)-.11
E(connection MUST be 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 CHAN\
GING 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(Endpoints MUST ignore such options.)100.8 307.4 Q 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 limitiations, 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 33])-.165 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 2.75
(6.6.10. Out-of-Band)72 166.6 R(Agr)2.75 E(eement)-.198 E F0
(An endpoint MUST NO)100.8 183.2 Q 2.75(Tu)-.44 G
(nilaterally change the v)-2.75 E(alue of an)-.275 E 2.75(yD)-.165 G
(CCP feature.)-2.75 E(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G -.44(r,).165
G(endpoints MA)100.8 196.2 Q 2.75(Yc)-1.155 G(ooperati)-2.75 E -.165(ve)
-.275 G(ly change DCCP feature v).165 E
(alues without using in-band feature)-.275 E(ne)100.8 209.2 Q
(gotiation options.)-.165 E -.165(Fo)5.5 G 2.75(re).165 G
(xample, features MA)-2.915 E 2.75(Yb)-1.155 G 2.75(ec)-2.75 G
(hanged via ne)-2.75 E(gotation o)-.165 E -.165(ve)-.165 G 2.75(ras).165
G(eparate)-2.75 E(signaling channel, for e)100.8 222.2 Q(xample.)-.165 E
F1(7.)72 248.2 Q/F2 14/Times-Bold@0 SF(Sequence Numbers)5.5 E F0
(DCCP uses sequence numbers to arrange pack)100.8 264.8 Q
(ets into sequence, detect losses and netw)-.11 E(ork)-.11 E
(duplicates, and protect ag)100.8 277.8 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 290.8 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 303.8 Q
(wledgement Number as well.)-.275 E(DCCP sequence numbers are pack)100.8
320.4 Q 2.75(et-based. That)-.11 F(is, the pack)2.75 E
(ets generated by each)-.11 E(endpoint ha)100.8 333.4 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 346.4 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 359.4 Q 5.5(.S)-.605 G
(ince DCCP is an unreliable protocol, there are no true)-5.5 E
(retransmissions; b)100.8 372.4 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 385.4 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
398.4 Q(ork duplication, retransmissions, and ackno)-.11 E
(wledgement loss, and is a signi\214cant)-.275 E
(departure from TCP practice.)100.8 411.4 Q F1(7.1.)72 437.4 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 454 Q
(ariables for each connection.)-.275 E F1(ISS)100.8 470.6 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 483.6 Q
F1(ISR)100.8 500.2 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 513.2 Q -.165(ve)-.275 G(d.).165 E F1(GSS)100.8 529.8 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 542.8 Q F1
(GSR)100.8 559.4 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 572.4 Q(wledgeable pack)-.275 E 2.75(et. \(Section)-.11 F
(7.4 de\214nes "ackno)2.75 E(wledgeable" pack)-.275 E(ets.\))-.11 E F1
(GAR)100.8 589 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 602 Q(wledgeable pack)-.275 E(et that w)-.11 E
(as not a DCCP-Sync.)-.11 E(Some other v)100.8 618.6 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 635.2 Q F0(\(Sequence Number W)144.8 648.2 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 661.2 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 677.8 S 2.75(La)1.43 G
(nd A)-2.75 E(WH)-1.43 E F0(\(Ackno)144.8 690.8 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 703.8 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
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(7.1. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(7.2.)72
85 Q/F2 13/Times-Bold@0 SF(Initial Sequence Numbers)5.5 E F0(The endpoi\
nts' initial sequence numbers are set by the \214rst DCCP-Request and D\
CCP-)100.8 101.6 Q(Response pack)100.8 114.6 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 131.2 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 144.2 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
12.65<8353>100.8 160.8 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 173.8 Q(ould use [M85].)-.11 E
(These problems are the same as problems f)100.8 190.4 Q(aced by TCP)
-.11 E 2.75(,a)-1.221 G(nd DCCP implementations)-2.75 E(SHOULD use TCP')
100.8 203.4 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 216.4 Q(xplains these strate)-.165 E
(gies in more detail.)-.165 E 1.76 -.88(To a)100.8 233 T(ddress the \
\214rst problem, an implementation MUST ensure that the initial sequenc\
e).88 E(number for a gi)100.8 246 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 259 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 272 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 285 Q
(wer 24 bits of the initial)-.275 E(sequence number don')100.8 298 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 311 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 324 Q(initial sequence number e)100.8 337 Q(xplicitly)
-.165 E 5.5(.O)-.715 G(therwise, it could tie initial sequence number)
-5.5 E(selection to some clock, such as the 4-microsecond clock used by\
 TCP [RFC 793].)100.8 350 Q -1.1 -.88(Tw o)5.5 H(separate clocks may be\
 required, one for the upper 24 bits and one for the lo)100.8 363 Q
(wer 24 bits.)-.275 E 1.76 -.88(To a)100.8 379.6 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 392.6 Q
(Then opening a connection doesn')5.5 E 2.75(tp)-.198 G(ro)-2.75 E(vide)
-.165 E(an)100.8 405.6 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 418.6 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 431.6 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 444.6 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 457.6 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 470.6 Q(en when cha\
nging the secret; such a change alters all initial sequence number spac\
es,)-.11 E(which might mak)100.8 483.6 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 496.6 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
509.6 Q(gment)-.165 E(lifetimes around such a change.)100.8 522.6 Q F1
(7.3.)72 548.6 Q F2(Quiet T)5.5 E(ime)-.234 E F0(DCCP endpoints, lik)
100.8 565.2 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 578.2 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 591.2 Q
(ets lingering in the netw)-.11 E(ork from before the boot.)-.11 E(The)
5.5 E(simplest w)100.8 604.2 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 617.2 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 630.2 Q
(so bits of initial sequence numbers for a persistent counter that decr\
ements by tw)100.8 643.2 Q 2.75(oe)-.11 G(ach)-2.75 E 2.75(boot. \(The)
100.8 656.2 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 669.2 Q F1(7.4.)72 695.2 Q F2
(Ackno)5.5 E(wledgement Numbers)-.13 E F0(Cumulati)100.8 711.8 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 724.8 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 -.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 35])-.165 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E 2.75(Ap)100.8 85 S(ack)-2.75 E
(et is classi\214ed as "ackno)-.11 E
(wledgeable" if and only if its options were processed by the)-.275 E
(recei)100.8 98 Q(ving DCCP)-.275 E 5.5(.T)-1.221 G(his means, for e)
-5.5 E(xample, that all ackno)-.165 E(wledgeable pack)-.275 E(ets ha)
-.11 E .33 -.165(ve v)-.22 H(alid)-.11 E
(header checksums and sequence numbers.)100.8 111 Q(The Ackno)5.5 E
(wledgement Number MUST equal)-.275 E
(GSR, the Greatest Sequence Number Recei)100.8 124 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)-.11 E(pack)100.8 137 Q(et types e)
-.11 E(xcept DCCP-Sync and DCCP-SyncAck.)-.165 E("Ackno)100.8 153.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 166.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 179.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 192.6 Q
(ork losses and endpoint losses.)-.11 E(This issue is)5.5 E
(discussed further in Sections 11.4 and 11.8.)100.8 205.6 Q
(DCCP-Sync and DCCP-SyncAck pack)100.8 222.2 Q(ets' Ackno)-.11 E
(wledgement Numbers dif)-.275 E(fer as follo)-.275 E(ws:)-.275 E
(The Ackno)100.8 235.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 248.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 261.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 274.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 287.2 Q/F1
11/Times-Bold@0 SF(7.5.)72 313.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 329.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 342.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 355.8 Q(connection.)100.8 368.8 Q(DCCP)100.8 385.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 398.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 411.4 Q
(.)-.715 E(Unlik)100.8 428 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 441 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 454 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 467 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-V)72 493 R
(alidity Rules)-1.012 E F0(Sequence-v)100.8 509.6 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 522.6 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 535.6 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 548.6 Q
(wledgement number windo)-.275 E(ws [SWL, SWH] and [A)-.275 E(WL, A)-.99
E(WH], which)-.99 E(are de\214ned in Section 7.5.3.)100.8 561.6 Q -.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 36])-.165 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 seqno)100.8 228 R(>= SWL)6.6 E(AWL <= ackno <= AWH)85.8 E
26.4(DCCP-SyncAck seqno)100.8 241 R(>= SWL)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
(xist speci\214cally to get the endpoints back into sync after b)-.165 E
(ursts of loss;)-.22 E(checking their 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.)-.22 E(There')5.5 E 2.75(sn)-.605 G 2.75(on)-2.75 G
(eed for)-2.75 E(lenienc)100.8 439.8 Q 2.75(yw)-.165 G
(hen the endpoints are acti)-2.75 E -.165(ve)-.275 G(ly sending pack)
.165 E(ets to one another)-.11 E 5.5(.T)-.605 G(herefore, DCCP)-5.5 E
(implementations SHOULD use the follo)100.8 452.8 Q
(wing, more stringent checks for acti)-.275 E -.165(ve)-.275 G 2.75
(connections. A)100.8 465.8 R(connection is considered acti)2.75 E .33
-.165(ve i)-.275 H 2.75(fi).165 G 2.75(th)-2.75 G(as recei)-2.75 E -.165
(ve)-.275 G 2.75(dv).165 G(alid pack)-3.025 E(ets from the)-.11 E
(other endpoint within the last se)100.8 478.8 Q -.165(ve)-.275 G
(ral round-trip times, or 0.5 seconds, if the R).165 E(TT is not)-.66 E
(kno)100.8 491.8 Q(wn.)-.275 E F1(Acknowledgement Number)378 510.8 Q
(Packet Type)100.8 523.8 Q(Sequence Number Check)39.6 E(Check)26.4 E 33
(----------- ---------------------)100.8 536.8 R(----------------------)
26.4 E 46.2(DCCP-Sync SWL)100.8 549.8 R(<= seqno <= SWH)6.6 E
(AWL <= ackno <= AWH)39.6 E 26.4(DCCP-SyncAck SWL)100.8 562.8 R
(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E F0(Finally)100.8 581.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 594.8 Q(ets, further lo)
-.11 E(wering the probability of successful)-.275 E
(blind attacks using those pack)100.8 607.8 Q(et types.)-.11 E
(Since these checks can cause e)5.5 E(xtra synchronization)-.165 E -.165
(ove)100.8 620.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 633.8 S(perimental.).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.1. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 19.8(DCCP-CloseReq seqno)100.8 124 R(== GSR + 1)6.6 E
(GAR <= ackno <= AWH)59.4 E 39.6(DCCP-Close seqno)100.8 137 R
(== GSR + 1)6.6 E(GAR <= ackno <= AWH)59.4 E 39.6(DCCP-Reset seqno)100.8
150 R(== GSR + 1)6.6 E(GAR <= ackno <= AWH)59.4 E F0
(Note that sequence-v)100.8 169 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/F2 11/Times-Bold@0 SF 2.75(7.5.2. Handling)72
195 R(Sequence-In)2.75 E -.11(va)-.44 G(lid P).11 E(ack)-.11 E(ets)-.11
E F0(Sequence-in)100.8 211.6 Q -.275(va)-.44 G
(lid DCCP-Sync and DCCP-SyncAck pack).275 E(ets MUST be ignored.)-.11 E
(On recei)100.8 228.2 Q(ving an)-.275 E 2.75(yo)-.165 G
(ther sequence-in)-2.75 E -.275(va)-.44 G(lid pack).275 E
(et, an endpoint \(say)-.11 E 2.75(,D)-.715 G(CCP A\) MUST reply)-2.75 E
(with a DCCP-Sync pack)100.8 241.2 Q 2.75(et. This)-.11 F(pack)2.75 E
(et MUST ackno)-.11 E(wledge the sequence-in)-.275 E -.275(va)-.44 G
(lid pack).275 E(et')-.11 E(s)-.605 E(Sequence Number)100.8 254.2 Q 2.75
(,n)-.44 G(ot GSR.)-2.75 E(The DCCP-Sync MUST use a ne)5.5 E 2.75(wS)
-.275 G(equence Number)-2.75 E 2.75(,a)-.44 G(nd)-2.75 E
(thus will increase GSS; GSR will not change, ho)100.8 267.2 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)-.11 E(sequence-in)
100.8 280.2 Q -.275(va)-.44 G 2.75(lid. DCCP).275 F 2.75(AM)2.75 G
(UST NO)-2.75 E 2.75(To)-.44 G(therwise process sequence-in)-2.75 E
-.275(va)-.44 G(lid pack).275 E 2.75(ets. F)-.11 F(or)-.165 E
(instance, it MUST NO)100.8 293.2 Q 2.75(Tp)-.44 G
(rocess their options.)-2.75 E(On recei)100.8 309.8 Q(ving a sequence-v)
-.275 E(alid DCCP-Sync, the peer endpoint \(DCCP B\) MUST either)-.275 E
(respond with a DCCP-Reset pack)100.8 322.8 Q(et, or update its GSR v)
-.11 E(ariable and reply with a DCCP-)-.275 E(SyncAck pack)100.8 335.8 Q
2.75(et. The)-.11 F(DCCP-SyncAck pack)2.75 E(et')-.11 E 2.75(sA)-.605 G
(ckno)-2.75 E(wledgement Number will equal the)-.275 E(DCCP-Sync')100.8
348.8 Q 2.75(sS)-.605 G(equence Number)-2.75 E 2.75(,n)-.44 G
(ot necessarily GSR.)-2.75 E(Upon recei)5.5 E(ving this DCCP-)-.275 E
(SyncAck, which will be sequence-v)100.8 361.8 Q(alid since it ackno)
-.275 E(wledges the DCCP-Sync, DCCP A)-.275 E(will update its GSR v)
100.8 374.8 Q(ariable, and the endpoints will be back in sync.)-.275 E
2.75(AD)100.8 391.4 S(CCP endpoint MA)-2.75 E 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(y)-.165 E(become v)100.8
404.4 Q(alid later)-.275 E 5.5(.T)-.605 G
(his can reduce the impact of b)-5.5 E(ursts of loss by deli)-.22 E
-.165(ve)-.275 G(ring more pack).165 E(ets)-.11 E(to the application.)
100.8 417.4 Q(In particular)5.5 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)-.11 E
(up to 2 round-trip times \(or 0.2 seconds, if the R)100.8 430.4 Q
(TT is unkno)-.66 E(wn\); if, within that time, the)-.275 E(rele)100.8
443.4 Q -.275(va)-.275 G(nt sequence windo).275 E
(ws change so that the pack)-.275 E(ets becomes sequence-v)-.11 E
(alid, the)-.275 E(endpoint MA)100.8 456.4 Q 2.75(Yp)-1.155 G
(rocess the pack)-2.75 E(ets ag)-.11 E(ain.)-.055 E 1.76 -.88(To p)100.8
473 T(rotect itself ag).88 E
(ainst denial-of-service attacks \(where an attack)-.055 E(er sends man)
-.11 E 2.75(ys)-.165 G(equence-)-2.75 E(in)100.8 486 Q -.275(va)-.44 G
(lid pack).275 E(ets, trying to force the recei)-.11 E -.165(ve)-.275 G
2.75(rt).165 G 2.75(os)-2.75 G(end man)-2.75 E 2.75(yD)-.165 G
(CCP-Syncs\), a DCCP)-2.75 E(implementation SHOULD rate-limit the DCCP-\
Syncs sent in response to sequence-in)100.8 499 Q -.275(va)-.44 G(lid)
.275 E(pack)100.8 512 Q(ets.)-.11 E(Note that sequence-in)100.8 528.6 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
541.6 Q(UEST)-.11 E 2.75(,a)-.814 G(nd LISTEN\))-2.75 E(might not ha)
100.8 554.6 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 567.6 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 580.6 Q(DCCP-Data pack)100.8 593.6 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 606.6 Q
(es as a challenge, and contains enough information for the)-.165 E
(peer to generate a proper DCCP-Reset.)100.8 619.6 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 632.6 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
645.6 Q(The endpoint SHOULD use information from the original DCCP-)5.5
E(Reset when possible.)100.8 658.6 Q F2 2.75(7.5.3. Sequence)72 684.6 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 701.2 Q(alidity windo)
-.275 E(ws that are subsets of the Sequence)-.275 E(and Ackno)100.8
714.2 Q(wledgement Number spaces.)-.275 E(These windo)5.5 E
(ws correspond to pack)-.275 E(ets the)-.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 38])-.165 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(endpoint e)100.8 85 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 98 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 111 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 127.6 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 140.6 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
153.6 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 166.6 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 179.6 Q
(\(This asymmetric placement assumes)5.5 E(that b)100.8 192.6 Q
(ursts of loss are more common in the netw)-.22 E
(ork than signi\214cant reordering.\))-.11 E/F1 11/Courier@0 SF 6.6
(invalid |)114 211.6 R(valid Sequence Numbers)46.2 E 13.2(|i)52.8 G
(nvalid)-13.2 E
(<---------*|*===========*=======================*|*--------->)100.8
224.6 Q(GSR -|GSR + 1 -)140.4 237.6 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
250.6 R 6.6(=S)180 263.6 S 171.6(WL =)-6.6 F(SWH)6.6 E F0(The Ackno)
100.8 282.6 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 295.6 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 308.6 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 -.44(Wi)100.8 321.6 S(ndo).44 E
(w/A feature.)-.275 E F1 6.6(invalid |)114 340.6 R
(valid Acknowledgement Numbers)26.4 E 13.2(|i)26.4 G(nvalid)-13.2 E
(<---------*|*===================================*|*--------->)100.8
353.6 Q(GSS - W'|GSS + 1 - W')120.6 366.6 Q(GSS|GSS + 1)145.2 E 6.6(=A)
180 379.6 S 171.6(WL =)-6.6 F(AWH)6.6 E F0(SWL and A)100.8 398.6 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 411.6
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
424.6 Q -.99(AW)136.55 437.6 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 450.6 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 463.6 Q
2.75(ya)-.165 G(ppear to be less than ISR or ISS; the)-2.75 E
(adjustments MUST NO)100.8 476.6 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.4. Sequence)72 502.6 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 519.2 Q(indo)-.44 E
(w/A feature determines the width of the Sequence Number v)-.275 E
(alidity)-.275 E(windo)100.8 532.2 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 545.2 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 558.2 Q(indo)-.44 E(w/A v)-.275
E(alue is W)-.275 E(.)-1.012 E(Sequence W)100.8 574.8 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 3- or 6-byte)-.11 E(inte)100.8 587.8
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
600.8 S(ndo).44 E 2.75(wa)-.275 G
(re therefore either 6 or 9 bytes long.)-2.75 E(Ne)5.5 E 2.75(wc)-.275 G
(onnections start with Sequence)-2.75 E -.44(Wi)100.8 613.8 S(ndo).44 E
2.75(w1)-.275 G(00 for both endpoints.)-2.75 E 2.75(Ap)100.8 630.4 S
(roper Sequence W)-2.75 E(indo)-.44 E(w/A v)-.275 E
(alue should re\215ect ho)-.275 E 2.75(wm)-.275 G(an)-2.75 E 2.75(yp)
-.165 G(ack)-2.75 E(ets DCCP A e)-.11 E(xpects to)-.165 E
(be in \215ight.)100.8 643.4 Q(Only DCCP A can anticipate this number)
5.5 E 5.5(.T)-.605 G(oo-small v)-6.38 E(alues increase the risk)-.275 E
(of the endpoints getting out sync after b)100.8 656.4 Q
(ursts of loss; too-lar)-.22 E(ge v)-.198 E(alues increase the risk of)
-.275 E(connection hijacking.)100.8 669.4 Q(\(The ne)5.5 E
(xt section quanti\214es this risk.\))-.165 E(One good guideline is for)
5.5 E(each endpoint to set Sequence W)100.8 682.4 Q(indo)-.44 E 2.75(wt)
-.275 G 2.75(oa)-2.75 G(bout \214v)-2.75 E 2.75(et)-.165 G
(imes the maximum number of)-2.75 E(pack)100.8 695.4 Q(ets it e)-.11 E
(xpects to send in a round-trip time.)-.165 E(This v)5.5 E
(alue may not be a)-.275 E -.275(va)-.22 G(ilable at).275 E
(connection initiation, when the round-trip time is unkno)100.8 708.4 Q
(wn, b)-.275 E(ut the endpoint can al)-.22 E -.11(wa)-.11 G(ys).11 E
(send updates as the connection progresses.)100.8 721.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.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF 2.75
(7.5.5. Sequence)72 85 R(Number Attacks)2.75 E F0(Sequence and Ackno)
100.8 101.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 114.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 127.6 Q 2.75(ec)
-.11 G(areful initial sequence number choice)-2.75 E
(eliminate the most serious attacks.)100.8 140.6 Q(An attack)100.8 157.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 170.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 183.2 Q
(wn the connection or otherwise cause problems.)-.275 E
(The easiest such attacks to)5.5 E -.165(exe)100.8 196.2 S(cute are:)
.165 E 12.65<8353>100.8 212.8 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 225.8 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
238.8 Q 12.65<8353>100.8 255.4 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 268.4 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 281.4 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 294.4 Q(.)-.715 E
(The attack)100.8 311 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 324 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 checks for\
 acti)100.8 337 Q -.165(ve)-.275 G
(connections recommended in Section 7.5.1.)100.8 350 Q 1.76 -.88(To q)
100.8 366.6 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 379.6 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 392.6 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
405.6 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 418.6 Q -.165(Fo)100.8
435.2 S 2.75(rN=1).165 G(000, W = 100, and L = 24, P is about 0.006.)
-2.75 E(This is the probability of a)5.5 E
(successful DCCP-Data attack using short sequence numbers.)100.8 448.2 Q
(\(F)5.5 E(or reference, the easiest)-.165 E
(TCP attack -- sending a SYN with a random sequence number)100.8 461.2 Q
2.75(,w)-.44 G(hich will cause a)-2.75 E(connection reset if it f)100.8
474.2 Q(alls within the windo)-.11 E 2.75(w-)-.275 G 2.75(-w)-2.75 G
(ill succeed with probability 0.002 for N =)-2.75 E
(1000, W = 8760 [a common def)100.8 487.2 Q(ault], and L = 32.\))-.11 E
2.75(Ac)5.5 G(onnection can reduce this)-2.75 E
(probability by requiring long sequence numbers; see Section 7.6.1.)
100.8 500.2 Q(The DCCP-Sync attack has L = 48, since DCCP-Sync pack)
100.8 516.8 Q(ets use long sequence numbers)-.11 E -.165(ex)100.8 529.8
S(clusi).165 E -.165(ve)-.275 G(ly).165 E 2.75(,a)-.715 G
(nd attacks correspondingly ha)-2.75 E .33 -.165(ve a s)-.22 H
(maller probability of success.).165 E -.165(Fo)5.5 G 2.75(rN=).165 G(1\
0,000, W = 2000, and L = 48, a DCCP-Sync attack will succeed with proba\
bility 7*10^-8.)100.8 542.8 Q(Attacks in)100.8 555.8 Q -.22(vo)-.44 G
(lving DCCP-CloseReq, DCCP-Close, and DCCP-Reset pack).22 E
(ets are more)-.11 E(dif)100.8 568.8 Q
(\214cult still, since 48-bit Sequence and Ackno)-.275 E
(wledgement Numbers must both be guessed.)-.275 E F1 2.75
(7.5.6. Examples)72 594.8 R F0(In the follo)100.8 611.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 624.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 40])-.165 E 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 41])-.165 E 0
Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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(&& S |<| REF_low:)
160.2 189 Q(/* NON-CIRCULAR comparison */)26.4 E
(return \(\(REF_hi + 1\) << 24\) | S)140.4 202 Q(otherwise:)120.6 215 Q
(return \(REF_hi << 24\) | S)140.4 228 Q F0(The tw)100.8 247 Q 2.75(od)
-.11 G(if)-2.75 E
(ferent kinds of comparison in the if statement detect when the lo)-.275
E(w-order bits of)-.275 E(the sequence space ha)100.8 260 Q .33 -.165
(ve w)-.22 H 2.75(rapped. When).165 F
(this happens, the high-order bits are incremented.)2.75 E/F2 11
/Times-Bold@0 SF 2.75(7.6.1. Allo)72 286 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 302.6 Q
(ets use long sequence numbers by setting the Allo)-.11 E(w)-.275 E
(Short Sequence Numbers feature to f)100.8 315.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 328.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 341.6 Q(Allo)100.8 358.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 371.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 384.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 397.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 423.2 R(to A)2.75 E -.11(vo)-1.1 G
(id Short Sequence Numbers).11 E F0(Short sequence numbers increase the\
 risks of certain kinds of attacks, including blind data)100.8 439.8 Q
(injection, and reduce the rate DCCP connections can safely achie)100.8
452.8 Q -.165(ve)-.275 G 5.5(.V).165 G(ery-high-rate DCCP)-6.721 E
(connections, and connections with lar)100.8 465.8 Q(ge sequence windo)
-.198 E(ws \(Section 7.5.4\), SHOULD)-.275 E(NO)100.8 478.8 Q 2.75(Tu)
-.44 G(se short sequence numbers on their data pack)-2.75 E(ets.)-.11 E
(The rate limitation imposed by short sequence numbers is easy to calcu\
late.)100.8 495.4 Q(The sequence-)5.5 E -.275(va)100.8 508.4 S
(lidity mechanism assumes that the netw).275 E(ork does not deli)-.11 E
-.165(ve)-.275 G 2.75(re).165 G(xtremely old data.)-2.915 E(In)5.5 E
(particular)100.8 521.4 Q 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 the)-.11 E
(connection wraps around and uses its sequence number ag)100.8 534.4 Q
2.75(ain. W)-.055 F 2.75(ec)-.88 G(an easily calculate the)-2.75 E
(maximum connection rate that can be safely achie)100.8 547.4 Q -.165
(ve)-.275 G 2.75(dg).165 G -2.365 -.275(iv e)-2.75 H 2.75(nt).275 G
(his constraint.)-2.75 E(Let MSL equal)5.5 E(the maximum se)100.8 560.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)-.11 E
(the length of sequence numbers \(24 or 48 bits\).)100.8 573.4 Q
(Then the maximum safe rate, in bits per)5.5 E
(second, is R = P*\(2^L\)/2MSL.)100.8 586.4 Q -.165(Fo)100.8 603 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 616 Q
(Of course, 2 minutes is a v)5.5 E(ery lar)-.165 E(ge)-.198 E
(MSL for an)100.8 629 Q 2.75(yn)-.165 G(etw)-2.75 E
(orks that could sustain that rate with such small pack)-.11 E 2.75
(ets. Ne)-.11 F -.165(ve)-.275 G(rtheless,).165 E
(long sequence numbers allo)100.8 642 Q 2.75(wm)-.275 G
(uch higher rates, up to 14 petabits a second for 1500-byte)-2.75 E
(pack)100.8 655 Q(ets and the def)-.11 E(ault MSL.)-.11 E(The probabili\
ty of data injection attack success P = WN/2^L, discussed in Section 7.\
5.5,)100.8 671.6 Q(may also be rele)100.8 684.6 Q -.275(va)-.275 G
(nt when deciding whether to use short sequence numbers.).275 E 2.75(Af)
5.5 G(ast)-2.86 E(connection will generally ha)100.8 697.6 Q .33 -.165
(ve a r)-.22 H(elati).165 E -.165(ve)-.275 G(ly high W \(sequence windo)
.165 E 2.75(ws)-.275 G(ize\), increasing the)-2.75 E
(attack success probability for \214x)100.8 710.6 Q
(ed N \(number of attack pack)-.165 E(ets\); if the probability gets)
-.11 E(uncomfortably high with L = 24, the connection should a)100.8
723.6 Q -.22(vo)-.22 G(id short sequence numbers).22 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 42])-.165 E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(entirely)100.8 85 Q(.)-.715 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 b)100.8 179.6 Q
(ursts 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 F1 2.75
(7.7.1. Usage)72 432.8 R(Notes)2.75 E F0(Say that K consecuti)100.8
449.4 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
462.4 Q(Then some application data w)5.5 E
(as lost within those sequence)-.11 E(numbers unless the pack)100.8
475.4 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 488.4 Q -.165(Fo)100.8 505 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 518 Q(ets \(Dx\).)-.11 E F3 6.6(N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10)
100.8 537 R(N11 N12 D13)6.6 E F0(Those pack)100.8 556 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 575 R
(N11 N12 D13)6.6 E 19.8(-12-1--1----12)100.8 588 S F0
(NDP Count is not useful for applications that include their o)100.8 607
Q(wn sequence numbers with)-.275 E(their pack)100.8 620 Q(et headers.)
-.11 E F1 2.75(7.7.2. Send)72 646 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 662.6
Q(gotiate whether the)-.165 E 2.75(ys)-.165 G(hould send)-2.75 E
(NDP Count options on their pack)100.8 675.6 Q 2.75(ets. DCCP)-.11 F
2.75(As)2.75 G(ends a "Change R\(Send NDP Count, 1\)")-2.75 E
(option to ask DCCP B to send NDP Count options.)100.8 688.6 Q
(Send NDP Count has feature number 7, and is serv)100.8 705.2 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 718.2 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 -.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 43])-.165 E 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Count/B is one, although it MA)
100.8 85 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 98 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 111 S
(or both endpoints.)-2.75 E/F1 11/Times-Bold@0 SF(8.)72 137 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 153.6 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
166.6 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 179.6 Q F1(8.1.)72 205.6 Q/F3
13/Times-Bold@0 SF(Connection Establishment)5.5 E F0
(DCCP connections' initiation phase consists of a three-w)100.8 222.2 Q
(ay handshak)-.11 E(e: an initial DCCP-)-.11 E(Request pack)100.8 235.2
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
248.2 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 261.2 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 274.2
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 293.2 Q(Server State)191.4 E 224.4(CLOSED LISTEN)
133.8 306.2 R 13.2(1. REQUEST -->)100.8 319.2 R 46.2(Request -->)46.2 F
79.2(2. <--)100.8 332.2 R 39.6(Response <--)46.2 F(RESPOND)19.8 E 13.2
(3. PARTOPEN)100.8 345.2 R 26.4(--> Ack,)13.2 F 26.4(DataAck -->)6.6 F
79.2(4. <--)100.8 358.2 R(Data, Ack, DataAck)13.2 E 13.2(<-- OPEN)13.2 F
13.2(5. OPEN)100.8 371.2 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 403.2 R(Request)2.75 E F0
(When a client decides to initiate a connection, it enters the REQ)100.8
419.8 Q(UEST state, chooses an)-.11 E
(initial sequence number \(Section 7.2\), and sends a DCCP-Request pack)
100.8 432.8 Q(et using that)-.11 E(sequence number to the intended serv)
100.8 445.8 Q(er)-.165 E(.)-.605 E(DCCP-Request pack)100.8 462.4 Q
(ets will commonly carry feature ne)-.11 E(gotiation options that open)
-.165 E(ne)100.8 475.4 Q(gotiations for v)-.165 E
(arious connection parameters, such as preferred congestion control IDs)
-.275 E(for each half-connection.)100.8 488.4 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 501.4 T(re that the serv).165 E
(er may not accept such data.)-.165 E 2.75(Ac)100.8 518 S
(lient in the REQ)-2.75 E(UEST state SHOULD send ne)-.11 E 2.75(wD)-.275
G(CCP-Request pack)-2.75 E(ets after some)-.11 E
(timeout if no response is recei)100.8 531 Q -.165(ve)-.275 G 2.75
(d. The).165 F(retransmission strate)2.75 E
(gy SHOULD be similar to that)-.165 E(for retransmitting TCP SYNs; for \
instance, a \214rst timeout on the order of a second, with an)100.8 544
Q -.165(ex)100.8 557 S(ponential back).165 E(of)-.11 E 2.75(ft)-.275 G
(imer)-2.75 E 5.5(.E)-.605 G(ach ne)-5.5 E 2.75(wD)-.275 G
(CCP-Request MUST increment the Sequence)-2.75 E(Number by one, and MUS\
T contain the same Service Code and application data as the)100.8 570 Q
(original DCCP-Request.)100.8 583 Q 2.75(Ac)100.8 599.6 S(lient MA)-2.75
E 2.75(Yg)-1.155 G -2.365 -.275(iv e)-2.75 H
(up after some number of DCCP-Requests.)3.025 E(If so, it SHOULD send a)
5.5 E(DCCP-Reset pack)100.8 612.6 Q(et to the serv)-.11 E
(er with Reset Code 2, "Aborted", to clean up state in case)-.165 E
(one or more of the Requests actually arri)100.8 625.6 Q -.165(ve)-.275
G 2.75(d. A).165 F(client in REQ)2.75 E(UEST state has ne)-.11 E -.165
(ve)-.275 G(r).165 E(recei)100.8 638.6 Q -.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 DCCP-Reset')-2.75 E 2.75(sA)-.605 G(ckno)-2.75
E(wledgement)-.275 E(Number should be set to zero.)100.8 651.6 Q
(The client lea)100.8 668.2 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 681.2 Q(er)-.165 E(.)-.605 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 44])-.165 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF 2.75
(8.1.2. Ser)72 85 R(vice Codes)-.11 E F0(Each DCCP-Request contains a 3\
2-bit Service Code, which identi\214es the service to which)100.8 101.6
Q(the client application is trying to connect.)100.8 114.6 Q
(Service Codes should correspond to application)5.5 E
(services and protocols.)100.8 127.6 Q -.165(Fo)5.5 G 2.75(re).165 G
(xample, there might be a Service Code for HTTP)-2.915 E(connections, o\
ne for FTP control connections, and one for FTP data connections.)100.8
140.6 Q(Middlebox)100.8 153.6 Q(es, such as \214re)-.165 E -.11(wa)-.275
G(lls, can use the Service Code to identify the application).11 E(runni\
ng on a nonstandard port \(assuming the DCCP header has not been encryp\
ted\).)100.8 166.6 Q(Endpoints MUST associate a Service Code with e)
100.8 183.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 196.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 209.2 Q(et MUST ha)-.11 E
.33 -.165(ve ex)-.22 H(actly one Service Code, while passi).165 E .33
-.165(ve s)-.275 H(ock).165 E(ets MA)-.11 E 2.75(Yh)-1.155 G -2.475 -.22
(av e)-2.75 H(more than)2.97 E
(one; this might let multiple applications listen on the same port, dif)
100.8 222.2 Q(ferentiated by Service)-.275 E 2.75(Code. If)100.8 235.2 R
(the DCCP-Request')2.75 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 2.75(ft)-2.75 G(he serv)
-2.75 E(er')-.165 E 2.75(sS)-.605 G(ervice)-2.75 E(Codes for the gi)
100.8 248.2 Q -.165(ve)-.275 G 2.75(np).165 G(ort, the serv)-2.75 E
(er MUST reject the request by sending a DCCP-Reset)-.165 E(pack)100.8
261.2 Q(et with Reset Code 8, "Bad Service Code".)-.11 E 2.75(Am)5.5 G
(iddlebox MA)-2.75 E 2.75(Ya)-1.155 G(lso send such a)-2.75 E
(DCCP-Reset in response to pack)100.8 274.2 Q
(ets whose Service Code is considered unsuitable.)-.11 E
(Service Codes are allocated by IAN)100.8 290.8 Q 2.75(A. F)-.385 F
(ollo)-.165 E(wing the policies outlined in [RFC 2434],)-.275 E
(most Service Codes are allocated First Come First Serv)100.8 303.8 Q
(ed, subject to the follo)-.165 E(wing)-.275 E(guidelines.)100.8 316.8 Q
12.65<8353>100.8 333.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 required to obtain a Service Code assignment, b)117.3 346.4 Q(ut)-.22
E(no speci\214cation, standards-track or otherwise, is necessary)117.3
359.4 Q 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 372.4
Q 12.65<8355>100.8 389 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 402 Q
(-byte ASCII strings.)-.22 E(Thus, the)5.5 E("Frobodyne Plotz Protocol"\
 might correspond to "fdpz", or the number 1717858426.)117.3 415 Q
(The canonical interpretation of a Service Code \214eld is numeric.)
117.3 428 Q 12.65<8353>100.8 444.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 457.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 470.6 Q(\(This set)5.5 E(consists of the ASCII digits, uppercase \
letters, and characters space, '-', '.)117.3 483.6 Q(', and '/'.\))-.77
E 12.65<8353>100.8 500.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 513.2
Q 12.65<8353>100.8 529.8 S(ervice Code 0 represents the absence of a me\
aningful Service Code, and should ne)-12.65 E -.165(ve)-.275 G(r).165 E
(be allocated.)117.3 542.8 Q(This design for Service Code allocation is\
 based on the allocation of 4-byte identi\214ers for)100.8 559.4 Q
(Macintosh resources, PNG chunks, and T)100.8 572.4 Q(rueT)-.385 E
(ype and OpenT)-.88 E(ype tables.)-.88 E F1 2.75(8.1.3. Ser)72 598.4 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 615 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 628
Q(In this phase, a serv)5.5 E(er)-.165 E
(will often specify the features it w)100.8 641 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 654 Q
(Among these options is the congestion control)5.5 E(mechanism the serv)
100.8 667 Q(er e)-.165 E(xpects to use.)-.165 E(The recei)100.8 683.6 Q
-.165(ve)-.275 G 2.75(rM).165 G 2.31 -1.155(AY r)-2.75 H
(espond to a DCCP-Request pack)1.155 E(et with a DCCP-Reset pack)-.11 E
(et to refuse)-.11 E(the connection.)100.8 696.6 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 709.6 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
722.6 Q 2.75(sS)-.605 G(ervice Code did not)-2.75 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 45])-.165 E 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(correspond to the service code re)100.8 85 Q
(gistered with the Destination Port; and 9, "T)-.165 E(oo Busy",)-.88 E
(when the serv)100.8 98 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.)100.8 111 Q(The recei)
100.8 127.6 Q -.165(ve)-.275 G 2.75(rS).165 G(HOULD NO)-2.75 E 2.75(Tr)
-.44 G(etransmit DCCP-Response pack)-2.75 E(ets; the sender will)-.11 E
(retransmit the DCCP-Request if necessary)100.8 140.6 Q 5.5(.\()-.715 G
(Note that the "retransmitted" DCCP-Request)-5.5 E(will ha)100.8 153.6 Q
-.165(ve)-.22 G 2.75(,a).165 G 2.75(tl)-2.75 G(east, a dif)-2.75 E
(ferent sequence number from the "original" DCCP-Request; the)-.275 E
(recei)100.8 166.6 Q -.165(ve)-.275 G 2.75(rc).165 G
(an thus distinguish true retransmissions from netw)-2.75 E
(ork duplicates.\))-.11 E(The responder)5.5 E
(will detect that the retransmitted DCCP-Request applies to an e)100.8
179.6 Q(xisting connection because)-.165 E
(of its Source and Destination Ports.)100.8 192.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)-.165 E
(is in the RESPOND state MUST elicit a ne)100.8 205.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)
-2.75 E(MUST increment the responder')100.8 218.6 Q 2.75(sS)-.605 G
(equence Number by one, and MUST include the same)-2.75 E
(application data, if an)100.8 231.6 Q 1.43 -.715(y, a)-.165 H 2.75(st)
.715 G(he original DCCP-Response.)-2.75 E(The responder MUST accept at \
most one piece of DCCP-Request data per connection.)100.8 248.2 Q(In)5.5
E(particular)100.8 261.2 Q 2.75(,t)-.44 G(he DCCP-Response sent in repl\
y to a retransmitted DCCP-Request with data)-2.75 E(SHOULD contain a Da\
ta Dropped option, in which the retransmitted DCCP-Request is)100.8
274.2 Q(reported as "data dropped due to protocol constraints" \(Drop C\
ode 0\).)100.8 287.2 Q(The original DCCP-)5.5 E(Request SHOULD also be \
reported in the Data Dropped option, either in a Normal Block)100.8
300.2 Q(\(if the responder accepted the data, or there w)100.8 313.2 Q
(as no data\), or in a Drop Code 0 Drop Block)-.11 E
(\(if the responder refused the data the \214rst time as well\).)100.8
326.2 Q(The Data Dropped and Init Cookie options are particularly usefu\
l for DCCP-Response)100.8 342.8 Q(pack)100.8 355.8 Q
(ets \(Sections 11.8 and 8.1.4\).)-.11 E(The serv)100.8 372.4 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 385.4 Q(ay handshak)-.11 E(e.)
-.11 E/F1 11/Times-Bold@0 SF 2.75(8.1.4. Init)72 411.4 R(Cookie Option)
2.75 E/F2 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------)100.8 430.4 Q
(|00100100| Length |)100.8 443.4 Q(Init Cookie Value)59.4 E(...)19.8 E
(+--------+--------+--------+--------+--------+--------)100.8 456.4 Q
(Type=36)107.4 469.4 Q F0(The Init Cookie option lets a DCCP serv)100.8
492 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 505 S 2.75
(yc).11 G(onnection setup handshak)-2.75 E 2.75(eh)-.11 G(as completed.)
-2.75 E(The serv)5.5 E(er wraps up the service code,)-.165 E(serv)100.8
518 Q(er port, and an)-.165 E 2.75(yo)-.165 G
(ptions it cares about from both the DCCP-Request and DCCP-)-2.75 E
(Response in an opaque cookie.)100.8 531 Q -.88(Ty)5.5 G
(pically the cookie will be encrypted using a secret).88 E(kno)100.8 544
Q(wn only to the serv)-.275 E
(er and include a cryptographic checksum or magic v)-.165 E
(alue so that)-.275 E(correct decryption can be v)100.8 557 Q 2.75
(eri\214ed. When)-.165 F(the serv)2.75 E(er recei)-.165 E -.165(ve)-.275
G 2.75(st).165 G(he cookie back in the)-2.75 E
(response, it can decrypt the cookie and instantiate all the state it a)
100.8 570 Q -.22(vo)-.22 G(ided k).22 E 2.75(eeping. In)-.11 F(the)2.75
E(meantime, it need not mo)100.8 583 Q .33 -.165(ve f)-.165 H
(rom the LISTEN state.).165 E(This option is permitted in DCCP-Response\
, DCCP-Data, DCCP-Ack, DCCP-DataAck,)100.8 599.6 Q
(DCCP-Sync, and DCCP-SyncAck pack)100.8 612.6 Q 2.75(ets. The)-.11 F
(serv)2.75 E(er MA)-.165 E 2.75(Yi)-1.155 G
(nclude an Init Cookie option)-2.75 E(in its DCCP-Response.)100.8 625.6
Q(If so, then the client MUST echo the same Init Cookie option in)5.5 E
(each succeeding DCCP pack)100.8 638.6 Q(et until one of those pack)-.11
E(ets is ackno)-.11 E(wledged, meaning the)-.275 E(three-w)100.8 651.6 Q
(ay handshak)-.11 E 2.75(eh)-.11 G
(as completed, or the connection is reset.)-2.75 E(The serv)5.5 E
(er SHOULD)-.165 E
(design its Init Cookie format so that Init Cookies can be check)100.8
664.6 Q(ed for tampering; it)-.11 E(SHOULD respond to a tampered Init C\
ookie option by resetting the connection with Reset)100.8 677.6 Q
(Code 10, "Bad Init Cookie".)100.8 690.6 Q(The precise implementation o\
f the Init Cookie does not need to be speci\214ed here; since Init)100.8
707.2 Q(Cookies are opaque to the client, there are no interoperability\
 concerns.)100.8 720.2 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 222.01(yd Section)-.11 F 2.75(8.1.4. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(Init Cookies are limited to at most 253 bytes in length.)100.8 85 Q/F1
11/Times-Bold@0 SF 2.75(8.1.5. Handshak)72 111 R 2.75(eC)-.11 G
(ompletion)-2.75 E F0(When the client recei)100.8 127.6 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 140.6 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN, and completes three-w).198 E(ay handshak)-.11 E 2.75(eb)-.11 G
2.75(ys)-2.75 G(ending a DCCP-Ack pack)-2.75 E(et)-.11 E(to the serv)
100.8 153.6 Q(er)-.165 E 5.5(.T)-.605 G(he client remains in the P)-5.5
E(AR)-1.012 E -.198(TO)-.66 G
(PEN state until it can be sure that the serv).198 E(er)-.165 E
(has recei)100.8 166.6 Q -.165(ve)-.275 G 2.75(dt).165 G
(his DCCP-Ack, or another pack)-2.75 E(et sent later)-.11 E 5.5(.C)-.605
G(lients in the P)-5.5 E(AR)-1.012 E -.198(TO)-.66 G(PEN state).198 E
(that w)100.8 179.6 Q
(ant to send data MUST do so using DCCP-DataAck pack)-.11 E
(ets, not DCCP-Data)-.11 E(pack)100.8 192.6 Q 2.75(ets. This)-.11 F
(is because DCCP-Data pack)2.75 E(ets lack Ackno)-.11 E
(wledgement Numbers, so the)-.275 E(serv)100.8 205.6 Q(er can')-.165 E
2.75(tt)-.198 G(ell from a DCCP-Data pack)-2.75 E
(et whether the client sa)-.11 E 2.75(wi)-.165 G(ts DCCP-Response.)-2.75
E(Furthermore, if the DCCP-Response included an Init Cookie, that Init \
Cookie MUST be)100.8 218.6 Q(included on e)100.8 231.6 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(The single DCCP-Ack sent when entering the P)100.8 248.2 Q(AR)
-1.012 E -.198(TO)-.66 G(PEN state might, of course, be).198 E
(dropped by the netw)100.8 261.2 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 274.2 T(ntually).275 E 5.5(.T)-.715 G
(he preferred mechanism w)-5.5 E(ould be a delayed-ack-lik)-.11 E 2.75
(e2)-.11 G(00-millisecond timer)-2.75 E(,)-.44 E(set e)100.8 287.2 Q
-.165(ve)-.275 G(ry time a pack).165 E(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)-2.75 E(still in P)100.8 300.2 Q(AR)
-1.012 E -.198(TO)-.66 G
(PEN, the client generates another DCCP-Ack and backs of).198 E 2.75(ft)
-.275 G(he timer)-2.75 E 5.5(.I)-.605 G 2.75(ft)-5.5 G(he)-2.75 E
(client remains in P)100.8 313.2 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN for more than 4MSL \(8 minutes\), it SHOULD reset the).198 E
(connection with Reset Code 2, "Aborted".)100.8 326.2 Q(The client lea)
100.8 342.8 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(sap).165 G(ack)-2.75 E(et other than)-.11 E
(DCCP-Response or DCCP-Reset from the serv)100.8 355.8 Q(er)-.165 E(.)
-.605 E F1(8.2.)72 381.8 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
398.4 Q(er and client are in the OPEN)-.165 E(state.)100.8 411.4 Q
(DCCP A sends DCCP-Data and DCCP-DataAck pack)100.8 428 Q
(ets to DCCP B due to application)-.11 E -2.365 -.275(ev e)100.8 441 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 454 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 467 Q(Generally)5.5 E 2.75
(,D)-.715 G(CCP A will piggyback)-2.75 E(ackno)100.8 480 Q
(wledgement information on DCCP-Data pack)-.275 E
(ets when acceptable, creating DCCP-)-.11 E(DataAck pack)100.8 493 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
506 Q 2.75(wd)-.275 G(ata)-2.75 E(to be sent.)100.8 519 Q
(DCCP-Sync and DCCP-SyncAck pack)100.8 535.6 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
548.6 Q(One important)5.5 E(distinction between DCCP-Sync pack)100.8
561.6 Q(ets and other pack)-.11 E(et types is that DCCP-Sync elicits)
-.11 E(an immediate ackno)100.8 574.6 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; and the)100.8 587.6 Q(Ackno)100.8 600.6 Q(wledgement Number on tha\
t DCCP-SyncAck MUST equal the Sequence Number of)-.275 E(the DCCP-Sync.)
100.8 613.6 Q 2.75(Ap)100.8 630.2 S
(articular DCCP implementation might decide to initiate feature ne)-2.75
E(gotiation only once)-.165 E(the OPEN state w)100.8 643.2 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 656.2 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
(Dropped Drop Block with Drop Code 0.)100.8 669.2 Q F1(8.3.)72 695.2 Q
F2 -1.196(Te)5.5 G(rmination)1.196 E F0
(DCCP connection termination uses a handshak)100.8 711.8 Q 2.75(ec)-.11
G(onsisting of an optional DCCP-CloseReq)-2.75 E(pack)100.8 724.8 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 -.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 47])-.165 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(OPEN state, possibly through t\
he CLOSEREQ state, to CLOSED; the client mo)100.8 85 Q -.165(ve)-.165 G
2.75(sf).165 G(rom)-2.75 E(OPEN through CLOSING to TIMEW)100.8 98 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 111 Q(The sequence DCC\
P-CloseReq, DCCP-Close, DCCP-Reset is used when the serv)100.8 127.6 Q
(er)-.165 E(decides to close the connection, b)100.8 140.6 Q(ut doesn')
-.22 E 2.75(tw)-.198 G(ant to hold TIMEW)-2.86 E(AIT state:)-1.32 E/F1
11/Courier@0 SF(Client State)114 159.6 Q(Server State)191.4 E 237.6
(OPEN OPEN)133.8 172.6 R 79.2(1. <--)100.8 185.6 R 39.6(CloseReq <--)
46.2 F(CLOSEREQ)19.8 E 13.2(2. CLOSING -->)100.8 198.6 R 52.8(Close -->)
52.8 F 79.2(3. <--)100.8 211.6 R 52.8(Reset <--)52.8 F
(CLOSED \(LISTEN\))19.8 E 13.2(4. TIMEWAIT)100.8 224.6 R 13.2(5. CLOSED)
100.8 237.6 R F0 2.75(As)100.8 256.6 S(horter sequence occurs when the \
client decides to close the connection.)-2.75 E F1(Client State)114
275.6 Q(Server State)191.4 E 237.6(OPEN OPEN)133.8 288.6 R 13.2
(1. CLOSING -->)100.8 301.6 R 52.8(Close -->)52.8 F 79.2(2. <--)100.8
314.6 R 52.8(Reset <--)52.8 F(CLOSED \(LISTEN\))19.8 E 13.2(3. TIMEWAIT)
100.8 327.6 R 13.2(4. CLOSED)100.8 340.6 R F0(Finally)100.8 359.6 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 378.6 Q(Server State)191.4 E
237.6(OPEN OPEN)133.8 391.6 R 79.2(1. <--)100.8 404.6 R 52.8(Close <--)
52.8 F(CLOSING)19.8 E 13.2(2. CLOSED)100.8 417.6 R 46.2(--> Reset)26.4 F
(-->)59.4 E 283.8(3. TIMEWAIT)100.8 430.6 R 283.8(4. CLOSED)100.8 443.6
R(\(LISTEN\))6.6 E F0(In all cases, the recei)100.8 466.2 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 479.2 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 connection has closed, ensu\
res that no connection duplicating)100.8 492.2 Q
(the current connection')100.8 505.2 Q 2.75(ss)-.605 G
(ource and destination addresses and ports can start up while old)-2.75
E(pack)100.8 518.2 Q(ets might remain in the netw)-.11 E(ork.)-.11 E
(The termination handshak)100.8 534.8 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 547.8 Q
(et MUST respond with a DCCP-Close pack)-.11 E(et; that recei)-.11 E
(ving endpoint will e)-.275 E(xpect to)-.165 E(hold TIMEW)100.8 560.8 Q
(AIT state after later recei)-1.32 E(ving a DCCP-Reset.)-.275 E
(The recei)5.5 E -.165(ve)-.275 G 2.75(ro).165 G 2.75(fav)-2.75 G
(alid DCCP-)-3.025 E(Close pack)100.8 573.8 Q
(et MUST respond with a DCCP-Reset pack)-.11 E
(et, with Reset Code 1, "Closed"; the)-.11 E
(endpoint that originally sent the DCCP-Close will hold TIMEW)100.8
586.8 Q(AIT state.)-1.32 E(The endpoint)5.5 E(that recei)100.8 599.8 Q
-.165(ve)-.275 G 2.75(sav).165 G(alid DCCP-Reset pack)-3.025 E
(et will hold TIMEW)-.11 E(AIT state for the connection.)-1.32 E 2.75
(AD)100.8 616.4 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
629.4 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 642.4 Q(manner)
100.8 655.4 Q 5.5(.T)-.605 G(his is justi\214ed because some responses \
to connection termination are the same)-5.5 E
(no matter whether termination w)100.8 668.4 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(sav).165 G(alid)-3.025 E(DCCP-Reset SHOULD hold TIMEW)
100.8 681.4 Q(AIT state for the connection.)-1.32 E
(Processors that must)5.5 E
(distinguish between clean and unclean termination can e)100.8 694.4 Q
(xamine the Reset Code.)-.165 E(DCCP-)5.5 E(Reset pack)100.8 707.4 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 pack)-2.75 E(ets.)-.11 E(DCCP implementations generally tran\
sition to the CLOSED state after sending a DCCP-)100.8 720.4 Q -.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 48])-.165 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Reset pack)100.8 85 Q(et.)-.11
E(Endpoints in the CLOSEREQ and CLOSING states MUST retransmit DCCP-Clo\
seReq)100.8 101.6 Q(and DCCP-Close pack)100.8 114.6 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 127.6 Q 2.75(fi)-.275 G 2.75(nt)
-2.75 G .22 -.11(wo R)-2.75 H(TTs, or 0.2 seconds if the R)-.55 E
(TT is not kno)-.66 E(wn, and)-.275 E(should back of)100.8 140.6 Q 2.75
(ft)-.275 G 2.75(on)-2.75 G(ot less than once e)-2.75 E -.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(Only the serv)100.8 157.2 Q
(er can send a DCCP-CloseReq pack)-.165 E
(et or enter the CLOSEREQ state.)-.11 E/F1 11/Times-Bold@0 SF 2.75
(8.3.1. Abnormal)72 183.2 R -1.012(Te)2.75 G(rmination)1.012 E F0
(DCCP endpoints generate DCCP-Reset pack)100.8 199.8 Q
(ets to terminate connections abnormally; a)-.11 E(DCCP-Reset pack)100.8
212.8 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
225.8 Q(AIT states use Reset Code 3, "No Connection", unless otherwise)
-1.32 E 2.75(speci\214ed. Resets)100.8 238.8 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 251.8 Q(DCCP endpoints in\
 CLOSED or LISTEN state may need to generate a DCCP-Reset pack)100.8
268.4 Q(et)-.11 E(in response to a pack)100.8 281.4 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 294.4 Q
(ariables, the Sequence and Ackno)-.275 E
(wledgement Numbers on the DCCP-)-.275 E(Reset pack)100.8 307.4 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 324 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 340.6 R
(R.ackno := P)2.75 E(.seqno.)-1.221 E 11(3. If)100.8 357.2 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 370.2 Q F1(8.4.)72 396.2 Q/F2 13
/Times-Bold@0 SF(DCCP State Diagram)5.5 E F0
(The most common state transitions discussed abo)100.8 412.8 Q .33 -.165
(ve c)-.165 H(an be summarized in the follo).165 E(wing)-.275 E
(state diagram.)100.8 425.8 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 438.8 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 451.8 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 49])-.165 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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 \(meaning pack)-.275 E(ets\) e)-.11 E
(xactly as indicated by this pseudocode, e)-.165 E(xcept where allo)
-.165 E(wed)-.275 E(otherwise by another 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 50])
-.165 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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(First, check the header basics;)
100.8 241 Q(If the header checksum is incorrect, drop pack)109.05 254 Q
(et and return)-.11 E(If the pack)109.05 267 Q
(et type is not understood, drop pack)-.11 E(et and return)-.11 E(If P)
109.05 280 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 293 Q
(et, drop pack)-.11 E(et and return)-.11 E(If P)109.05 306 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 319 Q
(If P)109.05 332 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 345 Q(et and return)-.11
E(Second, check ports and process TIMEW)100.8 371 Q(AIT state;)-1.32 E
(Look up \215o)109.05 384 Q 2.75(wI)-.275 G(D; get sock)-2.75 E(et.)-.11
E(If no sock)109.05 397 Q(et, or S.state == TIMEW)-.11 E(AIT)-1.32 E(,)
-.814 E(Generate Reset\(No Connection\) unless P)117.3 410 Q
(.type == Reset)-1.221 E(Drop pack)117.3 423 Q(et and return)-.11 E
(Third, process LISTEN state;)100.8 449 Q(If S.state == LISTEN,)109.05
462 Q(If P)117.3 475 Q(.type == Request or P contains a v)-1.221 E
(alid Init Cookie,)-.275 E(Set S := ne)125.55 488 Q 2.75(ws)-.275 G(ock)
-2.75 E(et for this port pair)-.11 E(S.state = RESPOND)125.55 501 Q
(Choose S.ISS \(initial seqno\) or set from Init Cookie)125.55 514 Q
(Set S.ISR, S.GSR, S.SWL, S.SWH from pack)125.55 527 Q
(et or Init Cookie)-.11 E(Continue \(with S.state == RESPOND\))125.55
540 Q(Otherwise,)117.3 553 Q(Generate Reset\(No Connection\) unless P)
125.55 566 Q(.type == Reset)-1.221 E(Drop pack)125.55 579 Q
(et and return)-.11 E -.165(Fo)100.8 605 S(urth, process Reset;).165 E
(If P)109.05 618 Q(.type == Reset,)-1.221 E(If S.GSR < P)117.3 631 Q
(.seqno <= S.SWH)-1.221 E(and S.GAR <= P)133.8 644 Q(.ackno <= S.A)
-1.221 E(WH,)-.99 E -.77(Te)125.55 657 S(ar do).77 E(wn connection)-.275
E(S.state := TIMEW)125.55 670 Q(AIT)-1.32 E(Set TIMEW)125.55 683 Q
(AIT timer)-1.32 E(Drop pack)125.55 696 Q(et and return)-.11 E
(Otherwise,)117.3 709 Q(Send Sync pack)125.55 722 Q(et ackno)-.11 E
(wledging P)-.275 E(.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 51])
-.165 E 0 Cg EP
%%Page: 52 52
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Drop pack)125.55 85 Q
(et and return)-.11 E(Fifth, process REQ)100.8 111 Q(UEST state;)-.11 E
(If S.state == REQ)109.05 124 Q(UEST)-.11 E(,)-.814 E(If P)117.3 137 Q
(.type == Response and S.A)-1.221 E(WL <= P)-.99 E(.ackno <= S.A)-1.221
E(WH,)-.99 E(Set S.GSR, S.ISR, S.SWL, S.SWH)125.55 150 Q(Otherwise,)
117.3 163 Q(Generate Reset\(P)125.55 176 Q(ack)-.165 E(et Error\))-.11 E
(Drop pack)125.55 189 Q(et and return)-.11 E
(Sixth, process Sync sequence numbers;)100.8 215 Q(If P)109.05 228 Q
(.type == Sync or P)-1.221 E(.type == SyncAck,)-1.221 E(If S.A)117.3 241
Q(WL <= P)-.99 E(.ackno <= S.A)-1.221 E(WH and P)-.99 E
(.seqno >= S.SWL,)-1.221 E(Update S.GSR, S.SWL, S.SWH)125.55 254 Q
(Otherwise,)117.3 267 Q(Drop pack)125.55 280 Q(et and return)-.11 E(Se)
100.8 306 Q -.165(ve)-.275 G(nth, check sequence numbers;).165 E
(Let LSWL = S.SWL and LA)109.05 319 Q(WL = S.A)-.99 E(WL)-.99 E(If P)
109.05 332 Q(.type == CloseReq or P)-1.221 E(.type == Close,)-1.221 E
(LSWL := S.GSR + 1, LA)117.3 345 Q(WL := S.GAR)-.99 E(If LSWL <= P)
109.05 358 Q(.seqno <= S.SWH)-1.221 E(and \(P)125.55 371 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
384 Q(If P)117.3 397 Q(.type != Sync,)-1.221 E(Update S.GAR)125.55 410 Q
(Otherwise,)109.05 423 Q(Send Sync pack)117.3 436 Q(et ackno)-.11 E
(wledging P)-.275 E(.seqno)-1.221 E(Drop pack)117.3 449 Q(et and return)
-.11 E(Eighth, check pack)100.8 475 Q(et type;)-.11 E(If \(S.is_serv)
109.05 488 Q(er and P)-.165 E(.type == CloseReq\))-1.221 E
(or \(S.is_serv)122.8 501 Q(er and P)-.165 E(.type == Response\))-1.221
E(or \(S.is_client and P)122.8 514 Q(.type == Request\))-1.221 E
(or \(S.state >= OPEN and P)122.8 527 Q(.type == Request)-1.221 E(and P)
133.8 540 Q(.seqno >= S.OSR\))-1.221 E(or \(S.state >= OPEN and P)122.8
553 Q(.type == Response)-1.221 E(and P)133.8 566 Q(.seqno >= S.OSR\))
-1.221 E(or \(S.state == RESPOND and P)122.8 579 Q(.type == Data\),)
-1.221 E(Send Sync pack)117.3 592 Q(et ackno)-.11 E(wledging P)-.275 E
(.seqno)-1.221 E(Drop pack)117.3 605 Q(et and return)-.11 E
(Ninth, process options;)100.8 631 Q(/* May in)109.05 644 Q -.22(vo)-.44
G(lv).22 E 2.75(er)-.165 G(esetting connection, etc. */)-2.75 E
(Mark pack)109.05 657 Q(et as "recei)-.11 E -.165(ve)-.275 G
(d" for ackno).165 E(wledgement purposes)-.275 E -.77(Te)100.8 683 S
(nth, process RESPOND state;).77 E(If S.state == RESPOND,)109.05 696 Q
(If P)117.3 709 Q(.type == Request,)-1.221 E
(Send Response, possibly containing Init Cookie)125.55 722 Q -.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 52])-.165 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(If Init Cookie w)125.55 85 Q
(as sent,)-.11 E(Destro)133.8 98 Q 2.75(ySa)-.11 G(nd return)-2.75 E
(/* Step Three will create another sock)133.8 111 Q(et when the client)
-.11 E(responds. */)142.05 124 Q(Otherwise,)117.3 137 Q(S.OSR := P)
125.55 150 Q(.seqno)-1.221 E(S.state := OPEN)125.55 163 Q(Ele)100.8 189
Q -.165(ve)-.275 G(nth, process REQ).165 E(UEST state;)-.11 E
(If S.state == REQ)109.05 202 Q(UEST)-.11 E(,)-.814 E(S.state := P)117.3
215 Q(AR)-1.012 E -.198(TO)-.66 G(PEN).198 E(/* P)117.3 228 Q(AR)-1.012
E -.198(TO)-.66 G(PEN means don').198 E 2.75(ts)-.198 G(end Data pack)
-2.75 E(ets, retransmit)-.11 E(Acks periodically)125.55 241 Q 2.75(,a)
-.715 G(nd include an)-2.75 E 2.75(yI)-.165 G(nit Cookie on)-2.75 E
-2.365 -.275(ev e)125.55 254 T(ry pack).275 E(et sent */)-.11 E(Set P)
117.3 267 Q(AR)-1.012 E -.198(TO)-.66 G(PEN timer).198 E -.88(Tw)100.8
293 S(elfth, process P).88 E(AR)-1.012 E -.198(TO)-.66 G(PEN state;).198
E(If S.state == P)109.05 306 Q(AR)-1.012 E -.198(TO)-.66 G(PEN,).198 E
(If P)117.3 319 Q(.type == Response,)-1.221 E(Send Ack)125.55 332 Q
(Otherwise,)117.3 345 Q(S.OSR := P)125.55 358 Q(.seqno)-1.221 E
(S.state := OPEN)125.55 371 Q(Thirteenth, process CloseReq;)100.8 397 Q
(If P)109.05 410 Q(.type == CloseReq and S.state < CLOSEREQ,)-1.221 E
(Generate Close)117.3 423 Q(S.state := CLOSING)117.3 436 Q
(Set CLOSING timer)117.3 449 Q -.165(Fo)100.8 475 S
(urteenth, process Close;).165 E(If P)109.05 488 Q(.type == Close,)
-1.221 E(Generate Reset\(Closed\))117.3 501 Q -.77(Te)117.3 514 S(ar do)
.77 E(wn connection)-.275 E(Drop pack)117.3 527 Q(et and return)-.11 E
(Fifteenth, process Sync;)100.8 553 Q(If P)109.05 566 Q(.type == Sync,)
-1.221 E(Generate SyncAck)117.3 579 Q(Sixteenth, process data.)100.8 605
Q(Do not deli)109.05 618 Q -.165(ve)-.275 G 2.75(rd).165 G
(ata from more than one Request or Response)-2.75 E/F1 11/Times-Bold@0
SF(9.)72 644 Q/F2 14/Times-Bold@0 SF(Checksums)5.5 E F0
(DCCP uses a header checksum to protect its header ag)100.8 660.6 Q
(ainst corruption.)-.055 E(Generally)5.5 E 2.75(,t)-.715 G(his)-2.75 E
(checksum also co)100.8 673.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 686.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 699.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 712.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 725.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 -.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 53])-.165 E 0 Cg
EP
%%Page: 54 54
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(If checksum co)100.8 85 Q -.165
(ve)-.165 G(rage is complete, pack).165 E
(ets with corrupt application data must be treated as)-.11 E(netw)100.8
98 Q(ork losses, thus incurring a loss response from the sender')-.11 E
2.75(sc)-.605 G(ongestion control)-2.75 E 2.75(mechanism. Such)100.8 111
R 2.75(ah)2.75 G(ea)-2.75 E(vy-duty response may unf)-.22 E
(airly penalize connections on links with)-.11 E
(high background corruption.)100.8 124 Q(It is to the application')5.5 E
2.75(sb)-.605 G(ene\214t to report corruption losses)-2.75 E(dif)100.8
137 Q(ferently from netw)-.275 E(ork losses.)-.11 E(Therefore, e)5.5 E
-.165(ve)-.275 G 2.75(na).165 G
(pplications that demand correct data can)-2.75 E(mak)100.8 150 Q 2.75
(eu)-.11 G(se of reduced checksum co)-2.75 E -.165(ve)-.165 G
(rage, by including a Data Checksum option.).165 E(Data)5.5 E
(Checksum holds a strong checksum of the application data.)100.8 163 Q
(The combination of reduced)5.5 E(checksum co)100.8 176 Q -.165(ve)-.165
G(rage and Data Checksum can drop corrupt application data, b).165 E
(ut report such)-.22 E(drops as corruption, not congestion, via Data Dr\
opped options \(see Section 11.8\).)100.8 189 Q(Reduced checksum co)
100.8 205.6 Q -.165(ve)-.165 G
(rage introduces some security considerations; see Section 18.1.).165 E
(See Appendix B.1 for further moti)100.8 218.6 Q -.275(va)-.275 G
(tion and discussion.).275 E(DCCP')5.5 E 2.75(si)-.605 G
(mplementation of)-2.75 E(reduced checksum co)100.8 231.6 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 257.6 Q/F2 13/Times-Bold@0 SF
(Header Checksum Field)5.5 E F0
(DCCP uses the TCP/IP checksum algorithm.)100.8 274.2 Q
(The Checksum \214eld in the DCCP generic)5.5 E
(header \(see Section 5.1\) equals the 16 bit one')100.8 287.2 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 300.2 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 313.2 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 326.2 Q
(When calculating the checksum, the Checksum \214eld itself is)5.5 E
(treated as 0.)100.8 339.2 Q(If a pack)5.5 E
(et contains an odd number of header and te)-.11 E(xt bytes to be)-.165
E(checksummed, 8 zero bits are added on the right to form a 16 bit w)
100.8 352.2 Q(ord for checksum)-.11 E 2.75(purposes. The)100.8 365.2 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 381.8 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 394.8 Q(left with 8 zero bits\), and the DCCP length as a 16-\
bit quantity \(the length of the DCCP)100.8 407.8 Q
(header with options, plus the length of an)100.8 420.8 Q 2.75(yd)-.165
G(ata\); see Section 3.1 of [RFC 793].)-2.75 E -.165(Fo)5.5 G 2.75(rI)
.165 G(Pv6,)-2.75 E(it is 320 bits long, and consists of the IPv6 sourc\
e and destination addresses, the DCCP)100.8 433.8 Q
(length as a 32-bit quantity)100.8 446.8 Q 2.75(,a)-.715 G
(nd the IP protocol number for DCCP \(padded on the left with)-2.75 E
(24 zero bits\); see Section 8.1 of [RFC 2460].)100.8 459.8 Q -.165(Pa)
100.8 476.4 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 489.4 Q 2.75(Tb)-.44 G
2.75(ep)-2.75 G(rocessed.)-2.75 E F1(9.2.)72 515.4 Q F2
(Header Checksum Co)5.5 E -.13(ve)-.13 G(rage Field).13 E F0
(The Checksum Co)100.8 532 Q -.165(ve)-.165 G(rage \214eld in the DCCP \
generic header \(see Section 5.1\) speci\214es what).165 E
(parts of the pack)100.8 545 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
561.6 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 574.6 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 587.6 Q -.165(ve)-.275 G
2.75(nn).165 G(umber of bytes.)-2.75 E F1(CsCo)100.8 604.2 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 617.2 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 630.2 Q(Thus, if CsCo)100.8
646.8 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 659.8 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 672.8 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 685.8 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
698.8 S(perimental.).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 54])-.165 E 0
Cg EP
%%Page: 55 55
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E -1.221(Va)100.8 85 S(lues othe\
r than 0 specify that corruption is acceptable in some or all of the DC\
CP)1.221 E(pack)100.8 98 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 111 Q(Applications should)5.5 E(not mak)100.8 124 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 137 Q(wn v)-.275 E(alidity checks.)-.275 E 2.75(AD)100.8 153.6 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 166.6 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 179.6 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 192.6 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 205.6 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 2.75(ah)100.8 218.6 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 mechanism to dete\
ct at least errors that occur in the sensiti)100.8 231.6 Q .33 -.165
(ve p)-.275 H(art of the pack).165 E(et,)-.11 E
(and discard damaged pack)100.8 244.6 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 257.6 Q -.165(ve)-.165 G(rage.).165 E -.165(Fo)100.8 274.2 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 287.2 Q/F1 11/Times-Bold@0 SF 2.75
(9.2.1. Minimum)72 313.2 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 329.8 Q -.165
(ve)-.165 G(rage feature lets a DCCP endpoint determine whether its).165
E(peer is willing to accept pack)100.8 342.8 Q
(ets with reduced Checksum Co)-.11 E -.165(ve)-.165 G 2.75(rage. DCCP)
.165 F 2.75(As)2.75 G(ends a)-2.75 E("Change R\(Minimum Checksum Co)
100.8 355.8 Q -.165(ve)-.165 G
(rage, 1\)" option to DCCP B to check whether B is).165 E
(willing to accept pack)100.8 368.8 Q(ets with Checksum Co)-.11 E -.165
(ve)-.165 G(rage set to 1.).165 E(Minimum Checksum Co)100.8 385.4 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 398.4 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 411.4 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 424.4 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 441 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 457.6 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
470.6 Q(DCCP B MA)100.8 487.2 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 500.2 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.8\) with Drop Code 0, "Protocol Constraints".)100.8 513.2
Q(Ne)5.5 E 2.75(wc)-.275 G(onnections start with)-2.75 E
(Minimum Checksum Co)100.8 526.2 Q -.165(ve)-.165 G
(rage 0 for both endpoints.).165 E F1(9.3.)72 552.2 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 568.8 Q
(yclic redundanc)-.165 E(y-check code of a)-.165 E(DCCP pack)100.8 581.8
Q(et')-.11 E 2.75(sa)-.605 G(pplication data.)-2.75 E/F3 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 600.8 Q
85.8(|00101100|00000110| CRC-32c |)100.8 613.8 R
(+--------+--------+--------+--------+--------+--------+)100.8 626.8 Q
6.6(Type=44 Length=6)107.4 639.8 R F0
(Data Checksum is intended for pack)100.8 658.8 Q
(ets containing application data, such as DCCP-)-.11 E
(Request, DCCP-Response, DCCP-Data, and DCCP-DataAck, b)100.8 671.8 Q
(ut it may be included on)-.22 E(an)100.8 684.8 Q 2.75(yp)-.165 G(ack)
-2.75 E 2.75(et. The)-.11 F
(sending DCCP computes the CRC of the bytes comprising the application)
2.75 E(data area and stores it in the option data.)100.8 697.8 Q
(The CRC-32c algorithm used for Data Checksum)5.5 E(is the same as that\
 used for SCTP [RFC 3309]; note that the CRC-32c of zero bytes of data)
100.8 710.8 Q(equals zero.)100.8 723.8 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 -.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 55])-.165 E 0 Cg EP
%%Page: 56 56
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(data checksum must be computed before the header checksum.)100.8 85 Q
2.75(AD)100.8 101.6 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
114.6 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
127.6 Q 2.75(alue. \(The)-.275 F
(endpoint can indicate whether it will is)2.75 E(willing to check Data \
Checksums using the Check Data Checksum feature, described)100.8 140.6 Q
(belo)100.8 153.6 Q -.715(w.)-.275 G 5.5(\)I).715 G 2.75(ft)-5.5 G
(he CRCs dif)-2.75 E(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 170.2 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 183.2 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 196.2 Q(wn to be corrupt.)-.275 E
(Furthermore, the recei)5.5 E(ving endpoint MUST)-.275 E
(report the pack)117.3 209.2 Q(et as deli)-.11 E -.165(ve)-.275 G
(red corrupt using a Data Dropped option \(Drop Code 7\).).165 E 12.65
<834f>100.8 225.8 S(therwise, the recei)-12.65 E
(ving endpoint MUST drop the application data, and report the)-.275 E
(pack)117.3 238.8 Q(et as dropped due to corruption using a Data Droppe\
d option \(Drop Code 3\).)-.11 E(In either case, the pack)100.8 255.4 Q
(et will be reported as Recei)-.11 E -.165(ve)-.275 G 2.75(do).165 G
2.75(rR)-2.75 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(dE).165 G(CN Mark)
-2.75 E(ed by Ack)-.11 E -1.221(Ve)100.8 268.4 S
(ctor or similar options.)1.221 E/F1 11/Times-Bold@0 SF 2.75
(9.3.1. Check)72 294.4 R(Data Checksum F)2.75 E(eatur)-.275 E(e)-.198 E
F0(The Check Data Checksum feature lets a DCCP endpoint determine wheth\
er its peer can)100.8 311 Q(check Data Checksum options.)100.8 324 Q
(DCCP A sends a Mandatory "Change R\(Check Data)5.5 E(Checksum, 1\)" op\
tion to DCCP B to require B to check Data Checksum options \(the)100.8
337 Q(connection will be reset if DCCP B cannot\).)100.8 350 Q
(Check Data Checksum has feature number 9, and is serv)100.8 366.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)-.11 E(Boolean v)100.8 379.6 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 392.6 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 405.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)-2.75 E
(Check Data Checksum 0 for both endpoints.)100.8 418.6 Q F1 2.75
(9.3.2. Usage)72 444.6 R(Notes)2.75 E F0
(Internet links must normally apply strong inte)100.8 461.2 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 474.2 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 487.2 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
500.2 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 t\
olerate corruption in the unprotected part of the application data.)
100.8 513.2 Q(Recognizing)5.5 E(this, link layers may reduce error dete\
ction and/or correction strength when transmitting)100.8 526.2 Q
(this unprotected part.)100.8 539.2 Q
(This, in turn, can signi\214cantly increase the lik)5.5 E
(elihood of the endpoint)-.11 E(recei)100.8 552.2 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 565.2 Q(.)-.715 E F1(10.)72 591.2 Q/F2 14
/Times-Bold@0 SF(Congestion Contr)5.5 E(ol IDs)-.252 E F0(Each congesti\
on control mechanism supported by DCCP is assigned a congestion control)
100.8 607.8 Q(identi\214er)100.8 620.8 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 633.8 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 646.8 S
(lues for their Congestion Control ID features.).275 E
(Congestion Control ID has feature)5.5 E(number 1.)100.8 659.8 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 672.8 Q(pack)100.8 685.8 Q(ets.)-.11 E(CCID is a serv)
100.8 702.4 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 715.4 Q 5.5(.F)
-.715 G(or e)-5.665 E(xample, the option "Change R\(CCID,)-.165 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 56])-.165 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E 2.75(123)100.8 85 S
(\)" asks the recei)-2.75 E -.165(ve)-.275 G 2.75(rt).165 G 2.75(ou)
-2.75 G(se CCID 1 for its pack)-2.75 E
(ets, although CCIDs 2 and 3 are also)-.11 E 2.75(acceptable. \(This)
100.8 98 R(corresponds to the bytes "35, 6, 1, 1, 2, 3": Change R optio\
n \(35\), option)2.75 E
(length \(6\), feature ID \(1\), CCIDs \(1, 2, 3\).\))100.8 111 Q
(Similarly)5.5 E 2.75(,")-.715 G(Con\214rm L\(CCID, 1, 1 2 3\)" tells)
-2.75 E(the recei)100.8 124 Q -.165(ve)-.275 G 2.75(rt).165 G
(hat the sender is using CCID 1 for its pack)-2.75 E(ets, b)-.11 E
(ut that CCIDs 2 or 3 might)-.22 E(also be acceptable.)100.8 137 Q
(Currently allocated CCIDs are as follo)100.8 153.6 Q(ws.)-.275 E/F1 11
/Courier@0 SF 13.2(CCID Meaning)136.8 172.6 R 13.2(---- -------)136.8
185.6 R 26.4(0R)150 198.6 S(eserved)-26.4 E 26.4(1U)150 211.6 S
(nspecified Sender-Based Congestion Control)-26.4 E 26.4(2T)150 224.6 S
(CP-like Congestion Control)-26.4 E 26.4(3T)150 237.6 S
(FRC Congestion Control)-26.4 E 6.6(4-255 Reserved)136.8 250.6 R F0(Ne)
100.8 269.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 282.6 Q
(ets.)-.11 E(All CCIDs standardized for use with DCCP will correspond t\
o congestion control)100.8 299.2 Q(mechanisms pre)100.8 312.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 325.2 Q 2.75(,b)-.715 G
(ut TCP-friendliness is not an e)-2.97 E(xplicit DCCP)-.165 E
(requirement.)100.8 338.2 Q 2.75(AD)100.8 354.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 367.8 Q
(ernel, SHOULD implement at least CCIDs 1 and 2.)-.11 E(The intent)5.5 E
(is to mak)100.8 380.8 Q 2.75(et)-.11 G(hese CCIDs broadly a)-2.75 E
-.275(va)-.22 G(ilable for interoperability).275 E 2.75(,a)-.715 G
(lthough particular)-2.75 E(applications might disallo)100.8 393.8 Q
2.75(wt)-.275 G(heir use.)-2.75 E/F2 11/Times-Bold@0 SF(10.1.)72 419.8 Q
/F3 13/Times-Bold@0 SF(Unspeci\214ed Sender)5.5 E
(-Based Congestion Contr)-.481 E(ol)-.234 E F0
(CCID 1 denotes an unspeci\214ed sender)100.8 436.4 Q
(-based congestion control mechanism.)-.22 E(This pro)5.5 E(vides)-.165
E 2.75(al)100.8 449.4 S
(imited, controlled form of interoperability for ne)-2.75 E 2.75(wI)
-.275 G(ETF-appro)-2.75 E -.165(ve)-.165 G 2.75(dC).165 G
(CIDs: with CCID 1,)-2.75 E(an HC-Sender can use a ne)100.8 462.4 Q 2.75
(ws)-.275 G(ender)-2.75 E
(-based congestion control mechanism whose details the)-.22 E(HC-Recei)
100.8 475.4 Q -.165(ve)-.275 G 2.75(rd).165 G(oes not understand.)-2.75
E(Some congestion control mechanisms require only generic beha)100.8 492
Q(vior from the recei)-.22 E -.165(ve)-.275 G 3.96 -.605(r. F).165 H(or)
.44 E -.165(ex)100.8 505 S(ample, CCID 2, TCP-lik).165 E 2.75(eC)-.11 G
(ongestion Control, requires that the recei)-2.75 E -.165(ve)-.275 G
2.75(r\().165 G(1\) send Ack)-2.75 E -1.221(Ve)100.8 518 S
(ctors and \(2\) respond to Ack Ratio.)1.221 E
(Both of these requirements use generic mechanisms)5.5 E
(described in this document.)100.8 531 Q(Thus, a CCID 2 HC-Recei)5.5 E
-.165(ve)-.275 G 2.75(rd).165 G(oesn')-2.75 E 2.75(tr)-.198 G
(eally need to)-2.75 E(understand the details of CCID 2.)100.8 544 Q
(CCID 1 uses this insight to support forw)100.8 560.6 Q
(ard compatibility for sender)-.11 E(-based congestion)-.22 E
(control mechanisms.)100.8 573.6 Q
(An HC-Sender proposes CCID 1 as a proxy for a sender)5.5 E(-based)-.22
E(mechanism whose details the HC-Recei)100.8 586.6 Q -.165(ve)-.275 G
2.75(rd).165 G(oesn')-2.75 E 2.75(tn)-.198 G(eed to understand.)-2.75 E
(The HC-Recei)5.5 E -.165(ve)-.275 G(r).165 E
(can then agree to CCID 1, and pro)100.8 599.6 Q(vide generic ackno)
-.165 E(wledgement feedback as requested by)-.275 E
(other features \(such as Send Ack V)100.8 612.6 Q 2.75(ector\). Indi)
-1.221 F(vidual CCID pro\214le documents say whether)-.275 E(or not the)
100.8 625.6 Q 2.75(yc)-.165 G(an masquerade as CCID 1.)-2.75 E -.165(Fo)
100.8 642.2 S 2.75(re).165 G(xample, say that CCID 98, a ne)-2.915 E
2.75(ws)-.275 G(ender)-2.75 E(-based congestion control mechanism using)
-.22 E(Ack V)100.8 655.2 Q(ector for ackno)-1.221 E
(wledgements, has entered the IETF standards process, and the IETF)-.275
E(has appro)100.8 668.2 Q -.165(ve)-.165 G 2.75(dt).165 G
(he use of CCID 1 as a proxy for CCID 98.)-2.75 E(No)5.5 E 1.43 -.715
(w, s)-.275 H(ay DCCP A w).715 E(ould lik)-.11 E 2.75(et)-.11 G(o)-2.75
E(use CCID 98 for its data pack)100.8 681.2 Q 2.75(ets. It)-.11 F
(should therefore send a "Change L\(CCID, 98 1\)")2.75 E
(option to open a CCID ne)100.8 694.2 Q 2.75(gotiation. 98)-.165 F
(comes \214rst, since that is the preferred CCID; 1)2.75 E(comes ne)
100.8 707.2 Q(xt, as a potential proxy for 98.)-.165 E
(If DCCP B understands CCID 98, it will respond)5.5 E
(with "Con\214rm R\(CCID, 98, ...\)" and all is well.)100.8 720.2 Q
(But if it does not understand CCID 98, it)5.5 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(10.1. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(may respond with "Con\214rm R\(CCID, 1, ...\)", still allo)100.8 85 Q
(wing DCCP A to use CCID 98.)-.275 E(DCCP A will separately ne)100.8 98
Q(gotiate Send Ack V)-.165 E(ector)-1.221 E 2.75(,a)-.44 G
(nd thus DCCP B will pro)-2.75 E(vide the)-.165 E
(feedback DCCP A requires, namely Ack V)100.8 111 Q(ector)-1.221 E 2.75
(,w)-.44 G(ithout needing to understand the)-2.75 E
(operation of CCID 98.)100.8 124 Q(Implementors MUST NO)100.8 140.6 Q
2.75(Tu)-.44 G(se CCID 1 in production en)-2.75 E
(vironments as a proxy for)-.44 E(congestion control mechanisms that ha)
100.8 153.6 Q .33 -.165(ve n)-.22 H
(ot entered the IETF standards process.).165 E -.88(We)5.5 G
(intend that an)100.8 166.6 Q 2.75(yp)-.165 G(roduction use of CCID 1 w)
-2.75 E(ould ha)-.11 E .33 -.165(ve t)-.22 H 2.75(ob).165 G 2.75(ee)
-2.75 G(xplicitly appro)-2.915 E -.165(ve)-.165 G 2.75<648c>.165 G
(rst by the)-2.75 E(IETF)100.8 179.6 Q 5.5(.M)-.88 G(iddlebox)-5.5 E
(es MA)-.165 E 2.75(Yc)-1.155 G(hoose to treat the use of CCID 1 as e)
-2.75 E(xperimental or)-.165 E(unacceptable.)100.8 192.6 Q
(Since CCID 1 should be used only as a proxy for other)100.8 209.2 Q
2.75(,d)-.44 G(e\214ned CCIDs, an HC-Sender)-2.75 E(MUST NO)100.8 222.2
Q 2.75(Tr)-.44 G
(eport a preference list consisting only of CCID 1, and the option)-2.75
E("Change L\(CCID, 1\)" is ille)100.8 235.2 Q -.055(ga)-.165 G 2.75
(l. Recei).055 F(ving such an option SHOULD result in connection)-.275 E
(reset with Reset Code 5, "Option Error".)100.8 248.2 Q(An HC-Recei)5.5
E -.165(ve)-.275 G 2.75(rM).165 G 2.31 -1.155(AY s)-2.75 H
(uggest CCID 1)1.155 E -.165(ex)100.8 261.2 S(clusi).165 E -.165(ve)
-.275 G(ly: the option "Change R\(CCID, 1\)" is not ille).165 E -.055
(ga)-.165 G(l.).055 E(If CCID 1 is the result of a CCID feature ne)100.8
277.8 Q(gotiation, the HC-Sender determines which)-.165 E(CCID to actua\
lly use by picking the earliest CCID in its preference list that can)
100.8 290.8 Q(masquerade as CCID 1.)100.8 303.8 Q
(The HC-Sender MUST pick a CCID that appeared e)5.5 E(xplicitly in its)
-.165 E(preference list.)100.8 316.8 Q(Man)100.8 333.4 Q 2.75(yD)-.165 G
(CCP APIs will allo)-2.75 E 2.75(wa)-.275 G
(pplications to suggest preferred CCIDs for sending and)-2.75 E(recei)
100.8 346.4 Q(ving data.)-.275 E(Such APIs might let applications allo)
5.5 E 2.75(wo)-.275 G 2.75(rp)-2.75 G(re)-2.75 E -.165(ve)-.275 G
(nt the use of CCID 1 for).165 E(recei)100.8 359.4 Q(ving, b)-.275 E
(ut the)-.22 E 2.75(ys)-.165 G
(hould not let applications suggest the use of CCID 1 for sending.)-2.75
E(The)5.5 E(code implementing a particular CCID should add CCID 1 to th\
e HC-Sender')100.8 372.4 Q 2.75(sC)-.605 G(CID)-2.75 E
(preference list when appropriate, unless the application disagrees.)
100.8 385.4 Q(The def)5.5 E(ault for both)-.11 E(sender and recei)100.8
398.4 Q -.165(ve)-.275 G 2.75(rs).165 G(hould be to allo)-2.75 E 2.75
(wC)-.275 G(CID 1 when possible.)-2.75 E
(CCID 1 places no restrictions on ho)100.8 415 Q 2.75(wo)-.275 G
(ften the HC-Recei)-2.75 E -.165(ve)-.275 G 2.75(rm).165 G
(ay send DCCP-Ack)-2.75 E(pack)100.8 428 Q 2.75(ets. A)-.11 F
(careful implementation SHOULD implement a liberal rate limit on DCCP-)
2.75 E(Acks to pre)100.8 441 Q -.165(ve)-.275 G(nt ack storms.).165 E/F1
11/Times-Bold@0 SF(10.2.)72 467 Q/F2 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 483.6 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 496.6 Q
(vior modelled directly on TCP)-.22 E 2.75(,i)-1.221 G
(ncluding congestion)-2.75 E(windo)100.8 509.6 Q 1.43 -.715(w, s)-.275 H
(lo).715 E 2.75(ws)-.275 G(tart, timeouts, and so forth.)-2.75 E
(CCID 2 achie)5.5 E -.165(ve)-.275 G 2.75(sm).165 G(aximum bandwidth o)
-2.75 E -.165(ve)-.165 G 2.75(rt).165 G(he)-2.75 E
(long term, consistent with the use of end-to-end congestion control, b)
100.8 522.6 Q(ut halv)-.22 E(es its)-.165 E(congestion windo)100.8 535.6
Q 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 abrupt rate)2.75 E
(changes typical of TCP)100.8 548.6 Q 5.5(.A)-1.221 G
(pplications should use CCID 2 if the)-5.5 E 2.75(yp)-.165 G
(refer maximum)-2.75 E(bandwidth utilization to steadiness of rate.)
100.8 561.6 Q(This is often the case for applications that are)5.5 E
(not playing their data directly to the user)100.8 574.6 Q 5.5(.F)-.605
G(or e)-5.665 E(xample, a h)-.165 E(ypothetical application that)-.055 E
(transferred \214les o)100.8 587.6 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 pack)-2.75 E(ets, w)-.11 E
(ould)-.11 E(prefer CCID 2 to CCID 3.)100.8 600.6 Q(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 617.2 Q(OFILE].)-.44 E
F1(10.3.)72 643.2 Q F2(TFRC Congestion Contr)5.5 E(ol)-.234 E F0(CCID 3\
 denotes TCP-Friendly Rate Control \(TFRC\), an equation-based rate-con\
trolled)100.8 659.8 Q(congestion control mechanism.)100.8 672.8 Q
(TFRC is designed to be reasonably f)5.5 E(air when competing)-.11 E
(for bandwidth with TCP-lik)100.8 685.8 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 698.8 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 711.8 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 724.8 Q 2.75(,w)-1.221 G(hich mak)
-2.75 E(es CCID 3 more suitable than CCID 2 for applications such as)
-.11 E -.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 58])-.165 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(telephon)100.8 85 Q 2.75(yo)
-.165 G 2.75(rs)-2.75 G(treaming media where a relati)-2.75 E -.165(ve)
-.275 G(ly smooth sending rate is of importance.).165 E
(CCID 3 is further described in [CCID 3 PR)100.8 101.6 Q 2.75
(OFILE]. The)-.44 F(TFRC congestion control)2.75 E
(algorithms were initially described in [RFC 3448].)100.8 114.6 Q/F1 11
/Times-Bold@0 SF(10.4.)72 140.6 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 157.2 Q(ed for CCID-speci\214c)-.165 E 2.75(use. CCIDs)100.8 170.2
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 183.2 Q(xample; reserv)-.165 E
(ed option spaces let CCIDs create options at will without)-.165 E
(polluting the global option space.)100.8 196.2 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 209.2
Q(CCID-speci\214c options and)5.5 E(features will ne)100.8 222.2 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 235.2 Q(An)100.8 251.8
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 264.8 Q
(xplicitly signal the half-connection to)-.165 E(which the)100.8 277.8 Q
2.75(ya)-.165 G(pply)-2.75 E(.)-.715 E 12.65<834f>100.8 294.4 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 307.4 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 320.4 Q(.)-.605 E 12.65<8352>100.8 337
S(eset Codes 128 through 191 indicate that the HC-Sender reset the conn\
ection \(most)-12.65 E(lik)117.3 350 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 363 Q
-.165(ve)-.275 G 2.75(rr).165 G(eset the connection \(most)-2.75 E(lik)
117.3 376 Q(ely because of some problem with data pack)-.11 E
(ets sent by the HC-Sender\).)-.11 E 12.65<8346>100.8 392.6 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 405.6 Q -.165(ve)-.275
G -.605(r.).165 G(Since Change L and Con\214rm L options for a feature \
are sent by the feature location, we)117.3 418.6 Q(kno)117.3 431.6 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 444.6 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 457.6 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 474.2 S 2.75(re).165 G(xample, consider a DCCP c\
onnection 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 487.2 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 500.2 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 59])-.165 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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. \(Since)-.11 F(the serv)2.75 E(er MUST send)-.165 E(Mandatory Chan\
ge\(CCID\) options on its DCCP-Response, these options can')100.8 549.6
Q 2.75(ta)-.198 G(ppear on)-2.75 E(an)100.8 562.6 Q 2.75(yo)-.165 G
(ther pack)-2.75 E 2.75(et.\) The)-.11 F(serv)2.75 E
(er MUST treat such options as non-understood.)-.165 E(Thus, it will)5.5
E(reset the connection on encountering a Mandatory CCID-speci\214c opti\
on, send an empty)100.8 575.6 Q(Con\214rm for a non-Mandatory Change op\
tion for a CCID-speci\214c feature, and ignore other)100.8 588.6 Q
(options.)100.8 601.6 Q/F2 11/Times-Bold@0 SF(11.)72 627.6 Q/F3 14
/Times-Bold@0 SF(Ackno)5.5 E(wledgements)-.14 E F0
(Congestion control requires recei)100.8 644.2 Q -.165(ve)-.275 G
(rs to transmit information about pack).165 E(et losses and ECN)-.11 E
(marks to senders.)100.8 657.2 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 670.2 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 683.2 Q 2.75
(ym)-.165 G(ust use, ho)-2.75 E 2.75(wt)-.275 G(he)-2.75 E 2.75(ys)-.165
G(hould be congestion controlled, and so on.)-2.75 E(Most ackno)100.8
699.8 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
712.8 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 60])-.165 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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(rC).165 G
(CID 2, TCP-lik)-2.75 E 2.75(eC)-.11 G(ongestion Control, DCCP B uses)
-2.75 E(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)2.75 E -.165(ve)-.165 G(,).165 E
(DCCP A must occasionally ackno)100.8 545 Q(wledge a pure ackno)-.275 E
(wledgement from DCCP B, so that)-.275 E 2.75(Bc)100.8 558 S
(an free old Ack V)-2.75 E(ector state.)-1.221 E -.165(Fo)5.5 G 2.75(ri)
.165 G(nstance, A might send a DCCP-DataAck pack)-2.75 E(et)-.11 E
-2.365 -.275(ev e)100.8 571 T(ry no).275 E 2.75(wa)-.275 G
(nd then, instead of DCCP-Data.)-2.75 E
(In contrast, for CCID 3, TFRC Congestion)5.5 E(Control, DCCP B')100.8
584 Q 2.75(sa)-.605 G(ckno)-2.75 E
(wledgements generally need not be reliable, since the)-.275 E 2.75(yc)
-.165 G(ontain)-2.75 E(cumulati)100.8 597 Q .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)5.5 E(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 61])-.165 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 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; for CCID 2, this period is the maximum of 0.2 seconds and tw)-.11
E 2.75(or)-.11 G(ound-trip)-2.75 E 2.75(times. The)100.8 137 R
(A-to-B CCID de\214nes ho)2.75 E 2.75(wD)-.275 G
(CCP A handles acks-of-acks once DCCP B has)-2.75 E(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(CCID 2, TCP-lik)5.5 E 2.75
(eC)-.11 G(ongestion Control, use Ack Ratio for)-2.75 E(ackno)100.8 571
Q(wledgement congestion control.)-.275 E
(Other CCIDs can ignore Ack Ratio if the)5.5 E 2.75(yp)-.165 G(erform)
-2.75 E(congestion control on ackno)100.8 584 Q
(wledgements in some other w)-.275 E(ay)-.11 E(.)-.715 E
(Ack Ratio has feature number 5, and is non-ne)100.8 600.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 2.75(alues. If)-.275 F(Ack Ratio/A is four)100.8 613.6 Q 2.75
(,t)-.44 G(hen DCCP B will send at least one ackno)-2.75 E
(wledgement pack)-.275 E(et for)-.11 E -2.365 -.275(ev e)100.8 626.6 T
(ry four data pack).275 E(ets sent by DCCP A.)-.11 E
(DCCP A sends a "Change L\(Ack Ratio\)" option)5.5 E
(to notify DCCP B of its ack ratio.)100.8 639.6 Q(An Ack Ratio v)5.5 E
(alue of zero indicates that the rele)-.275 E -.275(va)-.275 G(nt).275 E
(half-connection does not use an Ack Ratio to control its ackno)100.8
652.6 Q(wledgement rate.)-.275 E(Ne)5.5 E(w)-.275 E(connections start w\
ith Ack Ratio 2 for both endpoints; this Ack Ratio results in)100.8
665.6 Q(ackno)100.8 678.6 Q(wledgement beha)-.275 E
(vior analogous to TCP')-.22 E 2.75(sd)-.605 G(elayed acks.)-2.75 E(Ack\
 Ratio should be treated as a guideline rather than a strict requiremen\
t.)100.8 695.2 Q 1.76 -.88(We i)5.5 H(ntend Ack).88 E
(Ratio-controlled ackno)100.8 708.2 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 721.2 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
-.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 62])-.165 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(there is re)100.8 85 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 98 Q 5.5(.I)-.715 G 2.75(np)-5.5
G(articular:)-2.75 E 12.65<8352>100.8 114.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 127.6 Q 2.75(ets. The)-.11 F
(Ack Ratio does not apply to piggyback)2.75 E(ed)-.11 E(ackno)117.3
140.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 153.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 166.6 Q
(ets to maintain the rate of one)-.11 E(ackno)117.3 179.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 196.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 209.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 222.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
235.2 Q(ime options \(Section 13.2\) to help the sender)-.385 E
(calculate round-trip times.)117.3 248.2 Q 12.65<8352>100.8 264.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(each pack)117.3 277.8 Q(et is ackno)-.11 E
(wledged within at most T seconds of its receipt.)-.275 E(The def)5.5 E
(ault v)-.11 E(alue)-.275 E
(of T should be 0.2 seconds, as is common in TCP implementations.)117.3
290.8 Q(This may lead to)5.5 E(sending more ackno)117.3 303.8 Q
(wledgement pack)-.275 E(ets than Ack Ratio w)-.11 E(ould suggest.)-.11
E 12.65<8352>100.8 320.4 S(ecei)-12.65 E -.165(ve)-.275 G
(rs SHOULD send ackno).165 E(wledgements immediately on recei)-.275 E
(ving mark)-.275 E(ed)-.11 E(pack)117.3 333.4 Q(ets, or pack)-.11 E
(ets whose out-of-order sequence numbers potentially indicate loss.)-.11
E(Ho)117.3 346.4 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(here is no need to send such immediate ackno).44 E
(wledgements for mark)-.275 E(ed)-.11 E(pack)117.3 359.4 Q
(ets more than once per round-trip time.)-.11 E 12.65<8352>100.8 376 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 389 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 402 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 415 Q
-.165(ve)-.275 G 2.75(rM).165 G(UST ensure that it al)-2.75 E -.11(wa)
-.11 G(ys obtains suf).11 E(\214cient ackno)-.275 E(wledgement loss)
-.275 E(and mark information or f)117.3 428 Q
(all back to Ack Ratio when suf)-.11 E(\214cient information is not)
-.275 E -.22(av)117.3 441 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 467 Q/F2 13/Times-Bold@0 SF(Ack V)5.5 E
(ector Options)-1.3 E F0(The Ack V)100.8 483.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 496.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 509.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 528.6 Q
(|0010011?| Length |SSLLLLLL|SSLLLLLL|SSLLLLLL|)100.8 541.6 Q(...)13.2 E
(+--------+--------+--------+--------+--------+--------)100.8 554.6 Q
52.8(Type=38/39 \\___________)100.8 567.6 R(Vector ___________...)6.6 E
F0(The tw)100.8 586.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 599.6 Q(Section 12.2 describes this further)
5.5 E(.)-.605 E(The v)100.8 616.2 Q
(ector itself consists of a series of bytes, each of whose encoding is:)
-.165 E F3 6.6(01234567)107.4 635.2 S(+-+-+-+-+-+-+-+-+)100.8 648.2 Q
(|Sta| Run Length|)100.8 661.2 Q(+-+-+-+-+-+-+-+-+)100.8 674.2 Q F0
(Sta[te] occupies the most signi\214cant tw)100.8 693.2 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 F1(0)129.6 709.8 Q F0 -.165(Pa)23.3
G(ck).165 E(et recei)-.11 E -.165(ve)-.275 G 2.75(d\().165 G
(and not ECN Congestion Experienced\).)-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.4. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(1)129.6
85 Q F0 -.165(Pa)23.3 G(ck).165 E(et recei)-.11 E -.165(ve)-.275 G 2.75
(dw).165 G(ith ECN Congestion Experienced \("ECN mark)-2.75 E(ed" for)
-.11 E(short\).)158.4 98 Q F1(2)129.6 114.6 Q F0(Reserv)23.3 E(ed.)-.165
E F1(3)129.6 131.2 Q F0 -.165(Pa)23.3 G(ck).165 E(et not yet recei)-.11
E -.165(ve)-.275 G(d.).165 E(Run Length, the least signi\214cant six bi\
ts of each byte, speci\214es ho)100.8 147.8 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 160.8 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 173.8 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
186.8 Q(The \214rst byte in the \214rst Ack V)100.8 203.4 Q
(ector option refers to the pack)-1.221 E(et indicated in the)-.11 E
(Ackno)100.8 216.4 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 229.4 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
242.4 Q 2.75(.\) If)-.605 F(an Ack V)2.75 E
(ector contains the decimal v)-1.221 E(alues 0,192,3,64,5 and the)-.275
E(Ackno)100.8 255.4 Q(wledgement Number is decimal 100, then:)-.275 E
-.165(Pa)129.6 272 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
288.6 S(ck).165 E(et 99 w)-.11 E(as lost \(State 3, Run Length 0\).)-.11
E -.165(Pa)129.6 305.2 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 321.8 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 338.4 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 355 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 368 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 381 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
394 Q(Ack V)100.8 410.6 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 423.6 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 436.6 Q(xplanation.\))-.165 E 11(1. P)100.8
453.2 R(ack)-.165 E(ets reported as State 0 or State 1 MUST ha)-.11 E
.33 -.165(ve b)-.22 H(een processed by the recei).165 E(ving)-.275 E
(DCCP stack.)122.8 466.2 Q(In particular)5.5 E 2.75(,t)-.44 G
(heir options must ha)-2.75 E .33 -.165(ve b)-.22 H(een processed.).165
E(An)5.5 E 2.75(yd)-.165 G(ata on the)-2.75 E(pack)122.8 479.2 Q
(et need not ha)-.11 E .33 -.165(ve b)-.22 H(een deli).165 E -.165(ve)
-.275 G(red to the recei).165 E(ving application; in f)-.275 E
(act, the data may)-.11 E(ha)122.8 492.2 Q .33 -.165(ve b)-.22 H
(een dropped.).165 E 11(2. P)100.8 508.8 R(ack)-.165 E
(ets reported as State 3 MUST NO)-.11 E 2.75(Th)-.44 G -2.475 -.22(av e)
-2.75 H(been recei)2.97 E -.165(ve)-.275 G 2.75(db).165 G 2.75(yD)-2.75
G(CCP)-2.75 E 5.5(.F)-1.221 G(eature)-5.5 E(ne)122.8 521.8 Q
(gotiations and options on such pack)-.165 E(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 534.8 Q(wledgement Number MUST NO)-.275 E 2.75(Tc)-.44 G
(orrespond to such a pack)-2.75 E(et.)-.11 E -.165(Pa)100.8 551.4 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 SHOULD be reported as Recei)
-.275 E -.165(ve)-.275 G 2.75(do).165 G(r)-2.75 E(Recei)100.8 564.4 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 577.4
Q(The Data Dropped option informs the)5.5 E(sender that some pack)100.8
590.4 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 607 Q(ector options that, together)-1.221 E 2.75(,r)-.44 G
(eport the status of more pack)-2.75 E(ets than ha)-.11 E -.165(ve)-.22
G(actually been sent SHOULD be considered in)100.8 620 Q -.275(va)-.44 G
2.75(lid. The).275 F(recei)2.75 E(ving DCCP SHOULD either)-.275 E(ignor\
e the options or reset the connection with Reset Code 5, "Option Error"\
.)100.8 633 Q -.165(Pa)5.5 G(ck).165 E(ets that)-.11 E(ha)100.8 646 Q
-.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 SHOULD be treated as "not yet recei)-1.221 E -.165(ve)
-.275 G(d").165 E(\(State 3\) by the sender)100.8 659 Q(.)-.605 E
(Appendix A pro)100.8 675.6 Q(vides a non-normati)-.165 E .33 -.165
(ve d)-.275 H(escription of the details of DCCP).165 E(ackno)100.8 688.6
Q(wledgement handling, in the conte)-.275 E(xt of an abstract Ack V)
-.165 E(ector implementation.)-1.221 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 64])-.165 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF 2.75
(11.4.1. Ack)72 85 R -1.1(Ve)2.75 G(ctor Consistency)1.1 E F0 2.75(AD)
100.8 101.6 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 114.6 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
127.6 Q(\(Information about a)5.5 E
(sequence number is generally repeated in e)100.8 140.6 Q -.165(ve)-.275
G(ry ack until the HC-Sender ackno).165 E(wledges an)-.275 E 2.75
(ack. In)100.8 153.6 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 166.6 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 179.6 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 196.2 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 209.2 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 222.2 Q 12.65<8354>100.8 238.8 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 251.8 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
264.8 Q 12.65<8354>100.8 281.4 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 294.4 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 311 T(ope with these situations, HC-Sender DCCP implementat\
ions SHOULD combine).88 E(multiple recei)100.8 324 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 343 Q 19.8(013)301.8 356 S
(+---+---+---+)288.6 369 Q 6.6(0|0|)275.4 382 S(0/1| 0 |)-6.6 E 26.4
(Old +---+---+---+)235.8 395 R 6.6(1|1|1|1|)275.4 408 S 19.8
(State +---+---+---+)229.2 421 R 6.6(3|0|1|3|)275.4 434 S(+---+---+---+)
288.6 447 Q F0 1.76 -.88(To r)100.8 466 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 479 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 492 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 505 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
(implementation will be indif)100.8 518 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 534.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 547.6 T
(ntually report to the HC-Sender on one or more ackno).275 E
(wledgements, according to the)-.275 E(follo)100.8 560.6 Q(wing table:)
-.275 E F2(Received Packet)282 579.6 Q 19.8(013)301.8 592.6 S
(+---+---+---+)288.6 605.6 Q 6.6(0|0|)275.4 618.6 S(0/1| 0 |)-6.6 E 19.8
(Stored +---+---+---+)222.6 631.6 R 6.6(1|)275.4 644.6 S(0/1| 1 | 1 |)
-6.6 E 19.8(State +---+---+---+)229.2 657.6 R 6.6(3|0|1|3|)275.4 670.6 S
(+---+---+---+)288.6 683.6 Q F0(This table equals the sender')100.8
702.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 715.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 -.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 65])-.165 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E 2.75(AH)100.8 85 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 98 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 111 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 124 Q("lost" pack)100.8 137 Q(et une)-.11 E
(xpectedly sho)-.165 E
(ws up \(the transition from State 3 to State 0\).)-.275 E/F1 11
/Times-Bold@0 SF 2.75(11.4.2. Ack)72 163 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 179.6 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 192.6 Q
(From oldest to youngest, these are:)5.5 E 11(1. P)100.8 209.2 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 222.2 Q -.165(ve)-.275
G 2.75(dt).165 G(he ackno)-2.75 E(wledgements.)-.275 E 11(2. P)100.8
238.8 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 251.8 Q -.165(ve)-.275 G 2.75
(dt).165 G(he ackno)-2.75 E(wledgements.)-.275 E 11(3. P)100.8 268.4 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 285 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 301.6 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 314.6 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 327.6 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 340.6 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 353.6 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 366.6 Q
(ets, and shrinks because the data pack)-.11 E(ets' Ackno)-.11 E
(wledgement Numbers will)-.275 E(ackno)100.8 379.6 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 F1(11.5.)72 405.6 Q/F2 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 422.2 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 435.2 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
448.2 Q(ets were dropped.)-.11 E(Send)5.5 E(Ack V)100.8 461.2 Q
(ector is mandatory for some CCIDs, and optional for others.)-1.221 E
(Send Ack V)100.8 477.8 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 490.8 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 503.8 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(Ack V)100.8 516.8 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 529.8 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 542.8 Q
(ector options as part of its ackno)-1.221 E(wledgement)-.275 E(traf)
100.8 555.8 Q(\214c.)-.275 E F1(11.6.)72 581.8 Q F2(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 598.4 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 611.4 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 624.4 Q(et with a Slo)-.11 E(w)-.275 E(Recei)100.8 637.4 Q -.165
(ve)-.275 G 2.75(ro).165 G 2.75(ption. Ho)-2.75 F(we)-.275 E -.165(ve)
-.275 G .88 -.44(r, t).165 H(he Slo).44 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)-2.75 E
(HC-Sender need not reduce its sending rate.)100.8 650.4 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)-2.75 E(to slo)100.8 663.4 Q 2.75(wd)
-.275 G -.275(ow)-2.75 G 2.75(nb).275 G 2.75(yd)-2.75 G(ropping pack)
-2.75 E(ets, with or without Data Dropped, or reporting f)-.11 E
(alse ECN)-.11 E 2.75(marks.\) APIs)100.8 676.4 R(should let recei)2.75
E -.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).44 E(determine whether or not their recei)
100.8 689.4 Q -.165(ve)-.275 G(rs are Slo).165 E -.715(w.)-.275 G(Slo)
100.8 706 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 -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(11.6. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF(+--------+)
100.8 85 Q(|00000010|)100.8 98 Q(+--------+)100.8 111 Q(Type=2)107.4 124
Q F0(Slo)100.8 143 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 156 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 169 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 or)-2.75 E
(by switching to a lossier compression algorithm.)100.8 182 Q
(The sending application should not react to Slo)100.8 198.6 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 211.6 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 224.6 Q(might o)100.8 237.6 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 250.6 Q(The Slo)5.5 E 2.75(wR)-.275
G(ecei)-2.75 E -.165(ve)-.275 G 2.75(ro).165 G
(ption is not appropriate for this case; a)-2.75 E(CPU-bound recei)100.8
263.6 Q -.165(ve)-.275 G 2.75(rs).165 G(hould not ask for Slo)-2.75 E
2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(ro).165 G
(ptions to be sent.)-2.75 E(Slo)100.8 280.2 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/F2 11/Times-Bold@0 SF(11.7.)72
306.2 Q/F3 13/Times-Bold@0 SF(Reset Congestion State Option)5.5 E F0
(An HC-Recei)100.8 322.8 Q -.165(ve)-.275 G 2.75(rs).165 G(ends the Res\
et Congestion State option to its sender to force the sender)-2.75 E
(to reset its congestion state -- that is, to "slo)100.8 335.8 Q 2.75
(ws)-.275 G(tart", as if the connection were be)-2.75 E(ginning)-.165 E
(ag)100.8 348.8 Q 2.75(ain. Reset)-.055 F
(Congestion State is a one-byte option.)2.75 E F1(+--------+)100.8 367.8
Q(|00000011|)100.8 380.8 Q(+--------+)100.8 393.8 Q(Type=3)107.4 406.8 Q
F0(The Reset Congestion State option is reserv)100.8 425.8 Q
(ed for the v)-.165 E(ery fe)-.165 E 2.75(wc)-.275 G
(ases when an endpoint)-2.75 E(kno)100.8 438.8 Q
(ws that the congestion properties of a path ha)-.275 E .33 -.165(ve c)
-.22 H 2.75(hanged. Currently).165 F 2.75(,t)-.715 G(his reduces to)
-2.75 E(mobility: a DCCP endpoint on a mobile host MUST send Reset Cong\
estion State to its)100.8 451.8 Q
(peer after the mobile host changes address or path.)100.8 464.8 Q
(DCCP endpoints MUST NO)5.5 E 2.75(Tu)-.44 G(se)-2.75 E
(Reset Congestion State for other purposes.)100.8 477.8 Q F2(11.8.)72
503.8 Q F3(Data Dr)5.5 E(opped Option)-.234 E F0(The Data Dropped optio\
n indicates that the application data on one or more recei)100.8 520.4 Q
-.165(ve)-.275 G(d).165 E(pack)100.8 533.4 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 546.4 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 559.4 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 572.4 Q(ferent kinds of loss; this dif)-.275 E(fers)-.275 E
(from TCP)100.8 585.4 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 602 Q(xplicitly speci\214ed otherwise, DCCP congestion \
control mechanisms MUST react)-.165 E(as if each Data Dropped pack)100.8
615 Q(et w)-.11 E(as mark)-.11 E
(ed as ECN Congestion Experienced by the)-.11 E(netw)100.8 628 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 641 Q(ets, b)-.11 E
(ut DCCP CCIDs MUST react)-.22 E(conserv)100.8 654 Q(ati)-.275 E -.165
(ve)-.275 G(ly to Data Dropped until this research is done.).165 E
(Section 11.8.2, belo)5.5 E -.715(w,)-.275 G
(describes congestion responses for all current Drop Codes.)100.8 667 Q
(If a recei)100.8 683.6 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 696.6 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 709.6 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 722.6 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 -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(11.8. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(processed.)100.8 85 Q
(The option')100.8 101.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 120.6 Q
(|00101000| Length | Block)100.8 133.6 Q 6.6(|B)13.2 G 6.6(lock |)-6.6 F
6.6(Block | ...)6.6 F
(+--------+--------+--------+--------+--------+--------)100.8 146.6 Q
59.4(Type=40 \\___________)107.4 159.6 R(Vector ___________ ...)6.6 E F0
(The V)100.8 178.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 191.6 Q
2.75(oc)-.11 G(hoices:)-2.75 E F1 99 6.6(01234567 01234567)107.4 210.6 T
99(+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+)100.8 223.6 R(|0| Run Length)
100.8 236.6 Q 46.2(|o)13.2 G 46.2(r|)-46.2 G(1|DrpCd|Run Len|)-46.2 E 99
(+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+)100.8 249.6 R(Normal Block)114
262.6 Q(Drop Block)145.2 E F0
(The \214rst byte in the \214rst Data Dropped option refers to the pack)
100.8 281.6 Q(et indicated in the)-.11 E(Ackno)100.8 294.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 307.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 320.6 Q(wledgement Number)-.275 E
2.75(.\) Normal)-.605 F(Blocks, which ha)2.75 E .33 -.165(ve h)-.22 H
(igh bit 0, indicate that an).165 E(y)-.165 E(recei)100.8 333.6 Q -.165
(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E
(ets in the Run Length had their data deli)-.11 E -.165(ve)-.275 G
(red to the application.).165 E(Drop)5.5 E(Blocks, which ha)100.8 346.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)-.11
E(deli)100.8 359.6 Q -.165(ve)-.275 G(red as usual.).165 E
(The 3-bit Drop Code [DrpCd] \214eld says what happened; generally)5.5 E
2.75(,n)-.715 G(o)-2.75 E(data from that pack)100.8 372.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").165 E
(MUST be included in Normal Blocks; pack)100.8 385.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)-2.75 E(treated as if the)100.8 398.6 Q 2.75(yw)
-.165 G(ere in a Normal Block.)-2.75 E
(De\214ned Drop Codes for Drop Blocks are:)5.5 E/F2 11/Times-Bold@0 SF
(0)129.6 415.2 Q F0 -.165(Pa)23.3 G(ck).165 E
(et data dropped due to protocol constraints.)-.11 E -.165(Fo)5.5 G 2.75
(re).165 G(xample, the data w)-2.915 E(as)-.11 E
(included on a DCCP-Request pack)158.4 428.2 Q(et, b)-.11 E
(ut the recei)-.22 E(ving application does not)-.275 E(allo)158.4 441.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
454.2 Q 2.75(wC)-.275 G(hecksum Co)-2.75 E -.165(ve)-.165 G(rage.).165 E
F2(1)129.6 470.8 Q F0 -.165(Pa)23.3 G(ck).165 E
(et data dropped because the application is no longer listening.)-.11 E
(See)5.5 E(Section 11.8.2.)158.4 483.8 Q F2(2)129.6 500.4 Q F0 -.165(Pa)
23.3 G(ck).165 E(et data dropped in a recei)-.11 E .33 -.165(ve b)-.275
H(uf)-.055 E(fer)-.275 E 5.5(.S)-.605 G(ee Section 11.8.2.)-5.5 E F2(3)
129.6 517 Q F0 -.165(Pa)23.3 G(ck).165 E
(et data dropped due to corruption.)-.11 E(See Section 9.3.)5.5 E F2
(4-6)129.6 533.6 Q F0(Reserv)14.137 E(ed.)-.165 E F2(7)129.6 550.2 Q F0
-.165(Pa)23.3 G(ck).165 E(et data 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 Section)-5.5 E(9.3.)158.4 563.2 Q -.165(Fo)100.8 579.8
S 2.75(re).165 G
(xample, if a Data Dropped option contains the decimal v)-2.915 E
(alues 0,160,3,162, the)-.275 E(Ackno)100.8 592.8 Q
(wledgement Number is 100, and an Ack V)-.275 E(ector reported all pack)
-1.221 E(ets as recei)-.11 E -.165(ve)-.275 G(d,).165 E(then:)100.8
605.8 Q -.165(Pa)129.6 622.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
635.4 Q -.165(Pa)129.6 652 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 665 Q
-.165(Pa)129.6 681.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 698.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 711.2 Q -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(11.8. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Run lengths of more than 128 \
\(for Normal Blocks\) or 16 \(for Drop Blocks\) must be)100.8 85 Q
(encoded in multiple Blocks.)100.8 98 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 111 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 124 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 137 Q(wledged\
 than can \214t in 253 bytes of Data Dropped, then multiple Data Droppe\
d)-.275 E(options can be sent.)100.8 150 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 166.6 Q 2.75(,r)
-.44 G(eport the status of more pack)-2.75 E(ets than)-.11 E(ha)100.8
179.6 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
192.6 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 205.6 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(respond to in)
100.8 218.6 Q -.275(va)-.44 G(lid Data Dropped options by ignoring them\
, or by resetting the connection).275 E
(with Reset Code 5, "Option Error".)100.8 231.6 Q 2.75(AD)100.8 248.2 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 261.2 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 274.2 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 287.2 R(interf)
2.75 E
(ace should not let applications reduce the "seriousness" of a pack)-.11
E(et')-.11 E(s)-.605 E(Drop Code; for e)100.8 300.2 Q
(xample, the application should not be able to upgrade a pack)-.165 E
(et from)-.11 E(deli)100.8 313.2 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/F1 11/Times-Bold@0 SF 2.75
(11.8.1. Data)72 339.2 R(Dr)2.75 E(opped and Normal Congestion Response)
-.198 E F0(When deciding on a response to a particular ackno)100.8 355.8
Q(wledgement or set of ackno)-.275 E(wledgements)-.275 E
(containing Data Dropped pack)100.8 368.8 Q
(ets, a congestion control mechanism MUST consider)-.11 E(dropped pack)
100.8 381.8 Q(ets and ECN marks \(including ECN-mark)-.11 E(ed pack)-.11
E(ets that are included in Data)-.11 E
(Dropped\), as well as the Data Dropped pack)100.8 394.8 Q 2.75(ets. F)
-.11 F(or windo)-.165 E(w-based mechanisms, the v)-.275 E(alid)-.275 E
(response space is de\214ned as follo)100.8 407.8 Q(ws.)-.275 E
(Assume an old windo)100.8 424.4 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 437.4 Q(ets were Data Dropped \(so W_ne)-.11 E
(w1 contains only the normal congestion)-.275 E(response\), and a ne)
100.8 450.4 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 463.4 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 476.4 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 493 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 506 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)
100.8 519 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(Non-windo)100.8 535.6 Q
(w-based congestion control mechanisms MUST beha)-.275 E .33 -.165(ve a)
-.22 H(nalogously).165 E(.)-.715 E F1 2.75(11.8.2. P)72 561.6 R
(articular Dr)-.11 E(op Codes)-.198 E F0
(Drop Code 0 \("protocol constraints"\) does not indicate an)100.8 578.2
Q 2.75(yk)-.165 G(ind of congestion, so the)-2.75 E(sender')100.8 591.2
Q 2.75(sC)-.605 G(CID SHOULD react to non-mark)-2.75 E(ed pack)-.11 E
(ets with Drop Code 0 as if the)-.11 E 2.75(yw)-.165 G(ere)-2.75 E
(recei)100.8 604.2 Q -.165(ve)-.275 G 2.75(d. Ho).165 F(we)-.275 E -.165
(ve)-.275 G .88 -.44(r, t).165 H(he sending endpoint SHOULD NO).44 E
2.75(Ts)-.44 G(end data until it belie)-2.75 E -.165(ve)-.275 G 2.75(st)
.165 G(he)-2.75 E(protocol constraint isn')100.8 617.2 Q 2.75(tr)-.198 G
(ele)-2.75 E -.275(va)-.275 G(nt an).275 E 2.75(yl)-.165 G(onger)-2.75 E
(.)-.605 E(Drop Code 1 \("application no longer listening"\) means the \
application running at the)100.8 633.8 Q
(endpoint that sent the option is no longer listening for data.)100.8
646.8 Q -.165(Fo)5.5 G 2.75(re).165 G(xample, a serv)-2.915 E(er might)
-.165 E(close its recei)100.8 659.8 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)-.275 E 2.75(client. This)100.8 672.8
R -.11(wo)2.75 G(uld limit the amount of state a).11 E -.275(va)-.22 G
(ilable at the serv).275 E(er for incoming data, and)-.165 E(thus reduc\
e the potential damage from certain denial-of-service attacks.)100.8
685.8 Q 2.75(AD)5.5 G(ata Dropped)-2.75 E
(option containing Drop Code 1 SHOULD be sent whene)100.8 698.8 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)-2.75 E 2.75(an)100.8 711.8 S
(on-listening application.)-2.75 E
(Once an endpoint reports Drop Code 1 for a pack)5.5 E(et, it)-.11 E
(SHOULD report Drop Code 1 for e)100.8 724.8 Q -.165(ve)-.275 G
(ry succeeding data pack).165 E(et on that half-connection;)-.11 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 216.51(yd Section)-.11 F
2.75(11.8.2. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(once an endpoint recei)100.8 85
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)-.165 E -2.365 -.275(ev e)100.8 98 T 2.75
(rb).275 G 2.75(ed)-2.75 G(eli)-2.75 E -.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 114.6 Q .33 -.165(ve b)-.275 H(uf)-.055 E
(fer drop"\) indicates congestion inside the recei)-.275 E(ving host.)
-.275 E -.165(Fo)5.5 G(r).165 E(instance, if a drop-from-tail k)100.8
127.6 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)-2.75 E(data, that pack)100.8 140.6 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)-2.75 E(comple)100.8 153.6 Q 2.75(xs)-.165
G(ock)-2.75 E(et b)-.11 E(uf)-.22 E(fer)-.275 E 2.75(,t)-.44 G
(he dropped pack)-2.75 E(et should be reported as Drop Code 2.)-.11 E
(DCCP)5.5 E(implementations may also pro)100.8 166.6 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)-.11 E(as Drop Code 2, incidicating th\
at the application ran out of space in its user)100.8 179.6 Q(-le)-.22 E
-.165(ve)-.275 G 2.75(lr).165 G(ecei)-2.75 E -.165(ve)-.275 G -.22(bu)
100.8 192.6 S -.275(ff).22 G(er).275 E 5.5(.\()-.605 G(Ho)-5.5 E(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, i).165 H 2.75(ti).44 G 2.75(sn)
-2.75 G(ot generally useful to report pack)-2.75 E
(ets as dropped due to Drop Code)-.11 E 2.75(2a)100.8 205.6 S
(fter more than a couple round-trip times ha)-2.75 E .33 -.165(ve p)-.22
H 2.75(assed. The).165 F(HC-Sender may ha)2.75 E -.165(ve)-.22 G(for)
100.8 218.6 Q(gotten its ackno)-.198 E(wledgement state for the pack)
-.275 E(et by that time, so the Data Dropped report)-.11 E(will ha)100.8
231.6 Q .33 -.165(ve n)-.22 H 2.75(oe).165 G -.275(ff)-2.75 G 2.75
(ect.\) Ev).275 F(ery pack)-.165 E(et ne)-.11 E(wly ackno)-.275 E
(wledged as Drop Code 2 SHOULD reduce)-.275 E(the sender')100.8 244.6 Q
2.75(si)-.605 G(nstantaneous rate by one pack)-2.75 E
(et per round trip time, using whate)-.11 E -.165(ve)-.275 G(r).165 E
(mechanism is appropriate for the rele)100.8 257.6 Q -.275(va)-.275 G
(nt CCID.).275 E(Further details may be a)5.5 E -.275(va)-.22 G
(ilable in CCID).275 E(documents.)100.8 270.6 Q(The other Drop Codes, n\
amely Drop Code 3 \("corrupt"\), Drop Code 7 \("deli)100.8 287.2 Q -.165
(ve)-.275 G(red).165 E(corrupt"\), and reserv)100.8 300.2 Q
(ed Drop Codes 4-6, MUST currently be treated lik)-.165 E 2.75(eE)-.11 G
(CN Congestion)-2.75 E(Experienced marks.)100.8 313.2 Q/F1 11
/Times-Bold@0 SF(12.)72 339.2 Q/F2 14/Times-Bold@0 SF
(Explicit Congestion Noti\214cation)5.5 E F0
(The DCCP protocol is fully ECN-a)100.8 355.8 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 368.8 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
(control the rate at which ackno)100.8 381.8 Q
(wledgements are generated \(with options lik)-.275 E 2.75(eA)-.11 G
(ck Ratio\);)-2.75 E(this means that ackno)100.8 394.8 Q
(wledgements are generally congestion-controlled, and may ha)-.275 E
-.165(ve)-.22 G(ECN-Capable T)100.8 407.8 Q(ransport set.)-.385 E 2.75
(AC)100.8 424.4 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 437.4 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 450.4 Q(ets whene)-.11 E -.165(ve)-.275 G 2.75(rt).165 G(he recei)
-2.75 E -.165(ve)-.275 G 2.75(rh).165 G
(as its ECN Capable feature turned on and the rele)-2.75 E -.275(va)
-.275 G(nt).275 E(CCID allo)100.8 463.4 Q(ws it, unless the sending app\
lication indicates that ECN should not be used.)-.275 E(The rest of thi\
s section describes the ECN Capable feature and the interaction of the \
ECN)100.8 480 Q(Nonce with ackno)100.8 493 Q
(wledgement options such as Ack V)-.275 E(ector)-1.221 E(.)-.605 E F1
(12.1.)72 519 Q/F3 13/Times-Bold@0 SF(ECN Capable F)5.5 E(eatur)-.325 E
(e)-.234 E F0(The ECN Capable feature lets a DCCP inform its peer that \
it cannot read ECN bits from)100.8 535.6 Q(recei)100.8 548.6 Q -.165(ve)
-.275 G 2.75(dI).165 G 2.75(Ph)-2.75 G
(eaders, so the peer must not set ECN-Capable T)-2.75 E
(ransport on its pack)-.385 E(ets.)-.11 E
(ECN Capable has feature number 4, and is serv)100.8 565.2 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 578.2 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 Capable/A is one.)100.8 591.2 Q
(\(This is independent of whether it can set ECN bits on sent)5.5 E 2.75
(frames.\) DCCP)100.8 604.2 R 2.75(At)2.75 G
(hus sends a "Change L\(ECN Capable, 0\)" option to DCCP B to inform)
-2.75 E(it that A cannot read ECN bits.)100.8 617.2 Q(Ne)5.5 E 2.75(wc)
-.275 G(onnections start with ECN Capable 1 \(that is, ECN)-2.75 E
(capable\) for both endpoints.)100.8 630.2 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 MUST send Mandatory "Change L\(ECN C\
apable, 0\)")100.8 646.8 Q(options to the other endpoint until ackno)
100.8 659.8 Q(wledged \(by "Con\214rm R\(ECN Capable, 0\)"\) or the)
-.275 E(connection closes.)100.8 672.8 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 endpoint)-2.75 E
(sends "Con\214rm R\(ECN Capable, 0\)".)100.8 685.8 Q
(It SHOULD send Data Dropped options on its)5.5 E(ackno)100.8 698.8 Q(w\
ledgements, with Drop Code 0 \("protocol constraints"\), if the other e\
ndpoint does)-.275 E(send data inappropriately)100.8 711.8 Q(.)-.715 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(12.1. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(12.2.)72
85 Q/F2 13/Times-Bold@0 SF(ECN Nonces)5.5 E F0(Congestion a)100.8 101.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 114.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 127.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 140.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 153.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 166.6 Q
(ECN Nonces are a general mechanism to pre)100.8 183.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 196.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 209.2 Q
(In general, a protocol sender chooses between)5.5 E
(these code points randomly on its output pack)100.8 222.2 Q
(ets, remembering the sequence it chose.)-.11 E(The)5.5 E
(protocol recei)100.8 235.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 248.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 261.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
(drop has a 50% chance of guessing right and a)100.8 274.2 Q -.22(vo)
-.22 G(iding discipline.).22 E(The sender may react)5.5 E(puniti)100.8
287.2 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 300.2
Q(ger; one bit is enough to catch 50% of infractions.)-.165 E(In DCCP)
100.8 316.8 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
329.8 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 342.8 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 355.8 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 368.8 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 381.8 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 394.8 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
407.8 Q .33 -.165(ve b)-.22 H 2.75(een. It).165 F(can check)2.75 E
(this calculation ag)100.8 420.8 Q
(ainst the actual Nonce Echo, and complain if there is a mismatch.)-.055
E(\(The)5.5 E(Ack V)100.8 433.8 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 446.8 Q -.165(ve)-.275 G(rely limit Ack V).165 E(ector')-1.221
E 2.75(sc)-.605 G(ompressibility without pro)-2.75 E(viding much e)-.165
E(xtra protection.\))-.165 E(Gi)100.8 463.4 Q -.165(ve)-.275 G 2.75(na)
.165 G 2.75(nA)-2.75 G
(-to-B half-connection, DCCP A SHOULD set ECN Nonces on its pack)-2.75 E
(ets, and)-.11 E(remember which pack)100.8 476.4 Q
(ets had nonces, whene)-.11 E -.165(ve)-.275 G 2.75(rD).165 G
(CCP B reports that it is ECN Capable.)-2.75 E
(An ECN-capable endpoint MUST calculate and use the correct v)100.8
489.4 Q(alue for ECN Nonce Echo)-.275 E(when sending ackno)100.8 502.4 Q
(wledgement options.)-.275 E(An ECN-incapable endpoint, ho)5.5 E(we)
-.275 E -.165(ve)-.275 G -.44(r,).165 G
(SHOULD treat the ECN Nonce Echo as al)100.8 515.4 Q -.11(wa)-.11 G
(ys zero.).11 E(When a sender detects an ECN)5.5 E
(Nonce Echo mismatch, it SHOULD beha)100.8 528.4 Q .33 -.165(ve a)-.22 H
2.75(si).165 G 2.75(ft)-2.75 G(he recei)-2.75 E -.165(ve)-.275 G 2.75
(rh).165 G(ad reported one or more)-2.75 E(pack)100.8 541.4 Q
(ets as ECN-mark)-.11 E(ed \(instead of unmark)-.11 E 2.75(ed\). It)-.11
F(MA)2.75 E 2.75(Yt)-1.155 G(ak)-2.75 E 2.75(em)-.11 G(ore puniti)-2.75
E .33 -.165(ve a)-.275 H(ction, such as).165 E
(resetting the connection with Reset Code 11, "Aggression Penalty".)
100.8 554.4 Q(An ECN-incapable DCCP SHOULD ignore recei)100.8 571 Q
-.165(ve)-.275 G 2.75(dE).165 G(CN nonces and generate ECN)-2.75 E
(nonces of zero.)100.8 584 Q -.165(Fo)5.5 G 2.75(ri).165 G
(nstance, out of the tw)-2.75 E 2.75(oA)-.11 G(ck V)-2.75 E
(ector options, an ECN-incapable DCCP)-1.221 E(SHOULD generate Ack V)
100.8 597 Q(ector [Nonce 0] \(option 38\) e)-1.221 E(xclusi)-.165 E
-.165(ve)-.275 G(ly).165 E 5.5(.\()-.715 G(Ag)-5.5 E(ain, the ECN)-.055
E(Capable feature MUST be set to zero in this case.\))100.8 610 Q F1
(12.3.)72 636 Q F2(Other Aggr)5.5 E(ession P)-.234 E(enalties)-.26 E F0
(The ECN Nonce pro)100.8 652.6 Q(vides one w)-.165 E
(ay for a DCCP sender to disco)-.11 E -.165(ve)-.165 G 2.75(rt).165 G
(hat a recei)-2.75 E -.165(ve)-.275 G 2.75(ri).165 G(s)-2.75 E(misbeha)
100.8 665.6 Q 2.75(ving. There)-.22 F
(may be other mechanisms, and a recei)2.75 E -.165(ve)-.275 G 2.75(ro)
.165 G 2.75(rm)-2.75 G(iddlebox may also)-2.75 E(disco)100.8 678.6 Q
-.165(ve)-.165 G 2.75(rt).165 G(hat a sender is misbeha)-2.75 E
(ving -- sending more data than it should.)-.22 E(In an)5.5 E 2.75(yo)
-.165 G 2.75(ft)-2.75 G(hese)-2.75 E(cases, the entity that disco)100.8
691.6 Q -.165(ve)-.165 G(rs the misbeha).165 E(vior MA)-.22 E 2.75(Yr)
-1.155 G(eact by resetting the connection with)-2.75 E
(Reset Code 11, "Aggression Penalty".)100.8 704.6 Q 2.75(Ar)5.5 G(ecei)
-2.75 E -.165(ve)-.275 G 2.75(rt).165 G(hat detects mar)-2.75 E
(ginal \(meaning possibly)-.198 E(spurious\) sender misbeha)100.8 717.6
Q(vior MA)-.22 E 2.75(Yi)-1.155 G(nstead react with a Slo)-2.75 E 2.75
(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(ro).165 G(ption, or by)
-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 71])-.165 E 0 Cg EP
%%Page: 72 72
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(reporting some pack)100.8 85 Q
(ets as ECN mark)-.11 E(ed that were not, in f)-.11 E(act, mark)-.11 E
(ed.)-.11 E/F1 11/Times-Bold@0 SF(13.)72 111 Q/F2 14/Times-Bold@0 SF
-.252(Ti)5.5 G(ming Options).252 E F0(The T)100.8 127.6 Q(imestamp, T)
-.385 E(imestamp Echo, and Elapsed T)-.385 E
(ime options help DCCP endpoints)-.385 E -.165(ex)100.8 140.6 S
(plicitly measure round-trip times.).165 E F1(13.1.)72 166.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 183.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 202.2 Q 59.4(|00101001|00000110| Timestamp)100.8 215.2 R 59.4
(Value |)6.6 F(+--------+--------+--------+--------+--------+--------+)
100.8 228.2 Q 6.6(Type=41 Length=6)107.4 241.2 R F0
(The four bytes of option data carry the timestamp of this pack)100.8
260.2 Q(et in some undetermined)-.11 E 2.75(form. A)100.8 273.2 R
(DCCP recei)2.75 E(ving a T)-.275 E
(imestamp option SHOULD respond with a T)-.385 E(imestamp Echo)-.385 E
(option on the ne)100.8 286.2 Q(xt pack)-.165 E(et it sends.)-.11 E F1
(13.2.)72 312.2 Q F3(Elapsed T)5.5 E(ime Option)-.234 E F0
(This option is permitted in an)100.8 328.8 Q 2.75(yD)-.165 G(CCP pack)
-2.75 E(et that contains an Ackno)-.11 E(wledgement Number)-.275 E(.)
-.605 E(It indicates ho)100.8 341.8 Q 2.75(wm)-.275 G
(uch time, in tenths of milliseconds, has elapsed since the pack)-2.75 E
(et being)-.11 E(ackno)100.8 354.8 Q(wledged -- the pack)-.275 E
(et with the gi)-.11 E -.165(ve)-.275 G 2.75(nA).165 G(ckno)-2.75 E
(wledgement Number -- w)-.275 E(as recei)-.11 E -.165(ve)-.275 G(d.).165
E(The option may tak)100.8 367.8 Q 2.75(e4o)-.11 G 2.75(r6b)-2.75 G
(ytes, depending on the size of the Elapsed T)-2.75 E(ime v)-.385 E
(alue.)-.275 E(Elapsed T)100.8 380.8 Q
(ime helps correct round-trip time estimates when the g)-.385 E
(ap between recei)-.055 E(ving a)-.275 E(pack)100.8 393.8 Q
(et and ackno)-.11 E(wledging that pack)-.275 E
(et may be long -- in CCID 3, for e)-.11 E(xample, where)-.165 E(ackno)
100.8 406.8 Q(wledgements are sent infrequently)-.275 E(.)-.715 E F4
(+--------+--------+--------+--------+)100.8 425.8 Q 13.2
(|00101011|00000100| Elapsed)100.8 438.8 R 6.6(Time |)6.6 F
(+--------+--------+--------+--------+)100.8 451.8 Q 19.8(Type=43 Len=4)
107.4 464.8 R(+--------+--------+--------+--------+--------+--------+)
100.8 490.8 Q 72.6(|00101011|00000110| Elapsed)100.8 503.8 R 66(Time |)
6.6 F(+--------+--------+--------+--------+--------+--------+)100.8
516.8 Q 19.8(Type=43 Len=6)107.4 529.8 R F0(The option data, Elapsed T)
100.8 548.8 Q
(ime, represents an estimated upper bound on the amount of time)-.385 E
(elapsed since the pack)100.8 561.8 Q(et being ackno)-.11 E(wledged w)
-.275 E(as recei)-.11 E -.165(ve)-.275 G(d, with units of tenths of).165
E 2.75(milliseconds. If)100.8 574.8 R(Elapsed T)2.75 E
(ime is less than a second, the \214rst, smaller form of the option)
-.385 E(SHOULD be used.)100.8 587.8 Q(Elapsed T)5.5 E
(imes of more than 6.5535 seconds MUST be sent using the)-.385 E
(second form of the option.)100.8 600.8 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 613.8 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 e\
ndpoint determines that the other is reporting a)100.8 626.8 Q
(much-too-lar)100.8 639.8 Q(ge Elapsed T)-.198 E(ime.)-.385 E(Elapsed T)
100.8 656.4 Q
(ime is measured in tenths of milliseconds as a compromise between tw)
-.385 E(o)-.11 E(con\215icting goals.)100.8 669.4 Q(First, it pro)5.5 E
(vides enough granularity to reduce rounding error when)-.165 E
(measuring elapsed time o)100.8 682.4 Q -.165(ve)-.165 G 2.75(rf).165 G
(ast LANs; second, it allo)-2.86 E(ws most reasonable elapsed times to)
-.275 E(\214t into tw)100.8 695.4 Q 2.75(ob)-.11 G(ytes of data.)-2.75 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 72])-.165 E 0 Cg EP
%%Page: 73 73
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(13.3.)72
85 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 101.6 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 114.6 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 127.6 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 140.6 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 153.6 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 172.6 Q
66(|00101010|00000110| Timestamp)100.8 185.6 R 59.4(Echo |)6.6 F
(+--------+--------+--------+--------+--------+--------+)100.8 198.6 Q
19.8(Type=42 Len=6)107.4 211.6 R
(+--------+--------+------- ... -------+--------+--------+)100.8 237.6 Q
6.6(|00101010|00001000| Timestamp)100.8 250.6 R 13.2(Echo | Elapsed)6.6
F 6.6(Time |)6.6 F
(+--------+--------+------- ... -------+--------+--------+)100.8 263.6 Q
19.8(Type=42 Len=8)107.4 276.6 R(\(4 bytes\))46.2 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 302.6
Q 6.6(|00101010|00001010| Timestamp)100.8 315.6 R 13.2(Echo |)6.6 F
(Elapsed Time)26.4 E(|)19.8 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 328.6
Q 13.2(Type=42 Len=10)107.4 341.6 R(\(4 bytes\))46.2 E(\(4 bytes\))72.6
E F0(The \214rst four bytes of option data, T)100.8 360.6 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 373.6 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 386.6 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 399.6 S(receding pack)-2.75 E(et.)
-.11 E(The Elapsed T)100.8 416.2 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 429.2 Q(ving the pack)-.275 E(et whose timestamp is being echoed.)
-.11 E(This time)5.5 E(MUST be in tenths of milliseconds.)100.8 442.2 Q
(Elapsed T)5.5 E(ime is meant to help the T)-.385 E(imestamp sender)
-.385 E(separate the netw)100.8 455.2 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 time.)-2.75 E(This)5.5 E
(may be particularly important for CCIDs where ackno)100.8 468.2 Q
(wledgements are sent infrequently)-.275 E(,)-.715 E
(so that there might be considerable delay between recei)100.8 481.2 Q
(ving a T)-.275 E(imestamp option and)-.385 E
(sending the corresponding T)100.8 494.2 Q(imestamp Echo.)-.385 E 2.75
(Am)5.5 G(issing Elapsed T)-2.75 E(ime \214eld is equi)-.385 E -.275(va)
-.275 G(lent to).275 E(an Elapsed T)100.8 507.2 Q(ime of zero.)-.385 E
(The smallest v)5.5 E(ersion of the option SHOULD be used that can)-.165
E(hold the rele)100.8 520.2 Q -.275(va)-.275 G(nt Elapsed T).275 E
(ime v)-.385 E(alue.)-.275 E F1(14.)72 546.2 Q/F4 14/Times-Bold@0 SF
(Maximum P)5.5 E(ack)-.14 E(et Size)-.14 E F0 2.75(AD)100.8 562.8 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 575.8 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 588.8 Q(et size supported)-.11 E(by the path')100.8 601.8 Q 2.75
(sl)-.605 G(inks \(PMTU, the P)-2.75 E(ath Maximum T)-.165 E
(ransfer Unit\) [RFC 1191], and the lengths)-.385 E
(of the IP and DCCP headers.)100.8 614.8 Q 2.75(AD)100.8 631.4 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(DCCP applications should use the API to disco)100.8
644.4 Q -.165(ve)-.165 G 2.75(rt).165 G(he MPS.)-2.75 E(Generally)5.5 E
2.75(,t)-.715 G(he DCCP)-2.75 E(implementation will refuse to send an)
100.8 657.4 Q 2.75(yp)-.165 G(ack)-2.75 E
(et bigger than the MPS, returning an)-.11 E
(appropriate error to the application.)100.8 670.4 Q 2.75(AD)100.8 687 S
(CCP interf)-2.75 E(ace may allo)-.11 E 2.75(wa)-.275 G
(pplications to request that pack)-2.75 E(ets lar)-.11 E
(ger than PMTU be)-.198 E(fragmented on IPv4 netw)100.8 700 Q 2.75
(orks. This)-.11 F(only matters when CCMPS > PMTU; pack)2.75 E(ets lar)
-.11 E(ger)-.198 E(than CCMPS MUST be rejected re)100.8 713 Q -.055(ga)
-.165 G 2.75(rdless. Fragmentation).055 F(should not be the def)2.75 E
2.75(ault. The)-.11 F -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
233.01(yd Section)-.11 F 2.75(14. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(rest of this section assumes t\
he application has not requested fragmentation.)100.8 85 Q(The MPS repo\
rted to the application SHOULD be in\215uenced by the size e)100.8 101.6
Q(xpected to be)-.165 E(required for DCCP headers and options.)100.8
114.6 Q(If the application pro)5.5 E(vides data that, when)-.165 E
(combined with the options the DCCP implementation w)100.8 127.6 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 140.6 Q(et \(such as a)-.11 E
(DCCP-Ack\) or lo)100.8 153.6 Q
(wer the MPS, drop the data, and return an appropriate error to the)
-.275 E(application.)100.8 166.6 Q
(The PMTU SHOULD be initialized from the interf)100.8 183.2 Q
(ace MTU that will be used to send)-.11 E(pack)100.8 196.2 Q 2.75
(ets. The)-.11 F
(MPS will be initialized with the minimum of the PMTU and the CCMPS, if)
2.75 E(an)100.8 209.2 Q -.715(y.)-.165 G 1.76 -.88(To p)100.8 225.8 T
(erform classical PMTU disco).88 E -.165(ve)-.165 G(ry).165 E 2.75(,t)
-.715 G(he DCCP sender sets the IP Don')-2.75 E 2.75(tF)-.198 G
(ragment \(DF\))-2.75 E 2.75(bit. Ho)100.8 238.8 R(we)-.275 E -.165(ve)
-.275 G .88 -.44(r, i).165 H 2.75(ti).44 G 2.75(su)-2.75 G
(ndesirable for MTU disco)-2.75 E -.165(ve)-.165 G
(ry to occur on the initial connection setup).165 E(handshak)100.8 251.8
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 used)-.11 E
(during the connection, and performing MTU disco)100.8 264.8 Q -.165(ve)
-.165 G(ry on the initial handshak).165 E 2.75(em)-.11 G(ight)-2.75 E
(unnecessarily delay connection establishment.)100.8 277.8 Q
(Thus, DF SHOULD NO)5.5 E 2.75(Tb)-.44 G 2.75(es)-2.75 G(et on DCCP-)
-2.75 E(Request and DCCP-Response pack)100.8 290.8 Q
(ets. In addition DF SHOULD NO)-.11 E 2.75(Tb)-.44 G 2.75(es)-2.75 G
(et on DCCP-)-2.75 E(Reset pack)100.8 303.8 Q
(ets, although typically these w)-.11 E
(ould be small enough to not be a problem.)-.11 E(On all)5.5 E
(other DCCP pack)100.8 316.8 Q(ets, DF SHOULD be set.)-.11 E
(As speci\214ed in [RFC 1191], when a router recei)100.8 333.4 Q -.165
(ve)-.275 G 2.75(sap).165 G(ack)-2.75 E(et with DF set that is lar)-.11
E(ger than)-.198 E(the ne)100.8 346.4 Q(xt link')-.165 E 2.75(sM)-.605 G
(TU, it sends an ICMP Destination Unreachable message to the source of)
-2.75 E(the datagram with the Code indicating "fragmentation needed and\
 DF set" \(also kno)100.8 359.4 Q(wn as a)-.275 E("Datagram T)100.8
372.4 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 385.4 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 398.4 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 Section 7 of [RFC 1191].)100.8 411.4
Q(If the MTU gi)5.5 E -.165(ve)-.275 G 2.75(ni).165 G 2.75(nt)-2.75 G
(he)-2.75 E(message is greater than the current PMTU, the Datagram T)
100.8 424.4 Q(oo Big message is ignored, as)-.88 E
(described in [RFC 1191].)100.8 437.4 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).11 E
(endpoints behind certain \214re)100.8 450.4 Q -.11(wa)-.275 G(lls.\))
.11 E(If the DCCP implementation has decreased the PMTU, and the sendin\
g application)100.8 467 Q(attempts to send a pack)100.8 480 Q(et lar)
-.11 E(ger than the ne)-.198 E 2.75(wM)-.275 G
(PS, the API must refuse to send the pack)-2.75 E(et)-.11 E
(and return an appropriate error to the application.)100.8 493 Q
(The application should then use the API)5.5 E(to query the ne)100.8 506
Q 2.75(wv)-.275 G(alue of MPS.)-3.025 E(The k)5.5 E(ernel might ha)-.11
E .33 -.165(ve s)-.22 H(ome pack).165 E(ets b)-.11 E(uf)-.22 E
(fered for)-.275 E(transmission that are smaller than the old MPS, b)
100.8 519 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)-2.75 E(these pack)100.8
532 Q(ets with the DF bit cleared, or it MA)-.11 E 2.75(Yd)-1.155 G
(iscard these pack)-2.75 E(ets; it MUST NO)-.11 E(T)-.44 E
(transmit these datagrams with the DF bit set.)100.8 545 Q 2.75(AD)100.8
561.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
574.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 587.6 Q 2.75(os)-.11 G(econds, for e)-2.75 E(xample.)-.165 E 2.75
(AD)100.8 604.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 617.2 Q(et being reported w)-.11 E
(as not lost due congestion, and so for the)-.11 E
(purposes of congestion control it MA)100.8 630.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 643.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
656.2 Q(optimization if these ECN bits indicate that the pack)100.8
669.2 Q(et did not e)-.11 E(xperience congestion prior)-.165 E
(to reaching the router whose link MTU it e)100.8 682.2 Q(xceeded.)-.165
E 2.75(AD)100.8 698.8 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
711.8 Q(ers cannot dri)-.11 E .33 -.165(ve t)-.275 H(he PMTU).165 E(do)
100.8 724.8 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 -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(14. [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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Number on the ICMP error')100.8
85 Q 2.75(se)-.605 G
(ncapsulated header corresponds to a Sequence Number that)-2.75 E
(the implementation recently sent.)100.8 98 Q
(\(Routers are not required to return more than 64 bits of)5.5 E
(the DCCP header [RFC 792], b)100.8 111 Q
(ut most modern routers will return f)-.22 E(ar more, including the)-.11
E(Sequence Number)100.8 124 Q 2.75(.\) ICMP)-.605 F(Datagram T)2.75 E
(oo Big messages with incorrect or missing)-.88 E
(Sequence Numbers may be ignored, or the DCCP implementation may lo)
100.8 137 Q(wer the PMTU)-.275 E(only temporarily in response.)100.8 150
Q(If more than three odd Datagram T)5.5 E(oo Big messages are)-.88 E
(recei)100.8 163 Q -.165(ve)-.275 G 2.75(da).165 G
(nd the other DCCP endpoint reports commensurate loss, ho)-2.75 E(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H(he DCCP).44 E
(implementation SHOULD assume the presence of a confused router)100.8
176 Q 2.75(,a)-.44 G(nd either obe)-2.75 E 2.75(yt)-.165 G(he)-2.75 E
(ICMP messages' PMTU or \(on IPv4 netw)100.8 189 Q
(orks\) switch to allo)-.11 E(wing fragmentation.)-.275 E
(DCCP also allo)100.8 205.6 Q(ws upw)-.275 E
(ard probing of the PMTU [PMTUD], where the DCCP endpoint)-.11 E(be)
100.8 218.6 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 231.6 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 244.6 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 257.6 Q
(The DCCP implementation inserts arbitrary data into the DCCP-)5.5 E
(Sync application area, padding the pack)100.8 270.6 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 283.6 Q .33 -.165(ve a p)-.22 H(retty).165
E(good idea of when a probe is lost.)100.8 296.6 Q/F1 11/Times-Bold@0 SF
(15.)72 322.6 Q/F2 14/Times-Bold@0 SF -.35(Fo)5.5 G(rward Compatibility)
.35 E F0(Future v)100.8 339.2 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 352.2 Q
(xtended DCCPs interoperate with normal DCCPs.)-.165 E 12.65<8344>100.8
368.8 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 381.8 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 394.8 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 407.8
Q(gotiation option mentions an unkno)-.165 E(wn feature.)-.275 E
(Instead,)5.5 E(DCCP processors MUST ignore these e)117.3 420.8 Q -.165
(ve)-.275 G 2.75(nts. The).165 F(Mandatory option is the single)2.75 E
-.165(ex)117.3 433.8 S(ception: if Mandatory precedes some unkno).165 E
(wn option or feature, the connection)-.275 E(MUST be reset.)117.3 446.8
Q 12.65<8344>100.8 463.4 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 476.4 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 489.4 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 502.4 Q(wn v)-.275 E(alues, the result of the ne)-.275 E
(gotiation cannot be an)-.165 E(unkno)117.3 515.4 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 528.4 Q(alue for some non-ne)-.275 E
(gotiable feature.)-.165 E 12.65<8345>100.8 545 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 558 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 571 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 584
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 597 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 613.6 Q(ed for e)
-.165 E(xperimental and testing purposes.)-.165 E F1(16.)72 639.6 Q F2
(Middlebox Considerations)5.5 E F0
(This section describes properties of DCCP that \214re)100.8 656.2 Q
-.11(wa)-.275 G(lls, netw).11 E(ork address translators, and)-.11 E
(other middlebox)100.8 669.2 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 682.2 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 695.2 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 711.8 Q(ets pro)
-.11 E(vide information that may be useful)-.165 E
(for stateful middlebox)100.8 724.8 Q 2.75(es. W)-.165 F
(ith Service Code, a middlebox can tell what protocol a)-.44 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 75])-.165 E 0 Cg EP
%%Page: 76 76
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E
(connection will use without relying on port numbers.)100.8 85 Q
(Middlebox)5.5 E(es can disallo)-.165 E 2.75(wa)-.275 G(ttempted)-2.75 E
(connections accessing une)100.8 98 Q
(xpected services by sending a DCCP-Reset with Reset Code 8,)-.165 E
("Bad Service Code".)100.8 111 Q(Middlebox)5.5 E(es probably shouldn')
-.165 E 2.75(tm)-.198 G(odify the Service Code, unless)-2.75 E(the)100.8
124 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
140.6 Q(et locations as the)-.11 E
(corresponding \214elds in TCP and UDP)100.8 153.6 Q 2.75(,w)-1.221 G
(hich may simplify some middlebox)-2.75 E(implementations.)100.8 166.6 Q
(Modifying DCCP Sequence Numbers and Ackno)100.8 183.2 Q
(wledgement Numbers is more tedious and)-.275 E
(dangerous than modifying TCP sequence numbers.)100.8 196.2 Q 2.75(Am)
5.5 G(iddlebox that added pack)-2.75 E(ets to, or)-.11 E(remo)100.8
209.2 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 222.2 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 235.2 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 248.2 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 261.2 Q(wledgement options continued to ha)-.275 E .33
-.165(ve c)-.22 H(orrect ECN Nonce Echoes, or risk the).165 E
(connection being reset for "Aggression Penalty".)100.8 274.2 Q 1.76
-.88(We t)5.5 H(herefore recommend that).88 E(middlebox)100.8 287.2 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 303.8 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 316.8 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 329.8 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 342.8 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 355.8 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 368.8 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 381.8 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 398.4 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 411.4 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 428 Q
(what unfriendly to "connection splicing" [SHHP00], in which clients')
-.275 E(connection attempts are intercepted, b)100.8 441 Q
(ut possibly later "spliced in" to e)-.22 E(xternal serv)-.165 E(er)
-.165 E(connections via sequence number manipulations.)100.8 454 Q 2.75
(Ac)5.5 G(onnection splicer at minimum w)-2.75 E(ould)-.11 E(ha)100.8
467 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 480 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
496.6 Q(stateful middlebox)100.8 509.6 Q(es.)-.165 E/F1 11/Times-Bold@0
SF(17.)72 535.6 Q/F2 14/Times-Bold@0 SF
(Relations to Other Speci\214cations)5.5 E F1(17.1.)72 561.6 Q/F3 13
/Times-Bold@0 SF(DCCP and R)5.5 E(TP)-.52 E F0(The Real-T)100.8 578.2 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 591.2 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 604.2 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 617.2 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 630.2 Q(.)-1.221
E(There are tw)100.8 646.8 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 659.8 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 672.8 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 685.8 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 702.4 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 Real-T)100.8 715.4 Q
(ime Control Protocol Sender and Recei)-.385 E -.165(ve)-.275 G 2.75(rR)
.165 G(eports \(R)-2.75 E(TCP)-.66 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 76])
-.165 E 0 Cg EP
%%Page: 77 77
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(SR/RR pack)100.8 85 Q
(ets\) and via DCCP ackno)-.11 E(wledgement options.)-.275 E
(These feedback mechanisms)5.5 E(are potentially redundant.)100.8 98 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)-.11 E
(in DCCP ackno)100.8 111 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 124 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 137 Q(es the other redundant.)-.11 E
(Sending both types of feedback need not be particularly costly either)
100.8 153.6 Q 5.5(.R)-.605 G(TCP reports may)-6.16 E(be sent relati)
100.8 166.6 Q -.165(ve)-.275 G(ly infrequently: once e).165 E -.165(ve)
-.275 G(ry 5 seconds, for lo).165 E(w-bandwidth \215o)-.275 E 2.75
(ws. In)-.275 F(DCCP)2.75 E(,)-1.221 E(some feedback mechanisms are e)
100.8 179.6 Q(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 and)-.165 E -.165(ve)100.8 192.6 S(rbose -- 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
205.6 Q(\(Reporting less)5.5 E(frequently than once per R)100.8 218.6 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 231.6 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 244.6 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(One clear redundanc)100.8 261.2 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 274.2 Q(et loss reports sent in R)-.11 E
(TCP Extended Reports Loss RLE Blocks [RFC 3611] can be)-.66 E(deri)
100.8 287.2 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 300.2 Q
(Since DCCP implementations should pro)5.5 E(vide an)-.165 E
(API for application access to Ack V)100.8 313.2 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 326.2 Q
(ectors or R)-1.221 E(TCP Extended Report Loss RLE Blocks, b)-.66 E
(ut not)-.22 E(both.)100.8 339.2 Q(No)100.8 355.8 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 368.8 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 381.8 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 394.8 Q 5.5(.T)-.605 G(his is 4 bytes more)-5.5 E
(than a UDP header)100.8 407.8 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 420.8 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 433.8 Q(ets.)-.11
E(The DCCP sequence number cannot be inferred from the R)100.8 450.4 Q
(TP sequence number since it)-.66 E(increments on non-data pack)100.8
463.4 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; for instance, R)100.8
476.4 Q(TP sequence numbers)-.66 E(might be sent out of order)100.8
489.4 Q 5.5(.F)-.605 G(urthermore, remo)-5.5 E(ving R)-.165 E(TP')-.66 E
2.75(ss)-.605 G(equence number w)-2.75 E(ould not sa)-.11 E -.165(ve)
-.22 G(an)100.8 502.4 Q 2.75(yh)-.165 G
(eader space because of alignment issues.)-2.75 E 1.76 -.88(We t)5.5 H
(herefore recommend that R).88 E(TP)-.66 E(transmitted o)100.8 515.4 Q
-.165(ve)-.165 G 2.75(rD).165 G
(CCP use the same headers currently de\214ned.)-2.75 E
(The 4 byte header cost is a)5.5 E(reasonable tradeof)100.8 528.4 Q 2.75
(ff)-.275 G(or DCCP')-2.75 E 2.75(sc)-.605 G
(ongestion control features and access to ECN.)-2.75 E -.385(Tr)5.5 G
(uly).385 E(bandwidth-starv)100.8 541.4 Q
(ed endpoints should use header compression.)-.165 E/F1 11/Times-Bold@0
SF(17.2.)72 567.4 Q/F2 13/Times-Bold@0 SF(Multiplexing Issues)5.5 E F0
(Since DCCP doesn')100.8 584 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 597 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 610 Q(vide b)-.165
E(uilt-in, SCTP-style support for multiple sub-)-.22 E<8d6f>100.8 623 Q
(ws.)-.275 E(Some applications might w)100.8 639.6 Q
(ant to share congestion control state among multiple DCCP)-.11 E<8d6f>
100.8 652.6 Q(ws that share the same source and destination addresses.)
-.275 E(This functionality could be)5.5 E(pro)100.8 665.6 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 678.6 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 691.6 Q
(xample.)-.165 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
224.76(yd Section)-.11 F 2.75(17.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Times-Bold@0 SF(18.)72 85
Q/F2 14/Times-Bold@0 SF(Security Considerations)5.5 E F0
(DCCP does not pro)100.8 101.6 Q
(vide cryptographic security guarantees.)-.165 E
(Applications desiring hard)5.5 E
(security should use IPsec or end-to-end security of some kind.)100.8
114.6 Q(Ne)100.8 131.2 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 144.2
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 157.2 Q 2.75(yc)-.165 G(an guess)-2.75 E -.275
(va)100.8 170.2 S(lid sequence numbers.).275 E
(Thus, as long as endpoints choose initial sequence numbers well,)5.5 E
2.75(aD)100.8 183.2 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 196.2
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
209.2 Q(.)-.605 E(This security property only holds assuming that DCCP')
100.8 225.8 Q 2.75(sr)-.605 G(andom numbers are chosen)-2.75 E
(according to the guidelines in [RFC 1750].)100.8 238.8 Q(DCCP pro)100.8
255.4 Q(vides no protection ag)-.165 E(ainst attack)-.055 E
(ers that can snoop on data pack)-.11 E(ets.)-.11 E F1(18.1.)72 281.4 Q
/F3 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 298 Q(acility \
has a separate security impact, particularly in its interaction)-.11 E
(with authentication and encryption mechanisms.)100.8 311 Q
(The impact is the same in DCCP as in the)5.5 E
(UDP-Lite protocol, and what follo)100.8 324 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 337 Q(When a DCCP pack)100.8
353.6 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 366.6 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 379.6 Q
(et has not changed in transit.)-.11 E(Unless)5.5 E
(authentication mechanisms that operate only on the sensiti)100.8 392.6
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 405.6 Q -.11
(wa)-.11 G(ys f).11 E(ail for partially-checksummed DCCP pack)-.11 E
(ets whose)-.11 E(unco)100.8 418.6 Q -.165(ve)-.165 G
(red part has been damaged.).165 E(The IPsec inte)100.8 435.2 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 448.2 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
461.2 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 474.2 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
490.8 Q(transport protocol of a pack)100.8 503.8 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 516.8 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 529.8 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 546.4 Q
-.165(ve)-.275 G(ls\) may be used.).165 E(Note that omitting an)5.5 E
(inte)100.8 559.4 Q(grity check can, under certain circumstances, compr\
omise con\214dentiality [BEL98].)-.165 E(If a fe)100.8 576 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 589 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 602 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 615 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 628 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
641 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 654 Q(xt.)-.165
E F1(19.)72 680 Q F2(IAN)5.5 E 3.5(AC)-.28 G(onsiderations)-3.5 E F0
(DCCP introduces se)100.8 696.6 Q -.165(ve)-.275 G
(ral sets of numbers whose v).165 E(alues should be allocated by IAN)
-.275 E(A.)-.385 E -.165(Fo)100.8 709.6 S(llo).165 E
(wing the policies outlined in [RFC 2434], the follo)-.275 E
(wing sets of numbers are allocated)-.275 E
(through an IETF Consensus action, with the speci\214ed e)100.8 722.6 Q
(xceptions for CCID-speci\214c ranges)-.165 E -.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 78])-.165 E 0 Cg EP
%%Page: 79 79
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(and e)100.8 85 Q
(xperimental and testing use [RFC 3692].)-.165 E 12.65<8350>100.8 101.6
S(ack)-12.815 E(et types 10-13 and 15 \(Section 5.1\).)-.11 E -.165(Pa)
5.5 G(ck).165 E(et type 14 is reserv)-.11 E(ed for e)-.165 E
(xperimental)-.165 E(and testing use.)117.3 114.6 Q 12.65<8352>100.8
131.2 S(eset Codes 12-119 and 127 \(Section 5.6\).)-12.65 E
(Reset Codes 120-126 are reserv)5.5 E(ed for)-.165 E -.165(ex)117.3
144.2 S(perimental and testing use, and Reset Codes 128-255 are allocat\
ed in CCID-speci\214c).165 E(re)117.3 157.2 Q(gistries.)-.165 E 12.65
<834f>100.8 173.8 S(ption types 4-30, 45-119, and 127 \(Section 5.8\).)
-12.65 E(Option types 31 and 120-126 are)5.5 E(reserv)117.3 186.8 Q
(ed for e)-.165 E
(xperimental and testing use, and option types 128-255 are allocated in)
-.165 E(CCID-speci\214c re)117.3 199.8 Q(gistries.)-.165 E 12.65<8346>
100.8 216.4 S(eature numbers 10-119 and 127 \(Section 6\).)-12.65 E
(Feature numbers 120-126 are reserv)5.5 E(ed)-.165 E(for e)117.3 229.4 Q
(xperimental and testing use, and feature numbers 128-255 are allocated\
 in CCID-)-.165 E(speci\214c re)117.3 242.4 Q(gistries.)-.165 E 12.65
<8343>100.8 259 S(ongestion Control Identi\214ers \(CCIDs\) 4-247 and 2\
55 \(Section 10\).)-12.65 E(CCIDs 248-254)5.5 E(are reserv)117.3 272 Q
(ed for e)-.165 E(xperimental and testing use.)-.165 E 12.65<8341>100.8
288.6 S(ck V)-12.65 E(ector State 2 \(Section 11.4\).)-1.221 E 12.65
<8344>100.8 305.2 S(ata Dropped Drop Codes 4-6 \(Section 11.8\).)-12.65
E(DCCP also introduces an IAN)100.8 321.8 Q 2.75(Ar)-.385 G -.165(eg)
-2.75 G(istry for 32-bit Service Codes.).165 E(Most Codes are)5.5 E
(allocated First Come First Serv)100.8 334.8 Q(ed; the e)-.165 E
(xceptions, and more speci\214c rules for re)-.165 E(gistration,)-.165 E
(are presented in Section 8.1.2.)100.8 347.8 Q
(DCCP also requires a Protocol Number to be added to the re)100.8 364.4
Q(gistry of Assigned Internet)-.165 E(Protocol Numbers.)100.8 377.4 Q
(Protocol Number 33 has informally been made a)5.5 E -.275(va)-.22 G
(ilable for).275 E -.165(ex)100.8 390.4 S(perimental DCCP use, b).165 E
(ut this number may change in future.)-.22 E/F1 11/Times-Bold@0 SF(20.)
72 416.4 Q/F2 14/Times-Bold@0 SF(Thanks)5.5 E F0(Thanks to Jitendra P)
100.8 433 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 449.6 Q
(enkataramani, who, as interns at ICIR, b)-1.221 E(uilt a prototype)-.22
E(DCCP implementation.)100.8 462.6 Q(In particular)5.5 E 2.75(,J)-.44 G
(unwen Lai recommended that the old feature)-2.75 E(ne)100.8 475.6 Q(go\
tiation mechanism be scrapped and helped design the current mechanism, \
and Arun)-.165 E -1.221(Ve)100.8 488.6 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 505.2 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 518.2 Q
(ransport Area W)-.385 E(orking Group for their)-.88 E(feedback on DCCP)
100.8 531.2 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 544.2 Q
(esterlund for detailed written comments and problem spotting,)-.88 E
(and Rob Austein and Ste)100.8 557.2 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 573.8 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
586.8 Q 2.75(,P)-.44 G(atrick McManus, Sara Karlber)-2.915 E(g,)-.198 E
-.275(Kev)100.8 599.8 S(in Lai, Y).275 E
(oungsoo Choi, Dan Duchamp, Gorry F)-1.21 E(airhurst, Derek F)-.165 E
-.165(aw)-.165 G(cus, Da).165 E(vid T)-.22 E(imoth)-.385 E(y)-.055 E
(Fleeman, John Loughne)100.8 612.8 Q 1.43 -.715(y, G)-.165 H -.055(hy)
.715 G(slain Pelletier).055 E 2.75(,T)-.44 G(om Phelan, Stanisla)-3.63 E
2.75(vS)-.22 G(haluno)-2.75 E 1.43 -.715(v, Y)-.165 H(ufei W)-.506 E
(ang,)-.88 E(and Michael W)100.8 625.8 Q 2.75(elzl. In)-.88 F
(particular)2.75 E 2.75(,M)-.44 G(ichael W)-2.75 E
(elzl suggested the Data Checksum option, and)-.88 E(Gorry F)100.8 638.8
Q(airhurst pro)-.165 E(vided e)-.165 E(xtensi)-.165 E .33 -.165(ve f)
-.275 H(eedback on v).165 E(arious checksum issues.)-.275 E F1(A.)72
664.8 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 681.4
Q(wledgement handling, in the conte)-.275 E(xt of)-.165 E
(an abstract implementation for Ack V)100.8 694.4 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 711 Q
-.165(ve)-.275 G .88 -.44(r, a).165 H(nd therefore ackno).44 E(wledges)
-.275 E(data pack)100.8 724 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 -.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 79])-.165 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(characteristics:)100.8 85 Q
12.65<8341>100.8 101.6 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 118.2 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 134.8 S(umulati)
-12.65 E .33 -.165(ve a)-.275 H(ckno).165 E(wledgements.)-.275 E 12.65
<8351>100.8 151.4 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 168 Q(uf)-.22 E
(fer containing information about ackno)-.275 E(wledged)-.275 E(pack)
100.8 181 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 194 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 207 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 223.6 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
240.2 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 253.2 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 269.8 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 282.8 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 299.4 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/F1 11/Courier@0 SF
(+---------------------------------------------------------------+)114
318.4 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 331.4 R
(+---------------------------------------------------------------+)114
344.4 Q 125.4(^^)206.4 357.4 S 26.4(buf_tail buf_head,)186.6 370.4 R
(buf_ackno = A)6.6 E(buf_nonce = E)33 E
(<=== buf_head and buf_tail move this way <===)180 396.4 Q F0(Each `)
100.8 415.4 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 428.4 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
441.4 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 460.4 Q 6.6(A|)
107.4 473.4 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
486.4 Q F0(Here, b)100.8 505.4 Q(uf_nonce equals E and b)-.22 E
(uf_ackno equals A.)-.22 E 1.76 -.88(We w)100.8 522 T(ill use this b).88
E(uf)-.22 E(fer as a running e)-.275 E(xample.)-.165 E F1
(+---------------------------+)160.2 541 Q
(10 |0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 554 Q 13.2(BN[1] [Example)26.4
F(Buffer])6.6 E(+---------------------------+)160.2 567 Q F0
(In concrete terms, its meaning is as follo)100.8 586 Q(ws:)-.275 E
-.165(Pa)129.6 602.6 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
615.6 Q -.165(Pa)129.6 632.2 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
645.2 Q .33 -.165(ve s)-.22 H(tate 3 and run length 0.\)).165 E -.165
(Pa)129.6 661.8 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 678.4 S(ck).165 E(et 1 w)-.11
E(as ECN mark)-.11 E(ed.)-.11 E -.165(Pa)129.6 695 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 711.6 Q
(ets 10, 6, 5, 4, 3, 2, and 0 equals 1.)-.11 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 80])-.165 E 0 Cg EP
%%Page: 81 81
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(Additionally)100.8 85 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 98 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
114.6 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 127.6 Q(.)-.605 E 12.65<8322>100.8 144.2 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 160.8 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 173.8 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
186.8 Q(ets ackno)-.11 E(wledged by this)-.275 E(Ack V)117.3 199.8 Q
(ector)-1.221 E(.)-.605 E 12.65<8322>100.8 216.4 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 229.4 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 242.4 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 255.4 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 268.4 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 281.4 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/F1 11
/Times-Bold@0 SF(A.1.)72 307.4 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 324 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 337 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 363 R -.11(Pa)2.75 G(ck).11 E(ets)-.11 E F0(When a pack)
100.8 379.6 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 392.6 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 405.6 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 418.6 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 431.6 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 444.6 Q
(ed with stars\):)-.11 E/F3 11/Courier@0 SF
(** +***----------------------------+)140.4 463.6 Q
(11 |1,0|0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 476.6 Q(BN[1])26.4 E
(** +***----------------------------+)140.4 489.6 Q F0(If the pack)100.8
508.6 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 521.6 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 534.6 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 547.6 Q F3
(** +--*------------------------+)166.8 566.6 Q
(11 |0,1|3,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 579.6 Q(BN[1])26.4 E
(** +--*------------------------+)166.8 592.6 Q F0(Of course, the ne)
100.8 611.6 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 624.6 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 637.6 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 650.6 Q
(ger run length; this simpli\214es table updates if)-.198 E
(one of the missing pack)100.8 663.6 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 676.6 Q(fer w)-.275 E
(ould enter this state:)-.11 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 219.568(yd Section)-.11 F 2.75(A.1.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E/F1 11/Courier@0 SF
(** +*******----------------------------+)114 85 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 98 Q(BN[0])26.4 E
(** +*******----------------------------+)114 111 Q(*)59.4 E F0
(Of course, the circular b)100.8 130 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 143
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 156 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 169 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 182 Q(uf)-.22 E(fer \(by inc\
reasing run lengths when possible\), transfer its state to a lar)-.275 E
(ger)-.198 E -.22(bu)100.8 195 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 208 Q(uf)-.22 E(fer shrinks ag)-.275 E(ain.)
-.055 E/F2 11/Times-Bold@0 SF 2.75(A.1.2. Old)72 234 R -.11(Pa)2.75 G
(ck).11 E(ets)-.11 E F0(When a pack)100.8 250.6 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 263.6 Q
(\(Inde)5.5 E(xing structures could reduce the)-.165 E(comple)100.8
276.6 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 289.6 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
302.6 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 315.6 Q F1(+--------*------------------+)186.6 334.6
Q(10 |0,0|3,0|0,0|3,0|0,4|1,0|0,0| 0)166.8 347.6 Q(BN[1])26.4 E
(+--------*------------------+)186.6 360.6 Q F0(If S w)100.8 379.6 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 392.6 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 405.6 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 418.6 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 431.6 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
448.2 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 461.2 Q
(implementation should \215ip the v)100.8 474.2 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 487.2 Q
(It is impossible with this data structure to shift pack)100.8 503.8 Q
(ets from State 0 to State 1, since the)-.11 E -.22(bu)100.8 516.8 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(A.2.)72 542.8 Q/F3 13
/Times-Bold@0 SF(Sending Ackno)5.5 E(wledgements)-.13 E F0(Whene)100.8
559.4 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 572.4
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 585.4 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
598.4 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 611.4 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 624.4 Q
(ying it; either operation is simple.)-.11 E(Ev)100.8 641 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
654 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 670.6 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 683.6 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 696.6 Q
(vious ackno)-.275 E(wledgements, since the stored)-.275 E
(ack_nonce \214elds pro)100.8 709.6 Q
(vide enough information to calculate correct Nonce Echoes.)-.165 E(The)
5.5 E(implementation should therefore ackno)100.8 722.6 Q
(wledge data at least once per 253 bytes of b)-.275 E(uf)-.22 E(fer)
-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 227.818
(yd Section)-.11 F 2.75(A.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E 2.75(state. \(Otherwise,)100.8
85 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 101.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 114.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 127.6 Q
(uf_head; ack_ackno will equal b)-.22 E
(uf_ackno; and ack_nonce will equal)-.22 E -.22(bu)100.8 140.6 S
(f_nonce.).22 E/F1 11/Times-Bold@0 SF(A.3.)72 166.6 Q/F2 13/Times-Bold@0
SF(Clearing State)5.5 E F0(Some of the HC-Sender')100.8 183.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 196.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 209.2 Q
(wledgement record R with the appropriate ack_seqno, then:)-.275 E 12.65
<8353>100.8 225.8 S(ets b)-12.65 E(uf_tail to R.ack_ptr + 1.)-.22 E
12.65<8349>100.8 242.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 255.4 Q 12.65<8354>100.8
272 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 288.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 301.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 314.6 Q(wledgements already:)-.275 E 11(1. ack_seqno)100.8 331.2 R
2.75(=5)2.75 G(9, ack_ackno = 3, ack_nonce = 1.)-2.75 E 11(2. ack_seqno)
100.8 347.8 R 2.75(=6)2.75 G(0, ack_ackno = 10, ack_nonce = 0.)-2.75 E
(Say the HC-Recei)100.8 364.4 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 377.4 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 390.4 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 403.4 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 416.4 Q(wledgements for pack)-.275 E
(ets 0, 1, 2, and 3. The Example Buf)-.11 E
(fer should enter this state:)-.275 E/F3 11/Courier@0 SF
(+------------------*+ *)186.6 435.4 Q(*)46.2 E
(10 |0,0|3,0|3,0|3,0|0,2| 4)166.8 448.4 Q(BN[0])26.4 E
(+------------------*+ *)186.6 461.4 Q(*)46.2 E F0(The tail byte')100.8
480.4 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 493.4 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 506.4 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 519.4 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
532.4 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 549 S
(areful implementation might try to ensure reasonable rob)-2.75 E
(ustness to reordering.)-.22 E(Suppose that the Example Buf)100.8 562 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 575 R -.22(bu)2.75 G -.275(ff).22 G(er w).275 E
(ould enter this state:)-.11 E F3(+----*----------------------+)186.6
594 Q(10 |0,0|0,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 607 Q(BN[1])33 E
(+----*----------------------+)186.6 620 Q F0
(The danger is that the HC-Sender might ackno)100.8 639 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 652 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 665 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 678 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
691 Q(wledgement record to:)-.275 E 11(1. ack_seqno)100.8 707.6 R 2.75
(=5)2.75 G(9, ack_ackno = 3, ack_nonce = 1.)-2.75 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 83])-.165 E 0 Cg EP
%%Page: 84 84
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 71.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E 11(2. ack_seqno)100.8 85 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 101.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 114.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 127.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/F1 11
/Times-Bold@0 SF(A.4.)72 153.6 Q/F2 13/Times-Bold@0 SF(Pr)5.5 E
(ocessing Ackno)-.234 E(wledgements)-.13 E F0(When the HC-Sender recei)
100.8 170.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
183.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 196.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 209.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 222.2 Q
(ets change states between ackno)-.11 E
(wledgements, or in case the application queries)-.275 E(whether a pack)
100.8 235.2 Q(et arri)-.11 E -.165(ve)-.275 G(d.\)).165 E
(The HC-Sender must also ackno)100.8 251.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 264.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 277.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 290.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 303.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
316.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 329.8 Q(DataAck pack)100.8 342.8 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 355.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 if the)-.275 E(HC-Sender is also sending data.)100.8 368.8
Q(If the HC-Sender is not sending data, then the HC-)5.5 E(Recei)100.8
381.8 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 394.8 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 407.8 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
420.8 Q
(If the other half-connection is not quiescent -- that is, the HC-Recei)
100.8 437.4 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 450.4 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 463.4 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(B.)72 489.4 Q/F3 14/Times-Bold@0
SF -.35(Ap)5.5 G(pendix: Design Moti).35 E -.14(va)-.14 G(tion).14 E F0
(This section attempts to capture some of the rationale behind speci\
\214c details of DCCP)100.8 506 Q(design.)100.8 519 Q F1(B.1.)72 545 Q
F2(CsCo)5.5 E 3.25(va)-.13 G(nd P)-3.25 E(artial Checksumming)-.13 E F0
2.75(Ag)100.8 561.6 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 574.6 Q -.165(ve)
-.165 G 2.75(rt).165 G(he complete pack)-2.75 E(et.)-.11 E(Man)100.8
591.2 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 604.2 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 617.2 Q 2.75(xample. These)-.165 F
(resilient applications might prefer to recei)100.8 630.2 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 643.2 Q 2.75(et. This)-.11 F
(is particularly because of congestion control: DCCP cannot tell the)
2.75 E(dif)100.8 656.2 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 669.2 Q 5.5(.T)-.715 G(his response may)-5.5 E
(cause the connection to recei)100.8 682.2 Q .33 -.165(ve l)-.275 H
(ess bandwidth than it is due; corruption in some).165 E(netw)100.8
695.2 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 708.2 Q
(ets do not need to cause as strong a reduction in transmission rate)
-.11 E(as the congestion response w)100.8 721.2 Q
(ould dictate \(so long as the DCCP header and options are not)-.11 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 228.423(yd Section)
-.11 F 2.75(B.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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(corrupt\).)100.8 85 Q
(Thus DCCP allo)100.8 101.6 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 114.6 Q(If the application)5.5 E(cannot tolerate an)100.8 127.6 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 140.6 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 153.6 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 166.6 Q(c\
hecksumming of the application data, it may do so by including the Data\
 Checksum)100.8 179.6 Q 2.75(option. This)100.8 192.6 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 205.6
Q(ork congestion.)-.11 E(Thus, from the application point of vie)100.8
222.2 Q 1.43 -.715(w, p)-.275 H
(artial checksums seem to be a desirable feature.).715 E(Ho)100.8 235.2
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 248.2 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
261.2 Q(ould be restricted to)-.11 E
(corruption that occurred in routers and other places not co)100.8 274.2
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 287.2 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 300.2 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 313.2 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 326.2 Q
(In addition, partial checksums do not co-e)100.8 342.8 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 355.8
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 368.8 Q(xist with partial)-.165 E
(checksums, the authentication must be carried in the application data.)
100.8 381.8 Q 2.75(Ap)5.5 G(ossible mode of)-2.75 E(usage w)100.8 394.8
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 407.8 Q
(gotiation and state machine from for)-.165 E(ged)-.198 E(pack)100.8
420.8 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 433.8 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 446.8
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
459.8 Q(forms of man-in-the-middle attacks because the application data\
 is not tightly coupled to)100.8 472.8 Q(the pack)100.8 485.8 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 498.8 Q
(vide a reasonably complete security solution.)-.165 E(The o)100.8 511.8
Q -.165(ve)-.165 G(rhead of such a solution might be unacceptable for s\
ome applications that w).165 E(ould)-.11 E
(otherwise wish to use partial checksums.)100.8 524.8 Q
(On balance, the authors belie)100.8 541.4 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 554.4 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 567.4 Q
(orth including them at this time.)-.11 E(It remains to be seen)5.5 E
(whether the)100.8 580.4 Q 2.75(ya)-.165 G(re useful in practice.)-2.75
E/F1 14/Times-Bold@0 SF(Normati)72 606.4 Q .28 -.14(ve R)-.14 H(efer).14
E(ences)-.252 E F0([RFC 793] J. Postel, editor)100.8 623 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 639.6 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 1750] D. Eastlak)100.8 656.2 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 669.2 Q 5.5(.R)
-.715 G(FC 1750.)-5.5 E([RFC 2119] S. Bradner)100.8 685.8 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 698.8 Q -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 288.01(yd [P)-.11 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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E([RFC 2434] T)100.8 85 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 98 Q(RFC 2434.)5.5 E
([RFC 2460] S. Deering and R. Hinden.)100.8 114.6 Q
(Internet Protocol, V)5.5 E(ersion 6 \(IPv6\) Speci\214cation.)-1.221 E
(RFC 2460.)129.6 127.6 Q([RFC 3168] K.K. Ramakrishnan, S. Flo)100.8
144.2 Q(yd, and D. Black.)-.11 E(The Addition of Explicit)5.5 E
(Congestion Noti\214cation \(ECN\) to IP)129.6 157.2 Q 5.5(.R)-1.221 G
(FC 3168.)-5.5 E([RFC 3309] J. Stone, R. Ste)100.8 173.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 186.8 Q(RFC 3309.)5.5 E
([RFC 3692] T)100.8 203.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 216.4 Q([RFC 3828] L-A. Larzon, M. De)100.8 233 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 246 Q 2.75(.T)-.605 G
(he Lightweight User Datagram Protocol \(UDP-Lite\).)-2.75 E(RFC 3828.)
5.5 E/F1 14/Times-Bold@0 SF(Inf)72 272 Q(ormati)-.35 E .28 -.14(ve R)
-.14 H(efer).14 E(ences)-.252 E F0([BB01] S.M. Bello)100.8 288.6 Q
(vin and M. Blaze.)-.165 E
(Cryptographic Modes of Operation for the Internet.)5.5 E(2nd NIST W)
129.6 301.6 Q(orkshop on Modes of Operation, August 2001.)-.88 E
([BEL98] S.M. Bello)100.8 318.2 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 331.2 Q
([CCID 2 PR)100.8 347.8 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 360.8 Q 2.75(eC)-.11 G(ongestion Control.)-2.75 E
(draft-ietf-dccp-ccid2-05.txt, w)5.5 E(ork in progress,)-.11 E
(February 2004.)129.6 373.8 Q([CCID 3 PR)100.8 390.4 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 403.4 Q
(draft-ietf-dccp-ccid3-05.txt, w)5.5 E(ork in)-.11 E
(progress, February 2004.)129.6 416.4 Q([M85] Robert T)100.8 433 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 446 Q(echnical Report 117, A)-.77 E
(T&T Bell Laboratories, Murray Hill, NJ, February)-1.221 E(1985.)129.6
459 Q([PMTUD] Matt Mathis, John Hef)100.8 475.6 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 488.6 Q
(ork in progress, February 2004.)-.11 E([RFC 792] J. Postel, editor)
100.8 505.2 Q 5.5(.I)-.605 G(nternet Control Message Protocol.)-5.5 E
(RFC 792.)5.5 E([RFC 1948] S. Bello)100.8 521.8 Q 2.75(vin. Defending)
-.165 F(Ag)2.75 E(ainst Sequence Number Attacks.)-.055 E(RFC 1948.)5.5 E
([RFC 2960] R. Ste)100.8 538.4 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 551.4 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 564.4 Q([RFC 3124] H. Balakrishnan and S. Seshan.)100.8
581 Q(The Congestion Manager)5.5 E 5.5(.R)-.605 G(FC 3124.)-5.5 E
([RFC 3360] S. Flo)100.8 597.6 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 614.2 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 627.2 Q(RFC 3448.)5.5 E
([RFC 3517] E. Blanton, M. Allman, K. F)100.8 643.8 Q(all, and L. W)
-.165 E(ang. A Conserv)-.88 E(ati)-.275 E .33 -.165(ve S)-.275 H(electi)
.165 E -.165(ve)-.275 G(Ackno)129.6 656.8 Q(wledgment \(SA)-.275 E
(CK\)-based Loss Reco)-.44 E -.165(ve)-.165 G(ry Algorithm for TCP).165
E 2.75(.R)-1.221 G(FC 3517.)-2.75 E([RFC 3540] N. Spring, D. W)100.8
673.4 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 686.4 Q(RFC 3540.)5.5 E
([RFC 3550] H. Schulzrinne, S. Casner)100.8 703 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 716 Q
(ime Applications.)-.385 E(RFC 3550.)5.5 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 288.01(yd [P)-.11 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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E([RFC 3611] T)100.8 85 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
98 Q(TCP XR\).)-.66 E(RFC 3611.)5.5 E([RFC 3819] P)100.8 114.6 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 127.6 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 140.6 R(3819.)2.75 E
([SHHP00] Oli)100.8 157.2 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 170.2 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 183.2 Q
([SYNCOOKIES] Daniel J. Bernstein.)100.8 199.8 Q(SYN Cookies.)5.5 E
(http://cr)5.5 E(.yp.to/syncookies.html, as of)-.605 E(July 2003.)129.6
212.8 Q/F1 14/Times-Bold@0 SF -.7(Au)72 238.8 S(thors' Addr).7 E(esses)
-.252 E F0(Eddie K)100.8 255.4 Q(ohler <k)-.385 E(ohler@cs.ucla.edu>)
-.11 E(4531C Boelter Hall)100.8 268.4 Q
(UCLA Computer Science Department)100.8 281.4 Q(Los Angeles, CA 90095)
100.8 294.4 Q(USA)100.8 307.4 Q(Mark Handle)100.8 324 Q 2.75(y<)-.165 G
(M.Handle)-2.75 E(y@cs.ucl.ac.uk>)-.165 E
(Department of Computer Science)100.8 337 Q(Uni)100.8 350 Q -.165(ve)
-.275 G(rsity Colle).165 E(ge London)-.165 E(Go)100.8 363 Q(wer Street)
-.275 E(London WC1E 6BT)100.8 376 Q(UK)100.8 389 Q(Sally Flo)100.8 405.6
Q(yd <\215o)-.11 E(yd@icir)-.11 E(.or)-.605 E(g>)-.198 E
(ICSI Center for Internet Research)100.8 418.6 Q
(1947 Center Street, Suite 600)100.8 431.6 Q(Berk)100.8 444.6 Q(ele)-.11
E 1.43 -.715(y, C)-.165 H 2.75(A9).715 G(4704)-2.75 E(USA)100.8 457.6 Q
F1(Full Copyright Statement)72 483.6 Q F0(Cop)100.8 500.2 Q
(yright \(C\) The Internet Society 2004.)-.11 E
(This document is subject to the rights, licenses)5.5 E
(and restrictions contained in BCP 78, and e)100.8 513.2 Q
(xcept as set forth therein, the authors retain all)-.165 E
(their rights.)100.8 526.2 Q
(This document and the information contained herein are pro)100.8 542.8
Q(vided on an "AS IS" basis and)-.165 E(THE CONTRIB)100.8 555.8 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
568.8 Q(ENGINEERING T)100.8 581.8 Q(ASK FORCE DISCLAIM ALL W)-1.023 E
(ARRANTIES, EXPRESS OR)-1.32 E(IMPLIED, INCLUDING B)100.8 594.8 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 607.8 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 620.8 Q
(ARRANTIES OF MERCHANT)-1.32 E(ABILITY OR FITNESS FOR A)-1.023 E -1.012
(PA)100.8 633.8 S -.66(RT)1.012 G(ICULAR PURPOSE.).66 E F1
(Intellectual Pr)72 659.8 Q(operty)-.252 E F0(The IETF tak)100.8 676.4 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 689.4 Q
(technology described in this document or the e)100.8 702.4 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 715.4 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 -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
288.01(yd [P)-.11 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.587(-DRAFT Expires:)-1.012 F
(January 2005)2.75 E(July 2004)123.726 E(ef)100.8 85 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 98 Q
(Copies of IPR disclosures made to the IETF Secretariat and an)100.8
114.6 Q 2.75(ya)-.165 G(ssurances of licenses to)-2.75 E(be made a)100.8
127.6 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 140.6 Q(speci\214cati\
on can be obtained from the IETF on-line IPR repository at)100.8 153.6 Q
(http://www)100.8 166.6 Q(.ietf.or)-.715 E(g/ipr)-.198 E(.)-.605 E
(The IETF in)100.8 183.2 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
196.2 Q -.165(ve)-.165 G 2.75(rt).165 G(echnology that may be)-2.75 E
(required to implement this standard.)100.8 209.2 Q
(Please address the information to the IETF at ietf-)5.5 E(ipr@ietf.or)
100.8 222.2 Q(g.)-.198 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 288.01(yd [P)-.11 F(age 88])-.165 E 0 Cg EP
%%Trailer
end
%%EOF

PAFTECH AB 2003-20262026-04-22 14:06:19