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


%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Mon Feb 16 01:16:33 2004
%%DocumentNeededResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Roman
%%+ font Courier
%%+ font Times-Italic
%%+ font Symbol
%%DocumentSuppliedResources: procset grops 1.18 1
%%Pages: 89
%%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
%%IncludeResource: font Times-Italic
%%IncludeResource: font Symbol
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
/Times-Italic@0 ENC0/Times-Italic RE/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)174 E 318(INTERNET-DRAFT UCLA)72 98 R 198
(draft-ietf-dccp-spec-06.ps Mark)72 111 R(Handley)6 E
(Expires: August 2004)72 124 Q(UCL)294 E(Sally Floyd)438 137 Q(ICIR)480
150 Q(16 February 2004)408 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 and is in full con\
formance with all pro)100.8 236.6 Q(visions of Section)-.165 E
(10 of [RFC 2026].)100.8 249.6 Q(Internet-Drafts are w)5.5 E
(orking documents of the Internet Engineering T)-.11 E(ask)-.88 E -.165
(Fo)100.8 262.6 S(rce \(IETF\), its areas, and its w).165 E
(orking groups.)-.11 E(Note that other groups may also distrib)5.5 E
(ute)-.22 E -.11(wo)100.8 275.6 S(rking documents as Internet-Drafts.)
.11 E(Internet-Drafts are draft documents v)100.8 301.6 Q
(alid for a maximum of six months and may be)-.275 E
(updated, replaced, or obsoleted by other documents at an)100.8 314.6 Q
2.75(yt)-.165 G(ime. It is inappropriate to use)-2.75 E
(Internet-Drafts as reference material or to cite them other than as "w)
100.8 327.6 Q(ork in progress.")-.11 E
(The list of current Internet-Drafts can be accessed at http://www)100.8
353.6 Q(.ietf.or)-.715 E(g/ietf/1id-)-.198 E(abstracts.txt)100.8 366.6 Q
(The list of Internet-Draft Shado)100.8 392.6 Q 2.75(wD)-.275 G
(irectories can be accessed at)-2.75 E(http://www)100.8 405.6 Q
(.ietf.or)-.715 E(g/shado)-.198 E -.715(w.)-.275 G(html).715 E F2
(Copyright Notice)72 431.6 Q F3(Cop)100.8 448.2 Q
(yright \(C\) The Internet Society \(2004\). All Rights Reserv)-.11 E
(ed.)-.165 E F2(Abstract)72 474.2 Q F3(This document speci\214es the Da\
tagram Congestion Control Protocol \(DCCP\), which)100.8 490.8 Q
(implements a congestion-controlled, unreliable \215o)100.8 503.8 Q 2.75
(wo)-.275 G 2.75(fu)-2.75 G(nicast datagrams suitable for use)-2.75 E
(by applications such as streaming media, Internet telephon)100.8 516.8
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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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-05.txt:)100.8 111 Q
2.75(*O)100.8 137 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 163 S(dd pseudocode for e)-2.75
E -.165(ve)-.275 G(nt processing.).165 E 2.75(*R)100.8 189 S(emo)-2.75 E
.33 -.165(ve # N)-.165 H(DP; replace with Ack Count.).165 E 2.75(*R)
100.8 215 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 241 S(ata Checksum \(formerly P)-2.75 E
(ayload Checksum\) uses a 32-bit CRC.)-.165 E 2.75(*S)100.8 267 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 280 Q(alue.)-.275 E
2.75(*R)100.8 306 S(ename "v)-2.75 E
(alue type" to "reconciliation rule".)-.275 E 2.75(*R)100.8 332 S
(ename "Reset Reason" to "Reset Code".)-2.75 E 2.75(*M)100.8 358 S
(obility ID becomes 128 bits long.)-2.75 E 2.75(*A)100.8 384 S
(dd probabilities to Mobility ID discussion.)-2.75 E 2.75(*A)100.8 410 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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. Rob)115.8 194 Q(ustness Principle)-.2 E F0 11(...................)
8.98 G F2(8)11.5 E(4. Ov)100.8 206 Q(ervie)-.15 E(w)-.25 E F0 11
(........................)7.67 G F2(8)11.5 E(4.1. P)115.8 218 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 230 Q F0 11(....................)1.72 G F2
(10)6.5 E(4.3. States)115.8 242 Q F0 11(........................).31 G
F2(10)6.5 E(4.4. Congestion Control)115.8 254 Q F0 11
(....................).58 G F2(12)6.5 E(4.5. Features)115.8 266 Q F0 11
(.......................)4.07 G F2(12)6.5 E(4.6. Other Dif)115.8 278 Q
(ferences from TCP)-.25 E F0 11(.................)6.01 G F2(13)6.5 E
(4.7. Example Connection)115.8 290 Q F0 11(...................)8.79 G F2
(14)6.5 E(5. Header F)100.8 302 Q(ormats)-.15 E F0 11
(......................)10.2 G F2(15)6.5 E(5.1. Generic Header)115.8 314
Q F0 11(.....................)2.43 G F2(15)6.5 E
(5.2. DCCP-Request Header)115.8 326 Q F0 11(..................)13.66 G
F2(18)6.5 E(5.3. DCCP-Response Header)115.8 338 Q F0 11
(..................)7.55 G F2(18)6.5 E
(5.4. DCCP-Data, DCCP-Ack, and DCCP-DataAck Headers)115.8 350 Q F0 11
(.........)8.82 G F2(19)6.5 E(5.5. DCCP-CloseReq and DCCP-Close Headers)
115.8 362 Q F0 11(.............).18 G F2(20)6.5 E
(5.6. DCCP-Reset Header)115.8 374 Q F0 11(...................)9.91 G F2
(20)6.5 E(5.7. DCCP-Mo)115.8 386 Q .3 -.15(ve H)-.15 H(eader).15 E F0 11
(...................)9.1 G F2(22)6.5 E
(5.8. DCCP-Sync and DCCP-SyncAck Headers)115.8 398 Q F0 11
(.............)5.19 G F2(23)6.5 E(5.9. Options)115.8 410 Q F0 11
(.......................)6.28 G F2(24)6.5 E(5.9.1. P)130.8 422 Q
(adding Option)-.15 E F0 11(...................)7.54 G F2(24)6.5 E
(5.9.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. Loss and Retransmission)
130.8 566 Q F0 11(................)11.7 G F2(30)6.5 E(6.6.3. Reordering)
130.8 578 Q F0 11(....................)11.71 G F2(30)6.5 E
(6.6.4. Preference Changes)130.8 590 Q F0 11(..................)4.51 G
F2(31)6.5 E(6.6.5. Simultaneous Ne)130.8 602 Q(gotiation)-.15 E F0 11
(................)7.68 G F2(31)6.5 E(6.6.6. Unkno)130.8 614 Q
(wn Features)-.25 E F0 11(..................)8.63 G F2(31)6.5 E
(6.6.7. In)130.8 626 Q -.25(va)-.4 G(lid Options).25 E F0 11
(...................)8.6 G F2(32)6.5 E(6.6.8. Mandatory Feature Ne)130.8
638 Q(gotiation)-.15 E F0 11(..............)13.26 G F2(32)6.5 E
(6.6.9. Out-of-Band Agreement)130.8 650 Q F0 11(................)13.67 G
F2(32)6.5 E(6.6.10. State Diagram)130.8 662 Q F0 11(...................)
7.96 G F2(32)6.5 E(7. Sequence Numbers)100.8 674 Q F0 11
(.....................)10.47 G F2(33)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(34)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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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(35)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(37)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(37)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(38)6.5 E(7.5.5. Sequence Number Attacks)130.8
144 Q F0 11(................)5.06 G F1(39)6.5 E(7.5.6. Examples)130.8
156 Q F0 11(.....................)3.51 G F1(39)6.5 E
(7.6. Extended Sequence Numbers)115.8 168 Q F0 11(.................)2.7
G F1(40)6.5 E(7.6.1. When to Use Extended Sequence Numbers)130.8 180 Q
F0 11(...........)7.99 G F1(40)6.5 E(7.6.2. Header Processing)130.8 192
Q F0 11(..................)9.5 G F1(41)6.5 E(7.6.3. T)130.8 204 Q
(ransitioning to Extended Sequence Numbers)-.35 E F0 11(..........)10.13
G F1(41)6.5 E(7.6.4. Sequence T)130.8 216 Q(ransition Capable Feature)
-.35 E F0 11(.............)3.61 G F1(43)6.5 E
(7.7. NDP Count and Detecting Application Loss)115.8 228 Q F0 11
(............)12.82 G F1(43)6.5 E(7.7.1. Usage Notes)130.8 240 Q F0 11
(....................)5.88 G F1(43)6.5 E(7.7.2. Send NDP Count Feature)
130.8 252 Q F0 11(................)9.76 G F1(44)6.5 E(8. Ev)100.8 264 Q
(ent Processing)-.15 E F0 11(......................)5.19 G F1(44)6.5 E
(8.1. Connection Establishment)115.8 276 Q F0 11(..................)1.42
G F1(44)6.5 E(8.1.1. Client Request)130.8 288 Q F0 11
(...................)11.28 G F1(44)6.5 E(8.1.2. Service Codes)130.8 300
Q F0 11(...................)12.96 G F1(45)6.5 E(8.1.3. Serv)130.8 312 Q
(er Response)-.15 E F0 11(...................)3.67 G F1(46)6.5 E
(8.1.4. Init Cookie Option)130.8 324 Q F0 11(..................)8.64 G
F1(46)6.5 E(8.1.5. Handshak)130.8 336 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 348 Q(ransfer)
-.35 E F0 11(.....................)10.55 G F1(47)6.5 E(8.3. T)115.8 360
Q(ermination)-.7 E F0 11(......................)2.96 G F1(48)6.5 E
(8.3.1. Abnormal T)130.8 372 Q(ermination)-.7 E F0 11(.................)
6.16 G F1(49)6.5 E(8.4. DCCP State Diagram)115.8 384 Q F0 11
(...................)6.84 G F1(49)6.5 E(8.5. Pseudocode)115.8 396 Q F0
11(......................)3.93 G F1(50)6.5 E(9. Checksums)100.8 408 Q F0
11(........................).59 G F1(53)6.5 E
(9.1. Header Checksum Field)115.8 420 Q F0 11(..................)10.05 G
F1(54)6.5 E(9.2. Header Checksum Co)115.8 432 Q -.15(ve)-.15 G
(rage Field).15 E F0 11(...............)10.78 G F1(54)6.5 E
(9.3. Data Checksum Option)115.8 444 Q F0 11(..................)12.82 G
F1(55)6.5 E(9.3.1. Check Data Checksum Feature)130.8 456 Q F0 11
(...............)1.31 G F1(55)6.5 E(9.3.2. Usage Notes)130.8 468 Q F0 11
(....................)5.88 G F1(56)6.5 E(10. Congestion Control IDs)
100.8 480 Q F0 11(....................)1.14 G F1(56)6.5 E
(10.1. Unspeci\214ed Sender)115.8 492 Q(-Based Congestion Control)-.2 E
F0 11(...........)11.22 G F1(57)6.5 E(10.2. TCP-lik)115.8 504 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 516 Q F0 11(.................)9.32
G F1(58)6.5 E(10.4. CCID-Speci\214c Options, Features, and Reset Codes)
115.8 528 Q F0 11(..........)7.55 G F1(58)6.5 E(11. Ackno)100.8 540 Q
(wledgements)-.25 E F0 11(.....................)3.77 G F1(59)6.5 E
(11.1. Acks of Acks and Unidirectional Connections)115.8 552 Q F0 11
(............).06 G F1(60)6.5 E(11.2. Ack Piggybacking)115.8 564 Q F0 11
(....................).04 G F1(61)6.5 E(11.3. Ack Ratio Feature)115.8
576 Q F0 11(....................).88 G F1(61)6.5 E(11.4. Ack V)115.8 588
Q(ector Options)-1.11 E F0 11(...................)8.52 G F1(62)6.5 E
(11.4.1. Ack V)130.8 600 Q(ector Consistenc)-1.11 E(y)-.15 E F0 11
(................)10.2 G F1(63)6.5 E(11.4.2. Ack V)130.8 612 Q(ector Co)
-1.11 E -.15(ve)-.15 G(rage).15 E F0 11(.................)7.17 G F1(64)
6.5 E(11.5. Send Ack V)115.8 624 Q(ector Feature)-1.11 E F0 11
(..................)1.45 G F1(64)6.5 E(11.6. Slo)115.8 636 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(65)6.5 E(11.7. Data Dropped Option)115.8
648 Q F0 11(...................)1.3 G F1(65)6.5 E
(11.7.1. Data Dropped and Normal Congestion Response)130.8 660 Q F0 11
(.........)7.7 G F1(67)6.5 E(11.7.2. P)130.8 672 Q(articular Drop Codes)
-.15 E F0 11(.................)3.67 G F1(67)6.5 E
(12. Explicit Congestion Noti\214cation)100.8 684 Q F0 11
(.................)7.94 G F1(68)6.5 E(12.1. ECN Capable Feature)115.8
696 Q F0 11(...................).19 G F1(68)6.5 E(12.2. ECN Nonces)115.8
708 Q F0 11(.....................)7.96 G F1(68)6.5 E
(12.3. Other Aggression Penalties)115.8 720 Q F0 11(.................)
6.02 G F1(69)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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 10/Times-Roman@0 SF
(13. T)100.8 84 Q(iming Options)-.35 E F0 11(......................)5.93
G F1(69)6.5 E(13.1. T)115.8 96 Q(imestamp Option)-.35 E F0 11
(...................)13.02 G F1(69)6.5 E(13.2. Elapsed T)115.8 108 Q
(ime Option)-.35 E F0 11(...................)2.75 G F1(70)6.5 E(13.3. T)
115.8 120 Q(imestamp Echo Option)-.35 E F0 11(..................)3.72 G
F1(70)6.5 E(14. Multihoming and Mobility)100.8 132 Q F0 11
(...................)3.21 G F1(71)6.5 E(14.1. Mobility Capable Feature)
115.8 144 Q F0 11(.................)12.68 G F1(71)6.5 E
(14.2. Mobility ID Feature)115.8 156 Q F0 11(...................)7.4 G
F1(72)6.5 E(14.3. Mobile Host Processing)115.8 168 Q F0 11
(..................)5.59 G F1(72)6.5 E(14.4. Stationary Host Processing)
115.8 180 Q F0 11(.................)7.12 G F1(73)6.5 E
(14.5. Congestion Control State)115.8 192 Q F0 11(..................).58
G F1(73)6.5 E(14.6. Security)115.8 204 Q F0 11(......................)
13.37 G F1(74)6.5 E(15. Maximum P)100.8 216 Q(ack)-.15 E(et Size)-.1 E
F0 11(....................)6.4 G F1(74)6.5 E(16. F)100.8 228 Q(orw)-.15
E(ard Compatibility)-.1 E F0 11(....................)5 G F1(76)6.5 E
(17. Middlebox Considerations)100.8 240 Q F0 11(...................)4.06
G F1(76)6.5 E(18. Relations to Other Speci\214cations)100.8 252 Q F0 11
(.................)6.01 G F1(77)6.5 E(18.1. DCCP and R)115.8 264 Q(TP)
-.6 E F0 11(....................)10.9 G F1(77)6.5 E(18.2. Multiple)115.8
276 Q(xing Issues)-.15 E F0 11(...................)8.93 G F1(78)6.5 E
(19. Security Considerations)100.8 288 Q F0 11(....................).87
G F1(78)6.5 E(19.1. Security Considerations for Mobility)115.8 300 Q F0
11(..............)9.2 G F1(79)6.5 E(19.2. Security Considerations for P)
115.8 312 Q(artial Checksums)-.15 E F0 11(...........)10.89 G F1(79)6.5
E(20. IAN)100.8 324 Q 2.5(AC)-.35 G(onsiderations)-2.5 E F0 11
(....................)9.56 G F1(80)6.5 E(21. Thanks)100.8 336 Q F0 11
(........................)12.26 G F1(80)6.5 E(A. Appendix: Ack V)100.8
348 Q(ector Implementation Notes)-1.11 E F0 11(..............).34 G F1
(81)6.5 E(A.1. P)115.8 360 Q(ack)-.15 E(et Arri)-.1 E -.25(va)-.25 G(l)
.25 E F0 11(.....................)5.94 G F1(82)6.5 E(A.1.1. Ne)130.8 372
Q 2.5(wP)-.25 G(ack)-2.65 E(ets)-.1 E F0 11(....................)3.05 G
F1(82)6.5 E(A.1.2. Old P)130.8 384 Q(ack)-.15 E(ets)-.1 E F0 11
(....................)6.68 G F1(83)6.5 E(A.2. Sending Ackno)115.8 396 Q
(wledgements)-.25 E F0 11(.................)3.77 G F1(83)6.5 E
(A.3. Clearing State)115.8 408 Q F0 11(.....................)6.29 G F1
(84)6.5 E(A.4. Processing Ackno)115.8 420 Q(wledgements)-.25 E F0 11
(................)6.97 G F1(85)6.5 E(B. Appendix: Design Moti)100.8 432
Q -.25(va)-.25 G(tion).25 E F0 11(..................)8.03 G F1(85)6.5 E
(B.1. CsCo)115.8 444 Q 2.5(va)-.15 G(nd P)-2.5 E(artial Checksumming)
-.15 E F0 11(...............)8.52 G F1(85)6.5 E(Normati)100.8 456 Q .3
-.15(ve R)-.25 H(eferences).15 E F0 11(.....................)8.66 G F1
(86)6.5 E(Informati)100.8 468 Q .3 -.15(ve R)-.25 H(eferences).15 E F0
11(.....................)4.22 G F1(87)6.5 E(Authors' Addresses)100.8 480
Q F0 11(......................)5.05 G F1(88)6.5 E
(Intellectual Property Notice)100.8 492 Q F0 11(....................).61
G F1(88)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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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(This document\
 describes the Datagram Congestion Control Protocol \(DCCP\), a transpo\
rt)100.8 101.6 Q(protocol that implements a congestion-controlled, bidi\
rectional stream of 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 7.15<8341>100.8 144.2 S 2.75(nu)-7.15 G(nreliable \215o)
-2.75 E 2.75(wo)-.275 G 2.75(fd)-2.75 G(atagrams, with ackno)-2.75 E
(wledgements.)-.275 E 7.15<8352>100.8 160.8 S(eliable handshak)-7.15 E
(es for connection setup and teardo)-.11 E(wn.)-.275 E 7.15<8352>100.8
177.4 S(eliable ne)-7.15 E(gotiation of options, including ne)-.165 E
(gotiation of a suitable congestion control)-.165 E(mechanism.)111.8
190.4 Q 7.15<834d>100.8 207 S(echanisms allo)-7.15 E(wing a serv)-.275 E
(er to a)-.165 E -.22(vo)-.22 G(id holding an).22 E 2.75(ys)-.165 G
(tate for unackno)-2.75 E(wledged)-.275 E
(connection attempts or already-\214nished connections.)111.8 220 Q 7.15
<8343>100.8 236.6 S(ongestion control incorporating Explicit Congestion\
 Noti\214cation \(ECN\) and the ECN)-7.15 E
(Nonce, as per [RFC 3168] and [RFC 3540].)111.8 249.6 Q 7.15<8341>100.8
266.2 S(ckno)-7.15 E(wledgement mechanisms communicating pack)-.275 E
(et loss and ECN mark information.)-.11 E
(Acks are transmitted as reliably as the rele)111.8 279.2 Q -.275(va)
-.275 G(nt congestion control mechanism requires,).275 E
(possibly completely reliably)111.8 292.2 Q(.)-.715 E 7.15<834f>100.8
308.8 S(ptional mechanisms that tell the sending application, with high\
 reliability)-7.15 E 2.75(,w)-.715 G(hich data)-2.75 E(pack)111.8 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, or)
-.11 E(dropped in the recei)111.8 334.8 Q .33 -.165(ve b)-.275 H(uf)
-.055 E(fer)-.275 E(.)-.605 E 7.15<8350>100.8 351.4 S(ath Maximum T)
-7.315 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(reliable in-order deli)100.8
381 Q -.165(ve)-.275 G(ry).165 E 2.75(,c)-.715 G
(ombined with congestion control, can result in some)-2.75 E
(information arri)100.8 394 Q(ving at the recei)-.275 E -.165(ve)-.275 G
2.75(ra).165 G(fter it is no longer of use.)-2.75 E(So f)5.5 E(ar)-.11 E
2.75(,m)-.44 G(ost such)-2.75 E(applications ha)100.8 407 Q .33 -.165
(ve e)-.22 H(ither used TCP).165 E 2.75(,w)-1.221 G
(ith the attendant quality problems caused by late data)-2.75 E(deli)
100.8 420 Q -.165(ve)-.275 G(ry).165 E 2.75(,o)-.715 G 2.75(ru)-2.75 G
(sed UDP and implemented their o)-2.75 E
(wn congestion control \(or no congestion)-.275 E(control at all\).)
100.8 433 Q(DCCP pro)5.5 E
(vides standard congestion control mechanisms for such)-.165 E 2.75
(applications. It)100.8 446 R
(enables the use of ECN, along with conformant end-to-end congestion)
2.75 E(control, for applications that w)100.8 459 Q
(ould otherwise be using UDP)-.11 E 5.5(.I)-1.221 G 2.75(na)-5.5 G
(ddition, DCCP)-2.75 E(implements reliable connection setup, teardo)
100.8 472 Q(wn, and feature ne)-.275 E(gotiation.)-.165 E(DCCP')100.8
488.6 Q 2.75(st)-.605 G(ar)-2.75 E(get applications require the \215o)
-.198 E(w-based semantics of TCP)-.275 E 2.75(,b)-1.221 G(ut do not w)
-2.97 E(ant)-.11 E(TCP')100.8 501.6 Q 2.75(si)-.605 G(n-order deli)-2.75
E -.165(ve)-.275 G(ry and reliability).165 E 2.75(,o)-.715 G 2.75(rw)
-2.75 G(ould lik)-2.86 E 2.75(ed)-.11 G(if)-2.75 E
(ferent congestion control dynamics)-.275 E(than TCP)100.8 514.6 Q(.)
-1.221 E F1(2.)72 540.6 Q F2(Design Rationale)5.5 E F0(DCCP w)100.8
557.2 Q(as intended to be used by applications that currently use UDP w\
ithout end-to-end)-.11 E(congestion control.)100.8 570.2 Q
(Most streaming UDP applications should ha)5.5 E .33 -.165(ve l)-.22 H
(ittle reason not to).165 E(switch to DCCP)100.8 583.2 Q 2.75(,o)-1.221
G(nce it is deplo)-2.75 E 2.75(yed. Thus,)-.11 F(DCCP w)2.75 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).165 E
(as possible, both in terms of the pack)100.8 596.2 Q
(et header size and in terms of the state and CPU)-.11 E -.165(ove)100.8
609.2 S(rhead required at end hosts.).165 E
(Only the minimal necessary functionality w)5.5 E(as included in)-.11 E
(DCCP)100.8 622.2 Q 2.75(,l)-1.221 G(ea)-2.75 E
(ving other functionality)-.22 E 2.75(,s)-.715 G(uch as forw)-2.75 E
(ard error correction \(FEC\), semi-reliability)-.11 E(,)-.715 E
(and multiple streams, to be layered on top of DCCP as desired.)100.8
635.2 Q(This desire for minimal)5.5 E -.165(ove)100.8 648.2 S
(rhead is also one of the reasons to a).165 E -.22(vo)-.22 G
(id proposing an unreliable v).22 E(ariant of the Stream)-.275 E
(Control T)100.8 661.2 Q(ransmission Protocol \(SCTP)-.385 E 2.75(,[)
-1.221 G(RFC 2960]\).)-2.75 E(Dif)100.8 677.8 Q
(ferent forms of conformant congestion control are appropriate for dif)
-.275 E(ferent applications.)-.275 E -.165(Fo)100.8 690.8 S 2.75(re).165
G(xample, applications such as 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(y)-.165 E -.22
(av)100.8 703.8 S(ailable bandwidth.)-.055 E
(Other applications, such as streaming media, might trade of)5.5 E 2.75
(ft)-.275 G(his)-2.75 E(responsi)100.8 716.8 Q -.165(ve)-.275 G
(ness for a steadier).165 E 2.75(,l)-.44 G(ess b)-2.75 E
(ursty rate, since sudden rate changes cause)-.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(unacceptable UI glitches \(\
such as audible pauses or clicks in the playout stream\).)100.8 85 Q
(Thus,)5.5 E(DCCP allo)100.8 98 Q(ws applications to choose between se)
-.275 E -.165(ve)-.275 G(ral forms of congestion control.).165 E(One)5.5
E(choice, TCP-lik)100.8 111 Q 2.75(eC)-.11 G(ongestion Control, halv)
-2.75 E(es the congestion windo)-.165 E 2.75(wi)-.275 G 2.75(nr)-2.75 G
(esponse to a)-2.75 E(pack)100.8 124 Q(et drop or mark, as in TCP)-.11 E
5.5(.A)-1.221 G(pplications using this congestion control mechanism)-5.5
E(will respond quickly to changes in a)100.8 137 Q -.275(va)-.22 G
(ilable bandwidth, b).275 E(ut must be able to tolerate the)-.22 E
(abrupt changes in congestion windo)100.8 150 Q 2.75(wt)-.275 G
(ypical of TCP)-2.75 E 5.5(.A)-1.221 G(second alternati)-2.75 E -.165
(ve)-.275 G 2.75(,T).165 G(CP-Friendly)-2.75 E(Rate Control \(TFRC, [RF\
C 3448]\), a form of equation-based congestion control,)100.8 163 Q
(minimizes abrupt changes in the sending rate while maintaining longer)
100.8 176 Q(-term f)-.22 E(airness with)-.11 E(TCP)100.8 189 Q(.)-1.221
E(DCCP also lets unreliable traf)100.8 205.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 218.6 Q
(ets as ECN-capable, since the API could not guarantee the)-.11 E
(application w)100.8 231.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 itself implements congestion control.)100.8
244.6 Q 1.76 -.88(We c)100.8 261.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
274.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 287.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 300.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 313.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 326.2 Q
(TFRC where the state about past pack)100.8 339.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 352.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 365.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 378.2 Q(yment of CM itself.)-.11 E/F1 11
/Times-Bold@0 SF(3.)72 404.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 420.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
433.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 446.8
Q F1(3.1.)72 472.8 Q/F3 13/Times-Bold@0 SF(Numbers and Fields)5.5 E F0
(All multi-byte numerical quantities in DCCP)100.8 489.4 Q 2.75(,s)
-1.221 G(uch as port numbers, Sequence Numbers,)-2.75 E(and ar)100.8
502.4 Q(guments to options, are transmitted in netw)-.198 E
(ork byte order \(most signi\214cant byte)-.11 E(\214rst\).)100.8 515.4
Q 1.76 -.88(We o)100.8 532 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 545 Q -.11(wa)-.275
G(rds the least signi\214cant bit.).11 E(Reserv)100.8 561.6 Q
(ed bit\214elds in DCCP pack)-.165 E
(et headers MUST be ignored by recei)-.11 E -.165(ve)-.275 G
(rs, and MUST be).165 E
(set to zero by senders, unless otherwise speci\214ed.)100.8 574.6 Q(Ra\
ndom numbers in DCCP are used for their security properties, and MUST b\
e chosen)100.8 591.2 Q(according to the guidelines in [RFC 1750].)100.8
604.2 Q F1(3.2.)72 630.2 Q F3 -.13(Pa)5.5 G(rts of a Connection).13 E F0
(Each DCCP connection runs between tw)100.8 646.8 Q 2.75(oe)-.11 G
(ndpoints, which we often name DCCP A and)-2.75 E(DCCP B.)100.8 659.8 Q
(DCCP connections are acti)100.8 676.4 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 689.4 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 706 Q 5.5(.T)-.605 G(his)-5.5 E
(means that data and ackno)100.8 719 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 data pack)5.5 E(ets)-.11
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 19.8(--> data)-26.4 F 19.8(packets --> |)6.6 F(|)
52.8 E 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 19.8(<-- data)-26.4 F 19.8(packets <-- |)6.6 F(|)52.8 E
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-connect\
ion, the HC-Sender is the endpoint sending data,)-.165 E
(while the HC-Recei)100.8 295.6 Q -.165(ve)-.275 G 2.75(ri).165 G 2.75
(st)-2.75 G(he endpoint sending ackno)-2.75 E 2.75(wledgements. F)-.275
F(or e)-.165 E(xample, in the A-)-.165 E(to-B half-connection, DCCP A i\
s the HC-Sender and DCCP B is the HC-Recei)100.8 308.6 Q -.165(ve)-.275
G -.605(r.).165 G/F2 11/Times-Bold@0 SF(3.3.)72 334.6 Q/F3 13
/Times-Bold@0 SF -.325(Fe)5.5 G(atur).325 E(es)-.234 E F0 2.75(Af)100.8
351.2 S(eature is a DCCP connection attrib)-2.75 E
(ute, identi\214ed by a feature number and an endpoint,)-.22 E
(on whose v)100.8 364.2 Q(alue the tw)-.275 E 2.75(oe)-.11 G
(ndpoints agree.)-2.75 E(Man)5.5 E 2.75(yp)-.165 G
(roperties of a DCCP connection are)-2.75 E(controlled by features, inc\
luding the congestion control mechanisms in use on the tw)100.8 377.2 Q
2.75(oh)-.11 G(alf-)-2.75 E(connections, whether mobility is allo)100.8
390.2 Q(wed, and whether ECN is supported.)-.275 E(The endpoints)5.5 E
(can achie)100.8 403.2 Q .33 -.165(ve a)-.275 H
(greement by out-of-band communication, or through the e).165 E
(xchange of feature)-.165 E(ne)100.8 416.2 Q
(gotiation options in DCCP headers.)-.165 E(The notation F/A represents\
 the feature with feature number F located at DCCP endpoint)100.8 432.8
Q(A; the feature F/B has the same feature number)100.8 445.8 Q 2.75(,b)
-.44 G(ut is located at the other endpoint.)-2.97 E(Both)5.5 E
(DCCP A and DCCP B kno)100.8 458.8 Q 1.43 -.715(w, a)-.275 H
(nd agree on, the v).715 E(alues of both F/A and F/B, b)-.275 E
(ut F/A and)-.22 E(F/B may ha)100.8 471.8 Q .33 -.165(ve d)-.22 H(if)
.165 E(ferent v)-.275 E(alues.)-.275 E(DCCP A is called the feature loc\
ation for all features F/A, and the feature remote for all)100.8 488.4 Q
(features F/B.)100.8 501.4 Q F2(3.4.)72 527.4 Q F3(Round-T)5.5 E(rip T)
-.962 E(imes)-.234 E F0 1.76 -.88(We s)100.8 544 T
(ometimes refer to a round-trip time 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 557 Q -.275(va)-.22 G
(ilable, a DCCP implementation SHOULD use 0.2 seconds).275 E(instead.)
100.8 570 Q F2(3.5.)72 596 Q F3(Rob)5.5 E(ustness Principle)-.26 E F0
(DCCP implementations should follo)100.8 612.6 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 625.6 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.)-2.75 E F2
(4.)72 651.6 Q/F4 14/Times-Bold@0 SF(Ov)5.5 E(er)-.14 E(view)-.14 E F0
(DCCP')100.8 668.2 Q 2.75(sh)-.605 G(igh-le)-2.75 E -.165(ve)-.275 G
2.75(lc).165 G(onnection dynamics should seem f)-2.75 E(amiliar to an)
-.11 E(yone who kno)-.165 E(ws TCP)-.275 E(.)-1.221 E
(DCCP connections, lik)100.8 681.2 Q 2.75(eT)-.11 G
(CP connections, progress through three phases: initiation)-2.75 E
(\(including a three-w)100.8 694.2 Q(ay handshak)-.11 E
(e\), data transfer)-.11 E 2.75(,a)-.44 G(nd termination.)-2.75 E
(Data can \215o)5.5 E 2.75(wb)-.275 G(oth)-2.75 E -.11(wa)100.8 707.2 S
(ys 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 senders disco).11 E -.165(ve)-.165 G 2.75(rh).165 G -.275(ow)
-2.75 G
(much data has been lost; congestion control uses this information to a)
100.8 720.2 Q -.22(vo)-.22 G(id unf).22 E(airly)-.11 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 244.01(yd Section)-.11 F 2.75(4. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(congesting the netw)100.8 85
Q 2.75(ork. Of)-.11 F(course, DCCP pro)2.75 E
(vides unreliable datagram semantics, not)-.165 E(TCP')100.8 98 Q 2.75
(sr)-.605 G(eliable bytestream semantics.)-2.75 E
(The application must package its data into e)5.5 E(xplicit)-.165 E
(frames, and must retransmit its o)100.8 111 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)
-2.75 E(either as TCP minus bytestream semantics and reliability)100.8
124 Q 2.75(,o)-.715 G 2.75(ra)-2.75 G 2.75(sU)-2.75 G
(DP plus congestion)-2.75 E(control, handshak)100.8 137 Q(es, and ackno)
-.11 E(wledgements.)-.275 E/F1 11/Times-Bold@0 SF(4.1.)72 163 Q/F2 13
/Times-Bold@0 SF -.13(Pa)5.5 G(ck).13 E(et T)-.13 E(ypes)-.962 E F0
(DCCP uses ele)100.8 179.6 Q -.165(ve)-.275 G 2.75(np).165 G(ack)-2.75 E
(et types to implement v)-.11 E(arious protocol functions.)-.275 E -.165
(Fo)5.5 G 2.75(re).165 G(xample,)-2.915 E -2.365 -.275(ev e)100.8 192.6
T(ry ne).275 E 2.75(wc)-.275 G(onnection attempt be)-2.75 E
(gins with a DCCP-Request pack)-.165 E(et sent by the client.)-.11 E(A)
5.5 E(DCCP-Request pack)100.8 205.6 Q(et thus resembles a TCP SYN; b)
-.11 E(ut DCCP-Request is a pack)-.22 E(et type, not)-.11 E 2.75<618d>
100.8 218.6 S(ag, so there')-2.75 E 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 231.6 Q(CK+RST)-.44 E(.)-.814 E(Eight pack)100.8
248.2 Q(et types occur during the progress of a typical connection---tw)
-.11 E 2.75(oo)-.11 G(nly during the)-2.75 E(initiation phase, three du\
ring the data transfer phase, and three only during the termination)
100.8 261.2 Q(phase:)100.8 274.2 Q/F3 11/Courier@0 SF 244.2
(Client Server)120.6 293.2 R 244.2(------ ------)120.6 306.2 R
(\(1\) Initiation)232.8 319.2 Q(DCCP-Request -->)120.6 332.2 Q
(<-- DCCP-Response)338.4 345.2 Q(DCCP-Ack -->)120.6 358.2 Q
(\(2\) Data transfer)232.8 371.2 Q
(DCCP-Data, DCCP-Ack, DCCP-DataAck -->)120.6 384.2 Q
(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)206.4 397.2 Q(\(3\) Termination)
232.8 410.2 Q(<-- DCCP-CloseReq)338.4 423.2 Q(DCCP-Close -->)120.6 436.2
Q(<-- DCCP-Reset)358.2 449.2 Q F0(Note the three-w)100.8 468.2 Q
(ay handshak)-.11 E(es during initiation and termination.)-.11 E
(The three remaining)5.5 E(pack)100.8 481.2 Q
(et types are used for special purposes: when an endpoint mo)-.11 E
-.165(ve)-.165 G(s, or to resynchronize).165 E(after b)100.8 494.2 Q
(ursts of loss.)-.22 E(Ev)100.8 510.8 Q(ery DCCP pack)-.165 E
(et starts with a common, 12-byte generic header)-.11 E 2.75(,b)-.44 G
(ut dif)-2.97 E(ferent pack)-.275 E(et)-.11 E(types may include dif)
100.8 523.8 Q(ferent amounts of additional data.)-.275 E -.165(Fo)5.5 G
2.75(re).165 G(xample, the DCCP-Ack)-2.915 E(pack)100.8 536.8 Q
(et type includes an Ackno)-.11 E(wledgement Number)-.275 E 5.5(.E)-.605
G -.165(ve)-5.5 G(ry pack).165 E(et type may also contain)-.11 E
(options, up to around 1000 bytes' w)100.8 549.8 Q(orth.)-.11 E
(All of the pack)100.8 566.4 Q(et types are described belo)-.11 E -.715
(w.)-.275 G F1(DCCP-Request)100.8 583 Q F0(Sent by the client to initia\
te a connection \(the \214rst part of the three-w)129.6 596 Q
(ay handshak)-.11 E(e\).)-.11 E F1(DCCP-Response)100.8 612.6 Q F0
(Sent by the serv)129.6 625.6 Q
(er in response to a DCCP-Request \(the second part of the three-w)-.165
E(ay)-.11 E(handshak)129.6 638.6 Q(e\).)-.11 E F1(DCCP-Data)100.8 655.2
Q F0(Used to transmit data.)129.6 668.2 Q F1(DCCP-Ack)100.8 684.8 Q F0
(Used for pure ackno)129.6 697.8 Q(wledgements.)-.275 E -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF
(DCCP-DataAck)100.8 85 Q F0(Used for piggyback)129.6 98 Q
(ed data-plus-ackno)-.11 E(wledgements.)-.275 E F1(DCCP-CloseReq)100.8
114.6 Q F0(Sent by the serv)129.6 127.6 Q
(er to request that the client close the connection.)-.165 E F1
(DCCP-Close)100.8 144.2 Q F0
(Used to close the connection; elicits a DCCP-Reset in response.)129.6
157.2 Q F1(DCCP-Reset)100.8 173.8 Q F0
(Used to terminate the connection, either normally or abnormally)129.6
186.8 Q(.)-.715 E F1(DCCP-Mo)100.8 203.4 Q -.11(ve)-.11 G F0
(Supports multihoming and mobility)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(But 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 attached to)-2.75
E(pack)100.8 314.6 Q 2.75(ets. Each)-.11 F(pack)2.75 E
(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(Note that e)100.8 430.6 Q
-.165(ve)-.275 G 2.75(nD).165 G(CCP-Ack pure ackno)-2.75 E
(wledgements increment the sequence number; after)-.275 E
(the DCCP-Ack with sequence number 10, the follo)100.8 443.6 Q
(wing DCCP-Data pack)-.275 E(et uses the ne)-.11 E(xt)-.165 E
(sequence number)100.8 456.6 Q 2.75(,1)-.44 G 2.75(1. This)-2.75 F
(lets the endpoints tell when ackno)2.75 E(wledgements are lost in the)
-.275 E(netw)100.8 469.6 Q 2.75(ork. It)-.11 F
(also means that endpoints can get out of sync after a long b)2.75 E
(urst of loss.)-.22 E(The)5.5 E(DCCP-Sync and DCCP-SyncAck pack)100.8
482.6 Q(et types let DCCP reco)-.11 E -.165(ve)-.165 G 2.75(rf).165 G
(rom lar)-2.75 E(ge loss b)-.198 E(ursts;)-.22 E(see Section 7.5.)100.8
495.6 Q(Also note that, since DCCP is an unreliable protocol, there are\
 no retransmissions, and it)100.8 512.2 Q(doesn')100.8 525.2 Q 2.75(tm)
-.198 G(ak)-2.75 E 2.75(es)-.11 G(ense to ha)-2.75 E .33 -.165(ve a c)
-.22 H(umulati).165 E .33 -.165(ve a)-.275 H(ckno).165 E
(wledgement \214eld.)-.275 E(Ackno)5.5 E(wledgement)-.275 E
(Number \(ackno\) \214elds equal the lar)100.8 538.2 Q
(gest sequence number recei)-.198 E -.165(ve)-.275 G
(d, rather than the TCP-).165 E
(style smallest sequence number not recei)100.8 551.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 564.2 Q 2.75(tr)
-.198 G(ecei)-2.75 E -.165(ve)-.275 G(d.).165 E F1(4.3.)72 590.2 Q F2
(States)5.5 E F0(DCCP endpoints progress through dif)100.8 606.8 Q
(ferent states during the course of a connection,)-.275 E
(corresponding roughly to the three phases of initiation, data transfer)
100.8 619.8 Q 2.75(,a)-.44 G(nd termination.)-2.75 E(The)5.5 E
(\214gure belo)100.8 632.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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
(The client and server's typical progress through states.)133.8 332 Q F0
(The states are as follo)100.8 351 Q
(ws; Section 8 describes them in more detail.)-.275 E/F2 11/Times-Bold@0
SF(CLOSED)100.8 367.6 Q F0(Represents a none)129.6 380.6 Q
(xistent connection.)-.165 E F2(LISTEN)100.8 397.2 Q F0
(Represents a serv)129.6 410.2 Q(er sock)-.165 E(et 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 423.2 Q 2.75(yp)-.165 G
(articular DCCP connection.)-2.75 E F2(REQ)100.8 439.8 Q(UEST)-.11 E F0
(The client sock)129.6 452.8 Q
(et enters this state, from CLOSED, after sending a DCCP-Request)-.11 E
(pack)129.6 465.8 Q(et to try to initiate a connection.)-.11 E F2
(RESPOND)100.8 482.4 Q F0 2.75(As)129.6 495.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 508.4 Q F2 -.814(PA)
100.8 525 S -2.068 -.44(RT O).814 H(PEN).44 E F0(The client sock)129.6
538 Q(et enters this state, from REQ)-.11 E(UEST)-.11 E 2.75(,a)-.814 G
(fter recei)-2.75 E(ving a DCCP-)-.275 E(Response from the serv)129.6
551 Q(er)-.165 E 5.5(.T)-.605 G
(his state represents the third phase of the three-w)-5.5 E(ay)-.11 E
(handshak)129.6 564 Q 2.75(e. The)-.11 F
(client may send data in this state, b)2.75 E(ut it MUST include an)-.22
E(Ackno)129.6 577 Q(wledgement Number on all of its pack)-.275 E(ets.)
-.11 E F2(OPEN)100.8 593.6 Q F0
(The central, data transfer portion of a DCCP connection.)129.6 606.6 Q
(Client and serv)5.5 E(er enter into)-.165 E(this state from P)129.6
619.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 speak of)-5.5 E
(SER)129.6 632.6 Q(VER-OPEN and CLIENT)-.88 E
(-OPEN states, corresponding to the serv)-1.012 E(er')-.165 E 2.75(sO)
-.605 G(PEN)-2.75 E(state and the client')129.6 645.6 Q 2.75(sO)-.605 G
(PEN state.)-2.75 E F2(CLOSEREQ)100.8 662.2 Q F0 2.75(As)129.6 675.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 688.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 704.8 Q F0(Either serv)129.6 717.8
Q(er or client can enter this state to close the connection.)-.165 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)
-.11 F 2.75(4.3. [P)2.75 F(age 11])-.165 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 after the connection has been torn do)-.11 E(wn, to)
-.275 E(pre)129.6 111 Q -.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 2.75
(ets. One)-.11 F(MSL, or Maximum)2.75 E(Se)129.6 124 Q
(gment Lifetime, is the maximum length of time a pack)-.165 E
(et could survi)-.11 E .33 -.165(ve i)-.275 H 2.75(nt).165 G(he)-2.75 E
(netw)129.6 137 Q(ork.)-.11 E F1(4.4.)72 163 Q/F2 13/Times-Bold@0 SF
(Congestion Contr)5.5 E(ol)-.234 E F0
(DCCP connections are congestion controlled.)100.8 179.6 Q(Unlik)5.5 E
2.75(eT)-.11 G(CP)-2.75 E 2.75(,h)-1.221 G -.275(ow)-2.75 G -2.365 -.275
(ev e).275 H .88 -.44(r, D).275 H(CCP supports).44 E(multiple congestio\
n control mechanisms for applications to choose from.)100.8 192.6 Q
(In f)5.5 E(act, the tw)-.11 E(o)-.11 E(half-connections can be go)100.8
205.6 Q -.165(ve)-.165 G(rned by dif).165 E(ferent mechanisms.)-.275 E
(Each mechanism corresponds)5.5 E
(to a one-byte congestion control identi\214er)100.8 218.6 Q 2.75(,o)
-.44 G 2.75(rC)-2.75 G 2.75(CID. A)-2.75 F(CCID describes ho)2.75 E 2.75
(wt)-.275 G(he HC-)-2.75 E(Sender limits data pack)100.8 231.6 Q
(et rates; ho)-.11 E 2.75(wi)-.275 G 2.75(tm)-2.75 G
(aintains necessary parameters, such as congestion)-2.75 E(windo)100.8
244.6 Q(ws; ho)-.275 E 2.75(wt)-.275 G(he HC-Recei)-2.75 E -.165(ve)
-.275 G 2.75(rs).165 G(ends congestion feedback via ackno)-2.75 E
(wledgements; and)-.275 E(ho)100.8 257.6 Q 2.75(wi)-.275 G 2.75(tm)-2.75
G(anages the ackno)-2.75 E(wledgement rate.)-.275 E(The endpoints ne)
100.8 274.2 Q(gotiate their CCIDs during connection initiation.)-.165 E
(So f)5.5 E(ar)-.11 E 2.75(,C)-.44 G(CIDs 2 and 3)-2.75 E(ha)100.8 287.2
Q .33 -.165(ve b)-.22 H
(een de\214ned for use with DCCP; CCID 0 is reserv).165 E
(ed, and CCID 1 is used for special)-.165 E
(purposes \(see Section 10.1\).)100.8 300.2 Q
(CCID 2 corresponds to TCP-lik)100.8 316.8 Q 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 329.8 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 342.8 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] are indicate)-.11 E
(congestion; the response to congestion is to halv)100.8 355.8 Q 2.75
(et)-.165 G(he congestion windo)-2.75 E -.715(w.)-.275 G(Ackno)100.8
368.8 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 381.8 Q 1.43 -.715(w, s)-.275 H
(imilar to a super selecti).715 E -.165(ve)-.275 G(-ackno).165 E
(wledgement \(SA)-.275 E(CK, [RFC 3517]\).)-.44 E(CCID 3 pro)100.8 398.4
Q(vides TFRC Congestion Control, an equation-based form of congestion c\
ontrol)-.165 E(which is intended to pro)100.8 411.4 Q
(vide a smoother response to congestion than CCID 2.)-.165 E(The sender)
5.5 E(maintains a "transmit rate".)100.8 424.4 Q(The recei)5.5 E -.165
(ve)-.275 G 2.75(rs).165 G(ends ackno)-2.75 E(wledgement pack)-.275 E
(ets containing)-.11 E(information about the recei)100.8 437.4 Q -.165
(ve)-.275 G(r').165 E 2.75(se)-.605 G(stimate of pack)-2.75 E(et loss.)
-.11 E(The sender uses this information)5.5 E
(to update its transmit rate.)100.8 450.4 Q(Although CCID 3 beha)5.5 E
-.165(ve)-.22 G 2.75(ss).165 G(ome)-2.75 E(what dif)-.275 E
(ferently from TCP in)-.275 E
(its short term congestion response, it is designed to operate f)100.8
463.4 Q(airly with TCP o)-.11 E -.165(ve)-.165 G 2.75(rt).165 G(he long)
-2.75 E(term.)100.8 476.4 Q(The beha)100.8 493 Q(viors of CCIDs 2 and 3\
 are fully de\214ned in separate pro\214le documents [CCID 2)-.22 E(PR)
100.8 506 Q(OFILE] [CCID 3 PR)-.44 E(OFILE].)-.44 E F1(4.5.)72 532 Q F2
-.325(Fe)5.5 G(atur).325 E(es)-.234 E F0(Agreement on DCCP feature v)
100.8 548.6 Q(alues is achie)-.275 E -.165(ve)-.275 G 2.75(db).165 G
2.75(ye)-2.75 G(xplicit ne)-2.915 E(gotiation, using options in)-.165 E
(DCCP pack)100.8 561.6 Q(et headers.)-.11 E
(This generally happens at connection startup, b)5.5 E(ut ne)-.22 E
(gotiation can)-.165 E(be)100.8 574.6 Q(gin at an)-.165 E 2.75(yt)-.165
G 2.75(ime. The)-2.75 F(rele)2.75 E -.275(va)-.275 G
(nt options are Change L, Con\214rm L, Change R, and).275 E(Con\214rm R\
, with the "L" options sent by the feature location and the "R" options\
 sent by the)100.8 587.6 Q(feature remote.)100.8 600.6 Q 2.75(AC)100.8
617.2 S(hange R message says to the peer)-2.75 E 2.75(,")-.44 G
(change this feature v)-2.75 E(alue on your side".)-.275 E(The peer)5.5
E(responds with a Con\214rm L, meaning "I')100.8 630.2 Q .33 -.165(ve c)
-.55 H(hanged it".).165 E(The suggested option setting in)5.5 E
(Change R can sometimes contain multiple v)100.8 643.2 Q
(alues, which are sorted in preference order)-.275 E(.)-.605 E -.165(Fo)
100.8 656.2 S 2.75(re).165 G(xample:)-2.915 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF 257.4
(Client Server)120.6 85 R 257.4(------ ------)120.6 98 R
(Change R\(CCID, 2\) -->)120.6 111 Q(<-- Confirm L\(CCID, 2\))318.6 124
Q 6.6(*a)193.2 137 S(greement that CCID/Server = 2 *)-6.6 E
(Change R\(CCID, 3 4\) -->)120.6 163 Q(<-- Confirm L\(CCID, 4, 4 2\))
285.6 176 Q 6.6(*a)193.2 189 S(greement that CCID/Server = 4 *)-6.6 E F0
(In the second e)100.8 208 Q(xchange, the client requests that the serv)
-.165 E(er use either CCID 3 or CCID 4,)-.165 E(with 3 preferred.)100.8
221 Q(The serv)5.5 E(er chooses 4, gi)-.165 E
(ving its preference list of "4 2".)-.275 E 2.75(Ap)100.8 237.6 S
(arty that w)-2.75 E(ants to change a feature located at itself issues \
a "Change L" option, which)-.11 E(elicits a "Con\214rm R" in reply)100.8
250.6 Q(.)-.715 E F1 250.8(Client Server)120.6 269.6 R 250.8
(------ ------)120.6 282.6 R(<-- Change L\(CCID, 3 2\))305.4 295.6 Q
(Confirm R\(CCID, 3, 3 2\))120.6 308.6 Q(-->)13.2 E 6.6(*a)193.2 321.6 S
(greement that CCID/Server = 3 *)-6.6 E F0(In this e)100.8 340.6 Q
(xample, the serv)-.165 E(er requests CCID v)-.165 E
(alue 3 or 2 for the serv)-.275 E(er')-.165 E 2.75(sC)-.605 G
(CID, with 3)-2.75 E(preferred, and the client agrees.)100.8 353.6 Q
(Retransmissions mak)100.8 370.2 Q 2.75(ef)-.11 G(eature ne)-2.75 E
(gotiation reliable. Section 6 describes these options)-.165 E(further)
100.8 383.2 Q(.)-.605 E/F2 11/Times-Bold@0 SF(4.6.)72 409.2 Q/F3 13
/Times-Bold@0 SF(Other Differ)5.5 E(ences fr)-.234 E(om TCP)-.234 E F0
(Interesting dif)100.8 425.8 Q(ferences between DCCP and TCP)-.275 E
2.75(,a)-1.221 G(part from those discussed so f)-2.75 E(ar)-.11 E 2.75
(,i)-.44 G(nclude:)-2.75 E<83>100.8 442.4 Q F2(Copious space f)7.15 E
(or options)-.275 E F0(\(up to 1020 bytes\).)2.75 E<83>100.8 459 Q F2
(Differ)7.15 E(ent ackno)-.198 E(wledgement f)-.11 E(ormats.)-.275 E F0
(The CCID for a connection determines ho)5.5 E(w)-.275 E
(much ack information needs to be transmitted. In CCID 2 \(TCP-lik)111.8
472 Q(e\), this is about one)-.11 E(ack per 2 pack)111.8 485 Q
(ets, and each ack must declare e)-.11 E(xactly which pack)-.165 E
(ets were recei)-.11 E -.165(ve)-.275 G(d; in).165 E
(CCID 3 \(TFRC\), it')111.8 498 Q 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 minimum just the)-2.75 E
(lengths of recent loss interv)111.8 511 Q(als.)-.275 E<83>100.8 527.6 Q
F2(Denial-of-ser)7.15 E(vice \(DoS\) pr)-.11 E(otection.)-.198 E F0(Se)
5.5 E -.165(ve)-.275 G(ral DCCP mechanisms attempt to let serv).165 E
(ers)-.165 E(limit the amount of state possibly-misbeha)111.8 540.6 Q
(ving clients can force them to maintain.)-.22 E(An)5.5 E
(Init Cookie option, analogous to TCP')111.8 553.6 Q 2.75(sS)-.605 G
(YN Cookies [SYNCOOKIES], a)-2.75 E -.22(vo)-.22 G(ids SYN-).22 E
(\215ood-lik)111.8 566.6 Q 2.75(ea)-.11 G 2.75(ttacks. Only)-2.75 F
(one connection endpoint need hold TIMEW)2.75 E(AIT state; the)-1.32 E
(DCCP-CloseReq pack)111.8 579.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)-2.75 E 2.75(client. V)111.8 592.6 R
(arious 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 -.165(ve)-.275 G
(computation or pack)111.8 605.6 Q(et generation.)-.11 E<83>100.8 622.2
Q F2(Distinguishing differ)7.15 E(ent kinds of loss.)-.198 E F0 2.75(AD)
5.5 G(ata Dropped option \(Section 11.7\) lets an)-2.75 E
(endpoint declare that a pack)111.8 635.2 Q(et w)-.11 E
(as dropped because of corruption, because of recei)-.11 E -.165(ve)
-.275 G -.22(bu)111.8 648.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)111.8 661.2 Q
(ork-congestion losses \(although currently all losses will)-.11 E
(cause a congestion response\).)111.8 674.2 Q<83>100.8 690.8 Q F2(Ackno)
7.15 E(wledgement r)-.11 E(eadiness.)-.198 E F0(In TCP)5.5 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)111.8 703.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)111.8 716.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. W)-.165 F(e)-.88 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(ackno)111.8 85 Q
(wledge a pack)-.275 E(et when its options ha)-.11 E .33 -.165(ve b)-.22
H(een processed.).165 E(The Data Dropped option)5.5 E
(may later say that the pack)111.8 98 Q(et')-.11 E 2.75(sp)-.605 G
(ayload w)-2.75 E(as discarded.)-.11 E<83>100.8 114.6 Q/F1 11
/Times-Bold@0 SF(Integrated support f)7.15 E
(or mobility and multihoming)-.275 E F0(via the DCCP-Mo)2.75 E .33 -.165
(ve p)-.165 H(ack).165 E(et type.)-.11 E<83>100.8 131.2 Q F1(No r)7.15 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 protocol.)-2.75 E<83>100.8 147.8 Q F1(No simultaneous open.)
7.15 E F0(Ev)5.5 E(ery connection has one client and one serv)-.165 E
(er)-.165 E(.)-.605 E<83>100.8 164.4 Q F1(No half-closed states.)7.15 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)111.8 177.4 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)111.8 190.4 Q
-.165(ve)-.275 G(.).165 E F1(4.7.)72 216.4 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 233 Q 2.75
(ws. \(This)-.275 F(description is informati)2.75 E -.165(ve)-.275 G(,)
.165 E(not normati)100.8 246 Q -.165(ve)-.275 G(.\)).165 E/F3 11
/Courier@0 SF 217.8(Client Server)147 265 R 217.8(------ ------)147 278
R 6.6(0. [CLOSED])120.6 291 R([LISTEN])198 E 6.6(1. DCCP-Request)120.6
304 R(-->)6.6 E 198(2. <--)120.6 317 R(DCCP-Response)6.6 E 6.6
(3. DCCP-Ack)120.6 330 R(-->)6.6 E(<-- DCCP-Ack)371.4 343 Q 6.6
(4. DCCP-Data,)120.6 356 R(DCCP-Ack, DCCP-DataAck -->)6.6 E
(<-- DCCP-Data, DCCP-Ack, DCCP-DataAck)206.4 369 Q 198(5. <--)120.6 382
R(DCCP-CloseReq)6.6 E 6.6(6. DCCP-Close)120.6 395 R(-->)6.6 E 217.8
(7. <--)120.6 408 R(DCCP-Reset)6.6 E 6.6(8. [TIMEWAIT])120.6 421 R F0
17.8(1. The)100.8 443.6 R(client sends the serv)2.75 E
(er a DCCP-Request pack)-.165 E(et specifying the client and serv)-.11 E
(er)-.165 E(ports, the service being requested, and an)129.6 456.6 Q
2.75(yf)-.165 G(eatures being ne)-2.75 E(gotiated, including the)-.165 E
(CCID that the client w)129.6 469.6 Q(ould lik)-.11 E 2.75(et)-.11 G
(he serv)-2.75 E(er to use.)-.165 E(The client may optionally)5.5 E
(piggyback some data on the DCCP-Request pack)129.6 482.6 Q
(et---an application-le)-.11 E -.165(ve)-.275 G 2.75(lr).165 G(equest,)
-2.75 E(say---which the serv)129.6 495.6 Q(er may ignore.)-.165 E 17.8
(2. The)100.8 512.2 R(serv)2.75 E
(er sends the client a DCCP-Response pack)-.165 E
(et indicating that it is willing to)-.11 E
(communicate with the client.)129.6 525.2 Q(The response indicates an)
5.5 E 2.75(yf)-.165 G(eatures and options that)-2.75 E(the serv)129.6
538.2 Q(er agrees to, be)-.165 E(gins or continues other feature ne)
-.165 E(gotiations if desired, and)-.165 E(optionally includes an Init \
Cookie that wraps up all this information and which must)129.6 551.2 Q
(be returned by the client for the connection to complete.)129.6 564.2 Q
17.8(3. The)100.8 580.8 R(client sends the serv)2.75 E
(er a DCCP-Ack pack)-.165 E(et that ackno)-.11 E(wledges the DCCP-)-.275
E(Response pack)129.6 593.8 Q 2.75(et. This)-.11 F(ackno)2.75 E
(wledges the serv)-.275 E(er')-.165 E 2.75(si)-.605 G
(nitial sequence number and)-2.75 E(returns the Init Cookie if there w)
129.6 606.8 Q(as one in the DCCP-Response.)-.11 E(It may also)5.5 E
(continue feature ne)129.6 619.8 Q 2.75(gotiation. There)-.165 F
(might follo)2.75 E 2.75(wz)-.275 G(ero or more DCCP-Ack)-2.75 E -.165
(ex)129.6 632.8 S(changes as required to \214nalize feature ne).165 E
2.75(gotiation. The)-.165 F(client may piggyback an)2.75 E
(application-le)129.6 645.8 Q -.165(ve)-.275 G 2.75(lr).165 G
(equest on its \214nal ack, producing a DCCP-DataAck pack)-2.75 E(et.)
-.11 E 17.8(4. The)100.8 662.4 R(serv)2.75 E(er and client then e)-.165
E(xchange DCCP-Data pack)-.165 E(ets, DCCP-Ack pack)-.11 E(ets)-.11 E
(ackno)129.6 675.4 Q(wledging that data, and, optionally)-.275 E 2.75
(,D)-.715 G(CCP-DataAck pack)-2.75 E(ets containing)-.11 E(piggyback)
129.6 688.4 Q(ed data and ackno)-.11 E 2.75(wledgements. If)-.275 F
(the client has no data to send, then the)2.75 E(serv)129.6 701.4 Q
(er will send DCCP-Data and DCCP-DataAck pack)-.165 E
(ets, while the client will send)-.11 E(DCCP-Acks e)129.6 714.4 Q
(xclusi)-.165 E -.165(ve)-.275 G(ly).165 E(.)-.715 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E 17.8(5. The)100.8 85 R(serv)
2.75 E(er sends a DCCP-CloseReq pack)-.165 E(et requesting a close.)-.11
E 17.8(6. The)100.8 101.6 R(client sends a DCCP-Close pack)2.75 E
(et ackno)-.11 E(wledging the close.)-.275 E 17.8(7. The)100.8 118.2 R
(serv)2.75 E(er sends a DCCP-Reset pack)-.165 E
(et with Reset Code 1, "Closed", and clears its)-.11 E
(connection state.)129.6 131.2 Q(In 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(,R)-1.221 G
(esets are part of normal connection)-2.75 E
(termination; see Section 5.6.)129.6 144.2 Q 17.8(8. The)100.8 160.8 R
(client recei)2.75 E -.165(ve)-.275 G 2.75(st).165 G(he DCCP-Reset pack)
-2.75 E(et and holds state for a reasonable interv)-.11 E(al)-.275 E
(of time to allo)129.6 173.8 Q 2.75(wa)-.275 G .33 -.165(ny r)-2.75 H
(emaining pack).165 E(ets to clear the netw)-.11 E(ork.)-.11 E
(An alternati)100.8 190.4 Q .33 -.165(ve c)-.275 H(onnection closedo)
.165 E(wn sequence is initiated by the client:)-.275 E(5b)100.8 207 Q
15.49(.T)-.44 G(he client sends a DCCP-Close pack)-15.49 E
(et closing the connection.)-.11 E(6b)100.8 223.6 Q 15.49(.T)-.44 G
(he serv)-15.49 E(er sends a DCCP-Reset pack)-.165 E
(et with Reset Code 1, "Closed", and clears its)-.11 E
(connection state.)129.6 236.6 Q(7b)100.8 253.2 Q 15.49(.T)-.44 G
(he client recei)-15.49 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)-.275 E(of time to allo)129.6 266.2 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 292.2 Q/F2 14/Times-Bold@0 SF
(Header F)5.5 E(ormats)-.35 E F0(The v)100.8 308.8 Q
(ariable-length DCCP header appears \214rst in e)-.275 E -.165(ve)-.275
G(ry DCCP pack).165 E 2.75(et. A)-.11 F(header can be)2.75 E
(from 12 to 1020 bytes long.)100.8 321.8 Q
(The initial 12 bytes of the header are the same re)5.5 E -.055(ga)-.165
G(rdless of).055 E(pack)100.8 334.8 Q(et type.)-.11 E -.165(Fo)5.5 G
(llo).165 E(wing this comes optional additional \214x)-.275 E
(ed-length \214elds, depending on the)-.165 E(pack)100.8 347.8 Q
(et type, and then a v)-.11 E(ariable-length list of options.)-.275 E
(Finally)5.5 E 2.75(,s)-.715 G(ome pack)-2.75 E(et types include)-.11 E
(application data.)100.8 360.8 Q/F3 11/Courier@0 SF 6.6
(+---------------------------------------+ -.)107.4 379.8 R 85.8(|G)
107.4 392.8 S(eneric Header)-85.8 E 19.8(||)79.2 G 13.2
(+---------------------------------------+ |)107.4 405.8 R 6.6(|A)107.4
418.8 S(dditional Fields \(depending on type\) |)-6.6 E(+- DCCP Header)
19.8 E 13.2(+---------------------------------------+ |)107.4 431.8 R
72.6(|O)107.4 444.8 S(ptions \(optional\))-72.6 E 19.8(||)66 G 6.6
(+=======================================+ -')107.4 457.8 R 39.6(|A)
107.4 470.8 S(pplication Data \(optional\))-39.6 E(|)39.6 E
(+=======================================+)107.4 483.8 Q F1(5.1.)72
515.8 Q/F4 13/Times-Bold@0 SF(Generic Header)5.5 E F0
(The DCCP generic header generally tak)100.8 532.4 Q(es 12 bytes.)-.11 E
F3 125.4(0123)114 551.4 S 6.6(01234567890123456789012345678901)114 564.4
S(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)
107.4 577.4 Q 66(|S)107.4 590.4 S(ource Port)-66 E 72.6(|D)66 G
(est Port)-72.6 E(|)72.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
603.4 Q 13.2(|D)107.4 616.4 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
629.4 Q 6.6(|T)107.4 642.4 S 6.6(ype |X|)-6.6 F(Res |)6.6 E
(Sequence Number)92.4 E(|)118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
655.4 Q F0(Actually)100.8 674.4 Q 2.75(,t)-.715 G(here are tw)-2.75 E
2.75(ot)-.11 G(ypes of generic header)-2.75 E 2.75(,d)-.44 G
(epending on the v)-2.75 E(alue of X, the Extended)-.275 E
(Sequence Numbers bit.)100.8 687.4 Q
(If X is zero, the Sequence Number \214eld tak)5.5 E(es 24 bits, as abo)
-.11 E -.165(ve)-.165 G 5.5(.I).165 G(f)-5.5 E 2.75(Xi)100.8 700.4 S
2.75(so)-2.75 G(ne, the Sequence Number \214eld e)-2.75 E
(xtends for an additional 24 bits, for a total of 48:)-.165 E -.385(Ko)
72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75
(5.1. [P)2.75 F(age 15])-.165 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 6.6(|T)107.4 176 S 6.6(ype |1|)-6.6 F(Res |)6.6 E
(Sequence Number \(high bits\))66 E(.)66 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
189 Q 66(.S)107.4 202 S(equence Number \(low bits\))-66 E 13.2(|R)72.6 G
13.2(eserved |T|)-13.2 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
215 Q/F2 11/Times-Bold@0 SF(Sour)100.8 237.6 Q(ce and Destination P)
-.198 E(orts: 16 bits each)-.22 E F0(These \214elds identify the connec\
tion, similar to the corresponding \214elds in TCP and)129.6 250.6 Q
(UDP)129.6 263.6 Q 5.5(.T)-1.221 G(he Source Port represents the rele)
-5.5 E -.275(va)-.275 G(nt port on the endpoint that sent this).275 E
(pack)129.6 276.6 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 289.6 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 306.2 Q F0(The of)129.6 319.2 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 332.2 Q(ords.)-.11 E F2(CCV)100.8
348.8 Q(al: 4 bits)-1.012 E F0(Used by the HC-Sender CCID.)129.6 361.8 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 374.8 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 387.8 Q 2.75(al. CCV)-1.221 F
(al MUST be set to zero unless the HC-)-1.221 E
(Sender CCID speci\214es a dif)129.6 400.8 Q(ferent v)-.275 E(alue.)
-.275 E F2(Checksum Co)100.8 417.4 Q -.11(ve)-.11 G(rage \(CsCo).11 E
(v\): 4 bits)-.11 E F0(Checksum Co)129.6 430.4 Q -.165(ve)-.165 G
(rage speci\214es what parts of the pack).165 E(et are co)-.11 E -.165
(ve)-.165 G(red by the Checksum).165 E 2.75(\214eld. This)129.6 443.4 R
(al)2.75 E -.11(wa)-.11 G(ys includes the DCCP header and options, b).11
E(ut if applications request)-.22 E
(it, some or all of the application data may be e)129.6 456.4 Q 2.75
(xcluded. This)-.165 F(can impro)2.75 E -.165(ve)-.165 G(performance on\
 noisy links, assuming the application can tolerate corruption.)129.6
469.4 Q(See)5.5 E(Section 9.)129.6 482.4 Q F2(Checksum: 16 bits)100.8
499 Q F0(The Internet checksum of the pack)129.6 512 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 525 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 538 Q
(See Section 9.)5.5 E F2 -.814(Ty)100.8 554.6 S(pe: 4 bits).814 E F0
(The T)129.6 567.6 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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-Move)-26.4 E 26.4(9D)142.8
228 S(CCP-Sync)-26.4 E 19.8(10 DCCP-SyncAck)136.2 241 R 6.6
(11-15 Reserved)129.6 254 R/F2 11/Times-Bold@0 SF
(Extended Sequence Numbers \(X\): 1 bit)100.8 276.6 Q F0
(This bit is set to one to indicate the use of an e)129.6 289.6 Q
(xtended generic header with 48-bit)-.165 E(Sequence and Ackno)129.6
302.6 Q(wledgement Numbers.)-.275 E -1.221(Ve)5.5 G
(ry-high-rate connections SHOULD)1.221 E
(set X to one, and use 48-bit sequence numbers, to g)129.6 315.6 Q
(ain increased protection ag)-.055 E(ainst)-.055 E
(wrapped sequence numbers and attacks.)129.6 328.6 Q(See Section 7.6.)
5.5 E F2(Reser)100.8 345.2 Q -.11(ve)-.11 G 2.75(d\().11 G
(Res\): 3 bits)-2.75 E F0(The v)129.6 358.2 Q
(ersion of DCCP speci\214ed here MUST ignore this \214eld on recei)-.165
E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(ets,)-.11 E
(and MUST set it to all zeroes on generated pack)129.6 371.2 Q(ets.)-.11
E F2(Sequence Number: 24 or 48 bits)100.8 387.8 Q F0
(Identi\214es the pack)129.6 400.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
413.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 426.8 Q
(ets such as DCCP-Ack that carry no application data.)-.11 E
(See Section 7.)5.5 E F2(Sequence Number T)100.8 443.4 Q
(ransition \(T\): 1 bit [X=1 only])-.814 E F0(Set to one to indicate an\
 ongoing transition from 24-bit to 48-bit sequence numbers.)129.6 456.4
Q(See Section 7.6.)129.6 469.4 Q(Man)100.8 486 Q 2.75(yp)-.165 G(ack)
-2.75 E(et types also carry an Ackno)-.11 E
(wledgement Number in the four or eight bytes)-.275 E(immediately follo)
100.8 499 Q(wing the generic header)-.275 E 5.5(.W)-.605 G
(hen X=0, its format is:)-5.5 E F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
518 Q 19.8(|R)107.4 531 S 19.8(eserved |)-19.8 F(Acknowledgement Number)
79.2 E(|)85.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
544 Q F0(And when X=1:)100.8 563 Q F1
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
582 Q 19.8(|R)107.4 595 S 19.8(eserved |)-19.8 F
(Acknowledgement Number \(high bits\))46.2 E(.)39.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
608 Q 46.2(.A)107.4 621 S(cknowledgement Number \(low bits\))-46.2 E
19.8(|R)46.2 G 19.8(eserved |)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
634 Q F2(Ackno)100.8 656.6 Q(wledgement Number: 24 or 48 bits)-.11 E F0
(The Ackno)129.6 669.6 Q(wledgement Number \214eld generally ackno)-.275
E(wledges the)-.275 E/F3 11/Times-Italic@0 SF(gr)2.75 E(eatest)-.407 E
F0 -.275(va)2.75 G(lid).275 E(sequence number recei)129.6 682.6 Q -.165
(ve)-.275 G 2.75(ds).165 G 2.75(of)-2.75 G(ar on this connection.)-2.86
E(\("Greatest" is, of course,)5.5 E
(measured in circular sequence space.\))129.6 695.6 Q(Ackno)5.5 E
(wledgement numbers mak)-.275 E 2.75(en)-.11 G 2.75(oa)-2.75 G(ttempt)
-2.75 E(to pro)129.6 708.6 Q(vide precise information about which pack)
-.165 E(ets ha)-.11 E .33 -.165(ve a)-.22 H(rri).165 E -.165(ve)-.275 G
(d; options such as the).165 E(Ack V)129.6 721.6 Q(ector do this.)-1.221
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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF(Reser)
100.8 85 Q -.11(ve)-.11 G(d: 8 bits).11 E F0(The v)129.6 98 Q
(ersion of DCCP speci\214ed here MUST ignore these \214elds on recei)
-.165 E -.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(ets,)-.11 E
(and MUST set them to all zeroes on generated pack)129.6 111 Q(ets.)-.11
E F1(5.2.)72 137 Q/F2 13/Times-Bold@0 SF(DCCP-Request Header)5.5 E F0
2.75(Ac)100.8 153.6 S
(lient initiates a DCCP connection by sending a DCCP-Request pack)-2.75
E(et.)-.11 E/F3 11/Courier@0 SF 125.4(0123)114 172.6 S 6.6
(01234567890123456789012345678901)114 185.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
198.6 Q 92.4(/G)107.4 211.6 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 125.4(/w)107.4 224.6 S(ith Type=0 \(DCCP-Request\))
-125.4 E(/)118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
237.6 Q 165(|S)107.4 250.6 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
263.6 Q 138.6(|O)107.4 276.6 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
289.6 Q 158.4(|A)107.4 302.6 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 315.6 S 191.4(.. |)-198 F F1(Ser)100.8 338.2 Q
(vice Code: 32 bits)-.11 E F0
(Describes the service to which the client application w)129.6 351.2 Q
(ants to connect.)-.11 E(Examples)5.5 E(might include R)129.6 364.2 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 377.2
Q(wn ports, and help middlebox)-.275 E(es identify the)-.165 E
(protocol used on a gi)129.6 390.2 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 416.2 Q F2
(DCCP-Response Header)5.5 E F0(The serv)100.8 432.8 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 445.8 Q
(ay handshak)-.11 E(e.)-.11 E F3 125.4(0123)114 464.8 S 6.6
(01234567890123456789012345678901)114 477.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
490.8 Q 92.4(/G)107.4 503.8 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 118.8(/w)107.4 516.8 S(ith Type=1 \(DCCP-Response\))
-118.8 E(/)118.8 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
529.8 Q 19.8(|R)107.4 542.8 S 19.8(eserved |)-19.8 F
(Acknowledgement Number)79.2 E(|)85.8 E(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)100.8 555.8 Q 39.6
(\(. Acknowledgement)100.8 568.8 R(Number \(low bits\))6.6 E 19.8(|R)
46.2 G 19.8(eserved |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
581.8 Q 165(|S)107.4 594.8 S(ervice Code)-165 E(|)171.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
607.8 Q 138.6(|O)107.4 620.8 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
633.8 Q 158.4(|A)107.4 646.8 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 659.8 S 191.4(.. |)-198 F F1(Ackno)100.8 682.4 Q
(wledgement Number: 24 or 48 bits)-.11 E F0(The Ackno)129.6 695.4 Q
(wledgement Number \214eld will generally equal the Sequence Number)
-.275 E(from the DCCP-Request.)129.6 708.4 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF(Ser)
100.8 85 Q(vice Code: 32 bits)-.11 E F0
(Echoes the Service Code on the DCCP-Request.)129.6 98 Q F1(5.4.)72 124
Q/F2 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 140.6 Q -.165(ve)
-.275 G(ry DCCP connection uses DCCP-Data, DCCP-Ack,).165 E
(and DCCP-DataAck pack)100.8 153.6 Q 2.75(ets. DCCP-Data)-.11 F(pack)
2.75 E(ets carry application data.)-.11 E/F3 11/Courier@0 SF 125.4(0123)
114 172.6 S 6.6(01234567890123456789012345678901)114 185.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
198.6 Q 92.4(/G)107.4 211.6 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 132(/w)107.4 224.6 S(ith Type=2 \(DCCP-Data\))-132 E(/)
132 E(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)
107.4 237.6 Q 138.6(|O)107.4 250.6 S 118.8(ptions /)-138.6 F 19.8
(Padding |)26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
263.6 Q 158.4(|A)107.4 276.6 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 289.6 S 191.4(.. |)-198 F F0(DCCP-Ack pack)100.8 308.6 Q
(ets dispense with the data, b)-.11 E(ut contain an Ackno)-.22 E
(wledgement Number)-.275 E(.)-.605 E(The)100.8 321.6 Q 2.75(ya)-.165 G
(re used for pure ackno)-2.75 E(wledgements.)-.275 E F3 125.4(0123)114
340.6 S 6.6(01234567890123456789012345678901)114 353.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
366.6 Q 92.4(/G)107.4 379.6 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 132(/w)107.4 392.6 S(ith Type=3 \(DCCP-Ack\))-132 E(/)
138.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
405.6 Q 19.8(|R)107.4 418.6 S 19.8(eserved |)-19.8 F
(Acknowledgement Number)79.2 E(|)85.8 E(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)100.8 431.6 Q 39.6
(\(. Acknowledgement)100.8 444.6 R(Number \(low bits\))6.6 E 19.8(|R)
46.2 G 19.8(eserved |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
457.6 Q 138.6(|O)107.4 470.6 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
483.6 Q F0(DCCP-DataAck pack)100.8 502.6 Q
(ets carry both application data and an Ackno)-.11 E(wledgement Number:)
-.275 E(ackno)100.8 515.6 Q(wledgement information is piggyback)-.275 E
(ed on a data pack)-.11 E(et.)-.11 E F3 125.4(0123)114 534.6 S 6.6
(01234567890123456789012345678901)114 547.6 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
560.6 Q 92.4(/G)107.4 573.6 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 118.8(/w)107.4 586.6 S(ith Type=4 \(DCCP-DataAck\))
-118.8 E(/)125.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
599.6 Q 19.8(|R)107.4 612.6 S 19.8(eserved |)-19.8 F
(Acknowledgement Number)79.2 E(|)85.8 E(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)100.8 625.6 Q 39.6
(\(. Acknowledgement)100.8 638.6 R(Number \(low bits\))6.6 E 19.8(|R)
46.2 G 19.8(eserved |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
651.6 Q 138.6(|O)107.4 664.6 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+)107.4
677.6 Q 158.4(|A)107.4 690.6 S(pplication Data)-158.4 E(|)151.8 E 198
(|.)107.4 703.6 S 191.4(.. |)-198 F F0(DCCP-Data and DCCP-DataAck pack)
100.8 722.6 Q(ets may contain zero application data bytes if the)-.11 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(application sends a zero-length datagram.)100.8 85 Q
(Also, a DCCP-Ack pack)5.5 E(et need not ha)-.11 E .33 -.165(ve a z)-.22
H(ero-).165 E(length application data area.)100.8 98 Q(The recei)5.5 E
-.165(ve)-.275 G 2.75(rM).165 G(UST ignore an)-2.75 E 2.75(y")-.165 G
(application data" in a DCCP-)-2.75 E(Ack pack)100.8 111 Q 2.75(et. The)
-.11 F(sender will not generally send such data, b)2.75 E
(ut it may occasionally do)-.22 E(so---to perform PMTU disco)100.8 124 Q
-.165(ve)-.165 G(ry without risking loss of user data, for e).165 E
(xample.)-.165 E(DCCP-Ack and DCCP-DataAck pack)100.8 140.6 Q
(ets often include additional ackno)-.11 E(wledgement)-.275 E
(options, such as Ack V)100.8 153.6 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
/F1 11/Times-Bold@0 SF(5.5.)72 179.6 Q/F2 13/Times-Bold@0 SF
(DCCP-CloseReq and DCCP-Close Headers)5.5 E F0
(DCCP-CloseReq and DCCP-Close pack)100.8 196.2 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 209.2 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 222.2 Q(et \(see the ne)-.11 E(xt section\).)
-.165 E(Only the serv)5.5 E(er can send a DCCP-CloseReq)-.165 E(pack)
100.8 235.2 Q(et, which indicates that the serv)-.11 E(er w)-.165 E
(ants to close the connection, b)-.11 E(ut does not w)-.22 E(ant to)-.11
E(hold its TIMEW)100.8 248.2 Q(AIT state.)-1.32 E/F3 11/Courier@0 SF
125.4(0123)114 267.2 S 6.6(01234567890123456789012345678901)114 280.2 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
293.2 Q 92.4(/G)107.4 306.2 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 59.4(/w)107.4 319.2 S
(ith Type=5 \(DCCP-CloseReq\) or 6 \(DCCP-Close\))-59.4 E(/)59.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
332.2 Q 19.8(|R)107.4 345.2 S 19.8(eserved |)-19.8 F
(Acknowledgement Number)79.2 E(|)85.8 E(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)100.8 358.2 Q 39.6
(\(. Acknowledgement)100.8 371.2 R(Number \(low bits\))6.6 E 19.8(|R)
46.2 G 19.8(eserved |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
384.2 Q 138.6(|O)107.4 397.2 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
410.2 Q F0(The recei)100.8 429.2 Q -.165(ve)-.275 G 2.75(rM).165 G
(UST ignore an)-2.75 E 2.75(y")-.165 G
(application data" in a DCCP-CloseReq or DCCP-Close)-2.75 E(pack)100.8
442.2 Q(et.)-.11 E F1(5.6.)72 468.2 Q F2(DCCP-Reset Header)5.5 E F0
(DCCP-Reset pack)100.8 484.8 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 497.8 Q
(ut resets may be sent for other reasons, including bad port)-.22 E
(numbers, bad option beha)100.8 510.8 Q(vior)-.22 E 2.75(,i)-.44 G
(ncorrect ECN Nonce Echoes, and so forth.)-2.75 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 20])-.165 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 125.4(/w)107.4 137 S(ith Type=7 \(DCCP-Reset\))-125.4 E(/)132
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(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)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 |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 13.2(|R)107.4 215 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
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 171.6(|E)107.4 267 S(rror Text)-171.6 E(|)178.2 E 198(|.)107.4 280
S 191.4(.. |)-198 F/F2 11/Times-Bold@0 SF(Reset Code: 8 bits)100.8 302.6
Q F0(Represents the reason that the sender reset the DCCP connection.)
129.6 315.6 Q F2(Data 1, Data 2, and Data 3: 8 bits each)100.8 332.2 Q
F0(The Data \214elds pro)129.6 345.2 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 358.2 R
(meanings of these \214elds depend on the v)2.75 E(alue of Reason.)-.275
E F2(Err)100.8 374.8 Q(or T)-.198 E(ext \(application data ar)-1.012 E
(ea\))-.198 E F0(If present, Error T)129.6 387.8 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 400.8 Q -.165(Fo)5.5 G 2.75(re).165 G(xample, a)-2.915 E(DCCP-Res\
et with Reset Code 12, "Aggression Penalty", might contain Error T)129.6
413.8 Q -.165(ex)-.77 G(t).165 E(such as "Aggression Penalty: Recei)
129.6 426.8 Q -.165(ve)-.275 G 2.75(d3b).165 G
(ad ECN Nonce Echoes, assuming)-2.75 E(misbeha)129.6 439.8 Q(vior".)-.22
E(The follo)100.8 456.4 Q(wing Reset Codes are currently de\214ned.)
-.275 E(The "Data" columns describe what the)5.5 E
(Data \214elds contain for a gi)100.8 469.4 Q -.165(ve)-.275 G 2.75(nC)
.165 G 2.75(ode. N/A)-2.75 F
(means the Data \214eld MUST be set to 0 by the)2.75 E
(sender of the DCCP-Reset and ignored by its recei)100.8 482.4 Q -.165
(ve)-.275 G -.605(r.).165 G -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF 310.2
(Reset Section)107.4 85 R 13.2(Code Name)107.4 98 R
(Data 1 Data 2 Data 3)125.4 E(Reference)13.2 E 6.6(----- ----)107.4 111
R(------ ------ ------)125.4 E(---------)13.2 E 26.4(0U)120.6 124 S 79.2
(nspecified N/A)-26.4 F 19.8(N/A N/A)26.4 F 26.4(1C)120.6 137 S 112.2
(losed N/A)-26.4 F 19.8(N/A N/A)26.4 F(8.3)39.6 E 26.4(2A)120.6 150 S
105.6(borted N/A)-26.4 F 19.8(N/A N/A)26.4 F(8.1.1)39.6 E 26.4(3N)120.6
163 S 6.6(oC)-26.4 G 66(onnection N/A)-6.6 F 19.8(N/A N/A)26.4 F(8.3.1)
39.6 E 26.4(4P)120.6 176 S(acket Error)-26.4 E 6.6(packet N/A)72.6 F 33
(N/A 8.3.1)26.4 F(type)312 189 Q 26.4(5O)120.6 202 S(ption Error)-26.4 E
6.6(option option)72.6 F(data)6.6 E 13.2(number \(if)305.4 215 R(any\))
6.6 E 26.4(6M)120.6 228 S(andatory Error)-26.4 E 6.6(option option)52.8
F 26.4(data 5.9.2)6.6 F 13.2(number \(if)305.4 241 R(any\))6.6 E 26.4
(7E)120.6 254 S(xtended Seqnos)-26.4 E 19.8(N/A N/A N/A)59.4 F(7.6)39.6
E 26.4(8C)120.6 267 S(onnection Refused)-26.4 E 19.8(N/A N/A N/A)39.6 F
(8.1.3)39.6 E 26.4(9B)120.6 280 S(ad Service Code)-26.4 E 19.8
(N/A N/A N/A)52.8 F(8.1.3)39.6 E 19.8(10 Too)114 293 R 99(Busy N/A)6.6 F
19.8(N/A N/A)26.4 F(8.1.3)39.6 E 19.8(11 Bad)114 306 R(Init Cookie)6.6 E
19.8(N/A N/A N/A)59.4 F(8.1.4)39.6 E 19.8(12 Aggression)114 319 R 33
(Penalty N/A)6.6 F 19.8(N/A N/A)26.4 F(12.2)39.6 E 19.8(13 Move)114 332
R 72.6(Refused N/A)6.6 F 19.8(N/A N/A)26.4 F(14.4)39.6 E
(13-127 Reserved)107.4 345 Q(128-255 CCID-specific codes)100.8 358 Q
(... variable ...)39.6 E(10.4)39.6 E/F2 11/Times-Bold@0 SF(5.7.)72 390 Q
/F3 13/Times-Bold@0 SF(DCCP-Mo)5.5 E .26 -.13(ve H)-.13 H(eader).13 E F0
(The DCCP-Mo)100.8 406.6 Q .33 -.165(ve p)-.165 H(ack).165 E
(et type is part of DCCP')-.11 E 2.75(ss)-.605 G
(upport for multihoming and mobility)-2.75 E(,)-.715 E
(which is described further in Section 14. DCCP A sends a DCCP-Mo)100.8
419.6 Q .33 -.165(ve p)-.165 H(ack).165 E(et to DCCP B)-.11 E
(after changing its address and/or port number)100.8 432.6 Q 5.5(.T)
-.605 G(he DCCP-Mo)-5.5 E .33 -.165(ve p)-.165 H(ack).165 E
(et requests that)-.11 E(DCCP B start sending pack)100.8 445.6 Q
(ets to a ne)-.11 E 2.75(wa)-.275 G(ddress and port number)-2.75 E 2.75
(,w)-.44 G(hich are read of)-2.75 E 2.75(ft)-.275 G(he)-2.75 E(pack)
100.8 458.6 Q(et')-.11 E 2.75(sn)-.605 G(etw)-2.75 E
(ork header and generic DCCP header)-.11 E 5.5(.T)-.605 G
(he old address and port are de\214ned)-5.5 E
(through a Mobility ID, which pro)100.8 471.6 Q
(vides some protection ag)-.165 E(ainst hijack)-.055 E(ed connections.)
-.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 22])-.165 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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=8 \(DCCP-Move\))-132 E(/)132 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(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+\)when)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 |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
202 Q 132(|M)107.4 215 S(obility ID \(high bits\))-132 E(.)132 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
228 Q 125.4(.M)107.4 241 S(obility ID \(bits 64-95\))-125.4 E(.)132 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
254 Q 125.4(.M)107.4 267 S(obility ID \(bits 32-63\))-125.4 E(.)132 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
280 Q 132(.M)107.4 293 S(obility ID \(low bits\))-132 E(|)138.6 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
306 Q 138.6(|O)107.4 319 S 118.8(ptions /)-138.6 F 19.8(Padding |)26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
332 Q/F2 11/Times-Bold@0 SF(Mobility ID: 128 bits)100.8 354.6 Q F0
(The v)129.6 367.6 Q(alue of the recei)-.275 E -.165(ve)-.275 G(r').165
E 2.75(sM)-.605 G(obility ID feature.)-2.75 E(This v)5.5 E
(alue uniquely identi\214es the)-.275 E(current connection among the se\
t of connections terminating at the recei)129.6 380.6 Q -.165(ve)-.275 G
(r).165 E(\(meaning, the stationary endpoint\); it MUST ha)129.6 393.6 Q
.33 -.165(ve b)-.22 H(een set in an earlier e).165 E(xchange.)-.165 E
(See Section 14.2.)129.6 406.6 Q(The recei)100.8 423.2 Q -.165(ve)-.275
G 2.75(rM).165 G(UST ignore an)-2.75 E 2.75(y")-.165 G
(application data" in a DCCP-Mo)-2.75 E .33 -.165(ve p)-.165 H(ack).165
E(et.)-.11 E F2(5.8.)72 449.2 Q/F3 13/Times-Bold@0 SF
(DCCP-Sync and DCCP-SyncAck Headers)5.5 E F0(DCCP-Sync pack)100.8 465.8
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
478.8 Q -.165(ve)-.165 G 2.75(rf).165 G(rom half-open connections.)-2.75
E(Each v)5.5 E(alid DCCP-Sync recei)-.275 E -.165(ve)-.275 G 2.75(di)
.165 G(mmediately elicits a)-2.75 E(DCCP-SyncAck.)100.8 491.8 Q F1 125.4
(0123)114 510.8 S 6.6(01234567890123456789012345678901)114 523.8 S
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
536.8 Q 92.4(/G)107.4 549.8 S(eneric DCCP Header \(12 or 16 bytes\))
-92.4 E(/)85.8 E 66(/w)107.4 562.8 S
(ith Type=9 \(DCCP-Sync\) or 10 \(DCCP-SyncAck\))-66 E(/)59.4 E
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
575.8 Q 19.8(|R)107.4 588.8 S 19.8(eserved |)-19.8 F
(Acknowledgement Number)79.2 E(|)85.8 E(\(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\)when)100.8 601.8 Q 39.6
(\(. Acknowledgement)100.8 614.8 R(Number \(low bits\))6.6 E 19.8(|R)
46.2 G 19.8(eserved |\)X=1)-19.8 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
627.8 Q 138.6(|O)107.4 640.8 S 118.8(ptions /)-138.6 F 19.8(Padding |)
26.4 F
(+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+)107.4
653.8 Q F0(The Ackno)100.8 672.8 Q
(wledgement Number on DCCP-Sync and DCCP-SyncAck pack)-.275 E
(ets need not)-.11 E(equal the generating endpoint')100.8 685.8 Q 2.75
(sg)-.605 G(reatest v)-2.75 E(alid sequence number recei)-.275 E -.165
(ve)-.275 G 2.75(d\().165 G 2.75(GSR\). This)-2.75 F(dif)100.8 698.8 Q
(fers from Ackno)-.275 E(wledgement Numbers on all other pack)-.275 E
(et types.)-.11 E(If a DCCP-Sync w)5.5 E(as)-.11 E
(generated in response to a pack)100.8 711.8 Q(et with in)-.11 E -.275
(va)-.44 G(lid sequence numbers, then the DCCP-Sync').275 E(s)-.605 E
(Ackno)100.8 724.8 Q(wledgement Number will equal the in)-.275 E -.275
(va)-.44 G(lid pack).275 E(et')-.11 E 2.75(ss)-.605 G(equence number)
-2.75 E 5.5(.T)-.605 G(he)-5.5 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(5.8. [P)2.75 F(age 23])
-.165 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Ackno)100.8 85 Q
(wledgement Number on an)-.275 E 2.75(yD)-.165 G(CCP-SyncAck pack)-2.75
E(et MUST correspond to a)-.11 E(recei)100.8 98 Q -.165(ve)-.275 G(d, v)
.165 E(alid DCCP-Sync')-.275 E 2.75(sS)-.605 G
(equence Number; in the presence of reordering, this might)-2.75 E
(not equal GSR.)100.8 111 Q(The recei)100.8 127.6 Q -.165(ve)-.275 G
2.75(rM).165 G(UST ignore an)-2.75 E 2.75(y")-.165 G
(application data" in a DCCP-Sync or DCCP-SyncAck)-2.75 E(pack)100.8
140.6 Q(et.)-.11 E/F1 11/Times-Bold@0 SF(5.9.)72 166.6 Q/F2 13
/Times-Bold@0 SF(Options)5.5 E F0(All DCCP pack)100.8 183.2 Q
(ets 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 196.2 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 209.2 Q(Indi)5.5 E
(vidual options are not padded to multiples of 32)-.275 E(bits, ho)100.8
222.2 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(ll options are al)-5.5 E -.11(wa)-.11 G(ys).11 E
(included in the checksum.)100.8 235.2 Q
(The \214rst byte of an option is the option type.)100.8 251.8 Q
(Options with types 0 through 31 are single-)5.5 E(byte options.)100.8
264.8 Q(Other options are follo)5.5 E
(wed by a byte indicating the option')-.275 E 2.75(sl)-.605 G 2.75
(ength. This)-2.75 F(length v)100.8 277.8 Q(alue includes the tw)-.275 E
2.75(ob)-.11 G(ytes of option-type and option-length as well as an)-2.75
E 2.75(yo)-.165 G(ption-)-2.75 E
(data bytes, and must therefore be greater than or equal to tw)100.8
290.8 Q(o.)-.11 E(Options are processed sequentially)100.8 307.4 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 324 Q
(wing options are currently de\214ned:)-.275 E/F3 11/Courier@0 SF 178.2
(Option Section)160.2 343 R 19.8(Type Length)107.4 356 R 92.4
(Meaning Reference)33 F 19.8(---- ------)107.4 369 R 92.4
(------- ---------)33 F 52.8(01)120.6 382 S 105.6(Padding 5.9.1)-6.6 F
52.8(11)120.6 395 S 92.4(Mandatory 5.9.2)-6.6 F 52.8(21)120.6 408 S
(Slow Receiver)-6.6 E(11.6)72.6 E 39.6(3-31 1 Reserved)107.4 421 R 26.4
(32 variable)114 434 R(Change L)19.8 E(6.1)105.6 E 26.4(33 variable)114
447 R(Confirm L)19.8 E(6.2)99 E 26.4(34 variable)114 460 R(Change R)19.8
E(6.1)105.6 E 26.4(35 variable)114 473 R(Confirm R)19.8 E(6.2)99 E 26.4
(36 variable)114 486 R(Init Cookie)19.8 E(8.1.4)85.8 E 39.6(37 4-5)114
499 R(NDP Count)39.6 E(7.7)99 E 26.4(38 variable)114 512 R
(Ack Vector [Nonce 0])19.8 E(11.4)26.4 E 26.4(39 variable)114 525 R
(Ack Vector [Nonce 1])19.8 E(11.4)26.4 E 26.4(40 variable)114 538 R
(Data Dropped)19.8 E(11.7)79.2 E 46.2(41 6)114 551 R 92.4
(Timestamp 13.1)46.2 F 39.6(42 6-10)114 564 R(Timestamp Echo)33 E(13.3)
66 E 39.6(43 4-6)114 577 R(Elapsed Time)39.6 E(13.2)79.2 E 46.2(44 4)114
590 R(Data Checksum)46.2 E(9.3)72.6 E 6.6(45-127 variable)107.4 603 R
(Reserved)19.8 E 6.6(128-255 variable)100.8 616 R(CCID-specific options)
19.8 E(10.4)19.8 E F0(This section describes tw)100.8 635 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 648 Q(.)-.605 E F1 2.75
(5.9.1. P)72 674 R(adding Option)-.11 E F0(The P)100.8 690.6 Q(adding o\
ption, with type 0, is a single byte option used to pad between or afte\
r)-.165 E 2.75(options. It)100.8 703.6 R
(either ensures the application data be)2.75 E
(gins on a 32-bit boundary \(as required\), or)-.165 E
(ensures alignment of follo)100.8 716.6 Q
(wing options \(not mandatory\).)-.275 E -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75(5.9.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF
(+--------+)100.8 85 Q(|00000000|)100.8 98 Q(+--------+)100.8 111 Q
(Type=0)114 124 Q/F2 11/Times-Bold@0 SF 2.75(5.9.2. Mandatory)72 156 R
(Option)2.75 E F0(The Mandatory option, with type 1, is a single byte o\
ption that indicates that the)100.8 172.6 Q(immediately follo)100.8
185.6 Q(wing option is mandatory)-.275 E 5.5(.I)-.715 G 2.75(ft)-5.5 G
(he recei)-2.75 E(ving DCCP does not understand)-.275 E(that follo)100.8
198.6 Q(wing option, it MUST reset the connection, generally using Rese\
t Code 6,)-.275 E("Mandatory F)100.8 211.6 Q 2.75(ailure". F)-.165 F
(or instance, say DCCP A recei)-.165 E -.165(ve)-.275 G 2.75(sap).165 G
(ack)-2.75 E(et with tw)-.11 E 2.75(oo)-.11 G(ptions: a)-2.75 E
(Mandatory option, and immediately follo)100.8 224.6 Q
(wing, another option O.)-.275 E(Then DCCP A w)5.5 E(ould)-.11 E
(reset the connection if it did not understand O')100.8 237.6 Q 2.75(st)
-.605 G(ype; if it understood O')-2.75 E 2.75(st)-.605 G(ype, b)-2.75 E
(ut not O')-.22 E(s)-.605 E(data; if O')100.8 250.6 Q 2.75(sd)-.605 G
(ata w)-2.75 E(as in)-.11 E -.275(va)-.44 G(lid for O').275 E 2.75(st)
-.605 G(ype; if O w)-2.75 E(as a feature ne)-.11 E
(gotiation option, and)-.165 E(DCCP A did not understand the enclosed f\
eature number; if DCCP A understood O, b)100.8 263.6 Q(ut)-.22 E
(chose not to perform the action O implies; and so forth.)100.8 276.6 Q
(Section 6.6.8 describes the)5.5 E(beha)100.8 289.6 Q
(vior of Mandatory feature ne)-.22 E(gotiation options in more detail.)
-.165 E F1(+--------+)100.8 308.6 Q(|00000001|)100.8 321.6 Q(+--------+)
100.8 334.6 Q(Type=1)114 347.6 Q F2(6.)72 379.6 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 396.2 S(ur DCCP options, Change L, Con\214rm L, Change R, and Con\
\214rm R, implement in-band).165 E(feature ne)100.8 409.2 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 422.2 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
435.2 Q(Change options are retransmitted to ensure reliability)5.5 E(.)
-.715 E(All these options ha)100.8 451.8 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 464.8 Q 2.75(alues. The)-.275 F(feature)2.75 E -.275(va)100.8
477.8 S(lues are generally arranged in a linear preference list, where \
the \214rst v).275 E(alue is most)-.275 E(preferred.)100.8 490.8 Q F1
(+--------+--------+--------+--------+--------)100.8 509.8 Q 13.2(|T)
100.8 522.8 S 6.6(ype |)-13.2 F(Length |Feature#| Value\(s\) ...)6.6 E
(+--------+--------+--------+--------+--------)100.8 535.8 Q F0 -.88(To)
100.8 554.8 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 567.8 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 580.8 Q(.)-.605 E F2(6.1.)72 606.8 Q/F4 13
/Times-Bold@0 SF(Change Options)5.5 E F0
(Change L and Change R options initiate feature ne)100.8 623.4 Q 2.75
(gotiation. Either)-.165 F(endpoint can start a)2.75 E(ne)100.8 636.4 Q
(gotiation for an)-.165 E 2.75(yf)-.165 G(eature; if DCCP A w)-2.75 E
(ants to start a ne)-.11 E(gotiation for feature F/A, it will)-.165 E
(send a Change L option, while to start a ne)100.8 649.4 Q
(gotiation for F/B, it will send a Change R)-.165 E 2.75(option. Change)
100.8 662.4 R(options are retransmitted until some response is recei)
2.75 E -.165(ve)-.275 G 2.75(d. Normal).165 F(Change)2.75 E
(options contain at least one V)100.8 675.4 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 F0(The endpoint may check a feature')100.8 208 Q 2.75(sc)-.605 G
(urrent v)-2.75 E(alue without attempting to change it by)-.275 E
(sending an empty Change option, containing just the feature number)
100.8 221 Q 5.5(.S)-.605 G(uch options ha)-5.5 E -.165(ve)-.22 G
(length 3.)100.8 234 Q(The endpoints must agree on feature v)5.5 E
(alues an)-.275 E(yw)-.165 E(ay)-.11 E 2.75(,s)-.715 G 2.75(ot)-2.75 G
(hese options are useful)-2.75 E(in practice only in special situations\
, such as when a middlebox introduced in the middle of)100.8 247 Q 2.75
(ac)100.8 260 S(onnection w)-2.75 E(ants to check a feature v)-.11 E
(alue.)-.275 E/F2 11/Times-Bold@0 SF(6.2.)72 286 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 302.6 Q
(gotiation, and are sent in response to)-.165 E
(Change R and Change L options, respecti)100.8 315.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 328.6 S
(cept in response to Change options.).165 E
(Con\214rm options need not be retransmitted, since)5.5 E
(Change options are retransmitted as necessary)100.8 341.6 Q 5.5(.N)
-.715 G(ormal Con\214rm options contain the)-5.5 E(selected V)100.8
354.6 Q(alue, possibly follo)-1.221 E(wed by the sender')-.275 E 2.75
(sp)-.605 G(reference list.)-2.75 E F1
(+--------+--------+--------+--------+--------)173.4 373.6 Q
(Confirm L: |00100001| Length |Feature#| Value\(s\) ...)100.8 386.6 Q
(+--------+--------+--------+--------+--------)173.4 399.6 Q(Type=33)180
412.6 Q(+--------+--------+--------+--------+--------)173.4 438.6 Q
(Confirm R: |00100011| Length |Feature#| Value\(s\) ...)100.8 451.6 Q
(+--------+--------+--------+--------+--------)173.4 464.6 Q(Type=35)180
477.6 Q F0(If an endpoint recei)100.8 496.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 509.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 522.6 Q .33 -.165(ve l)
-.22 H(ength 3.).165 E F2(6.3.)72 548.6 Q F3(Reconciliation Rules)5.5 E
F0(Reconciliation rules determine ho)100.8 565.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 578.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 591.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 604.2 Q 2.75(oe)-.11 G(ndpoints.)-2.75 E
(All current DCCP features use one of tw)100.8 620.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 633.8 Q(gotiable \("NN"\).)-.165 E F2 2.75
(6.3.1. Ser)72 659.8 R -.11(ve)-.11 G -.407(r-).11 G(Priority).407 E F0
(The feature v)100.8 676.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 689.4 Q
(alues, with the most preferred v)-.275 E(alue)-.275 E(coming \214rst.)
100.8 702.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 715.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
-.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(Con\214rm options' data, once as the current v)100.8 85 Q
(alue and once in the con\214rmer')-.275 E 2.75(sp)-.605 G
(reference list.)-2.75 E(Ev)100.8 98 Q(en responses to empty Change opt\
ions contain the whole preference list.)-.165 E 1.76 -.88(To r)100.8
114.6 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 127.6 Q 2.75(sl)-.605 G 2.75(ist. If)-2.75 F
(there is no shared entry)2.75 E 2.75(,t)-.715 G(he feature')-2.75 E
2.75(sv)-.605 G(alue MUST NO)-3.025 E 2.75(Tc)-.44 G(hange, and the)
-2.75 E(Con\214rm option will con\214rm the feature')100.8 140.6 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.8\).)100.8 153.6 Q
(DCCP endpoints need not calculate their v)100.8 170.2 Q
(alue preference lists before feature ne)-.275 E(gotiation)-.165 E(be)
100.8 183.2 Q 2.75(gins. Thus,)-.165 F 2.75(as)2.75 G(erv)-2.75 E
(er might adjust its preference list based on the client')-.165 E 2.75
(sp)-.605 G(reference list,)-2.75 E(assuming the client opened the ne)
100.8 196.2 Q 2.75(gotiation. Once)-.165 F 2.75(an)2.75 G -.165(eg)-2.75
G(otiation for a feature has be).165 E(gun,)-.165 E(ho)100.8 209.2 Q(we)
-.275 E -.165(ve)-.275 G .88 -.44(r, t).165 H
(he preference lists MUST remain stable until the ne).44 E
(gotiation has closed.)-.165 E/F1 11/Times-Bold@0 SF 2.75
(6.3.2. Non-Negotiable)72 235.2 R F0(The feature v)100.8 251.8 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 v)100.8 264.8 Q
(alue change by sending Change L options.)-.275 E(The feature remote)5.5
E(MUST accept an)100.8 277.8 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 290.8 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 2.75(alues. Non-)-.275 F(ne)100.8 303.8 Q
(gotiable features aren')-.165 E 2.75(tr)-.198 G(eally ne)-2.75 E
(gotiated; the)-.165 E 2.75(yu)-.165 G(se feature ne)-2.75 E
(gotiation as a mechanism for)-.165 E(achie)100.8 316.8 Q
(ving reliability)-.275 E 5.5(.C)-.715 G
(hange R and Con\214rm L options MUST NO)-5.5 E 2.75(Tb)-.44 G 2.75(es)
-2.75 G(ent for non-)-2.75 E(ne)100.8 329.8 Q(gotiable features.)-.165 E
F1(6.4.)72 355.8 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
372.4 Q(wing feature numbers.)-.275 E/F3 11/Courier@0 SF(Rec'n Initial)
358.2 391.4 Q(Section)52.8 E 13.2(Number Meaning)100.8 404.4 R 13.2
(Rule Value)151.8 F(Req'd Reference)13.2 E 13.2(------ -------)100.8
417.4 R 6.6(----- ----- -----)151.8 F(---------)6.6 E 33(0R)120.6 430.4
S(eserved)-33 E 33(1C)120.6 443.4 S(ongestion Control ID \(CCID\))-33 E
33(SP 2 Y)19.8 F(10)33 E 33(2E)120.6 456.4 S(CN Capable)-33 E 33(SP 1 Y)
132 F(12.1)33 E 33(3S)120.6 469.4 S(equence Window)-33 E 26.4
(NN 100 Y 7.5.4)105.6 F 33(4S)120.6 482.4 S(equence Transition Capable)
-33 E 33(SP 0 N)26.4 F(7.6.4)33 E 33(5M)120.6 495.4 S(obility Capable)
-33 E 33(SP 0 N)99 F(14.1)33 E 33(6M)120.6 508.4 S(obility ID)-33 E 33
(NN 0 N)132 F(14.2)33 E 33(7A)120.6 521.4 S(ck Ratio)-33 E 33(NN 2 N)
145.2 F(11.3)33 E 33(8S)120.6 534.4 S(end Ack Vector)-33 E 33(SP 0 N)
105.6 F(11.5)33 E 33(9S)120.6 547.4 S(end NDP Count)-33 E 33(SP 0 N)
112.2 F(7.7.2)33 E 26.4(10 Check)114 560.4 R(Data Checksum)6.6 E 33
(SP 0 N)79.2 F(9.3.1)33 E 6.6(11-127 Reserved)107.4 573.4 R 6.6
(128-255 CCID-specific)100.8 586.4 R 59.4(features ?)6.6 F 39.6(??)39.6
G(10.4)-6.6 E F1(Rec'n Rule)100.8 609 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 622 Q(gotiable.)
-.165 E F1(Initial V)100.8 638.6 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 655.2 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 668.2
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 16\), and it is safe to respond to Change options for the feature)
183.3 681.2 Q(with empty Con\214rm options.)183.3 694.2 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
707.2 Q(Send Ack V)183.3 720.2 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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
(1. Change R\(CCID, 2 3 1\))107.4 143 Q(-->)13.2 E
(\("2 3 1" is client's value preference list\))127.2 156 Q 151.8(2. <--)
107.4 169 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E
(\(3 is the negotiated value;)272.4 182 Q
("3 2 1" is server's pref list\))272.4 195 Q 6.6(*a)186.6 208 S
(greement that CCID/Server = 3 *)-6.6 E 118.8(1. XXX)107.4 233 R 6.6
(<-- Change)13.2 F(L\(CCID, 3 2 1\))6.6 E 184.8(2. Retransmission:)107.4
246 R 6.6(<-- Change)279 259 R(L\(CCID, 3 2 1\))6.6 E
(3. Confirm R\(CCID, 3, 2 3 1\))107.4 272 Q(-->)13.2 E 6.6(*a)186.6 285
S(greement that CCID/Server = 3 *)-6.6 E 151.8(1. <--)107.4 310 R
(Change L\(Ack Ratio, 3\))13.2 E(2. Confirm R\(Ack Ratio, 3\))107.4 323
Q(-->)13.2 E 6.6(*a)166.8 336 S(greement that Ack Ratio/Server = 3 *)
-6.6 E F0(This e)100.8 355 Q(xample sho)-.165 E(ws a simultaneous ne)
-.275 E(gotiation.)-.165 E F3 132(Client Server)180 374 R
(1a. Change R\(CCID, 2 3 1\))100.8 387 Q(-->)13.2 E 151.8(b. <--)107.4
400 R(Change L\(CCID, 3 2 1\))13.2 E(\(both endpoints in CHANGING\))
186.6 413 Q 151.8(2a. <--)100.8 426 R(Confirm L\(CCID, 3, 3 2 1\))13.2 E
(b. Confirm R\(CCID, 3, 2 3 1\))107.4 439 Q(-->)13.2 E
(\(both endpoints in STABLE\))186.6 452 Q 6.6(*a)186.6 465 S
(greement that CCID/Server = 3 *)-6.6 E F0
(Example Change and Con\214rm options follo)100.8 484 Q 1.43 -.715(w, w)
-.275 H(ith their byte encodings.).715 E(Each option is)5.5 E
(sent by DCCP A.)100.8 497 Q F1(Change L\(CCID, 2 3\) = 32,5,1,2,3)100.8
513.6 Q F0 2.75(Iw)129.6 526.6 S(ant to change CCID/A)-2.86 E 1.21 -.605
('s v)-1.221 H(alue \(feature number 1, a serv).33 E(er)-.165 E
(-priority feature\); my)-.22 E(preferred v)129.6 539.6 Q
(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(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-ne).33 E(gotiable feature\) to)-.165 E
(the 3-byte string 0,4,0 \(the v)129.6 582.2 Q(alue 1024\).)-.275 E F1
(Empty Change L\(CCID\) = 32,3,1)100.8 598.8 Q F0 -.77(Te)129.6 611.8 S
(ll me CCID/A).77 E 1.21 -.605('s v)-1.221 H
(alue using a Con\214rm R option.).33 E F1
(Con\214rm L\(CCID, 2, 2 3\) = 33,6,1,2,2,3)100.8 628.4 Q F0(I')129.6
641.4 Q .33 -.165(ve c)-.55 H(hanged CCID/A).165 E 1.21 -.605('s v)
-1.221 H(alue to 2; my preferred v).33 E(alues are 2 and 3, in that)
-.275 E(preference order)129.6 654.4 Q(.)-.605 E F1
(Empty Con\214rm L\(126\) = 33,3,126)100.8 671 Q F0 2.75(Id)129.6 684 S
(on')-2.75 E 2.75(ti)-.198 G
(mplement feature number 126, or your proposed v)-2.75 E
(alue for feature 126/A w)-.275 E(as)-.11 E(in)129.6 697 Q -.275(va)-.44
G(lid.).275 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF
(Change R\(CCID, 3 2\) = 34,5,1,3,2)100.8 85 Q F0(Please change CCID/B')
129.6 98 Q 2.75(sv)-.605 G(alue; my preferred v)-3.025 E
(alues are 3 and 2, in that preference)-.275 E(order)129.6 111 Q(.)-.605
E F1(Empty Change R\(CCID\) = 34,3,1)100.8 127.6 Q F0 -.77(Te)129.6
140.6 S(ll me CCID/B').77 E 2.75(sv)-.605 G
(alue using a Con\214rm L option.)-3.025 E F1
(Con\214rm R\(CCID, 2, 3 2\) = 35,6,1,2,3,2)100.8 157.2 Q F0(I')129.6
170.2 Q .33 -.165(ve c)-.55 H(hanged CCID/B').165 E 2.75(sv)-.605 G
(alue to 2; my preferred v)-3.025 E(alues were 3 and 2, in that)-.275 E
(preference order)129.6 183.2 Q(.)-.605 E F1(Con\214rm R\(Sequence W)
100.8 199.8 Q(indo)-.198 E 1.21 -.605(w, 1)-.11 H(024\) = 35,6,3,0,4,0)
.605 E F0(I')129.6 212.8 Q .33 -.165(ve c)-.55 H(hanged Sequence W).165
E(indo)-.44 E(w/B')-.275 E 2.75(sv)-.605 G
(alue to the 3-byte string 0,4,0 \(the v)-3.025 E(alue 1024\).)-.275 E
F1(Empty Con\214rm R\(126\) = 35,3,126)100.8 229.4 Q F0 2.75(Id)129.6
242.4 S(on')-2.75 E 2.75(ti)-.198 G
(mplement feature number 126, or your proposed v)-2.75 E
(alue for feature 126/B w)-.275 E(as)-.11 E(in)129.6 255.4 Q -.275(va)
-.44 G(lid.).275 E F1(6.6.)72 281.4 Q/F2 13/Times-Bold@0 SF
(Option Exchange)5.5 E F0 2.75(Af)100.8 298 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 314.6 R
(ery non-reordered Change option gets a Con\214rm option in response.)
-.165 E 11(2. Change)100.8 331.2 R
(options are retransmitted until some response is recei)2.75 E -.165(ve)
-.275 G(d.).165 E 11(3. Preference)100.8 347.8 R(lists don')2.75 E 2.75
(tc)-.198 G(hange during a ne)-2.75 E(gotiation.)-.165 E 11(4. Feature)
100.8 364.4 R(ne)2.75 E(gotiation options are processed in strictly inc\
reasing order by Sequence)-.165 E(Number)122.8 377.4 Q(.)-.605 E(The re\
st of this section describes the consequences of these rules in more de\
tail.)100.8 394 Q F1 2.75(6.6.1. Normal)72 420 R(Exchange)2.75 E F0
(Change options are generated when a DCCP endpoint w)100.8 436.6 Q
(ants to change the v)-.11 E(alue of some)-.275 E 2.75
(feature. Generally)100.8 449.6 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
462.6 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 475.6 Q
(ut, of course, the option must be attached to a pack)-.22 E 2.75
(et. The)-.11 F(endpoint may attach)2.75 E(the option to a pack)100.8
488.6 Q(et it w)-.11 E(ould ha)-.11 E .33 -.165(ve g)-.22 H(enerated an)
.165 E(yw)-.165 E(ay \(such as a DCCP-Request\), or it)-.11 E
(may create a ne)100.8 501.6 Q 2.75(wp)-.275 G(ack)-2.75 E
(et just to carry the options \(often a DCCP-Sync\).)-.11 E
(If it does create a)5.5 E(ne)100.8 514.6 Q 2.75(wp)-.275 G(ack)-2.75 E
(et, it MUST NO)-.11 E 2.75(Tc)-.44 G(reate more than one such pack)
-2.75 E(et per round-trip time \(or)-.11 E(0.2 seconds, if no R)100.8
527.6 Q(TT is a)-.66 E -.275(va)-.22 G(ilable\).).275 E(On recei)100.8
544.2 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 557.2 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 570.2 Q
-.165(ve)-.275 G(ly).165 E 2.75(,i)-.715 G
(nforming its partner of the ne)-2.75 E(w)-.275 E -.275(va)100.8 583.2 S
2.75(lue. The).275 F(rule for reconciling the tw)2.75 E 2.75(op)-.11 G
(reference lists is feature-speci\214c; see Section 6.3.)-2.75 E(Ev)
100.8 596.2 Q(ery non-reordered Change option MUST result in a correspo\
nding Con\214rm option.)-.165 E(An)5.5 E(y)-.165 E(pack)100.8 609.2 Q
(et including a Con\214rm option MUST carry an Ackno)-.11 E
(wledgement Number; thus,)-.275 E(Con\214rm options are not allo)100.8
622.2 Q(wed on DCCP-Request and DCCP-Data pack)-.275 E 2.75(ets. Ag)-.11
F(ain,)-.055 E(generated Con\214rm options may be attached to pack)100.8
635.2 Q(ets that w)-.11 E(ould ha)-.11 E .33 -.165(ve b)-.22 H
(een sent an).165 E(yw)-.165 E(ay)-.11 E
(\(such as DCCP-Response or DCCP-SyncAck\), or to ne)100.8 648.2 Q 2.75
(wp)-.275 G(ack)-2.75 E(ets \(usually DCCP-Ack\).)-.11 E
(The Change-sending endpoint MUST w)100.8 664.8 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 677.8 Q 2.75(alue. The)-.275
F(Con\214rm-sending endpoint changes its stored)2.75 E(feature v)100.8
690.8 Q(alue as soon as it sends the Con\214rm.)-.275 E
(DCCP endpoints ef)100.8 707.4 Q(fecti)-.275 E -.165(ve)-.275 G(ly e)
.165 E(xist in one of tw)-.165 E 2.75(os)-.11 G(tates, ST)-2.75 E
(ABLE and CHANGING, relati)-1.023 E -.165(ve)-.275 G(to each feature.)
100.8 720.4 Q(ST)5.5 E(ABLE is the normal state, where the endpoint kno)
-1.023 E(ws the feature')-.275 E 2.75(sv)-.605 G(alue)-3.025 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(and thinks the other endpoint agrees.)100.8 85 Q
(An endpoint enters the CHANGING state when it)5.5 E
(\214rst sends a Change for the feature, and returns to ST)100.8 98 Q
(ABLE once it recei)-1.023 E -.165(ve)-.275 G 2.75(sa).165 G
(corresponding Con\214rm.)100.8 111 Q/F1 11/Times-Bold@0 SF 2.75
(6.6.2. Loss)72 137 R(and Retransmission)2.75 E F0 -.165(Pa)100.8 153.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 166.6 Q .33
-.165(ve r)-.275 H(eliability).165 E(.)-.715 E 2.75(AC)100.8 183.2 S(HA\
NGING endpoint retransmits a Change option once it realizes that it has\
 not heard)-2.75 E(back from the other endpoint.)100.8 196.2 Q
(Each retransmitted Change option MUST contain e)5.5 E(xactly)-.165 E(t\
he same payload as the original. The endpoint may piggyback its Change \
options on)100.8 209.2 Q(pack)100.8 222.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 235.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')-5.5 E 2.75(si)-.605 G
(nitial v)-2.75 E(alue is set to approximately)-.275 E(one or tw)100.8
248.2 Q 2.75(or)-.11 G(ound-trip times \(or 0.2-0.4 seconds, if no R)
-2.75 E(TT is a)-.66 E -.275(va)-.22 G(ilable\), and it is pinned at)
.275 E(roughly 32 R)100.8 261.2 Q(TTs.)-.66 E 2.75(AC)100.8 277.8 S(HAN\
GING endpoint MUST continue retransmitting Change options until it gets\
 some)-2.75 E 2.75(response. Its)100.8 290.8 R
(only recourse is to reset the connection, which it SHOULD NO)2.75 E
2.75(Td)-.44 G 2.75(ou)-2.75 G(ntil at)-2.75 E
(least 12 transmissions ha)100.8 303.8 Q .33 -.165(ve f)-.22 H(ailed.)
.055 E(Change options SHOULD NO)100.8 320.4 Q 2.75(Tb)-.44 G 2.75(et)
-2.75 G(ransmitted more frequently than once per R)-2.75 E(TT)-.66 E
2.75(,o)-.814 G 2.75(rt)-2.75 G(he)-2.75 E(reordering protection belo)
100.8 333.4 Q 2.75(ww)-.275 G(ould pre)-2.86 E -.165(ve)-.275 G(nt an)
.165 E 2.75(yC)-.165 G(on\214rm option from being accepted \(since)-2.75
E(no Con\214rm w)100.8 346.4 Q(ould ackno)-.11 E
(wledge the most recently transmitted Change\).)-.275 E
(Con\214rm options are ne)100.8 363 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(an)100.8
376 S .55 -.275(ew C)-2.75 H(on\214rm option for e).275 E -.165(ve)-.275
G(ry non-reordered Change it recei).165 E -.165(ve)-.275 G(s.).165 E F1
2.75(6.6.3. Reordering)72 402 R F0(Reordering might cause pack)100.8
418.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 431.6 Q
(xpected order)-.165 E 5.5(.E)-.605 G(ndpoints MUST be rob)-5.5 E
(ust to reordering, by ignoring feature)-.22 E(ne)100.8 444.6 Q
(gotiation options that do not arri)-.165 E .33 -.165(ve i)-.275 H 2.75
(ns).165 G(trictly-increasing order by Sequence Number)-2.75 E(.)-.605 E
(The most straightforw)100.8 461.2 Q(ard w)-.11 E
(ay to implement this requirement is for an endpoint to associate)-.11 E
(tw)100.8 474.2 Q 2.75(os)-.11 G(equence number v)-2.75 E
(ariables with e)-.275 E -.165(ve)-.275 G(ry feature F/X, as follo).165
E(ws.)-.275 E F1(F/X.GSR)100.8 490.8 Q F0
(The Greatest Sequence Number Recei)11.913 E -.165(ve)-.275 G 2.75(df)
.165 G(rom the other endpoint on a pack)-2.75 E(et)-.11 E
(containing a Change or Con\214rm option for feature F/X.)155.8 503.8 Q
F1(F/X.GSS)100.8 520.4 Q F0
(The Greatest Sequence Number Sent by this endpoint on a pack)13.739 E
(et containing a)-.11 E(Change option for feature F/X.)155.8 533.4 Q
(Then DCCP A will check options relating to feature F/A as follo)100.8
550 Q(ws:)-.275 E 11(1. Ignore)100.8 566.6 R(an)2.75 E 2.75(yr)-.165 G
(ecei)-2.75 E -.165(ve)-.275 G 2.75(dC).165 G
(hange R\(F\) option whose pack)-2.75 E(et')-.11 E 2.75(sS)-.605 G
(equence Number is not)-2.75 E(greater than F/A.GSR.)122.8 579.6 Q 11
(2. Ignore)100.8 596.2 R(an)2.75 E 2.75(yr)-.165 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(dC).165 G(on\214rm R\(F\) option whose pack)-2.75 E
(et')-.11 E 2.75(sS)-.605 G(equence Number is not)-2.75 E
(greater than F/A.GSR, or whose pack)122.8 609.2 Q(et could not ha)-.11
E .33 -.165(ve a)-.22 H(ckno).165 E(wledged F/A.GSS.)-.275 E
(Speci\214cally)122.8 622.2 Q 2.75(,i)-.715 G 2.75(ft)-2.75 G(he Ackno)
-2.75 E(wledgement Number is less than F/A.GSS, the endpoint)-.275 E
(MUST ignore the Con\214rm; and if the pack)122.8 635.2 Q
(et has an Ack V)-.11 E(ector indicating that)-1.221 E(F/A.GSS w)122.8
648.2 Q(as not recei)-.11 E -.165(ve)-.275 G(d, the endpoint MA).165 E
2.75(Yi)-1.155 G(gnore the Con\214rm.)-2.75 E 2.75(As)100.8 664.8 S(imi\
lar procedure applies options relating to feature F/B, namely Change L\
\(F\) and)-2.75 E(Con\214rm L\(F\), e)100.8 677.8 Q
(xcept that F/B.GSR and F/B.GSS are check)-.165 E(ed.)-.11 E 2.75(Al)
100.8 694.4 S(ess state-intensi)-2.75 E .33 -.165(ve w)-.275 H
(ay to implement this requirement w).055 E(ould be to share the F)-.11 E
(.GSR and)-.88 E -.88(F.)100.8 707.4 S(GSS v).88 E
(ariables among all features, rather than k)-.275 E
(eeping one pair per feature.)-.11 E(Then the)5.5 E(feature ne)100.8
720.4 Q(gotiation options on an)-.165 E 2.75(yr)-.165 G(ecei)-2.75 E
-.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(et w)-.11 E
(ould be treated as a unit \(either all)-.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.3. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(accepted or all rejected\).)
100.8 85 Q(Checking Con\214rm options is easier if the endpoint only se\
nds Change options on pack)100.8 101.6 Q(et)-.11 E
(types that will be ackno)100.8 114.6 Q(wledged immediately)-.275 E 2.75
(,n)-.715 G(amely DCCP-Request, DCCP-Response,)-2.75 E(and DCCP-Sync.)
100.8 127.6 Q(Then there is ne)5.5 E -.165(ve)-.275 G 2.75(ra).165 G .33
-.165(ny n)-2.75 H(eed to check Ack V).165 E(ectors, although checking)
-1.221 E(Ack V)100.8 140.6 Q(ectors is NO)-1.221 E 2.75(TM)-.44 G(AND)
-2.75 E -.506 -1.221(AT O)-.44 H 1.43 -.715(RY a)1.221 H -.165(ny).715 G
-.11(wa).165 G -.715(y.).11 G/F1 11/Times-Bold@0 SF 2.75(6.6.4. Pr)72
166.6 R(efer)-.198 E(ence Changes)-.198 E F0(Endpoints MUST NO)100.8
183.2 Q 2.75(Tc)-.44 G
(hange their preference lists in the middle of a ne)-2.75 E 2.75
(gotiation. This)-.165 F(is)2.75 E
(because, if a preference list changed in the middle of a ne)100.8 196.2
Q(gotiation and the right pack)-.165 E(ets)-.11 E(were lost, the ne)
100.8 209.2 Q
(gotiation could terminate with the endpoints thinking the feature had)
-.165 E(dif)100.8 222.2 Q(ferent v)-.275 E 2.75(alues. In)-.275 F
(particular)2.75 E 2.75(,a)-.44 G 2.75(ne)-2.75 G(ndpoint MUST NO)-2.75
E 2.75(Tc)-.44 G(hange its preference list while in)-2.75 E
(the CHANGING state; this ensures that e)100.8 235.2 Q -.165(ve)-.275 G
(ry Change option sent during that ne).165 E(gotiation)-.165 E
(will contain the same data.)100.8 248.2 Q F1 2.75(6.6.5. Simultaneous)
72 274.2 R(Negotiation)2.75 E F0(The tw)100.8 290.8 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 303.8 Q .33 -.165
(ve a C)-.275 H(hange option for the same feature.).165 E(Such recei)
100.8 316.8 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 329.8 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
342.8 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 355.8 Q
(It can then transition to the ST)5.5 E(ABLE state.)-1.023 E F1 2.75
(6.6.6. Unkno)72 381.8 R(wn F)-.11 E(eatur)-.275 E(es)-.198 E F0
(An endpoint may recei)100.8 398.4 Q .33 -.165(ve a C)-.275 H
(hange option referring to some feature number it does not).165 E 2.75
(understand. This)100.8 411.4 R(is particularly lik)2.75 E
(ely to happen when an e)-.11 E(xtended DCCP con)-.165 E -.165(ve)-.44 G
(rses with a).165 E(non-e)100.8 424.4 Q(xtended DCCP)-.165 E 5.5(.T)
-1.221 G(he recei)-5.5 E
(ving endpoint MUST respond to such Change options with)-.275 E(corresp\
onding empty Con\214rm options \(that is, Con\214rm options containing \
no data\), which)100.8 437.4 Q
(inform the CHANGING endpoint that the feature w)100.8 450.4 Q
(as not understood.)-.11 E(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44
(r, i).165 H 2.75(ft).44 G(he)-2.75 E(Change option w)100.8 463.4 Q
(as preceded by a Mandatory option, the connection MUST be reset; see)
-.11 E(Section 6.6.8.)100.8 476.4 Q(On recei)100.8 493 Q(ving an empty \
Con\214rm option for some feature, the CHANGING endpoint MUST)-.275 E
(transition back to the ST)100.8 506 Q(ABLE state, lea)-1.023 E
(ving the feature')-.22 E 2.75(sv)-.605 G(alue unchanged.)-3.025 E
(Section 16)5.5 E(suggests that the def)100.8 519 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 532 Q -.275(va)-.22 G(ilable".).275 E(An endpoint will als\
o send an empty Con\214rm option when it understood the Change')100.8
548.6 Q(s)-.605 E(feature number)100.8 561.6 Q 2.75(,b)-.44 G
(ut considered the Change')-2.97 E 2.75(sv)-.605 G(alue in)-3.025 E
-.275(va)-.44 G(lid or inappropriate for the feature.).275 E(The ne)
100.8 574.6 Q(xt section describes this further)-.165 E(.)-.605 E(Some \
features are required to be understood by all DCCPs \(see Section 6.4\)\
; the)100.8 591.2 Q(CHANGING endpoint SHOULD reset the connection \(wit\
h Reset Code 5, "Option Error"\))100.8 604.2 Q(if it recei)100.8 617.2 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
633.8 Q(should ne)100.8 646.8 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 either reset the connection on recei)100.8 659.8 Q
(ving such options, or just ignore the)-.275 E(options.)100.8 672.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.6. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF 2.75
(6.6.7. In)72 85 R -.11(va)-.44 G(lid Options).11 E F0 2.75(AD)100.8
101.6 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 114.6 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 127.6 Q -.275(va)-.275 G
(nt reconciliation rule \(Section 6.3\). F).275 E(or instance:)-.165 E
7.15<8341>100.8 144.2 S(ll features ha)-7.15 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)111.8 157.2 S(ample, the Mobility ID feature tak).165 E
(es 128-bit v)-.11 E(alues, so v)-.275 E(alid)-.275 E
("Con\214rm R\(Mobility ID\)" options ha)111.8 170.2 Q .33 -.165(ve o)
-.22 H(ption length 19.).165 E 7.15<8353>100.8 186.8 S(ome non-ne)-7.15
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)111.8 199.8 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 2.75(alid. Note)-3.025 F(that serv)111.8 212.8 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 are)-.275 E
(handled as a matter of course.)111.8 225.8 Q 7.15<8341>100.8 242.4 S
.33 -.165(ny C)-7.15 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)111.8 255.4 Q -.275(va)-.275 G(nt reconciliation rule, is in)
.275 E -.275(va)-.44 G(lid.).275 E(An endpoint recei)100.8 272 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 285 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 298 Q F1 2.75
(6.6.8. Mandatory)72 324 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 opti\
ons \(Section 5.9.2\). Mandatory)100.8 340.6 Q
(Change options are processed lik)100.8 353.6 Q 2.75(en)-.11 G
(ormal Change options, e)-2.75 E(xcept that v)-.165 E(arious f)-.275 E
(ailure cases)-.11 E(will cause the recei)100.8 366.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 F)-2.75 E(ailure",)
-.165 E(rather than send a Con\214rm option.)100.8 379.6 Q
(Speci\214cally)5.5 E 2.75(,t)-.715 G(he connection MUST be reset if:)
-2.75 E 7.15<8354>100.8 396.2 S(he Change option')-7.15 E 2.75(sf)-.605
G(eature number w)-2.75 E(as not understood;)-.11 E 7.15<8354>100.8
412.8 S(he Change option')-7.15 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)111.8 425.8 Q 7.15<8346>100.8
442.4 S(or serv)-7.315 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.)111.8 455.4 Q(There')100.8 472 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
485 Q 2.75(tm)-.198 G(ention)-2.75 E(potentially-in)100.8 498 Q -.275
(va)-.44 G(lid v).275 E(alues or une)-.275 E(xpected feature numbers.)
-.165 E F1 2.75(6.6.9. Out-of-Band)72 524 R(Agr)2.75 E(eement)-.198 E F0
(An endpoint MUST NO)100.8 540.6 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 553.6 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 566.6 Q
(gotiation options---by using a separate signalling channel, for e)-.165
E(xample.)-.165 E F1 2.75(6.6.10. State)72 592.6 R(Diagram)2.75 E F0(Th\
is diagram illustrates feature-related state transitions, ignoring sequ\
ence number and)100.8 609.2 Q(option v)100.8 622.2 Q
(alidity issues, for the endpoint that is the feature location.)-.275 E
-.165(Fo)5.5 G 2.75(raf).165 G(eature remote)-2.75 E
(state transition diagram, switch the "L"s and "R"s.)100.8 635.2 Q -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 216.51(yd Section)-.11 F
2.75(6.6.10. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF
(rcv Confirm R)85.2 85 Q(app/protocol evt : snd Change L)52.8 E 6.6(:i)
85.2 98 S 33(gnore +--------------------------------------------+)-6.6 F
13.2(+----+ |)118.2 111 R(|)290.4 E 26.4(|v)118.2 124 S 132(|r)-6.6 G
(cv Change R)-132 E(v)79.2 E 6.6(+------------+ rcv)98.4 137 R
(Confirm R)6.6 E 6.6(:c)26.4 G(alc new value, +------------+)-6.6 E 79.2
(||)98.4 150 S 6.6(:a)-66 G(ccept value)-6.6 E(snd Confirm L)33 E 79.2
(||)19.8 G 19.8(|S)98.4 163 S 13.2
(TABLE |<------------------------------------|)-19.8 F 6.6(CHANGING |)
13.2 F 79.2(||)98.4 176 S(rcv empty Confirm R)-19.8 E 79.2(||)59.4 G
52.8(+------------+ :)98.4 189 R(revert to old value)6.6 E
(+------------+)46.2 E 237.6 26.4(|^ |^)124.8 202 T 290.4(+----+ +----+)
124.8 215 R(rcv Change R)85.2 228 Q(timeout/rcv non-ack)250.8 E 6.6(:c)
85.2 241 S(alc new value, snd Confirm L)-6.6 E 6.6(:s)125.4 G
(nd Change L)-6.6 E F0(This state diagram corresponds to the follo)100.8
260 Q(wing procedure for reacting to recei)-.275 E -.165(ve)-.275 G 2.75
(dp).165 G(ack)-2.75 E(ets)-.11 E(with feature ne)100.8 273 Q
(gotiation options.)-.165 E(The procedure refers to "P)5.5 E
(.seqno", "P)-1.221 E(.ackno",)-1.221 E("P)100.8 286 Q
(.optiontype", and "P)-1.221 E
(.optionlen", which are properties of the pack)-1.221 E(et; "F)-.11 E
(.GSR" and)-.88 E("F)100.8 299 Q(.GSS", which are the v)-.88 E
(ariables mentioned in Section 6.6.3; "F)-.275 E(.state", which is the)
-.88 E(feature')100.8 312 Q 2.75(ss)-.605 G(tate \(ST)-2.75 E
(ABLE or CHANGING\); and "F)-1.023 E(.v)-.88 E
(alue", which is the feature')-.275 E 2.75(sv)-.605 G(alue.)-3.025 E
(If F)100.8 328.6 Q(.state == ST)-.88 E(ABLE:)-1.023 E(If P)109.05 341.6
Q(.optiontype == Change R && P)-1.221 E(.seqno > F)-1.221 E(.GSR:)-.88 E
(Calculate ne)117.3 354.6 Q 2.75(wv)-.275 G(alue)-3.025 E
(Send Con\214rm L on ne)117.3 367.6 Q(xt pack)-.165 E(et)-.11 E -.88(F.)
117.3 380.6 S(GSR := P).88 E(.seqno)-1.221 E(Otherwise:)109.05 393.6 Q
(Ignore option)117.3 406.6 Q(If F)100.8 432.6 Q(.state == CHANGING:)-.88
E(If P)109.05 445.6 Q(.optiontype == Con\214rm R && P)-1.221 E
(.ackno >= F)-1.221 E(.GSS)-.88 E(&& P potentially ackno)125.55 458.6 Q
(wledges F)-.275 E(.GSS:)-.88 E(If P)117.3 471.6 Q(.optionlen == 3:)
-1.221 E(/* empty Con\214rm R option */)125.55 484.6 Q(Retain old v)
125.55 497.6 Q(alue)-.275 E(Otherwise:)117.3 510.6 Q(Check ne)125.55
523.6 Q 2.75(wv)-.275 G(alue)-3.025 E -.88(F.)125.55 536.6 S -.275(va)
.88 G(lue := ne).275 E 2.75(wv)-.275 G(alue)-3.025 E -.88(F.)117.3 549.6
S(state := ST).88 E(ABLE)-1.023 E(Otherwise, if P)109.05 562.6 Q
(.optiontype == Change R && P)-1.221 E(.seqno > F)-1.221 E(.GSR:)-.88 E
(Calculate ne)117.3 575.6 Q 2.75(wv)-.275 G(alue)-3.025 E
(Send Con\214rm L on ne)117.3 588.6 Q(xt pack)-.165 E(et)-.11 E -.88(F.)
117.3 601.6 S(GSR := P).88 E(.seqno)-1.221 E(Otherwise:)109.05 614.6 Q
(Ignore option)117.3 627.6 Q/F2 11/Times-Bold@0 SF(7.)72 653.6 Q/F3 14
/Times-Bold@0 SF(Sequence Numbers)5.5 E F0
(DCCP uses 24- or 48-bit sequence numbers to arrange pack)100.8 670.2 Q
(ets into sequence, detect losses)-.11 E(and netw)100.8 683.2 Q
(ork duplicates, and protect ag)-.11 E(ainst attack)-.055 E
(ers, half-open connections, and the)-.11 E(deli)100.8 696.2 Q -.165(ve)
-.275 G(ry of v).165 E(ery old pack)-.165 E 2.75(ets. Ev)-.11 F
(ery pack)-.165 E(et carries a Sequence Number; most pack)-.11 E
(et types)-.11 E(carry an Ackno)100.8 709.2 Q
(wledgement Number as well.)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 238.51(yd Section)-.11 F 2.75(7. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(DCCP sequence numbers are per)100.8 85 Q(-pack)-.22 E 2.75(et. Thus,)
-.11 F(each endpoint increments the DCCP)2.75 E
(Sequence Number \214eld by one \(modulo 2^24 or 2^48\) with e)100.8 98
Q -.165(ve)-.275 G(ry pack).165 E(et sent.)-.11 E(Ev)5.5 E(en)-.165 E
(DCCP-Ack and DCCP-Sync pack)100.8 111 Q(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 124 Q 5.5(.S)-.605 G
(ince DCCP is an unreliable protocol, there are no true)-5.5 E
(retransmissions; b)100.8 137 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 150 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
163 Q(ork duplication, retransmissions, and ackno)-.11 E
(wledgement loss, and is a signi\214cant)-.275 E
(departure from TCP practice.)100.8 176 Q/F1 11/Times-Bold@0 SF(7.1.)72
202 Q/F2 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 218.6 Q
(ariables for each connection.)-.275 E F1(ISS)100.8 235.2 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 248.2 Q
F1(ISR)100.8 264.8 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 277.8 Q -.165(ve)-.275 G(d.).165 E F1(GSS)100.8 294.4 Q F0
(The Greatest Sequence Number Sent by this endpoint.)23.21 E
(\("Greatest" is of course)5.5 E(measured in circular sequence space.\))
144.8 307.4 Q F1(GSR)100.8 324 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 337 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 353.6 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 366.6 Q
(wledgeable pack)-.275 E(et.)-.11 E(Some other v)100.8 383.2 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 399.8 Q F0(\(Sequence Number W)144.8 412.8 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 425.8 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 442.4 S 2.75(La)1.43 G
(nd A)-2.75 E(WH)-1.43 E F0(\(Ackno)144.8 455.4 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 468.4 S
(lidity windo).275 E 2.75(wf)-.275 G(or recei)-2.75 E -.165(ve)-.275 G
2.75(dp).165 G(ack)-2.75 E(ets' Ackno)-.11 E(wledgement Numbers.)-.275 E
F1(7.2.)72 494.4 Q F2(Initial Sequence Numbers)5.5 E F0(The endpoints' \
initial sequence numbers are set by the \214rst DCCP-Request and DCCP-)
100.8 511 Q(Response pack)100.8 524 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 7.15<8344>100.8 540.6 S
(eli)-7.15 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)111.8 553.6 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 7.15
<8353>100.8 570.2 S(equence number attacks, where an attack)-7.15 E
(er can guess the sequence numbers that a)-.11 E(future connection w)
111.8 583.2 Q(ould use [M85].)-.11 E(DCCP implementations may use TCP')
100.8 599.8 Q 2.75(ss)-.605 G(trate)-2.75 E(gies for a)-.165 E -.22(vo)
-.22 G(iding these problems [RFC 793]).22 E([RFC 1948].)100.8 612.8 Q
1.76 -.88(To a)100.8 629.4 T(ddress the \214rst problem, an implementat\
ion MUST ensure that the initial sequence).88 E(number for a gi)100.8
642.4 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 655.4 Q 2.75(to)-.198 G -.165(ve)-2.915 G
(rlap with recent sequence numbers on connections with the same).165 E
(4-tuple \("recent" meaning sent within 2 maximum se)100.8 668.4 Q
(gment lifetimes\).)-.165 E(If the)5.5 E(implementation has state for a\
 recent connection with the same 4-tuple, it can simply pick a)100.8
681.4 Q(good initial sequence number; otherwise, it could tie initial s\
equence number selection to)100.8 694.4 Q
(some clock, such as the 4-microsecond clock used by TCP [RFC 793].)
100.8 707.4 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26
(yd Section)-.11 F 2.75(7.2. [P)2.75 F(age 34])-.165 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E 1.76 -.88(To a)100.8 85 T
(ddress the second problem, an implementation MUST pro).88 E
(vide each 4-tuple with an)-.165 E
(independent initial sequence number space; then an attack)100.8 98 Q
(er can')-.11 E 2.75(tl)-.198 G(earn an)-2.75 E(ything about)-.165 E(an)
100.8 111 Q(yone else')-.165 E 2.75(si)-.605 G(nitial sequence numbers.)
-2.75 E(RFC 1948 achie)5.5 E -.165(ve)-.275 G 2.75(st).165 G
(his by adding a cryptographic)-2.75 E
(hash, of the 4-tuple and a secret, to an)100.8 124 Q 2.75(yi)-.165 G
(nitial sequence number)-2.75 E 5.5(.F)-.605 G(or the secret, RFC 1948)
-5.665 E(recommends a combination of some truly-random data [RFC 1750],\
 an administrati)100.8 137 Q -.165(ve)-.275 G(ly-).165 E
(installed passphrase, the endpoint')100.8 150 Q 2.75(sI)-.605 G 2.75
(Pa)-2.75 G(ddress, and the endpoint')-2.75 E 2.75(sb)-.605 G
(oot time, b)-2.75 E(ut truly-)-.22 E(random data is suf)100.8 163 Q
2.75(\214cient. Care)-.275 F(should be tak)2.75 E
(en when changing the secret; such a change)-.11 E
(alters all initial sequence number spaces, which might mak)100.8 176 Q
2.75(ea)-.11 G 2.75(ni)-2.75 G(nitial sequence number for)-2.75 E(some \
4-tuple equal a recently sent sequence number for the same 4-tuple.)
100.8 189 Q 1.76 -.88(To a)5.5 H -.22(vo).66 G(id this).22 E(problem ar\
ound such a change, the endpoint might remember dead connection state f\
or)100.8 202 Q(each 4-tuple or stay quiet for 2 maximum se)100.8 215 Q
(gment lifetimes.)-.165 E/F1 11/Times-Bold@0 SF(7.3.)72 241 Q/F2 13
/Times-Bold@0 SF(Quiet T)5.5 E(ime)-.234 E F0(DCCP endpoints, lik)100.8
257.6 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 270.6 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 283.6 Q
(ets lingering in the netw)-.11 E(ork from before the boot.)-.11 E(The)
5.5 E(simplest w)100.8 296.6 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 309.6 Q(gment lifetime \(2 minutes\) after boot.)
-.165 E(Other enforcement mechanisms)5.5 E(include remembering recent s\
equence numbers across boots, or reserving the upper 8 or so)100.8 322.6
Q(bits of initial sequence numbers for a persistent boot counter that d\
ecrements by tw)100.8 335.6 Q 2.75(oe)-.11 G(ach)-2.75 E(boot \(this w)
100.8 348.6 Q(ould require the use of e)-.11 E
(xtended sequence numbers\).)-.165 E F1(7.4.)72 374.6 Q F2(Ackno)5.5 E
(wledgement Numbers)-.13 E F0(DCCP has no cumulati)100.8 391.2 Q .33
-.165(ve a)-.275 H(ckno).165 E(wledgement \214eld; cumulati)-.275 E .33
-.165(ve a)-.275 H(ckno).165 E(wledgements w)-.275 E(ould be)-.11 E
(meaningless in an unreliable protocol.)100.8 404.2 Q
(Therefore, the Ackno)5.5 E(wledgement Number \214eld has)-.275 E 2.75
(ad)100.8 417.2 S(if)-2.75 E(ferent meaning in DCCP than in TCP)-.275 E
(.)-1.221 E 2.75(Ap)100.8 433.8 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 446.8 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 459.8 Q(The Ackno)5.5 E
(wledgement Number for most)-.275 E(pack)100.8 472.8 Q
(et types MUST equal GSR, the Greatest Sequence Number Recei)-.11 E
-.165(ve)-.275 G 2.75(do).165 G 2.75(na)-2.75 G(n)-2.75 E(ackno)100.8
485.8 Q(wledgeable pack)-.275 E(et.)-.11 E(Note that "ackno)100.8 502.4
Q(wledgeable" refers to option processing, not data processing.)-.275 E
(Ev)5.5 E(en)-.165 E(ackno)100.8 515.4 Q(wledgeable pack)-.275 E
(ets may ha)-.11 E .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)-.275 E -.165(ove)100.8 528.4 S(r\215o).165 E 2.75(wo)
-.275 G 2.75(rc)-2.75 G(orruption, for instance.)-2.75 E
(Data Dropped options report these data losses when)5.5 E(necessary)
100.8 541.4 Q 2.75(,l)-.715 G
(etting congestion control mechanisms distinguish between netw)-2.75 E
(ork losses and)-.11 E(endpoint losses.)100.8 554.4 Q
(This issue is discussed further in Sections 11.4 and 11.7.)5.5 E
(DCCP-Sync and DCCP-SyncAck pack)100.8 571 Q
(ets are a special case to this rule.)-.11 E(The)5.5 E(Ackno)100.8 584 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, b)-.11 E(ut)-.22 E(not necessarily an ackno)100.8 597 Q
(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-of-)-2.75 E(sync pack)100.8 610 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 623 Q(et al)-.11
E -.11(wa)-.11 G(ys corresponds to an ackno).11 E
(wledgeable DCCP-Sync pack)-.275 E(et; if)-.11 E(there w)100.8 636 Q
(as reordering, that Ackno)-.11 E
(wledgement Number might be less than GSR.)-.275 E F1(7.5.)72 662 Q F2
-1.196(Va)5.5 G(lidity and Synchr)1.196 E(onization)-.234 E F0(An)100.8
678.6 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 691.6 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 704.6 Q(connection.)100.8 717.6 Q -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F 2.75(7.5. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(DCCP)100.8 85 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 P)-2.75 E(ack)-.165 E
(ets whose)-.11 E(Sequence and/or Ackno)100.8 98 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 111 Q
(.)-.715 E(Unlik)100.8 127.6 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 140.6 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 153.6 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 166.6 S(andshak)-2.75 E 2.75(ei)-.11 G -2.09 -.44(nv o)
-2.75 H(lving DCCP-Sync and DCCP-SyncAck pack).44 E(ets reco)-.11 E
-.165(ve)-.165 G(rs from this case.).165 E/F1 11/Times-Bold@0 SF 2.75
(7.5.1. Sequence-V)72 192.6 R(alidity Rules)-1.012 E F0(Sequence-v)100.8
209.2 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 222.2 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 235.2 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 248.2 Q
(wledgement number windo)-.275 E(ws, [SWL, SWH] and [A)-.275 E(WL, A)
-.99 E(WH],)-.99 E(de\214ned belo)100.8 261.2 Q 2.75(wi)-.275 G 2.75(nS)
-2.75 G(ection 7.5.3.)-2.75 E/F2 11/Courier@0 SF(Acknowledgement Number)
397.8 280.2 Q(Packet Type)100.8 293.2 Q(Sequence Number Check)39.6 E
(Check)46.2 E 33(----------- ---------------------)100.8 306.2 R
(----------------------)46.2 E 26.4(DCCP-Request SWL)100.8 319.2 R
(<= seqno <= SWH \(*\))6.6 E(N/A)33 E 19.8(DCCP-Response SWL)100.8 332.2
R(<= seqno <= SWH \(*\))6.6 E(AWL <= ackno <= AWH)33 E 46.2
(DCCP-Data SWL)100.8 345.2 R(<= seqno <= SWH)6.6 E(N/A)59.4 E 52.8
(DCCP-Ack SWL)100.8 358.2 R(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)
59.4 E 26.4(DCCP-DataAck SWL)100.8 371.2 R(<= seqno <= SWH)6.6 E
(AWL <= ackno <= AWH)59.4 E 19.8(DCCP-CloseReq SWL)100.8 384.2 R
(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)59.4 E 39.6(DCCP-Close SWL)
100.8 397.2 R(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)59.4 E 39.6
(DCCP-Reset seqno)100.8 410.2 R(== 0 or seqno > GSR)6.6 E
(GAR <= ackno <= AWH)19.8 E 46.2(DCCP-Move seqno)100.8 423.2 R(>= SWL)
6.6 E(ISS <= ackno <= AWH)105.6 E 46.2(DCCP-Sync seqno)100.8 436.2 R
(>= SWL)6.6 E(AWL <= ackno <= AWH)105.6 E 26.4(DCCP-SyncAck seqno)100.8
449.2 R(>= SWL)6.6 E(AWL <= ackno <= AWH)105.6 E
(\(*\) Check not applied if connection is in LISTEN or REQUEST state.)
100.8 475.2 Q F0(In general, pack)100.8 494.2 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 507.2 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 520.2 S(ceptions to this rule are as follo).165 E(ws:)-.275 E
7.15<8344>100.8 536.8 S(CCP-Reset Sequence Numbers may be zero.)-7.15 E
(This is because during the cleanup of a)5.5 E(half-open connection, an\
 endpoint might generate a DCCP-Reset in response to a)111.8 549.8 Q
(DCCP-Request or DCCP-Data pack)111.8 562.8 Q(et with no Ackno)-.11 E
(wledgement Number; the resetting)-.275 E(endpoint w)111.8 575.8 Q
(ould then use zero for the Reset')-.11 E 2.75(sS)-.605 G
(equence Number)-2.75 E 2.75(,s)-.44 G(ince it has no v)-2.75 E(alid)
-.275 E(Sequence Number a)111.8 588.8 Q -.275(va)-.22 G(ilable.).275 E
(DCCP-Reset Ackno)111.8 605.4 Q
(wledgement Numbers, and non-zero Sequence Numbers, are)-.275 E(check)
111.8 618.4 Q(ed more stringently than those on other pack)-.11 E
(et types, ho)-.11 E(we)-.275 E -.165(ve)-.275 G 3.96 -.605(r. T).165 H
(his is because).605 E(DCCP-Reset al)111.8 631.4 Q -.11(wa)-.11 G
(ys ends a connection: no endpoint will send a non-Reset pack).11 E
(et on a)-.11 E(connection after it has sent a Reset.)111.8 644.4 Q
(Thus, a Reset pack)5.5 E(et whose Sequence Number is)-.11 E
(less than GSR, or whose Ackno)111.8 657.4 Q
(wledgement Number is less than GAR, must be)-.275 E(sequence-in)111.8
670.4 Q -.275(va)-.44 G(lid.).275 E 7.15<8344>100.8 687 S(CCP-Mo)-7.15 E
.33 -.165(ve S)-.165 H(equence and Ackno).165 E
(wledgement Numbers are not strongly check)-.275 E(ed)-.11 E(because mo)
111.8 700 Q -.165(ve)-.165 G 2.75(sm).165 G(ight lik)-2.75 E
(ely happen after long loss periods, and the mandatory Mobility)-.11 E
(ID pro)111.8 713 Q(vides good protection ag)-.165 E(ainst une)-.055 E
(xpected pack)-.165 E(ets.)-.11 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75(7.5.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E 7.15<8344>100.8 85 S
(CCP-Sync and DCCP-SyncAck Sequence Numbers are not strongly check)-7.15
E 2.75(ed. These)-.11 F(pack)111.8 98 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)111.8 111 Q
(ould eliminate their usefulness.)-.11 E(These lenient checks all allo)
100.8 127.6 Q 2.75(wc)-.275 G(ontinued operation after unusual e)-2.75 E
-.165(ve)-.275 G(nts, such as endpoint).165 E(crashes and lar)100.8
140.6 Q(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 lenienc)-2.75 E 2.75(yw)-.165 G
(hen the endpoints are)-2.75 E(acti)100.8 153.6 Q -.165(ve)-.275 G
(ly sending pack).165 E(ets to one another)-.11 E 5.5(.T)-.605 G
(herefore, a DCCP endpoint SHOULD)-5.5 E(implement the follo)100.8 166.6
Q(wing, tighter constraints for acti)-.275 E .33 -.165(ve c)-.275 H 2.75
(onnections. An).165 F(endpoint considers)2.75 E 2.75(ac)100.8 179.6 S
(onnection 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 other endpoint within the last)-.11 E(se)100.8
192.6 Q -.165(ve)-.275 G(ral round-trip times, or 1 second, if the R)
.165 E(TT is not kno)-.66 E(wn.)-.275 E/F1 11/Courier@0 SF
(Acknowledgement Number)378 211.6 Q(Packet Type)100.8 224.6 Q
(Sequence Number Check)39.6 E(Check)26.4 E 33
(----------- ---------------------)100.8 237.6 R(----------------------)
26.4 E 39.6(DCCP-Reset GSR)100.8 250.6 R 13.2(<s)6.6 G(eqno <= SWH)-13.2
E(GAR <= ackno <= AWH)39.6 E 46.2(DCCP-Move SWL)100.8 263.6 R
(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E 46.2(DCCP-Sync SWL)
100.8 276.6 R(<= seqno <= SWH)6.6 E(AWL <= ackno <= AWH)39.6 E 26.4
(DCCP-SyncAck SWL)100.8 289.6 R(<= seqno <= SWH)6.6 E
(AWL <= ackno <= AWH)39.6 E F0(Note that sequence-v)100.8 308.6 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 334.6 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 351.2
Q -.275(va)-.44 G(lid DCCP-Mo).275 E -.165(ve)-.165 G 2.75(,D).165 G
(CCP-Reset, DCCP-Sync, and DCCP-SyncAck pack)-2.75 E(ets)-.11 E
(MUST be ignored.)100.8 364.2 Q(When DCCP A recei)100.8 380.8 Q -.165
(ve)-.275 G 2.75(sa).165 G .33 -.165(ny o)-2.75 H(ther sequence-in).165
E -.275(va)-.44 G(lid pack).275 E(et, it MUST reply with a DCCP-)-.11 E
(Sync pack)100.8 393.8 Q 2.75(et. This)-.11 F(pack)2.75 E(et MUST ackno)
-.11 E(wledge the pack)-.275 E(et')-.11 E 2.75(sS)-.605 G
(equence Number \(not GSR!\).)-2.75 E(The DCCP-Sync MUST use a ne)100.8
406.8 Q 2.75(wS)-.275 G(equence Number)-2.75 E 2.75(,a)-.44 G
(nd thus will increase GSS; GSR)-2.75 E(will not change, ho)100.8 419.8
Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, s).165 H(ince the recei).44 E
-.165(ve)-.275 G 2.75(dp).165 G(ack)-2.75 E(et w)-.11 E(as sequence-in)
-.11 E -.275(va)-.44 G 2.75(lid. DCCP).275 F 2.75(AM)2.75 G(UST)-2.75 E
(NO)100.8 432.8 Q 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 instance, it MUST NO)-.165 E 2.75(Tp)-.44 G(rocess)-2.75 E
(their options.)100.8 445.8 Q(When the DCCP B endpoint recei)100.8 462.4
Q -.165(ve)-.275 G 2.75(st).165 G(he \(sequence-v)-2.75 E
(alid\) DCCP-Sync, it MUST update its)-.275 E(GSR v)100.8 475.4 Q
(ariable and reply with a DCCP-SyncAck pack)-.275 E(et ackno)-.11 E
(wledging the DCCP-Sync)-.275 E(\(not necessarily GSR!\).)100.8 488.4 Q
(Upon recei)5.5 E(ving this DCCP-SyncAck, which will be sequence-)-.275
E -.275(va)100.8 501.4 S(lid since it ackno).275 E
(wledges the DCCP-Sync, DCCP A will update its GSR v)-.275 E
(ariable, and)-.275 E(the endpoints will be back in sync.)100.8 514.4 Q
(Alternati)5.5 E -.165(ve)-.275 G(ly).165 E 2.75(,i)-.715 G 2.75(ft)
-2.75 G(he connection w)-2.75 E(as half-open)-.11 E
(\(DCCP B is in CLOSED or REQ)100.8 527.4 Q
(UEST state\), DCCP B will send a Reset.)-.11 E 2.75(AD)100.8 544 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 557 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 570 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(eas)-.165 G(equence-in)-2.75 E -.275(va)-.44 G(lid pack).275 E
(et for)-.11 E(up to 2 round-trip times \(or 1 second, if the R)100.8
583 Q(TT is unkno)-.66 E(wn\); if, within that time, the)-.275 E(rele)
100.8 596 Q -.275(va)-.275 G(nt sequence windo).275 E
(ws change so that the pack)-.275 E(et becomes sequence-v)-.11 E
(alid, the)-.275 E(endpoint MA)100.8 609 Q 2.75(Yp)-1.155 G
(rocess the pack)-2.75 E(et ag)-.11 E(ain.)-.055 E 1.76 -.88(To p)100.8
625.6 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 638.6 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 MA)100.8 651.6 Q 2.75(Yr)
-1.155 G(ate-limit the DCCP-Syncs sent in response to sequence-in)-2.75
E -.275(va)-.44 G(lid).275 E(pack)100.8 664.6 Q(ets.)-.11 E F2 2.75
(7.5.3. Sequence)72 690.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
707.2 Q(alidity windo)-.275 E(ws that are subsets of the Sequence)-.275
E(and Ackno)100.8 720.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 37])-.165 E 0 Cg EP
%%Page: 38 38
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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; the).165 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.)-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 placed at and)-.275 E
(before GSR, with three-fourths after GSR.)100.8 179.6 Q
(\(This asymmetric placement assumes that)5.5 E -.22(bu)100.8 192.6 S
(rsts 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, al)-.275 E -.11(wa)-.11 G
(ys equals GSS, the Greatest Sequence).11 E
(Number 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)-.275 E(Sequence W)100.8 321.6 Q(indo)-.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(yd)-.165 G(on')-2.75
E 2.75(tg)-.198 G 2.75(ob)-2.75 G(elo)-2.75 E 2.75(wt)-.275 G
(he 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(Of course, these adjustments MUST NO)100.8 450.6 Q 2.75(Tb)-.44
G 2.75(ea)-2.75 G(pplied after the rele)-2.75 E -.275(va)-.275 G
(nt sequence numbers).275 E(wrap.)100.8 463.6 Q/F2 11/Times-Bold@0 SF
2.75(7.5.4. Sequence)72 489.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 506.2 Q(indo)-.44 E
(w/A feature determines the width of the Sequence Number v)-.275 E
(alidity)-.275 E(windo)100.8 519.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 532.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 545.2 Q(indo)-.44 E(w/A v)-.275
E(alue is W)-.275 E(.)-1.012 E(Sequence W)100.8 561.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 574.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
587.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 600.8 S(ndo).44 E
2.75(w1)-.275 G(00 for both endpoints.)-2.75 E 2.75(Ap)100.8 617.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 630.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 643.4 Q
(ursts of loss; too-lar)-.22 E(ge v)-.198 E(alues increase the risk of)
-.275 E(connection hijacking.)100.8 656.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 669.4 Q(indo)-.44 E 2.75(wt)
-.275 G 2.75(oas)-2.75 G(mall multiple of the maximum number of)-2.75 E
(pack)100.8 682.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 695.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 708.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 38])-.165 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 7.15<8353>100.8 212.8 S(end DCCP-Sync pack)-7.15 E
(ets with random Sequence and Ackno)-.11 E(wledgement Numbers.)-.275 E
(If)5.5 E(one of these pack)111.8 225.8 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)111.8 238.8 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)111.8 251.8 Q(.)-.715 E 7.15
<8353>100.8 268.4 S(end DCCP-Reset pack)-7.15 E
(ets with Sequence Number zero and random Ackno)-.11 E(wledgement)-.275
E 2.75(Numbers. If)111.8 281.4 R(one of these pack)2.75 E
(ets hits the v)-.11 E(alid ackno)-.275 E(wledgement number windo)-.275
E 1.43 -.715(w, t)-.275 H(he).715 E(connection will be shut do)111.8
294.4 Q(wn.)-.275 E 7.15<8353>100.8 311 S(end DCCP-Data pack)-7.15 E
(ets with random Sequence Numbers.)-.11 E(If one of these pack)5.5 E
(ets hits)-.11 E(the v)111.8 324 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.)111.8 337
Q(The attack)100.8 353.6 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 366.6 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 and).165 E
(DCCP-Reset pack)100.8 379.6 Q
(ets to succeed, assuming the victim implemented the more stringent)-.11
E(checks for acti)100.8 392.6 Q .33 -.165(ve c)-.275 H
(onnections recommended in Section 7.5.1.).165 E 1.76 -.88(To q)100.8
409.2 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 422.2 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 435.2 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
448.2 Q
(Then one of these attacks will succeed with probability P = WN/2^L.)5.5
E -.165(Fo)5.5 G(r).165 E 2.75(N=1)100.8 461.2 S
(000, W = 100, and L = 24, this probability is about 0.006.)-2.75 E(\(F)
5.5 E(or reference, the easiest)-.165 E
(TCP attack---sending a SYN with a random sequence number)100.8 474.2 Q
2.75(,w)-.44 G(hich will cause a)-2.75 E(connection reset if it f)100.8
487.2 Q(alls within the windo)-.11 E
(w---will succeed with probability 0.002 for N =)-.275 E
(1000, W = 8760 [a common def)100.8 500.2 Q(ault], and L = 32.\))-.11 E
(Connections with sequence windo)5.5 E(ws)-.275 E(much lar)100.8 513.2 Q
(ger than 100 SHOULD use e)-.198 E
(xtended sequence numbers to reduce the probability)-.165 E
(of attack success.)100.8 526.2 Q F1 2.75(7.5.6. Examples)72 552.2 R F0
(In the follo)100.8 568.8 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 581.8 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 39])-.165 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF
(Recovery from Burst of Loss)206.4 85 Q(DCCP A)100.8 98 Q(DCCP B)290.4 E
231(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 111 R 13.2
(--> DCCP-Data\(seq)180 124 R 26.4(2\) XXX)6.6 F(...)246 137 Q 13.2
(--> DCCP-Data\(seq)180 150 R 13.2(100\) XXX)6.6 F 13.2
(--> DCCP-Data\(seq)180 163 R 66(101\) -->)6.6 F(???)13.2 E
(seqno out of range;)430.8 176 Q(send Sync)430.8 189 Q 39.6(OK <--)120.6
202 R(DCCP-Sync\(seq 11, ack 101\))19.8 E(<--)19.8 E(\(GSS=11,GSR=1\))
430.8 215 Q 13.2(--> DCCP-SyncAck\(seq)180 228 R(102, ack 11\))6.6 E
13.2(--> OK)19.8 F 217.8(\(GSS=102,GSR=11\) \(GSS=11,GSR=102\))100.8 241
R F0(In the ne)100.8 260 Q(xt e)-.165 E(xample, a DCCP connection reco)
-.165 E -.165(ve)-.165 G(rs from a simple attack.).165 E(The attack)5.5
E(er)-.11 E(cannot guess sequence numbers.)100.8 273 Q
(\(DCCP is not rob)5.5 E(ust to attack)-.22 E
(ers who can guess sequence)-.11 E(numbers.\))100.8 286 Q F1
(Recovery from Attack)232.8 305 Q(DCCP A)100.8 318 Q(DCCP B)290.4 E 231
(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 331 R 6.6
(*ATTACKER* --> DCCP-Data\(seq)186.6 344 R 6.6(10^6\) --> ???)6.6 F
(seqno out of range;)430.8 357 Q(send Sync)430.8 370 Q 33(??? <--)120.6
383 R(DCCP-Sync\(seq 11, ack 10^6\))19.8 E(<--)13.2 E
(ackno out of range; ignore)100.8 396 Q 231
(\(GSS=1,GSR=10\) \(GSS=11,GSR=1\))100.8 409 R F0(The \214nal e)100.8
428 Q(xample demonstrates reco)-.165 E -.165(ve)-.165 G
(ry from a half-open connection.).165 E F1
(Recovery from a Half-Open Connection)199.8 447 Q(DCCP A)100.8 460 Q
(DCCP B)290.4 E 231(\(GSS=1,GSR=10\) \(GSS=10,GSR=1\))100.8 473 R
(\(Crash\))100.8 486 Q 303.6(CLOSED OPEN)100.8 499 R 26.4(REQUEST -->)
100.8 512 R(DCCP-Request\(seq 400\))19.8 E 13.2(--> ???)52.8 F 59.4
(!! <--)100.8 525 R(DCCP-Sync\(seq 11, ack 400\))19.8 E 13.2(<-- OPEN)
19.8 F 26.4(REQUEST -->)100.8 538 R(DCCP-Reset\(seq 401, ack 11\))19.8 E
13.2(--> \(Abort\))13.2 F 297(REQUEST CLOSED)100.8 551 R 26.4
(REQUEST -->)100.8 564 R(DCCP-Request\(seq 402\))19.8 E 13.2(--> ...)
52.8 F/F2 11/Times-Bold@0 SF(7.6.)72 596 Q/F3 13/Times-Bold@0 SF
(Extended Sequence Numbers)5.5 E F0(Extended 48-bit sequence numbers in\
crease the rate DCCP connections can achie)100.8 612.6 Q -.165(ve)-.275
G(without wrapping sequence numbers, and pro)100.8 625.6 Q
(vide additional protection ag)-.165 E(ainst the)-.055 E
(sequence number attacks described abo)100.8 638.6 Q -.165(ve)-.165 G
5.5(.V).165 G(ery-high-rate DCCP connections, and)-6.721 E
(connections with lar)100.8 651.6 Q(ge sequence windo)-.198 E
(ws, SHOULD therefore use e)-.275 E(xtended sequence)-.165 E
(numbers rather than the def)100.8 664.6 Q
(ault 24-bit sequence numbers.)-.11 E F2 2.75(7.6.1. When)72 690.6 R
(to Use Extended Sequence Numbers)2.75 E F0(The sequence-v)100.8 707.2 Q
(alidity mechanism protects ag)-.275 E(ainst the netw)-.055 E(ork deli)
-.11 E -.165(ve)-.275 G(ring old data, b).165 E(ut it)-.22 E
(assumes that the netw)100.8 720.2 Q(ork does not deli)-.11 E -.165(ve)
-.275 G 2.75(re).165 G(xtremely old data.)-2.915 E(In particular)5.5 E
2.75(,i)-.44 G 2.75(ta)-2.75 G(ssumes that)-2.75 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.6.1. [P)2.75 F(age 40])-.165 E 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(the netw)100.8 85 Q
(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 connection wraps around and)-.11 E
(uses its sequence number ag)100.8 98 Q 2.75(ain. W)-.055 F 2.75(ec)-.88
G(an easily calculate the maximum connection rate that)-2.75 E
(can be safely achie)100.8 111 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 the maximum se)5.5 E(gment)-.165 E
(lifetime, P equal the a)100.8 124 Q -.165(ve)-.22 G(rage DCCP pack).165
E(et size in bits, and L equal the length of sequence)-.11 E
(numbers \(24 or 48 bits\).)100.8 137 Q
(Then the maximum safe rate, in bits per second, is R =)5.5 E
(P*\(2^L\)/2MSL.)100.8 150 Q -.165(Fo)100.8 166.6 S 2.75(rt).165 G
(he def)-2.75 E(ault MSL of 2 minutes, 1500-byte DCCP pack)-.11 E
(ets, and 24-bit sequence numbers,)-.11 E
(the safe rate is therefore approximately 800 Mb/s.)100.8 179.6 Q
(Of course, 2 minutes is a v)5.5 E(ery lar)-.165 E(ge)-.198 E
(MSL for an)100.8 192.6 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
(48-bit sequence numbers allo)100.8 205.6 Q 2.75(wm)-.275 G
(uch higher rates, up to 14 petabits a second for 1500-byte)-2.75 E
(pack)100.8 218.6 Q(ets and the def)-.11 E(ault MSL.)-.11 E(The probabi\
lity of sequence number attack success P = WN/2^L, discussed in Section)
100.8 235.2 Q(7.5.5, may also be rele)100.8 248.2 Q -.275(va)-.275 G
(nt when deciding whether to use e).275 E(xtended sequence numbers.)
-.165 E(A)5.5 E -.11(fa)100.8 261.2 S(st connection will generally ha)
.11 E .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)
-2.75 E(the attack success probability for \214x)100.8 274.2 Q
(ed N \(number of attack pack)-.165 E(ets\); if the probability gets)
-.11 E(uncomfortably high with L = 24, the connection should use 48-bit\
 sequence numbers)100.8 287.2 Q(instead.)100.8 300.2 Q/F1 11
/Times-Bold@0 SF 2.75(7.6.2. Header)72 326.2 R(Pr)2.75 E(ocessing)-.198
E F0(Extended sequence numbers are acti)100.8 342.8 Q -.275(va)-.275 G
(ted when the header').275 E 2.75(sXb)-.605 G
(it is set to one \(see Section)-2.75 E(5.1\). This e)100.8 355.8 Q
(xtends the Sequence Number and Ackno)-.165 E
(wledgement Number \214elds by an)-.275 E
(additional 24 bits, for a total of 48 bits.)100.8 368.8 Q
(The 48-bit numbers are stored in netw)5.5 E(ork order)-.11 E(,)-.44 E
(with most signi\214cant bit \214rst.)100.8 381.8 Q(All pack)5.5 E
(et types e)-.11 E(xcept for DCCP-Data and DCCP-Request)-.165 E
(will follo)100.8 394.8 Q 2.75(wt)-.275 G(his generic header with an e)
-2.75 E(xtended 48-bit Ackno)-.165 E(wledgement Number)-.275 E(.)-.605 E
(Once an endpoint has transitioned to 48-bit sequence numbers \(X=1\), \
it MUST send all)100.8 411.4 Q(succeeding pack)100.8 424.4 Q
(ets with 48-bit sequence numbers.)-.11 E
(Furthermore, once an endpoint has)5.5 E(recei)100.8 437.4 Q -.165(ve)
-.275 G 2.75(das).165 G(equence-v)-2.75 E(alid pack)-.275 E
(et with 48-bit sequence numbers, it MUST either send all)-.11 E
(succeeding pack)100.8 450.4 Q(ets with 48-bit sequence numbers, or res\
et the connection with Reset Code)-.11 E
(7, "Extended Sequence Numbers".)100.8 463.4 Q
(\(But note that an endpoint may send e)5.5 E(xtended DCCP-)-.165 E
(Sync pack)100.8 476.4 Q(ets before transitioning to e)-.11 E
(xtended sequence numbers.\))-.165 E
(Clients SHOULD decide whether to use e)100.8 493 Q
(xtended sequence numbers before sending their)-.165 E 2.75
(DCCP-Requests. Ho)100.8 506 R(we)-.275 E -.165(ve)-.275 G .88 -.44
(r, t).165 H(he T).44 E(ransition bit \(T\) and Sequence T)-.385 E
(ransition Capable feature)-.385 E(support transitioning to e)100.8 519
Q(xtended sequence numbers during an acti)-.165 E .33 -.165(ve c)-.275 H
(onnection, in case).165 E(this pro)100.8 532 Q -.165(ve)-.165 G 2.75
(sn).165 G(ecessary; see belo)-2.75 E 4.18 -.715(w. A)-.275 H
(client that sends an e)3.465 E(xtended DCCP-Request might)-.165 E
(recei)100.8 545 Q .33 -.165(ve a D)-.275 H(CCP-Reset in response with \
Reset Code 7, "Extended Sequence Numbers"; the).165 E(client SHOULD res\
pond by sending another Request using 24-bit sequence numbers.)100.8 558
Q(Extended sequence numbers are treated simply as longer sequence numbe\
rs.)100.8 574.6 Q -.165(Fo)5.5 G 2.75(ri).165 G(nstance,)-2.75 E
(the sequence-v)100.8 587.6 Q(alidity mechanisms w)-.275 E
(ork the same w)-.11 E(ay whether or not sequence numbers)-.11 E(are e)
100.8 600.6 Q 2.75(xtended. Care)-.165 F
(is required when comparing a 24-bit sequence number with an 48-bit)2.75
E(sequence number)100.8 613.6 Q 2.75(,h)-.44 G -.275(ow)-2.75 G -2.365
-.275(ev e).275 H(r; see the ne).275 E(xt section.)-.165 E F1 2.75
(7.6.3. T)72 639.6 R(ransitioning to Extended Sequence Numbers)-.814 E
F0(The T)100.8 656.2 Q(ransition bit \(T\) follo)-.385 E(wing the e)
-.275 E(xtended Sequence Number \214eld mak)-.165 E(es it possible to)
-.11 E
(transition to 48-bit sequence numbers in the middle of a connection.)
100.8 669.2 Q 2.75(Ti)5.5 G 2.75(ss)-2.75 G(et to one only)-2.75 E
(during such a transition.)100.8 682.2 Q
(When DCCP A switches to 48-bit sequence numbers, it MUST)5.5 E
(set the T bit to one on all of its pack)100.8 695.2 Q
(ets for some period.)-.11 E(This period SHOULD last on the)5.5 E
(order of a fe)100.8 708.2 Q 2.75(wr)-.275 G
(ound trip times, or until DCCP A recei)-2.75 E -.165(ve)-.275 G 2.75
(sa).165 G 2.75(na)-2.75 G(ckno)-2.75 E(wledgement from)-.275 E
(DCCP B pro)100.8 721.2 Q
(ving that one of its 48-bit-sequence-number pack)-.165 E
(ets has been recei)-.11 E -.165(ve)-.275 G(d,).165 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.6.3. [P)2.75 F(age 41])-.165 E 0 Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(whiche)100.8 85 Q -.165(ve)
-.275 G 2.75(rc).165 G(omes later)-2.75 E(.)-.605 E
(Each DCCP MUST choose its \214rst 48-bit sequence number to ha)100.8
101.6 Q .33 -.165(ve i)-.22 H(ts lo).165 E(wer 24 bits equal)-.275 E
(the 24-bit sequence number it e)100.8 114.6 Q
(xpected to send \(GSS+1\).)-.165 E(The upper 24 bits may be chosen)5.5
E(arbitrarily)100.8 127.6 Q 5.5(.T)-.715 G(his applies to Ackno)-5.5 E
(wledgement Numbers as well as Sequence Numbers; if)-.275 E
(DCCP A sends an e)100.8 140.6 Q(xtended pack)-.165 E
(et containing an Ackno)-.11 E(wledgement Number before)-.275 E
(DCCP B sends it a 48-bit Sequence Number)100.8 153.6 Q 2.75(,D)-.44 G
(CCP A can choose an)-2.75 E 2.75(yv)-.165 G(alue for the upper)-3.025 E
(24 bits of the Ackno)100.8 166.6 Q(wledgement Number)-.275 E 2.75(,b)
-.44 G(ut the lo)-2.97 E(wer 24 bits MUST equal the e)-.275 E(xpected)
-.165 E(24-bit Ackno)100.8 179.6 Q(wledgement Number \(GSR\).)-.275 E
(Furthermore, DCCP A MUST lea)5.5 E .33 -.165(ve G)-.22 H(SR as a).165 E
(24-bit number until recei)100.8 192.6 Q(ving an e)-.275 E(xtended pack)
-.165 E(et from DCCP B.)-.11 E(Switching to 48-bit sequence numbers in \
the middle of a connection complicates sequence)100.8 209.2 Q
(number comparison.)100.8 222.2 Q
(Endpoints must compare 48-bit sequence numbers with 24-bit)5.5 E
(sequence numbers, and compare 48-bit sequence numbers that might ha)
100.8 235.2 Q .33 -.165(ve d)-.22 H(if).165 E(ferent,)-.275 E
(arbitrary v)100.8 248.2 Q
(alues in the upper 24 bits, while remaining rob)-.275 E
(ust to reordering and to old or)-.22 E(malicious pack)100.8 261.2 Q
2.75(ets. The)-.11 F(follo)2.75 E(wing procedure describes ho)-.275 E
2.75(ws)-.275 G(equence numbers should be)-2.75 E
(compared during and immediately after a transition.)100.8 274.2 Q
(Let P be the pack)100.8 290.8 Q(et sequence number recei)-.11 E -.165
(ve)-.275 G 2.75(df).165 G(rom DCCP B, and E be the sequence)-2.75 E
(number DCCP A e)100.8 303.8 Q 2.75(xpects. During)-.165 F(sequence-v)
2.75 E(alidity computations, for e)-.275 E(xample, P might)-.165 E
(be the pack)100.8 316.8 Q(et')-.11 E 2.75(sA)-.605 G(ckno)-2.75 E
(wledgement Number and E might be A)-.275 E(WL, the left edge of the)
-.99 E(appropriate ackno)100.8 329.8 Q(wledgement number windo)-.275 E
4.18 -.715(w. T)-.275 H(hen DCCP A should perform the).715 E
(comparison as follo)100.8 342.8 Q(ws.)-.275 E 7.15<8349>100.8 359.4 S
2.75(fPa)-7.15 G(nd E are both 24 bits, compare them modulo 2^24.)-2.75
E 7.15<8349>100.8 376 S 2.75(fPa)-7.15 G
(nd E are both 48 bits, you generally compare them modulo 2^48, e)-2.75
E(xcept that during)-.165 E 2.75(at)111.8 389 S(ransition, the tw)-2.75
E 2.75(ov)-.11 G(alues might ha)-3.025 E .33 -.165(ve a)-.22 H
(rbitrary v).165 E(alues in the upper 24 bits.)-.275 E 7.337(-I)111.8
405.6 S 2.75(ft)-7.337 G(he pack)-2.75 E(et')-.11 E 2.75(sT)-.605 G
(ransition bit is set, and the last pack)-3.135 E
(et sent by DCCP A had its)-.11 E -.385(Tr)122.8 418.6 S
(ansition bit set, then compare P and E modulo 2^24.).385 E 7.337(-O)
111.8 435.2 S(therwise, compare them modulo 2^48.)-7.337 E 7.15<8349>
100.8 451.8 S 2.75(fPi)-7.15 G 2.75(s4)-2.75 G 2.75(8b)-2.75 G(its b)
-2.75 E(ut E is 24, the remote DCCP may w)-.22 E(ant to transition to e)
-.11 E(xtended sequence)-.165 E(numbers.)111.8 464.8 Q 7.337(-I)111.8
481.4 S 2.75(ft)-7.337 G(he pack)-2.75 E(et')-.11 E 2.75(sT)-.605 G
(ransition bit is set, compare P with E modulo 2^24.)-3.135 E
(If the pack)5.5 E(et)-.11 E(pro)122.8 494.4 Q -.165(ve)-.165 G 2.75(ss)
.165 G(equence-v)-2.75 E(alid, then it is OK; transition to e)-.275 E
(xtended sequence numbers, and set)-.165 E 2.75(Ea)122.8 507.4 S
(ccording to the full 48 bits of P)-2.75 E(.)-1.221 E 7.337(-O)111.8 524
S(therwise, the pack)-7.337 E(et is sequence-in)-.11 E -.275(va)-.44 G
(lid.).275 E(Either w)111.8 540.6 Q(ay)-.11 E 2.75(,i)-.715 G 2.75(ft)
-2.75 G(he pack)-2.75 E(et pro)-.11 E -.165(ve)-.165 G 2.75(st).165 G
2.75(ob)-2.75 G 2.75(es)-2.75 G(equence-in)-2.75 E -.275(va)-.44 G
(lid, send an e).275 E(xtended DCCP-Sync if)-.165 E
(required \(with T set to one\), b)111.8 553.6 Q
(ut do not yet transition to e)-.22 E(xtended sequence numbers.)-.165 E
7.15<8349>100.8 570.2 S 2.75(fPi)-7.15 G 2.75(s2)-2.75 G 2.75(4b)-2.75 G
(its b)-2.75 E(ut E is 48, there may ha)-.22 E .33 -.165(ve b)-.22 H
(een benign pack).165 E(et reordering.)-.11 E(The correct)5.5 E
(action depends on whether the last sequence-v)111.8 583.2 Q(alid pack)
-.275 E(et recei)-.11 E -.165(ve)-.275 G 2.75(df).165 G
(rom DCCP B had the)-2.75 E -.385(Tr)111.8 596.2 S(ansition bit set.)
.385 E 7.337(-I)111.8 612.8 S 2.75(fT)-7.337 G(ransition w)-3.135 E
(as set, e)-.11 E(xtend P to a 48-bit v)-.165 E(alue P'.)-.275 E
(First, let EH equal the upper 24)5.5 E(bits of E, and EL equal the lo)
122.8 625.8 Q(wer 24 bits of E.)-.275 E(Then:)5.5 E/F1 11/Courier@0 SF
6.6(If EL)136 644.8 R 6.6(>P)6.6 G 13.2(,s)-6.6 G 6.6(et P')-13.2 F 6.6
(=\()6.6 G(EH << 24\) | P.)-6.6 E 13.2(Otherwise, set)136 657.8 R
(P' = \(\(\(EH - 1\) mod 2^24\) << 24\) | P.)13.2 E F0
(The "EL > P" test uses arithmetic comparison, NO)122.8 676.8 Q 2.75(Tc)
-.44 G(ircular comparison.)-2.75 E(Compare P')5.5 E(with E modulo 2^48.)
122.8 689.8 Q 7.337(-O)111.8 706.4 S(therwise, the pack)-7.337 E
(et is sequence-in)-.11 E -.275(va)-.44 G(lid.).275 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.6.3. [P)2.75 F(age 42])-.165 E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Either w)111.8 85 Q(ay)-.11
E 2.75(,i)-.715 G 2.75(ft)-2.75 G(he pack)-2.75 E(et pro)-.11 E -.165
(ve)-.165 G 2.75(st).165 G 2.75(ob)-2.75 G 2.75(es)-2.75 G(equence-in)
-2.75 E -.275(va)-.44 G(lid, send an e).275 E(xtended DCCP-Sync if)-.165
E(required, with T set to one.)111.8 98 Q
(DCCP implementations can, of course, a)100.8 114.6 Q -.22(vo)-.22 G
(id most of this comple).22 E(xity by disallo)-.165 E(wing)-.275 E
(transitions to e)100.8 127.6 Q(xtended sequence numbers \(and by reset\
ting the connection when the other)-.165 E
(endpoint attempts such a transition\).)100.8 140.6 Q
(Connections that use 48-bit sequence numbers)5.5 E
(throughout, starting with the DCCP-Request, MUST ha)100.8 153.6 Q .33
-.165(ve T s)-.22 H(et to zero on all their pack).165 E(ets.)-.11 E/F1
11/Times-Bold@0 SF 2.75(7.6.4. Sequence)72 179.6 R -.814(Tr)2.75 G
(ansition Capable F).814 E(eatur)-.275 E(e)-.198 E F0(The Sequence T)
100.8 196.2 Q(ransition Capable feature e)-.385 E
(xpresses whether DCCP endpoints are capable)-.165 E
(of transitioning to e)100.8 209.2 Q
(xtended sequence numbers in the course of an acti)-.165 E .33 -.165
(ve c)-.275 H(onnection.).165 E(DCCP A sends a "Change R\(Sequence T)
100.8 222.2 Q(ransition Capable, 1\)" option to DCCP B to)-.385 E(disco)
100.8 235.2 Q -.165(ve)-.165 G 2.75(rw).165 G
(hether B can transition to e)-2.75 E(xtended sequence numbers.)-.165 E
(Sequence T)100.8 251.8 Q
(ransition Capable has feature number 4, and is serv)-.385 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)
-.11 E(Boolean v)100.8 264.8 Q 2.75(alues. DCCP)-.275 F 2.75(BM)2.75 G
(UST allo)-2.75 E 2.75(wt)-.275 G(ransitions to e)-2.75 E
(xtended sequence numbers when)-.165 E(Sequence T)100.8 277.8 Q
(ransition Capable/B is one.)-.385 E(It MUST NO)5.5 E 2.75(Tr)-.44 G
(eset the connection with Reset)-2.75 E
(Code 7, "Extended Sequence Numbers", under those circumstances.)100.8
290.8 Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, D).165 H(CCP B)
.44 E(MA)100.8 303.8 Q 2.75(Ya)-1.155 G(llo)-2.75 E 2.75(ws)-.275 G
(uch transitions e)-2.75 E -.165(ve)-.275 G 2.75(nw).165 G
(hen Sequence T)-2.75 E(ransition Capable/B is zero.)-.385 E -1.221(Va)
5.5 G(lues of)1.221 E(tw)100.8 316.8 Q 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 Sequence T)-2.75 E(ransition Capable 0 \(that)
-.385 E(is, not capable\) for both endpoints.)100.8 329.8 Q F1(7.7.)72
355.8 Q/F2 13/Times-Bold@0 SF(NDP Count and Detecting A)5.5 E
(pplication Loss)-.325 E F0(DCCP')100.8 372.4 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 385.4
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 398.4 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 411.4 Q
(urst of non-data pack)-.22 E 2.75(ets. This)-.11 F(lets the recei)2.75
E(ving)-.275 E(DCCP determine, for e)100.8 424.4 Q -.165(ve)-.275 G
(ry b).165 E(urst of loss, whether or not application data w)-.22 E
(as lost.)-.11 E/F3 11/Courier@0 SF
(+--------+--------+-------- ... --------+)100.8 443.4 Q
(|00100101| Length |)100.8 456.4 Q(NDP Count)39.6 E(|)39.6 E
(+--------+--------+-------- ... --------+)100.8 469.4 Q 6.6
(Type=37 Len=3-5)107.4 482.4 R F0(If a DCCP endpoint')100.8 501.4 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 514.4 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
527.4 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-Mo)100.8 540.4 Q -.165(ve)-.165
G 2.75(,D).165 G(CCP-Sync, and DCCP-SyncAck.)-2.75 E(All other pack)
100.8 553.4 Q(et types are considered data pack)-.11 E
(ets, although not all DCCP-Request and)-.11 E(DCCP-Response pack)100.8
566.4 Q(ets will actually carry application data.)-.11 E(The v)100.8 583
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 596 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 609 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 625.6
Q(The smallest option format)5.5 E
(that can hold the NDP Count SHOULD be used.)100.8 638.6 Q F1 2.75
(7.7.1. Usage)72 664.6 R(Notes)2.75 E F0(Say that K consecuti)100.8
681.2 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
694.2 Q(Then some application data w)5.5 E
(as lost within those sequence)-.11 E(numbers unless the pack)100.8
707.2 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 720.2 Q -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)-.11 F 2.75
(7.7.1. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E -.165(Fo)100.8 85 S 2.75(re)
.165 G(xample, say that the follo)-2.915 E
(wing sequence of non-data pack)-.275 E(ets \(Nx\) and data pack)-.11 E
(ets)-.11 E(\(Dx\) were sent.)100.8 98 Q/F1 11/Courier@0 SF 6.6
(N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10)100.8 117 R(N11 N12 D13)6.6 E F0
(Those pack)100.8 136 Q(ets w)-.11 E(ould ha)-.11 E .33 -.165(ve N)-.22
H(DP Counts as follo).165 E(ws.)-.275 E F1 6.6
(N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10)100.8 155 R(N11 N12 D13)6.6 E 19.8
(-12-1--1----12)100.8 168 S F0
(NDP Count is not useful for applications that include their o)100.8 187
Q(wn sequence numbers with)-.275 E(their pack)100.8 200 Q(et headers.)
-.11 E/F2 11/Times-Bold@0 SF 2.75(7.7.2. Send)72 226 R(NDP Count F)2.75
E(eatur)-.275 E(e)-.198 E F0(The Send NDP Count feature lets DCCPs ne)
100.8 242.6 Q(gotiate whether the)-.165 E 2.75(ys)-.165 G
(hould send NDP Count)-2.75 E(options on their pack)100.8 255.6 Q 2.75
(ets. DCCP)-.11 F 2.75(As)2.75 G
(ends a "Change R\(Send NDP Count, 1\)" option to ask)-2.75 E
(DCCP B to send NDP Count options.)100.8 268.6 Q
(Send NDP Count has feature number 9, and is serv)100.8 285.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 298.2 S 2.75(lues. DCCP).275
F 2.75(BM)2.75 G(UST send NDP Count options on its non-data pack)-2.75 E
(ets \(and some of its)-.11 E(data pack)100.8 311.2 Q
(ets\) when Send NDP Count/B is one, although it MA)-.11 E 2.75(Ys)
-1.155 G(end NDP Count options)-2.75 E -2.365 -.275(ev e)100.8 324.2 T
2.75(nw).275 G(hen Send NDP Count/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(w)-.275 E
(connections start with Send NDP Count 0 for both endpoints.)100.8 337.2
Q F2(8.)72 363.2 Q/F3 14/Times-Bold@0 SF(Ev)5.5 E(ent Pr)-.14 E
(ocessing)-.252 E F0(This section describes ho)100.8 379.8 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
392.8 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 405.8 Q F2(8.1.)72 431.8 Q/F4
13/Times-Bold@0 SF(Connection Establishment)5.5 E F0
(DCCP connections' initiation phase consists of a three-w)100.8 448.4 Q
(ay handshak)-.11 E(e: an initial DCCP-)-.11 E(Request pack)100.8 461.4
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
474.4 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 487.4 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 500.4
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 F1(Client State)
114 519.4 Q(Server State)191.4 E 224.4(CLOSED LISTEN)133.8 532.4 R 13.2
(1. REQUEST -->)100.8 545.4 R 46.2(Request -->)46.2 F 79.2(2. <--)100.8
558.4 R 39.6(Response <--)46.2 F(RESPOND)19.8 E 13.2(3. PARTOPEN)100.8
571.4 R 26.4(--> Ack,)13.2 F 26.4(DataAck -->)6.6 F 79.2(4. <--)100.8
584.4 R(Data, Ack, DataAck)13.2 E 13.2(<-- OPEN)13.2 F 13.2(5. OPEN)
100.8 597.4 R 6.6(<-> Data,)39.6 F(Ack, DataAck)6.6 E 13.2(<-> OPEN)13.2
F F2 2.75(8.1.1. Client)72 629.4 R(Request)2.75 E F0
(When a client decides to initiate a connection, it enters the REQ)100.8
646 Q(UEST state, chooses an)-.11 E
(initial sequence number \(Section 7.2\), and sends a DCCP-Request pack)
100.8 659 Q(et using that)-.11 E(sequence number to the intended serv)
100.8 672 Q(er)-.165 E(.)-.605 E(DCCP-Request pack)100.8 688.6 Q
(ets will commonly carry feature ne)-.11 E(gotiation options that open)
-.165 E(ne)100.8 701.6 Q(gotiations for v)-.165 E
(arious connection parameters, such as preferred congestion control IDs)
-.275 E(for each half-connection.)100.8 714.6 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 -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E -2.53 -.165(aw a)100.8 85 T
(re that the serv).165 E(er may not accept such data.)-.165 E 2.75(Ac)
100.8 101.6 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 114.6 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
127.6 Q -.165(ex)100.8 140.6 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 153.6
Q(original DCCP-Request.)100.8 166.6 Q 2.75(Ac)100.8 183.2 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 196.2 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 209.2 Q -.165(ve)-.275
G(d.).165 E(The client lea)100.8 225.8 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 238.8 Q(er)-.165 E(.)-.605 E/F1 11
/Times-Bold@0 SF 2.75(8.1.2. Ser)72 264.8 R(vice Codes)-.11 E F0(Each D\
CCP-Request contains a 32-bit Service Code, which identi\214es the serv\
ice to which)100.8 281.4 Q(the client application is trying to connect.)
100.8 294.4 Q(Service Codes should correspond to application)5.5 E
(services and protocols.)100.8 307.4 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
320.4 Q(Middlebox)100.8 333.4 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 346.4 Q(Endpoints MUST associate a Service Code with e)
100.8 363 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 376 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 389 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 402 Q(ferentiated by Service)-.275 E 2.75(Code. If)100.8 415 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 428 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
441 Q(et with Reset Code 9, "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 454 Q
(ets whose Service Code is considered unsuitable.)-.11 E
(Service Codes should be allocated by IAN)100.8 470.6 Q 2.75(A. W)-.385
F 2.75(ei)-.88 G(ntend for Service Code allocation to be)-2.75 E
(allocated to an)100.8 483.6 Q(yone who asks, \214rst-come \214rst-serv)
-.165 E(e, subject to the follo)-.165 E(wing guidelines.)-.275 E 7.15
<8353>100.8 500.2 S
(ervice Codes should be allocated one at a time, or in small blocks.)
-7.15 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)111.8 513.2 Q
(ut)-.22 E
(no speci\214cation, standards-track or otherwise, is necessary)111.8
526.2 Q 5.5(.I)-.715 G(AN)-5.5 E 2.75(As)-.385 G(hould maintain an)-2.75
E(association of Service Codes to the corresponding phrases.)111.8 539.2
Q 7.15<8355>100.8 555.8 S(sers may request speci\214c Service Code v)
-7.15 E(alues, which should be assigned \214rst-come)-.275 E
(\214rst-serv)111.8 568.8 Q 2.75(e. W)-.165 F 2.75(es)-.88 G
(uggest that users request Service Codes that can be interpreted as)
-2.75 E(meaningful four)111.8 581.8 Q(-byte ASCII strings.)-.22 E
(Thus, the "Frobodyne Plotz Protocol" might)5.5 E
(correspond to "fdpz", or the number 1717858426.)111.8 594.8 Q
(The canonical interpretation of a)5.5 E
(Service Code \214eld is numeric.)111.8 607.8 Q 7.15<8353>100.8 624.4 S
(ervice Codes whose bytes each ha)-7.15 E .33 -.165(ve v)-.22 H
(alues in the set {32, 45-57, 65-90} should be)-.11 E(reserv)111.8 637.4
Q(ed for international standard or standards-track speci\214cations, IE\
TF or otherwise.)-.165 E(\(This set consists of the ASCII digits, upper\
case letters, and characters space, '-', '.)111.8 650.4 Q(', and)-.77 E
('/'.\))111.8 663.4 Q 7.15<8353>100.8 680 S
(ervice Codes whose high-order byte equals 63 \(ASCII '?'\) should ne)
-7.15 E -.165(ve)-.275 G 2.75(rb).165 G 2.75(ea)-2.75 G(llocated.)-2.75
E(These Service Codes are reserv)111.8 693 Q(ed for pri)-.165 E -.275
(va)-.275 G(te use.).275 E 7.15<8353>100.8 709.6 S
(ervice Code 0 should ne)-7.15 E -.165(ve)-.275 G 2.75(rb).165 G 2.75
(ea)-2.75 G 2.75(llocated. It)-2.75 F
(represents the absence of a meaningful)2.75 E(Service Code.)111.8 722.6
Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01(yd Section)
-.11 F 2.75(8.1.2. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(This design for Service Cod\
e allocation is based on the allocation of 4-byte identi\214ers for)
100.8 85 Q(Macintosh resources, PNG chunks, and T)100.8 98 Q(rueT)-.385
E(ype and OpenT)-.88 E(ype tables.)-.88 E/F1 11/Times-Bold@0 SF 2.75
(8.1.3. Ser)72 124 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 140.6 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
153.6 Q(In this phase, a serv)5.5 E(er)-.165 E
(will often specify the features it w)100.8 166.6 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 179.6 Q
(Among these options is the congestion control)5.5 E(mechanism the serv)
100.8 192.6 Q(er e)-.165 E(xpects to use.)-.165 E(The recei)100.8 209.2
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 222.2 Q(Rele)5.5 E -.275(va)
-.275 G(nt Reset Codes for refusing a connection include 8, "Connection)
.275 E(Refused", when the DCCP-Request')100.8 235.2 Q 2.75(sD)-.605 G
(estination Port did not correspond to a DCCP port)-2.75 E
(open for listening; 9, "Bad Service Code", when the DCCP-Request')100.8
248.2 Q 2.75(sS)-.605 G(ervice Code did not)-2.75 E
(correspond to the service code re)100.8 261.2 Q
(gistered with the Destination Port; and 10, "T)-.165 E(oo Busy",)-.88 E
(when the serv)100.8 274.2 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 287.2 Q
(The recei)100.8 303.8 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 316.8 Q 5.5(.\()-.715 G
(Note that the "retransmitted" DCCP-Request)-5.5 E(will ha)100.8 329.8 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 342.8 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
355.8 Q(xisting connection because)-.165 E
(of its Source and Destination Ports.)100.8 368.8 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 381.8 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 394.8 Q 2.75(sS)-.605 G
(equence Number by one, and MUST include the same)-2.75 E
(application data, if an)100.8 407.8 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 424.4 Q(In)5.5
E(particular)100.8 437.4 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
450.4 Q(reported as "data dropped due to protocol constraints" \(Drop C\
ode 0\). The original DCCP-)100.8 463.4 Q(Request SHOULD also be report\
ed in the Data Dropped option, either in a Normal Block)100.8 476.4 Q
(\(if the responder accepted the data, or there w)100.8 489.4 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
502.4 Q(The Data Dropped and Init Cookie options are particularly usefu\
l for DCCP-Response)100.8 519 Q(pack)100.8 532 Q
(ets \(Sections 11.7 and 8.1.4\).)-.11 E(The serv)100.8 548.6 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 561.6 Q(ay handshak)-.11 E(e.)
-.11 E F1 2.75(8.1.4. Init)72 587.6 R(Cookie Option)2.75 E/F2 11
/Courier@0 SF(+--------+--------+--------+--------+--------+--------)
100.8 606.6 Q(|00100100| Length |)100.8 619.6 Q(Init Cookie Value)59.4 E
(...)19.8 E(+--------+--------+--------+--------+--------+--------)100.8
632.6 Q(Type=36)107.4 645.6 Q F0
(The Init Cookie option lets a DCCP serv)100.8 668.2 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 681.2 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 694.2 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 707.2 Q -.88(Ty)5.5 G
(pically the cookie will be encrypted using a secret).88 E(kno)100.8
720.2 Q(wn only to the serv)-.275 E
(er and include a cryptographic checksum or magic v)-.165 E
(alue so that)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
222.01(yd Section)-.11 F 2.75(8.1.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(correct decryption can be v)
100.8 85 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 98 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 111 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 127.6 Q
(DCCP-Sync, and DCCP-SyncAck pack)100.8 140.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 153.6
Q(If so, then the client MUST echo the same Init Cookie option in)5.5 E
(each succeeding DCCP pack)100.8 166.6 Q(et until one of those pack)-.11
E(ets is ackno)-.11 E(wledged, meaning the)-.275 E(three-w)100.8 179.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
192.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 205.6 Q
(Code 11, "Bad Init Cookie".)100.8 218.6 Q(The precise implementation o\
f the Init Cookie does not need to be speci\214ed here; since Init)100.8
235.2 Q(Cookies are opaque to the client, there are no interoperability\
 concerns.)100.8 248.2 Q
(Init Cookies are limited to at most 253 bytes in length.)100.8 264.8 Q
/F1 11/Times-Bold@0 SF 2.75(8.1.5. Handshak)72 290.8 R 2.75(eC)-.11 G
(ompletion)-2.75 E F0(When the client recei)100.8 307.4 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 320.4 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 333.4 Q(er)-.165 E 5.5(.T)-.605 G(he P)-5.5 E(AR)-1.012 E -.198
(TO)-.66 G(PEN state represents that the client isn').198 E 2.75(ts)
-.198 G(ure whether the serv)-2.75 E(er)-.165 E(has recei)100.8 346.4 Q
-.165(ve)-.275 G 2.75(da).165 G .33 -.165(ny o)-2.75 H 2.75(fi).165 G
(ts DCCP-Acks.)-2.75 E(The client MUST NO)5.5 E 2.75(Ts)-.44 G
(end DCCP-Data pack)-2.75 E(ets)-.11 E(while it remains in P)100.8 359.4
Q(AR)-1.012 E -.198(TO)-.66 G 2.75(PEN. This).198 F
(is because DCCP-Data pack)2.75 E(ets lack)-.11 E(Ackno)100.8 372.4 Q
(wledgement Numbers, so the serv)-.275 E(er can')-.165 E 2.75(tt)-.198 G
(ell from a DCCP-Data pack)-2.75 E(et whether the)-.11 E(client sa)100.8
385.4 Q 2.75(wi)-.165 G(ts DCCP-Response.)-2.75 E
(Furthermore, if the DCCP-Response included an Init)5.5 E
(Cookie, that Init Cookie MUST be included on e)100.8 398.4 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 415 Q
(AR)-1.012 E -.198(TO)-.66 G(PEN state might, of course, be).198 E
(dropped by the netw)100.8 428 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 441 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 454 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 467 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 480 Q(AR)-1.012 E -.198(TO)-.66 G
(PEN for more than 4MSL, it SHOULD reset the connection with).198 E
(Reset Code 2, "Aborted".)100.8 493 Q(The client lea)100.8 509.6 Q -.165
(ve)-.22 G 2.75(st).165 G(he P)-2.75 E(AR)-1.012 E -.198(TO)-.66 G
(PEN state for OPEN when it recei).198 E -.165(ve)-.275 G 2.75(sap).165
G(ack)-2.75 E(et other than)-.11 E
(DCCP-Response or DCCP-Reset from the serv)100.8 522.6 Q(er)-.165 E(.)
-.605 E F1(8.2.)72 548.6 Q/F2 13/Times-Bold@0 SF(Data T)5.5 E(ransfer)
-.962 E F0
(In the central, data transfer phase of the connection, both serv)100.8
565.2 Q(er and client are in the OPEN)-.165 E(state.)100.8 578.2 Q
(DCCP A sends DCCP-Data and DCCP-DataAck pack)100.8 594.8 Q
(ets to DCCP B due to application)-.11 E -2.365 -.275(ev e)100.8 607.8 T
(nts on host A.).275 E(These pack)5.5 E
(ets are congestion-controlled by the CCID for the A-to-B)-.11 E 2.75
(half-connection. In)100.8 620.8 R(contrast, DCCP-Ack pack)2.75 E
(ets sent by DCCP A are controlled by the)-.11 E
(CCID for the B-to-A half-connection.)100.8 633.8 Q(Generally)5.5 E 2.75
(,D)-.715 G(CCP A will piggyback)-2.75 E(ackno)100.8 646.8 Q
(wledgement information on DCCP-Data pack)-.275 E
(ets when acceptable, creating DCCP-)-.11 E(DataAck pack)100.8 659.8 Q
2.75(ets. DCCP-Ack)-.11 F(pack)2.75 E
(ets are used when there is no data to send from)-.11 E(DCCP A to DCCP \
B, or when the congestion state of the A-to-B CCID will not allo)100.8
672.8 Q 2.75(wd)-.275 G(ata)-2.75 E(to be sent.)100.8 685.8 Q
(The DCCP-Mo)100.8 702.4 Q -.165(ve)-.165 G 2.75(,D).165 G
(CCP-Sync, and DCCP-SyncAck pack)-2.75 E
(ets will also occur in the data)-.11 E(transfer phase.)100.8 715.4 Q
(DCCP-Mo)5.5 E .33 -.165(ve h)-.165 H
(andling is discussed in Section 14, and some cases causing).165 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 230.26(yd Section)-.11 F
2.75(8.2. [P)2.75 F(age 47])-.165 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(DCCP-Sync generation are di\
scussed in Section 7.5. One important distinction between)100.8 85 Q
(DCCP-Sync pack)100.8 98 Q(ets and other pack)-.11 E
(et types is that DCCP-Sync elicits an immediate)-.11 E(ackno)100.8 111
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 endpoint MUST)-.11 E(immediatel\
y generate and send a DCCP-SyncAck in response; and the Ackno)100.8 124
Q(wledgement)-.275 E(Number on that DCCP-SyncAck MUST equal the Sequenc\
e Number of the DCCP-Sync.)100.8 137 Q 2.75(Ap)100.8 153.6 S
(articular DCCP implementation might decide to initiate feature ne)-2.75
E(gotiation only once)-.165 E(the OPEN state w)100.8 166.6 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 179.6 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 192.6 Q/F1 11/Times-Bold@0
SF(8.3.)72 218.6 Q/F2 13/Times-Bold@0 SF -1.196(Te)5.5 G(rmination)1.196
E F0(DCCP connection termination uses a handshak)100.8 235.2 Q 2.75(ec)
-.11 G(onsisting of an optional DCCP-CloseReq)-2.75 E(pack)100.8 248.2 Q
(et, a DCCP-Close pack)-.11 E(et, and a DCCP-Reset pack)-.11 E 2.75
(et. The)-.11 F(serv)2.75 E(er mo)-.165 E -.165(ve)-.165 G 2.75(sf).165
G(rom the)-2.75 E(OPEN state, possibly through the CLOSEREQ state, to C\
LOSED; the client mo)100.8 261.2 Q -.165(ve)-.165 G 2.75(sf).165 G(rom)
-2.75 E(OPEN through CLOSING to TIMEW)100.8 274.2 Q(AIT)-1.32 E 2.75(,a)
-.814 G(nd after 2MSL w)-2.75 E(ait time, to CLOSED.)-.11 E(The sequenc\
e DCCP-CloseReq, DCCP-Close, DCCP-Reset is used when the serv)100.8
290.8 Q(er)-.165 E(decides to close the connection, b)100.8 303.8 Q
(ut doesn')-.22 E 2.75(tw)-.198 G(ant to hold TIMEW)-2.86 E(AIT state:)
-1.32 E/F3 11/Courier@0 SF(Client State)114 322.8 Q(Server State)191.4 E
237.6(OPEN OPEN)133.8 335.8 R 79.2(1. <--)100.8 348.8 R 39.6
(CloseReq <--)46.2 F(CLOSEREQ)19.8 E 13.2(2. CLOSING -->)100.8 361.8 R
52.8(Close -->)52.8 F 79.2(3. <--)100.8 374.8 R 52.8(Reset <--)52.8 F
(CLOSED)19.8 E 13.2(4. TIMEWAIT)100.8 387.8 R 13.2(5. CLOSED)100.8 400.8
R F0 2.75(As)100.8 419.8 S(horter sequence occurs when the client decid\
es to close the connection.)-2.75 E F3(Client State)114 438.8 Q
(Server State)191.4 E 237.6(OPEN OPEN)133.8 451.8 R 13.2(1. CLOSING -->)
100.8 464.8 R 52.8(Close -->)52.8 F 79.2(2. <--)100.8 477.8 R 52.8
(Reset <--)52.8 F(CLOSED)19.8 E 13.2(3. TIMEWAIT)100.8 490.8 R 13.2
(4. CLOSED)100.8 503.8 R F0(Finally)100.8 522.8 Q 2.75(,t)-.715 G
(he serv)-2.75 E(er can decide to hold TIMEW)-.165 E(AIT state:)-1.32 E
F3(Client State)114 541.8 Q(Server State)191.4 E 237.6(OPEN OPEN)133.8
554.8 R 79.2(1. <--)100.8 567.8 R 52.8(Close <--)52.8 F(CLOSING)19.8 E
13.2(2. CLOSED)100.8 580.8 R 46.2(--> Reset)26.4 F(-->)59.4 E 283.8
(3. TIMEWAIT)100.8 593.8 R 283.8(4. CLOSED)100.8 606.8 R F0
(In all cases, the recei)100.8 629.4 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 642.4 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 655.4 Q
(the current connection')100.8 668.4 Q 2.75(ss)-.605 G
(ource and destination addresses and ports can start up while old)-2.75
E(pack)100.8 681.4 Q(ets might remain in the netw)-.11 E(ork.)-.11 E
(The termination handshak)100.8 698 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 711 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 724 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 -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Close pack)100.8 85 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 98 Q
(AIT state.)-1.32 E(The endpoint)5.5 E(that recei)100.8 111 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 127.6 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
140.6 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 153.6 Q(manner)
100.8 166.6 Q 5.5(.T)-.605 G(his is justi\214ed because some responses \
to connection termination close are the)-5.5 E
(same no matter whether termination w)100.8 179.6 Q(as clean.)-.11 E
-.165(Fo)5.5 G 2.75(ri).165 G(nstance, the endpoint that recei)-2.75 E
-.165(ve)-.275 G 2.75(sa).165 G -.275(va)100.8 192.6 S
(lid DCCP-Reset should hold TIMEW).275 E(AIT state for the connection.)
-1.32 E(Processors that must)5.5 E
(distinguish between clean and unclean termination can e)100.8 205.6 Q
(xamine the Reset Code.)-.165 E(DCCP-)5.5 E(Reset pack)100.8 218.6 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 231.6 Q
(Reset pack)100.8 244.6 Q(et.)-.11 E(Endpoints in the CLOSEREQ and CLOS\
ING states MUST retransmit DCCP-CloseReq)100.8 261.2 Q
(and DCCP-Close pack)100.8 274.2 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
287.2 Q 2.75(fi)-.275 G 2.75(nt)-2.75 G .22 -.11(wo R)-2.75 H
(TTs, or 0.4 seconds if the R)-.55 E(TT is not kno)-.66 E(wn, and)-.275
E(should back of)100.8 300.2 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 R).165 E
(TTs if no rele)-.66 E -.275(va)-.275 G(nt response is recei).275 E
-.165(ve)-.275 G(d.).165 E(Only the serv)100.8 316.8 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 342.8 R -1.012(Te)2.75 G(rmination)1.012 E F0
(DCCP endpoints generate DCCP-Reset pack)100.8 359.4 Q
(ets to terminate connections abnormally; a)-.11 E(DCCP-Reset pack)100.8
372.4 Q(et may be generated from an)-.11 E 2.75(ys)-.165 G 2.75
(tate. Ho)-2.75 F(we)-.275 E -.165(ve)-.275 G .88 -.44(r, a D).165 H
(CCP endpoint in the).44 E(CLOSED or LISTEN state may not ha)100.8 385.4
Q .33 -.165(ve a p)-.22 H(roper sequence number a).165 E -.275(va)-.22 G
(ilable to send a).275 E 2.75(Reset. In)100.8 398.4 R
(these cases, it MUST set the Reset')2.75 E 2.75(sS)-.605 G
(equence Number to zero.)-2.75 E(Resets sent in)5.5 E
(the CLOSED, LISTEN, and TIMEW)100.8 411.4 Q
(AIT states often use Reset Code 3, "No Connection".)-1.32 E
(Resets sent in the REQ)100.8 424.4 Q
(UEST or RESPOND states often use Reset Code 4, "P)-.11 E(ack)-.165 E
(et Error".)-.11 E F1(8.4.)72 450.4 Q/F2 13/Times-Bold@0 SF
(DCCP State Diagram)5.5 E F0
(The most common state transitions discussed abo)100.8 467 Q .33 -.165
(ve c)-.165 H(an be summarized in the follo).165 E(wing)-.275 E
(state diagram.)100.8 480 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 493 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 506 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 -52.8 66(|| +)100.8
137 T 6.6(----------+ active)-66 F 72.6(||)26.4 G 66(||)100.8 150 S
125.4(passive open)-59.4 F 72.6(||)33 G 66(||)100.8 163 S 118.8
(open snd)-52.8 F(Request |)6.6 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 118.8(||)52.8 G(|)-46.2 E 66(||)
100.8 475 S(snd Reset)-59.4 E 52.8(|r)52.8 G(cv Reset |)-52.8 E(|)72.6 E
112.2(|<---------+ | v)100.8 488 R(|)72.6 E 125.4(|r)100.8 501 S
(cv Close |)-125.4 E 26.4(+----+-----+ |)85.8 F 125.4(|s)100.8 514 S
(nd Reset |)-125.4 E 6.6(|T)85.8 G(IMEWAIT |)-6.6 E(|)33 E 191.4(||)
100.8 527 S 26.4(+----+-----+ |)-105.6 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(Sock)5.5 E(et v)-.11 E(ariables:)-.275 E
(S.SWL - sequence number windo)100.8 696.2 Q 2.75(wl)-.275 G -.275(ow)
-2.75 G(S.SWH - sequence number windo)100.8 709.2 Q 2.75(wh)-.275 G(igh)
-2.75 E(S.A)100.8 722.2 Q(WL - ackno)-.99 E(wledgement number windo)
-.275 E 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(S.A)100.8 85 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 98 Q
(S.ISR - initial sequence number recei)100.8 111 Q -.165(ve)-.275 G(d)
.165 E(S.OSR - \214rst OPEN sequence number recei)100.8 124 Q -.165(ve)
-.275 G(d).165 E(S.GSS - greatest sequence number sent)100.8 137 Q
(S.GSR - greatest v)100.8 150 Q(alid sequence number recei)-.275 E -.165
(ve)-.275 G(d).165 E(S.GAR - greatest ackno)100.8 163 Q
(wledgement number recei)-.275 E -.165(ve)-.275 G
(d; initialized to S.ISS).165 E("Send pack)100.8 176 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 202 Q
(If the header checksum is incorrect, drop pack)109.05 215 Q
(et and return.)-.11 E(If the pack)109.05 228 Q
(et type is not understood, drop pack)-.11 E(et and return.)-.11 E
(If Data Of)109.05 241 Q(fset is too small for pack)-.275 E
(et type, or too lar)-.11 E(ge for pack)-.198 E(et,)-.11 E(drop pack)
109.05 254 Q(et and return.)-.11 E(Second, process DCCP-Mo)100.8 280 Q
-.165(ve)-.165 G(;).165 E(If P)109.05 293 Q(.type == Mo)-1.221 E -.165
(ve)-.165 G(,).165 E(Look up the Mobility ID in table; get sock)117.3
306 Q(et.)-.11 E(If sock)117.3 319 Q(et e)-.11 E(xists && P)-.165 E
(.seqno >= S.SWL && P)-1.221 E(.ackno <= S.A)-1.221 E(WH)-.99 E(&& P)
133.8 332 Q(.ackno >= S.ISS && S.state >= P)-1.221 E(AR)-1.012 E -.198
(TO)-.66 G(PEN && S.state < TIMEW).198 E(AIT)-1.32 E(,)-.814 E
(Process options)125.55 345 Q(Set sock)125.55 358 Q(et to point at ne)
-.11 E 2.75(wa)-.275 G(ddress/ports)-2.75 E(Add reference to ne)125.55
371 Q 2.75(wa)-.275 G(ddress/ports)-2.75 E(Set timer to remo)125.55 384
Q .33 -.165(ve o)-.165 H(ld address/ports after 2MSL).165 E(Choose ne)
125.55 397 Q 2.75(wM)-.275 G(obility ID, add to table)-2.75 E
(Send DCCP-Sync[Change L[Mobility ID, ne)125.55 410 Q 2.75(wI)-.275 G
(D]])-2.75 E(Update S.GSR, S.SWL, S.SWH)125.55 423 Q(Drop pack)125.55
436 Q(et and return)-.11 E(Otherwise,)117.3 449 Q(Drop pack)125.55 462 Q
(et and return)-.11 E(Third, check ports and process TIMEW)100.8 488 Q
(AIT state;)-1.32 E(Look up \215o)109.05 501 Q 2.75(wI)-.275 G
(D; get sock)-2.75 E(et.)-.11 E(If no sock)109.05 514 Q
(et, or S.state == TIMEW)-.11 E(AIT)-1.32 E(,)-.814 E
(Generate Reset\(No Connection\) unless P)117.3 527 Q(.type == Reset)
-1.221 E(Drop pack)117.3 540 Q(et and return)-.11 E -.165(Fo)100.8 566 S
(urth, process LISTEN state;).165 E(If S.state == LISTEN,)109.05 579 Q
(If P)117.3 592 Q(.type == Request,)-1.221 E
(/* Init Cookie processing w)125.55 605 Q(ould go here */)-.11 E
(Set S := ne)125.55 618 Q 2.75(ws)-.275 G(ock)-2.75 E
(et for this port pair)-.11 E(S.state = RESPOND)125.55 631 Q
(Choose S.ISS \(initial seqno\))125.55 644 Q
(Set S.ISR, S.GSR, S.SWL, S.SWH from pack)125.55 657 Q(et)-.11 E
(Continue \(with S.state == RESPOND\))125.55 670 Q(Otherwise,)117.3 683
Q(Generate Reset\(No Connection\) unless P)125.55 696 Q(.type == Reset)
-1.221 E(Drop pack)125.55 709 Q(et and return)-.11 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Fifth, process Reset;)100.8
85 Q(If P)109.05 98 Q(.type == Reset,)-1.221 E(If S.GAR <= P)117.3 111 Q
(.ackno <= S.A)-1.221 E(WH)-.99 E(&& \(P)133.8 124 Q(.seqno == 0 || P)
-1.221 E(.seqno > S.GSR || S.state == REQ)-1.221 E(UEST\),)-.11 E -.77
(Te)125.55 137 S(ar do).77 E(wn connection)-.275 E(S.state := TIMEW)
125.55 150 Q(AIT)-1.32 E(Set TIMEW)125.55 163 Q(AIT timer)-1.32 E
(Drop pack)125.55 176 Q(et and return)-.11 E
(Otherwise \(sequence numbers out of whack\),)117.3 189 Q(Drop pack)
125.55 202 Q(et and return)-.11 E(Sixth, process REQ)100.8 228 Q
(UEST state;)-.11 E(If S.state == REQ)109.05 241 Q(UEST)-.11 E(,)-.814 E
(If P)117.3 254 Q(.type == Response && 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
267 Q(Otherwise,)117.3 280 Q(Generate Reset\(P)125.55 293 Q(ack)-.165 E
(et Error\))-.11 E(Drop pack)125.55 306 Q(et and return)-.11 E(Se)100.8
332 Q -.165(ve)-.275 G(nth, process Sync sequence numbers;).165 E(If P)
109.05 345 Q(.type == Sync || P)-1.221 E(.type == SyncAck,)-1.221 E
(If S.A)117.3 358 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 371 Q
(Otherwise,)117.3 384 Q(Drop pack)125.55 397 Q(et and return)-.11 E
(Eighth, check sequence numbers;)100.8 423 Q(If S.SWL <= P)109.05 436 Q
(.seqno <= S.SWH)-1.221 E(&& \(P)125.55 449 Q(.ackno does not e)-1.221 E
(xist || S.A)-.165 E(WL <= P)-.99 E(.ackno <= S.A)-1.221 E(WH\),)-.99 E
(Update S.GSR, S.GAR, S.SWL, S.SWH)117.3 462 Q(Otherwise,)109.05 475 Q
(Send Sync pack)117.3 488 Q(et ackno)-.11 E(wledging P)-.275 E(.seqno)
-1.221 E(Drop pack)117.3 501 Q(et and return)-.11 E(Ninth, check pack)
100.8 527 Q(et type;)-.11 E(If \(S.is_serv)109.05 540 Q(er && P)-.165 E
(.type == CloseReq\))-1.221 E(|| \(S.is_serv)122.8 553 Q(er && P)-.165 E
(.type == Response\))-1.221 E(|| \(S.is_client && P)122.8 566 Q
(.type == Request\))-1.221 E(|| \(S.state >= OPEN && P)122.8 579 Q
(.type == Request && P)-1.221 E(.seqno >= S.OSR\))-1.221 E
(|| \(S.state >= OPEN && P)122.8 592 Q(.type == Response && P)-1.221 E
(.seqno >= S.OSR\))-1.221 E(|| \(S.state == RESPOND && P)122.8 605 Q
(.type == Data\),)-1.221 E(Send Sync pack)117.3 618 Q(et ackno)-.11 E
(wledging P)-.275 E(.seqno)-1.221 E(Drop pack)117.3 631 Q(et and return)
-.11 E -.77(Te)100.8 657 S(nth, process options;).77 E(/* may in)109.05
670 Q -.22(vo)-.44 G(lv).22 E 2.75(er)-.165 G
(esetting connection, etc. */)-2.75 E(Mark pack)109.05 683 Q
(et as "recei)-.11 E -.165(ve)-.275 G(d" for ackno).165 E
(wledgement purposes)-.275 E(On processing Con\214rm R\(Mobility ID\),)
109.05 696 Q(Check that the con\214rmed Mobility ID is correct)117.3 709
Q(If a DCCP-Mo)117.3 722 Q .33 -.165(ve w)-.165 H
(as recently processed,).055 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 52])
-.165 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Remo)125.55 85 Q .33 -.165
(ve a)-.165 H .33 -.165(ny o).165 H(ld Mobility ID from table).165 E
(Ele)100.8 111 Q -.165(ve)-.275 G(nth, process RESPOND state;).165 E
(If S.state == RESPOND,)109.05 124 Q(If P)117.3 137 Q(.type == Request,)
-1.221 E(Send Response)125.55 150 Q(Otherwise,)117.3 163 Q(S.OSR := P)
125.55 176 Q(.seqno)-1.221 E(S.state := OPEN)125.55 189 Q -.88(Tw)100.8
215 S(elfth, process REQ).88 E(UEST state;)-.11 E(If S.state == REQ)
109.05 228 Q(UEST)-.11 E(,)-.814 E(S.state := P)117.3 241 Q(AR)-1.012 E
-.198(TO)-.66 G(PEN).198 E(/* Do not send Data pack)117.3 254 Q
(ets in P)-.11 E(AR)-1.012 E -.198(TO)-.66 G
(PEN; furthermore, include Init).198 E(Cookie on e)125.55 267 Q -.165
(ve)-.275 G(ry pack).165 E(et */)-.11 E(Set P)117.3 280 Q(AR)-1.012 E
-.198(TO)-.66 G(PEN timer).198 E(Thirteenth, process P)100.8 306 Q(AR)
-1.012 E -.198(TO)-.66 G(PEN state;).198 E(If S.state == P)109.05 319 Q
(AR)-1.012 E -.198(TO)-.66 G(PEN,).198 E(If P)117.3 332 Q
(.type == Response,)-1.221 E(Send Ack)125.55 345 Q(Otherwise,)117.3 358
Q(S.OSR := P)125.55 371 Q(.seqno)-1.221 E(S.state := OPEN)125.55 384 Q
-.165(Fo)100.8 410 S(urteenth, process CloseReq;).165 E(If P)109.05 423
Q(.type == CloseReq && S.state < CLOSEREQ,)-1.221 E(Generate Close)117.3
436 Q(S.state := CLOSING)117.3 449 Q(Set CLOSING timer)117.3 462 Q
(Fifteenth, process Close;)100.8 488 Q(If P)109.05 501 Q
(.type == Close,)-1.221 E(Generate Reset\(Closed\))117.3 514 Q -.77(Te)
117.3 527 S(ar do).77 E(wn connection)-.275 E(Drop pack)117.3 540 Q
(et and return)-.11 E(Sixteenth, process Sync;)100.8 566 Q(If P)109.05
579 Q(.type == Sync,)-1.221 E(Generate SyncAck)117.3 592 Q(Se)100.8 618
Q -.165(ve)-.275 G(nteenth, process data.).165 E(Do not deli)109.05 631
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 657 Q/F2 14/Times-Bold@0 SF(Checksums)5.5 E F0
(DCCP uses a header checksum to protect its header ag)100.8 673.6 Q
(ainst corruption.)-.055 E(Generally)5.5 E 2.75(,t)-.715 G(his)-2.75 E
(checksum co)100.8 686.6 Q -.165(ve)-.165 G(rs an).165 E 2.75(ya)-.165 G
(pplication data as well.)-2.75 E(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G
.88 -.44(r, D).165 H(CCP applications can request).44 E
(that the header checksum co)100.8 699.6 Q -.165(ve)-.165 G 2.75(ro).165
G(nly part of the application data, or perhaps no application)-2.75 E
(data at all.)100.8 712.6 Q(Link layers may then reduce their protectio\
n on unprotected parts of DCCP)5.5 E(pack)100.8 725.6 Q 2.75(ets. F)-.11
F(or some noisy links, and applications that can tolerate corruption, t\
his can)-.165 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(greatly impro)100.8 85 Q .33
-.165(ve d)-.165 H(eli).165 E -.165(ve)-.275 G(ry rates and percei).165
E -.165(ve)-.275 G 2.75(dp).165 G(erformance.)-2.75 E(If checksum co)
100.8 101.6 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
114.6 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
127.6 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 140.6 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
153.6 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 166.6 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 179.6 Q
(The combination of reduced)5.5 E(checksum co)100.8 192.6 Q -.165(ve)
-.165 G
(rage and Data Checksum can detect application data corruption, b).165 E
(ut report it)-.22 E(as corruption, not congestion, via Data Dropped op\
tions \(see Section 11.7\).)100.8 205.6 Q(Reduced checksum co)100.8
222.2 Q -.165(ve)-.165 G
(rage introduces some security considerations; see Section 19.2.).165 E
(See Appendix B.1 for further moti)100.8 235.2 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 248.2 Q -.165(ve)
-.165 G(rage w).165 E(as inspired by UDP-Lite [UDP-LITE].)-.11 E/F1 11
/Times-Bold@0 SF(9.1.)72 274.2 Q/F2 13/Times-Bold@0 SF
(Header Checksum Field)5.5 E F0
(DCCP uses the TCP/IP checksum algorithm.)100.8 290.8 Q
(The Checksum \214eld in the DCCP generic)5.5 E
(header \(see Section 5.1\) equals the 16 bit one')100.8 303.8 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 316.8 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 329.8 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 342.8 Q
(When calculating the checksum, the Checksum \214eld itself is)5.5 E
(treated as 0.)100.8 355.8 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 368.8 Q(ord for checksum)-.11 E 2.75(purposes. The)100.8 381.8 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 398.4 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 411.4 Q(left with 8 zero bits\), and the DCCP length as a 16-\
bit quantity \(the length of the DCCP)100.8 424.4 Q
(header with options, plus the length of an)100.8 437.4 Q 2.75(yd)-.165
G(ata\); see Section 3.1 of [RFC 793]. F)-2.75 E(or IPv6, it)-.165 E(is\
 320 bits long, and consists of the IPv6 source and destination address\
es, the DCCP)100.8 450.4 Q(length as a 32-bit quantity)100.8 463.4 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 476.4 Q -.165(Pa)
100.8 493 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 506 Q 2.75(Tb)-.44 G 2.75
(ep)-2.75 G(rocessed.)-2.75 E F1(9.2.)72 532 Q F2(Header Checksum Co)5.5
E -.13(ve)-.13 G(rage Field).13 E F0(The Checksum Co)100.8 548.6 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 561.6 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 578.2 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 591.2 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 604.2 Q -.165(ve)-.275 G
2.75(nn).165 G(umber of bytes.)-2.75 E F1(CsCo)100.8 620.8 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 633.8 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 646.8 Q(Thus, if CsCo)100.8
663.4 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 676.4 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 689.4 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 702.4 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
715.4 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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E -1.221(Va)100.8 85 S(lues o\
ther than 0 specify that corruption is acceptable in some or all of the\
 DCCP)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\). It).165 F
(should also let recei)2.75 E(ving applications)-.275 E(refuse deli)
100.8 179.6 Q -.165(ve)-.275 G(ry of pack).165 E(ets with checksum co)
-.11 E -.165(ve)-.165 G(rage less than a v).165 E(alue pro)-.275 E
(vided by the)-.165 E(application; by def)100.8 192.6 Q(ault, only pack)
-.11 E(ets with fully-co)-.11 E -.165(ve)-.165 G
(red application data should be).165 E 2.75(accepted. \(Note)100.8 205.6
R(that, for short pack)2.75 E(ets, application data might be fully co)
-.11 E -.165(ve)-.165 G(red by a).165 E(nonzero Checksum Co)100.8 218.6
Q -.165(ve)-.165 G(rage v).165 E 2.75(alue.\) Lo)-.275 F
(wer layers that support partial error detection)-.275 E(MA)100.8 231.6
Q 2.75(Yu)-1.155 G(se the Checksum Co)-2.75 E -.165(ve)-.165 G
(rage \214eld as a hint of where errors do not need to be).165 E 2.75
(detected. Lo)100.8 244.6 R(wer layers MUST use a strong error detectio\
n mechanism to detect at least)-.275 E(errors that occur in the sensiti)
100.8 257.6 Q .33 -.165(ve p)-.275 H(art of the pack).165 E
(et, and discard damaged pack)-.11 E 2.75(ets. The)-.11 F(sensiti)100.8
270.6 Q .33 -.165(ve p)-.275 H(art consists of the bytes between the \
\214rst byte of the IP header and the last byte).165 E
(identi\214ed by Checksum Co)100.8 283.6 Q -.165(ve)-.165 G(rage.).165 E
-.165(Fo)100.8 300.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 [UDP-LITE].)100.8 313.2 Q/F1 11/Times-Bold@0 SF
(9.3.)72 339.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 355.8 Q
(yclic redundanc)-.165 E(y-check code of a)-.165 E(DCCP pack)100.8 368.8
Q(et')-.11 E 2.75(sa)-.605 G(pplication data.)-2.75 E/F3 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 387.8 Q
85.8(|00101100|00000110| CRC-32c |)100.8 400.8 R
(+--------+--------+--------+--------+--------+--------+)100.8 413.8 Q
6.6(Type=44 Length=6)107.4 426.8 R F0
(Data Checksum is intended for pack)100.8 445.8 Q
(ets containing application data, such as DCCP-)-.11 E
(Request, DCCP-Response, DCCP-Data, and DCCP-DataAck, b)100.8 458.8 Q
(ut it may be included on)-.22 E(an)100.8 471.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 and stores it in the option data.)100.8 484.8 Q
(The CRC-32c algorithm used for Data Checksum is)5.5 E(the same as that\
 used for SCTP [RFC 3309]; note that the CRC-32c of zero bytes of data)
100.8 497.8 Q(equals zero.)100.8 510.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
(data checksum must be computed before the header checksum.)100.8 523.8
Q(The recei)100.8 540.4 Q(ving DCCP SHOULD compute the recei)-.275 E
-.165(ve)-.275 G 2.75(da).165 G(pplication data')-2.75 E 2.75(sC)-.605 G
(RC-32c using the)-2.75 E(same algorithm as the sender)100.8 553.4 Q
2.75(,a)-.44 G(nd compare the result and the Data Checksum v)-2.75 E
2.75(alue. If)-.275 F(the)2.75 E -.275(va)100.8 566.4 S(lues dif).275 E
(fer)-.275 E 2.75(,t)-.44 G(he pack)-2.75 E(et')-.11 E 2.75(sa)-.605 G
(pplication data MUST be dropped, and reported using a Data)-2.75 E
(Dropped option as dropped due to corruption \(Drop Code 3\). Ho)100.8
579.4 Q(we)-.275 E -.165(ve)-.275 G .88 -.44(r, D).165 H(CCP MA).44 E(Y)
-1.155 E(pro)100.8 592.4 Q(vide an API through which the recei)-.165 E
(ving application could request deli)-.275 E -.165(ve)-.275 G(ry of kno)
.165 E(wn-)-.275 E(corrupt data.)100.8 605.4 Q(When that API is acti)5.5
E -.165(ve)-.275 G 2.75(,t).165 G(he pack)-2.75 E(et')-.11 E 2.75(sd)
-.605 G(ata SHOULD be deli)-2.75 E -.165(ve)-.275 G(red, b).165 E(ut)
-.22 E(reported as deli)100.8 618.4 Q -.165(ve)-.275 G
(red corrupt \(Drop Code 7\) using a Data Dropped option.).165 E
(In either case,)5.5 E(the pack)100.8 631.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 V)-.11 E(ector or similar)-1.221 E(options.)100.8
644.4 Q F1 2.75(9.3.1. Check)72 670.4 R(Data Checksum F)2.75 E(eatur)
-.275 E(e)-.198 E F0(The Check Data Checksum feature lets a sending DCC\
P determine whether or not its)100.8 687 Q
(partner can check Data Checksum options.)100.8 700 Q
(DCCP A sends a Mandatory "Change R\(Check)5.5 E(Data Checksum, 1\)" op\
tion to DCCP B to require B to check Data Checksum options \(the)100.8
713 Q -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 222.01
(yd Section)-.11 F 2.75(9.3.1. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(connection will be reset if DCCP B cannot\).)100.8 85 Q
(Check Data Checksum has feature number 10, and is serv)100.8 101.6 Q
(er)-.165 E(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte)-.11 E(Boolean v)100.8 114.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 127.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 140.6 Q -1.221(Va)5.5 G(lues of tw)
1.221 E 2.75(oo)-.11 G 2.75(rm)-2.75 G(ore are reserv)-2.75 E 2.75
(ed. Ne)-.165 F 2.75(wc)-.275 G(onnections start with)-2.75 E
(Check Data Checksum 0 for both endpoints.)100.8 153.6 Q/F1 11
/Times-Bold@0 SF 2.75(9.3.2. Usage)72 179.6 R(Notes)2.75 E F0
(Internet links must normally apply strong inte)100.8 196.2 Q
(grity checks to the pack)-.165 E(ets the)-.11 E 2.75(yt)-.165 G
(ransmit)-2.75 E
([UDP-LITE] [LINK BCP]. Data Checksum is redundant for DCCP pack)100.8
209.2 Q(ets whose inte)-.11 E(grity)-.165 E(is check)100.8 222.2 Q
(ed by e)-.11 E -.165(ve)-.275 G(ry link the).165 E 2.75(yt)-.165 G(ra)
-2.75 E -.165(ve)-.22 G 2.75(rse. This).165 F(is the def)2.75 E
(ault case when the DCCP header')-.11 E(s)-.605 E(Checksum Co)100.8
235.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).44 E(Co)100.8 248.2 Q -.165(ve)
-.165 G(rage v).165 E(alue might not be zero.)-.275 E
(By setting partial Checksum Co)5.5 E -.165(ve)-.165 G
(rage, the application).165 E(indicates that it can tolerate corruption\
 in the unprotected part of the application data.)100.8 261.2 Q(Recogni\
zing this, link layers may reduce the strength of their error detection\
 and/or)100.8 274.2 Q(correction when transmitting this unprotected par\
t, which can signi\214cantly increase the)100.8 287.2 Q
(probability of the endpoint recei)100.8 300.2 Q(ving corrupt data.)
-.275 E(Data Checksum lets the recei)5.5 E -.165(ve)-.275 G 2.75(rd).165
G(etect)-2.75 E(an)100.8 313.2 Q 2.75(ye)-.165 G(nsuing corruption.)
-2.75 E F1(10.)72 339.2 Q/F2 14/Times-Bold@0 SF(Congestion Contr)5.5 E
(ol IDs)-.252 E F0(Each congestion control mechanism supported by DCCP \
is assigned a congestion control)100.8 355.8 Q(identi\214er)100.8 368.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 381.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 394.8 S
(lues for their Congestion Control ID features.).275 E
(Congestion Control ID has feature)5.5 E(number 1.)100.8 407.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 420.8 Q(pack)100.8 433.8 Q(ets.)-.11 E(CCID is a serv)
100.8 450.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 463.4 Q 5.5(.F)
-.715 G(or e)-5.665 E(xample, the option "Change R\(CCID,)-.165 E 2.75
(123)100.8 476.4 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 489.4 R(corresponds to the bytes "35, 6, 1, 1, 2, 3": Change R op\
tion \(35\), option)2.75 E
(length \(6\), feature ID \(1\), CCIDs \(1, 2, 3\).\))100.8 502.4 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 515.4 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 528.4 Q
(The CCIDs de\214ned by this document are:)100.8 545 Q/F3 11/Courier@0
SF 13.2(CCID Meaning)136.8 564 R 13.2(---- -------)136.8 577 R 26.4(0R)
150 590 S(eserved)-26.4 E 26.4(1U)150 603 S
(nspecified Sender-Based Congestion Control)-26.4 E 26.4(2T)150 616 S
(CP-like Congestion Control)-26.4 E 26.4(3T)150 629 S
(FRC Congestion Control)-26.4 E F0(Ne)100.8 648 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 661 Q
(ets.)-.11 E(All CCIDs standardized for use with DCCP will correspond t\
o congestion control)100.8 677.6 Q(mechanisms pre)100.8 690.6 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 703.6 Q 2.75(,b)-.715 G
(ut TCP-friendliness is not an e)-2.97 E(xplicit DCCP)-.165 E
(requirement.)100.8 716.6 Q -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E 2.75(AD)100.8 85 S(CCP impl\
ementation intended for general use, such as an implementation in a gen\
eral-)-2.75 E(purpose operating system k)100.8 98 Q
(ernel, SHOULD implement at least CCIDs 1 and 2.)-.11 E(The intent)5.5 E
(is to mak)100.8 111 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 124 Q 2.75
(wt)-.275 G(heir use.)-2.75 E/F1 11/Times-Bold@0 SF(10.1.)72 150 Q/F2 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 166.6
Q(-based congestion control mechanism.)-.22 E(This pro)5.5 E(vides)-.165
E 2.75(al)100.8 179.6 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 192.6 Q 2.75
(ws)-.275 G(ender)-2.75 E
(-based congestion control mechanism whose details the)-.22 E(HC-Recei)
100.8 205.6 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
222.2 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 235.2 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 248.2 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 261.2 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 274.2 Q
(CCID 1 uses this insight to support forw)100.8 290.8 Q
(ard compatibility for sender)-.11 E(-based congestion)-.22 E
(control mechanisms.)100.8 303.8 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 316.8 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 329.8 Q(vide generic ackno)
-.165 E(wledgement feedback as requested by)-.275 E
(other features \(such as Send Ack V)100.8 342.8 Q 2.75(ector\). Indi)
-1.221 F(vidual CCID pro\214le documents say whether)-.275 E(or not the)
100.8 355.8 Q 2.75(yc)-.165 G(an masquerade as CCID 1.)-2.75 E -.165(Fo)
100.8 372.4 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 385.4 Q(ector for ackno)-1.221 E
(wledgements, has entered the IETF standards process, and the IETF)-.275
E(has appro)100.8 398.4 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 411.4 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 424.4 Q 2.75(gotiation. 98)-.165 F
(comes \214rst, since that is the preferred CCID; 1)2.75 E(comes ne)
100.8 437.4 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 450.4 Q
(But if it does not understand CCID 98, it)5.5 E
(may respond with "Con\214rm R\(CCID, 1, ...\)", still allo)100.8 463.4
Q(wing DCCP A to use CCID 98.)-.275 E(DCCP A will separately ne)100.8
476.4 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 489.4 Q(ector)-1.221 E
2.75(,w)-.44 G(ithout needing to understand the)-2.75 E
(operation of CCID 98.)100.8 502.4 Q(Implementors MUST NO)100.8 519 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 532 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 545 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 558 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 571 Q
(Since CCID 1 should be used only as a proxy for other)100.8 587.6 Q
2.75(,d)-.44 G(e\214ned CCIDs, an HC-Sender)-2.75 E(MUST NO)100.8 600.6
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 613.6 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 626.6 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 639.6 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
656.2 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 669.2 Q(masquerade as CCID 1.)100.8 682.2 Q
(The HC-Sender MUST pick a CCID that appeared e)5.5 E(xplicitly in its)
-.165 E(preference list.)100.8 695.2 Q(Man)100.8 711.8 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 724.8 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 -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(recei)100.8 85 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 98 Q 2.75(sC)-.605 G(CID)-2.75 E
(preference list when appropriate, unless the application disagrees.)
100.8 111 Q(The def)5.5 E(ault for both)-.11 E(sender and recei)100.8
124 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 140.6 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 153.6 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 166.6 Q -.165(ve)-.275 G(nt ack storms.).165 E
/F1 11/Times-Bold@0 SF(10.2.)72 192.6 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 209.2 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 222.2 Q
(vior modelled directly on TCP)-.22 E 2.75(,i)-1.221 G
(ncluding congestion)-2.75 E(windo)100.8 235.2 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 248.2 Q(ut halv)-.22 E(es its)-.165 E(congestion windo)100.8 261.2
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 274.2 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 287.2 Q(This is often the case for applications that are)5.5 E
(not playing their data directly to the user)100.8 300.2 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 313.2 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 326.2 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 342.8 Q(OFILE].)-.44 E
F1(10.3.)72 368.8 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 385.4 Q(congestion control mechanism.)100.8 398.4 Q
(TFRC is designed to be reasonably f)5.5 E(air when competing)-.11 E
(for bandwidth with TCP-lik)100.8 411.4 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 424.4 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 437.4 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 450.4 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(telephon)100.8 463.4 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 480 Q
(OFILE]. The TFRC congestion control)-.44 E
(algorithms were initially described in [RFC 3448].)100.8 493 Q F1
(10.4.)72 519 Q F2(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 535.6 Q(ed for CCID-speci\214c)-.165 E 2.75(use. CCIDs)100.8 548.6
R(may often need ne)2.75 E 2.75(wo)-.275 G
(ptions, for communicating ackno)-2.75 E(wledgement or rate)-.275 E
(information, for e)100.8 561.6 Q(xample; reserv)-.165 E
(ed option spaces let CCIDs create options at will without)-.165 E
(polluting the global option space.)100.8 574.6 Q(Option 128 might ha)
5.5 E .33 -.165(ve d)-.22 H(if).165 E(ferent meanings on a half-)-.275 E
(connection using CCID 4 and a half-connection using CCID 8.)100.8 587.6
Q(CCID-speci\214c options and)5.5 E(features will ne)100.8 600.6 Q -.165
(ve)-.275 G 2.75(rc).165 G
(on\215ict with global options and features introduced by later v)-2.75
E(ersions of)-.165 E(this speci\214cation.)100.8 613.6 Q(An)100.8 630.2
Q 2.75(yp)-.165 G(ack)-2.75 E(et may contain information meant for eith\
er half-connection, so CCID-speci\214c)-.11 E
(option types, feature numbers, and Reset Codes e)100.8 643.2 Q
(xplicitly signal the half-connection to)-.165 E(which the)100.8 656.2 Q
2.75(ya)-.165 G(pply)-2.75 E(.)-.715 E 7.15<834f>100.8 672.8 S(ption nu\
mbers 128 through 191 are for options sent from the HC-Sender to the HC\
-)-7.15 E(Recei)111.8 685.8 Q -.165(ve)-.275 G(r; option numbers 192 th\
rough 255 are for options sent from the HC-Recei).165 E -.165(ve)-.275 G
2.75(rt).165 G(o)-2.75 E(the HC-Sender)111.8 698.8 Q(.)-.605 E -.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 58])-.165 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E 7.15<8352>100.8 85 S(eset C\
odes 128 through 191 indicate that the HC-Sender reset the connection \
\(most)-7.15 E(lik)111.8 98 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)111.8 111
Q -.165(ve)-.275 G 2.75(rr).165 G(eset the connection \(most)-2.75 E
(lik)111.8 124 Q(ely because of some problem with data pack)-.11 E
(ets sent by the HC-Sender\).)-.11 E 7.15<8346>100.8 140.6 S(inally)
-7.15 E 2.75(,f)-.715 G(eature numbers 128 through 191 are used for fea\
tures located at the HC-Sender;)-2.75 E(feature numbers 192 through 255\
 are for features located at the HC-Recei)111.8 153.6 Q -.165(ve)-.275 G
3.96 -.605(r. S).165 H(ince).605 E(Change L and Con\214rm L options for\
 a feature are sent by the feature location, we kno)111.8 166.6 Q(w)
-.275 E(that an)111.8 179.6 Q 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
2.75(yC)-.165 G(hange L\(192\))-2.75 E(option w)111.8 192.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 are sent by the)
-2.75 E(HC-Recei)111.8 205.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 222.2 S 2.75(re).165 G(xample, consider a DCCP connectio\
n where the A-to-B half-connection uses CCID 4)-2.915 E
(and the B-to-A half-connection uses CCID 5. Here is ho)100.8 235.2 Q
2.75(was)-.275 G(ampling of CCID-speci\214c)-2.75 E
(options and features are assigned to half-connections:)100.8 248.2 Q/F1
11/Courier@0 SF 19.8(Relevant Relevant)315 267.2 R 6.6(Packet Option)
136.8 280.2 R 6.6(Half-conn. CCID)85.8 F 6.6(------ ------)136.8 293.2 R
6.6(---------- ----)85.8 F 6.6(A>B 1)136.8 306.2 S 112.2(28 A-to-B)-6.6
F(4)33 E 6.6(A>B 1)136.8 319.2 S 112.2(92 B-to-A)-6.6 F(5)33 E 6.6
(A>B C)136.8 332.2 S(hange L\(128, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6
(A>B C)136.8 345.2 S(hange R\(192, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6
(A>B C)136.8 358.2 S(onfirm L\(128, ...\))-6.6 E 26.4(A-to-B 4)13.2 F
6.6(A>B C)136.8 371.2 S(onfirm R\(192, ...\))-6.6 E 26.4(A-to-B 4)13.2 F
6.6(A>B C)136.8 384.2 S(hange R\(128, ...\))-6.6 E 26.4(B-to-A 5)19.8 F
6.6(A>B C)136.8 397.2 S(hange L\(192, ...\))-6.6 E 26.4(B-to-A 5)19.8 F
6.6(A>B C)136.8 410.2 S(onfirm R\(128, ...\))-6.6 E 26.4(B-to-A 5)13.2 F
6.6(A>B C)136.8 423.2 S(onfirm L\(192, ...\))-6.6 E 26.4(B-to-A 5)13.2 F
6.6(B>A 1)136.8 449.2 S 112.2(28 B-to-A)-6.6 F(5)33 E 6.6(B>A 1)136.8
462.2 S 112.2(92 A-to-B)-6.6 F(4)33 E 6.6(B>A C)136.8 475.2 S
(hange L\(128, ...\))-6.6 E 26.4(B-to-A 5)19.8 F 6.6(B>A C)136.8 488.2 S
(hange R\(192, ...\))-6.6 E 26.4(B-to-A 5)19.8 F 6.6(B>A C)136.8 501.2 S
(onfirm L\(128, ...\))-6.6 E 26.4(B-to-A 5)13.2 F 6.6(B>A C)136.8 514.2
S(onfirm R\(192, ...\))-6.6 E 26.4(B-to-A 5)13.2 F 6.6(B>A C)136.8 527.2
S(hange R\(128, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6(B>A C)136.8 540.2
S(hange L\(192, ...\))-6.6 E 26.4(A-to-B 4)19.8 F 6.6(B>A C)136.8 553.2
S(onfirm R\(128, ...\))-6.6 E 26.4(A-to-B 4)13.2 F 6.6(B>A C)136.8 566.2
S(onfirm L\(192, ...\))-6.6 E 26.4(A-to-B 4)13.2 F F0
(CCID-speci\214c options and features ha)100.8 585.2 Q .33 -.165(ve n)
-.22 H 2.75(oc).165 G(lear meaning when a nontri)-2.75 E(vial ne)-.275 E
(gotiation)-.165 E(for the rele)100.8 598.2 Q -.275(va)-.275 G
(nt CCID is in progress.).275 E
(This can happen when a CCID-speci\214c option)5.5 E(follo)100.8 611.2 Q
(ws a Change\(CCID\) option.)-.275 E
(Say the Change option lists CCID X \214rst.)5.5 E(Then the)5.5 E(ne)
100.8 624.2 Q(gotiation is nontri)-.165 E
(vial if and only if its result is not X.)-.275 E
(CCID-speci\214c options and)5.5 E
(features MUST be ignored during a nontri)100.8 637.2 Q(vial CCID ne)
-.275 E(gotiation, e)-.165 E(xcept that Mandatory)-.165 E(CCID-speci\
\214c options and features MUST induce a DCCP-Reset with Reset Code 6,)
100.8 650.2 Q("Mandatory Error".)100.8 663.2 Q/F2 11/Times-Bold@0 SF
(11.)72 689.2 Q/F3 14/Times-Bold@0 SF(Ackno)5.5 E(wledgements)-.14 E F0
(Congestion control requires recei)100.8 705.8 Q -.165(ve)-.275 G
(rs to transmit information about pack).165 E(et losses and ECN)-.11 E
(marks to senders.)100.8 718.8 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 -.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 59])-.165
E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(rele)100.8 85 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 98 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
114.6 Q(wledgements use DCCP options.)-.275 E -.165(Fo)5.5 G 2.75(re)
.165 G(xample, on a half-connection with)-2.915 E(CCID 2 \(TCP-lik)100.8
127.6 Q(e\), the recei)-.11 E -.165(ve)-.275 G 2.75(rr).165 G
(eports ackno)-2.75 E(wledgement information using the Ack)-.275 E
-1.221(Ve)100.8 140.6 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 153.6 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 166.6 Q(Ackno)
100.8 183.2 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 196.2 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 209.2 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 222.2 Q -.165(ve)-.275
G(ry pack).165 E(et that carries an Ackno)-.11 E(wledgement)-.275 E
(Number)100.8 235.2 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 261.2 Q/F2 13
/Times-Bold@0 SF(Acks of Acks and Unidir)5.5 E(ectional Connections)
-.234 E F0(DCCP w)100.8 277.8 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 290.8 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 303.8 Q(ery dif)-.165 E(ferent from those required for a)-.275 E
(bidirectional connection.)100.8 316.8 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 329.8 Q
(The ack-of-acks problem arises because some ackno)100.8 346.4 Q
(wledgement mechanisms are reliable.)-.275 E -.165(Fo)100.8 359.4 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 372.4 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 385.4 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 398.4 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 411.4 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 424.4 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 437.4 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 450.4 Q
(When communication is bidirectional, an)100.8 467 Q 2.75(yr)-.165 G
(equired acks-of-acks are automatically)-2.75 E
(contained in normal ackno)100.8 480 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 493 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 506 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 519 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 535.6 S 2.75(re).165 G(xample, consider a bidirectional connectio\
n where both half-connections use the same)-2.915 E
(CCID \(either 2 or 3\), and where DCCP B goes "quiescent".)100.8 548.6
Q(This means that the)5.5 E(connection becomes unidirectional: DCCP B s\
tops sending data, and sends only sends)100.8 561.6 Q(DCCP-Ack pack)
100.8 574.6 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 587.6 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 600.6 Q(wledge a pure ackno)-.275
E(wledgement from DCCP B, so that)-.275 E 2.75(Bc)100.8 613.6 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 626.6 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
639.6 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 652.6 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 665.6 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
682.2 Q(xample, the A-to-B)-.165 E(CCID---controls both DCCPs' ackno)
100.8 695.2 Q(wledgements, in terms of their content, their)-.275 E
(frequenc)100.8 708.2 Q 1.43 -.715(y, a)-.165 H(nd so forth.).715 E
-.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).165 E(DCCP B')100.8 721.2 Q 2.75(sa)-.605 G(ckno)-2.75 E
(wledgements \(including its acks of DCCP A)-.275 E 1.21 -.605('s a)
-1.221 H(cks\), while the B-to-A).605 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 60])-.165 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(CCID go)100.8 85 Q -.165(ve)
-.165 G(rns DCCP A).165 E 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 101.6 Q
(DCCP B has gone quiescent.)100.8 114.6 Q
(It switches from unidirectional to bidirectional when it must)5.5 E
(ackno)100.8 127.6 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
(Each CCID de\214nes ho)100.8 144.2 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 157.2 Q(The B-to-A CCID de\214nes when DCCP B has)5.5 E
(gone quiescent.)100.8 170.2 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 183.2 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 196.2 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 209.2 Q/F1 11/Times-Bold@0 SF(11.2.)72 235.2 Q/F2 13/Times-Bold@0
SF(Ack Piggybacking)5.5 E F0(Ackno)100.8 251.8 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 264.8 Q
(wledgement longer than the A-to-B CCID w)-.275 E(ould \214nd)-.11 E
2.75(acceptable. Ho)100.8 277.8 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 290.8 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 303.8 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 316.8 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 333.4 Q
(quiescent---that is, when DCCP A is just ackno)100.8 346.4 Q
(wledging DCCP B')-.275 E 2.75(sa)-.605 G(ckno)-2.75 E(wledgements, as)
-.275 E(described abo)100.8 359.4 Q -.165(ve)-.165 G 5.5(.T).165 G
(here are three reasons to ackno)-5.5 E(wledge DCCP B')-.275 E 2.75(sa)
-.605 G(ckno)-2.75 E(wledgements:)-.275 E(to allo)100.8 372.4 Q 2.75(wD)
-.275 G(CCP B to free up information about pre)-2.75 E(viously ackno)
-.275 E(wledged data pack)-.275 E(ets from)-.11 E
(A; to shrink the size of future ackno)100.8 385.4 Q
(wledgements; and to manipulate the rate at which)-.275 E(future ackno)
100.8 398.4 Q(wledgements are sent.)-.275 E
(Since these are secondary concerns, DCCP A can)5.5 E(generally af)100.8
411.4 Q(ford to w)-.275 E(ait inde\214nitely for a data pack)-.11 E
(et to piggyback its ackno)-.11 E(wledgement)-.275 E(onto.)100.8 424.4 Q
(An)100.8 441 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 467 Q F2(Ack Ratio F)5.5 E(eatur)-.325 E(e)-.234 E F0(Ack Ratio pro)
100.8 483.6 Q(vides a common mechanism by which CCIDs that clock ackno)
-.165 E(wledgements)-.275 E(of)100.8 496.6 Q 2.75(fd)-.275 G(ata pack)
-2.75 E(ets can perform rudimentary congestion control on the ackno)-.11
E(wledgement)-.275 E 2.75(stream. CCID)100.8 509.6 R(2, TCP-lik)2.75 E
2.75(eC)-.11 G
(ongestion Control, uses Ack Ratio to limit the rate of its)-2.75 E
(ackno)100.8 522.6 Q(wledgement stream, for e)-.275 E 2.75(xample. Some)
-.165 F(CCIDs ignore Ack Ratio, performing)2.75 E
(congestion control on ackno)100.8 535.6 Q(wledgements in some other w)
-.275 E(ay)-.11 E(.)-.715 E
(Ack Ratio has feature number 7, and is non-ne)100.8 552.2 Q 2.75
(gotiable. It)-.165 F(tak)2.75 E(es tw)-.11 E(o-byte inte)-.11 E(ger v)
-.165 E(alues.)-.275 E
(The Ack Ratio/A feature is the rough ratio of data pack)100.8 565.2 Q
(ets sent by DCCP A to)-.11 E(ackno)100.8 578.2 Q(wledgement pack)-.275
E(ets sent back by DCCP B.)-.11 E -.165(Fo)5.5 G 2.75(re).165 G
(xample, if Ack Ratio/A is four)-2.915 E(,)-.44 E
(then DCCP B will send at least one ackno)100.8 591.2 Q(wledgement pack)
-.275 E(et for e)-.11 E -.165(ve)-.275 G(ry four data pack).165 E(ets)
-.11 E(sent by DCCP A.)100.8 604.2 Q
(DCCP A sends a "Change L\(Ack Ratio\)" option to notify DCCP B of its)
5.5 E(ack ratio.)100.8 617.2 Q(Ne)5.5 E 2.75(wc)-.275 G
(onnections start with Ack Ratio 2 for both endpoints.)-2.75 E
(Implementations should treat Ack Ratio as a loose guideline.)100.8
633.8 Q -.165(Fo)5.5 G 2.75(ri).165 G(nstance, a DCCP)-2.75 E
(endpoint might implement a delayed ackno)100.8 646.8 Q
(wledgement timer lik)-.275 E 2.75(eT)-.11 G(CP')-2.75 E
(s, whereby each)-.605 E(pack)100.8 659.8 Q(et is ackno)-.11 E
(wledged within at most T seconds of its receipt.)-.275 E(\(In TCP)5.5 E
2.75(,Ti)-1.221 G 2.75(sc)-2.75 G(ommonly)-2.75 E
(set to 200 milliseconds.\))100.8 672.8 Q(This is e)5.5 E
(xplicitly allo)-.165 E(wed e)-.275 E -.165(ve)-.275 G 2.75(nt).165 G
(hough it might lead to sending)-2.75 E(more ackno)100.8 685.8 Q
(wledgement pack)-.275 E(ets than Ack Ratio w)-.11 E(ould suggest.)-.11
E -.165(Pa)5.5 G(rticular algorithms for).165 E
(setting and using Ack Ratio are discussed in the rele)100.8 698.8 Q
-.275(va)-.275 G(nt CCID drafts.).275 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 61])-.165 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF(11.4.)
72 85 Q/F2 13/Times-Bold@0 SF(Ack V)5.5 E(ector Options)-1.3 E F0
(The Ack V)100.8 101.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 114.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
127.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 146.6 Q
(|0010011?| Length |SSLLLLLL|SSLLLLLL|SSLLLLLL|)100.8 159.6 Q(...)13.2 E
(+--------+--------+--------+--------+--------+--------)100.8 172.6 Q
52.8(Type=38/39 \\___________)100.8 185.6 R(Vector ___________...)6.6 E
F0(The tw)100.8 204.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 217.6 Q(Section 12.2 describes this further)
5.5 E(.)-.605 E(The v)100.8 234.2 Q
(ector itself consists of a series of bytes, each of whose encoding is:)
-.165 E F3 6.6(01234567)107.4 253.2 S(+-+-+-+-+-+-+-+-+)100.8 266.2 Q
(|Sta| Run Length|)100.8 279.2 Q(+-+-+-+-+-+-+-+-+)100.8 292.2 Q F0
(Sta[te] occupies the most signi\214cant tw)100.8 311.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 327.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 mark)-2.75 E(ed\).)-.11 E F1(1)129.6 344.4 Q F0 -.165(Pa)
23.3 G(ck).165 E(et recei)-.11 E -.165(ve)-.275 G 2.75(dE).165 G
(CN mark)-2.75 E(ed.)-.11 E F1(2)129.6 361 Q F0(Reserv)23.3 E(ed.)-.165
E F1(3)129.6 377.6 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 394.2 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 407.2 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 420.2 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
433.2 Q(The \214rst byte in the \214rst Ack V)100.8 449.8 Q
(ector option refers to the pack)-1.221 E(et indicated in the)-.11 E
(Ackno)100.8 462.8 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 475.8 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
488.8 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 501.8 Q(wledgement Number is decimal 100, then:)-.275 E
-.165(Pa)129.6 518.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, State 0, Run Length 0\).)-.275 E -.165(Pa)129.6
535 S(ck).165 E(et 99 w)-.11 E(as lost \(State 3, Run Length 0\).)-.11 E
-.165(Pa)129.6 551.6 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 568.2 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 584.8 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 601.4 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 614.4 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 627.4 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
640.4 Q(Ack V)100.8 657 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 670 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 683 Q(xplanation.\))-.165 E 17.8(1. P)100.8
699.6 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.)129.6 712.6 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)129.6 725.6 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)-.11 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E
224.76(yd Section)-.11 F 2.75(11.4. [P)2.75 F(age 62])-.165 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(may ha)129.6 85 Q .33 -.165
(ve b)-.22 H(een dropped.).165 E 17.8(2. P)100.8 101.6 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)129.6 114.6 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)
129.6 127.6 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 144.2 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 157.2 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 170.2
Q(The Data Dropped option informs the)5.5 E(sender that some pack)100.8
183.2 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 199.8 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 212.8 Q -.275(va)-.44
G 2.75(lid. The).275 F(recei)2.75 E(ving DCCP SHOULD either)-.275 E(ign\
ore the options or reset the connection with Reset Code 5, "Option Erro\
r".)100.8 225.8 Q -.165(Pa)5.5 G(ck).165 E(ets that)-.11 E(ha)100.8
238.8 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 251.8 Q(.)-.605 E
(Appendix A pro)100.8 268.4 Q(vides a non-normati)-.165 E .33 -.165
(ve d)-.275 H(escription of the details of DCCP).165 E(ackno)100.8 281.4
Q(wledgement handling, in the conte)-.275 E(xt of an abstract Ack V)
-.165 E(ector implementation.)-1.221 E/F1 11/Times-Bold@0 SF 2.75
(11.4.1. Ack)72 307.4 R -1.1(Ve)2.75 G(ctor Consistency)1.1 E F0 2.75
(AD)100.8 324 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 337 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 350
Q(\(Information about a)5.5 E
(sequence number is generally repeated in e)100.8 363 Q -.165(ve)-.275 G
(ry ack until the HC-Sender ackno).165 E(wledges an)-.275 E 2.75
(ack. In)100.8 376 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 389 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 402 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 7.15
<8354>100.8 418.6 S(he HC-Recei)-7.15 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)111.8 431.6 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 or)-.11 E(1\).)111.8 444.6 Q 7.15<8354>100.8 461.2 S
(he HC-Recei)-7.15 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.)111.8 474.2 Q(In this case, the pack)5.5 E
(et will appear to transition from State 0 or 1 to)-.11 E(State 3.)111.8
487.2 Q 7.15<8354>100.8 503.8 S(he netw)-7.15 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)111.8 516.8 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 533.4 T(ope with these situations, HC-Sender DCCP implement\
ations SHOULD combine).88 E(multiple recei)100.8 546.4 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 565.4 Q 19.8(013)301.8
578.4 S(+---+---+---+)288.6 591.4 Q 6.6(0|0|)275.4 604.4 S(0/1| 0 |)-6.6
E 26.4(Old +---+---+---+)235.8 617.4 R 6.6(1|1|1|1|)275.4 630.4 S 19.8
(State +---+---+---+)229.2 643.4 R 6.6(3|0|1|3|)275.4 656.4 S
(+---+---+---+)288.6 669.4 Q F0 1.76 -.88(To r)100.8 688.4 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 701.4 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 714.4 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 -.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 63])-.165 E 0 Cg EP
%%Page: 64 64
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(\(recei)100.8 85 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 98 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 114.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 127.6 T
(ntually report to the HC-Sender on one or more ackno).275 E
(wledgements, according to the)-.275 E(follo)100.8 140.6 Q(wing table:)
-.275 E/F1 11/Courier@0 SF(Received Packet)282 159.6 Q 19.8(013)301.8
172.6 S(+---+---+---+)288.6 185.6 Q 6.6(0|0|)275.4 198.6 S(0/1| 0 |)-6.6
E 19.8(Stored +---+---+---+)222.6 211.6 R 6.6(1|)275.4 224.6 S
(0/1| 1 | 1 |)-6.6 E 19.8(State +---+---+---+)229.2 237.6 R 6.6
(3|0|1|3|)275.4 250.6 S(+---+---+---+)288.6 263.6 Q F0
(This table equals the sender')100.8 282.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 295.6 Q -.165(ve)
-.275 G 2.75(ri).165 G 2.75(sa)-2.75 G(llo)-2.75 E
(wed to switch its stored state to 0.)-.275 E 2.75(AH)100.8 312.2 S
(C-Sender MA)-2.75 E 2.75(Yc)-1.155 G(hoose to thro)-2.75 E 2.75(wa)
-.275 G -.11(wa)-2.915 G 2.75(yo).11 G
(ld information gleaned from the HC-Recei)-2.75 E -.165(ve)-.275 G(r')
.165 E(s)-.605 E(Ack V)100.8 325.2 Q
(ectors, in which case it MUST ignore ne)-1.221 E(wly recei)-.275 E
-.165(ve)-.275 G 2.75(da).165 G(ckno)-2.75 E(wledgements from the)-.275
E(HC-Recei)100.8 338.2 Q -.165(ve)-.275 G 2.75(rf).165 G
(or those old pack)-2.75 E 2.75(ets. It)-.11 F(is often kinder to sa)
2.75 E .33 -.165(ve r)-.22 H(ecent Ack V).165 E(ector information)-1.221
E(for a while, so that the HC-Sender can undo its reaction to presumed \
congestion when a)100.8 351.2 Q("lost" pack)100.8 364.2 Q(et une)-.11 E
(xpectedly sho)-.165 E
(ws up \(the transition from State 3 to State 0\).)-.275 E/F2 11
/Times-Bold@0 SF 2.75(11.4.2. Ack)72 390.2 R -1.1(Ve)2.75 G(ctor Co)1.1
E -.11(ve)-.11 G(rage).11 E F0 1.76 -.88(We c)100.8 406.8 T(an di).88 E
(vide the pack)-.275 E(ets that ha)-.11 E .33 -.165(ve b)-.22 H
(een sent from an HC-Sender to an HC-Recei).165 E -.165(ve)-.275 G 2.75
(ri).165 G(nto)-2.75 E(four roughly contiguous groups.)100.8 419.8 Q
(From oldest to youngest, these are:)5.5 E 17.8(1. P)100.8 436.4 R(ack)
-.165 E(ets already ackno)-.11 E(wledged by the HC-Recei)-.275 E -.165
(ve)-.275 G .88 -.44(r, w).165 H(here the HC-Recei).44 E -.165(ve)-.275
G 2.75(rk).165 G(no)-2.75 E(ws)-.275 E
(that the HC-Sender has de\214nitely recei)129.6 449.4 Q -.165(ve)-.275
G 2.75(dt).165 G(he ackno)-2.75 E(wledgements.)-.275 E 17.8(2. P)100.8
466 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)-2.75 E
(be sure that the HC-Sender has recei)129.6 479 Q -.165(ve)-.275 G 2.75
(dt).165 G(he ackno)-2.75 E(wledgements.)-.275 E 17.8(3. P)100.8 495.6 R
(ack)-.165 E(ets not yet ackno)-.11 E(wledged by the HC-Recei)-.275 E
-.165(ve)-.275 G -.605(r.).165 G 17.8(4. P)100.8 512.2 R(ack)-.165 E
(ets not yet recei)-.11 E -.165(ve)-.275 G 2.75(db).165 G 2.75(yt)-2.75
G(he HC-Recei)-2.75 E -.165(ve)-.275 G -.605(r.).165 G
(The union of groups 2 and 3 is called the Ackno)100.8 528.8 Q
(wledgement W)-.275 E(indo)-.44 E 4.18 -.715(w. G)-.275 H(enerally).715
E 2.75(,e)-.715 G -.165(ve)-3.025 G(ry).165 E(Ack V)100.8 541.8 Q
(ector generated by the HC-Recei)-1.221 E -.165(ve)-.275 G 2.75(rw).165
G(ill co)-2.75 E -.165(ve)-.165 G 2.75(rt).165 G(he whole Ackno)-2.75 E
(wledgement)-.275 E -.44(Wi)100.8 554.8 S(ndo).44 E(w: Ack V)-.275 E
(ector ackno)-1.221 E(wledgements are cumulati)-.275 E -.165(ve)-.275 G
5.5(.\().165 G(This simpli\214es Ack V)-5.5 E(ector)-1.221 E
(maintenance at the HC-Recei)100.8 567.8 Q -.165(ve)-.275 G
(r; see Section 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 580.8 Q 2.75(wb)-.275 G(oth gro)-2.75 E
(ws on the right and shrinks on the left.)-.275 E(It gro)5.5 E
(ws because there are more)-.275 E(pack)100.8 593.8 Q
(ets, and shrinks because the data pack)-.11 E(ets' Ackno)-.11 E
(wledgement Numbers will)-.275 E(ackno)100.8 606.8 Q(wledge pre)-.275 E
(vious ackno)-.275 E(wledgements, mo)-.275 E(ving pack)-.165 E
(ets from group 2 into group 1.)-.11 E F2(11.5.)72 632.8 Q/F3 13
/Times-Bold@0 SF(Send Ack V)5.5 E(ector F)-1.3 E(eatur)-.325 E(e)-.234 E
F0(The Send Ack V)100.8 649.4 Q(ector feature lets DCCPs ne)-1.221 E
(gotiate whether the)-.165 E 2.75(ys)-.165 G(hould use Ack V)-2.75 E
(ector)-1.221 E(options to report congestion.)100.8 662.4 Q(Ack V)5.5 E
(ector pro)-1.221 E(vides detailed loss information, and lets)-.165 E
(senders report back to their applications whether particular pack)100.8
675.4 Q(ets were dropped.)-.11 E(Send)5.5 E(Ack V)100.8 688.4 Q
(ector is mandatory for some CCIDs, and optional for others.)-1.221 E
(Send Ack V)100.8 705 Q(ector has feature number 8, 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 718 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 -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(11.5. [P)2.75 F(age 64])
-.165 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Ack V)100.8 85 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 98 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 111 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 124 Q
(ector options as part of its ackno)-1.221 E(wledgement)-.275 E(traf)
100.8 137 Q(\214c.)-.275 E/F1 11/Times-Bold@0 SF(11.6.)72 163 Q/F2 13
/Times-Bold@0 SF(Slo)5.5 E 3.25(wR)-.13 G(ecei)-3.25 E -.13(ve)-.13 G
3.25(rO).13 G(ption)-3.25 E F0(An HC-Recei)100.8 179.6 Q -.165(ve)-.275
G 2.75(rs).165 G(ends the Slo)-2.75 E 2.75(wR)-.275 G(ecei)-2.75 E -.165
(ve)-.275 G 2.75(ro).165 G
(ption to its sender to indicate that it is ha)-2.75 E(ving)-.22 E
(trouble k)100.8 192.6 Q(eeping up with the sender')-.11 E 2.75(sd)-.605
G 2.75(ata. The)-2.75 F(HC-Sender SHOULD NO)2.75 E 2.75(Ti)-.44 G
(ncrease its)-2.75 E
(sending rate for approximately one round-trip time after seeing a pack)
100.8 205.6 Q(et with a Slo)-.11 E(w)-.275 E(Recei)100.8 218.6 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 231.6 Q
(\(If necessary)5.5 E 2.75(,t)-.715 G(he recei)-2.75 E -.165(ve)-.275 G
2.75(rc).165 G(an force the sender)-2.75 E(to slo)100.8 244.6 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 257.6 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 270.6 Q -.165(ve)-.275 G(rs are Slo).165 E -.715(w.)-.275 G
(The Slo)100.8 287.2 Q 2.75(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G
2.75(ro).165 G(ption tak)-2.75 E(es just one byte:)-.11 E/F3 11
/Courier@0 SF(+--------+)100.8 306.2 Q(|00000010|)100.8 319.2 Q
(+--------+)100.8 332.2 Q(Type=2)107.4 345.2 Q F0(Slo)100.8 364.2 Q 2.75
(wR)-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(rd).165 G
(oes not specify wh)-2.75 E 2.75(yt)-.055 G(he recei)-2.75 E -.165(ve)
-.275 G 2.75(ri).165 G 2.75(sh)-2.75 G -.22(av)-2.75 G(ing trouble k).22
E(eeping up with the)-.11 E(sender)100.8 377.2 Q 5.5(.P)-.605 G
(ossible reasons include lack of b)-5.5 E(uf)-.22 E(fer space, CPU o)
-.275 E -.165(ve)-.165 G(rload, and application).165 E 2.75(quotas. A)
100.8 390.2 R(sending application might react to Slo)2.75 E 2.75(wR)
-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(rb).165 G 2.75(yr)-2.75 G
(educing its sending rate or)-2.75 E
(by switching to a lossier compression algorithm.)100.8 403.2 Q
(The sending application should not react to Slo)100.8 419.8 Q 2.75(wR)
-.275 G(ecei)-2.75 E -.165(ve)-.275 G 2.75(rb).165 G 2.75(ys)-2.75 G
(ending more data, ho)-2.75 E(we)-.275 E -.165(ve)-.275 G -.605(r.).165
G(The optimal response to a CPU-bound recei)100.8 432.8 Q -.165(ve)-.275
G 2.75(rm).165 G(ight be to increase the sending rate, by)-2.75 E(switc\
hing to a less-compressed sending format, since a highly-compressed dat\
a format)100.8 445.8 Q(might o)100.8 458.8 Q -.165(ve)-.165 G
(rwhelm a slo).165 E 2.75(wC)-.275 G
(PU more seriously than the higher memory requirements of a)-2.75 E
(less-compressed data format.)100.8 471.8 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
484.8 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 501.4 Q 2.75(wR)-.275 G(ecei)-2.75
E -.165(ve)-.275 G 2.75(ri).165 G(mplements a portion of TCP')-2.75 E
2.75(sr)-.605 G(ecei)-2.75 E .33 -.165(ve w)-.275 H(indo).165 E 2.75(wf)
-.275 G(unctionality)-2.75 E(.)-.715 E F1(11.7.)72 527.4 Q F2(Data Dr)
5.5 E(opped Option)-.234 E F0
(The Data Dropped option indicates that some pack)100.8 544 Q
(ets reported as recei)-.11 E -.165(ve)-.275 G 2.75(da).165 G
(ctually had)-2.75 E
(their data dropped before it reached the application.)100.8 557 Q
(The sender')5.5 E 2.75(sc)-.605 G(ongestion control)-2.75 E
(mechanism may respond to data-dropped pack)100.8 570 Q(ets less se)-.11
E -.165(ve)-.275 G(rely than to lost or mark).165 E(ed)-.11 E(pack)100.8
583 Q 2.75(ets. F)-.11 F(or instance, a windo)-.165 E
(wed mechanism might subtract a constant v)-.275 E(alue from its)-.275 E
(congestion windo)100.8 596 Q 1.43 -.715(w, r)-.275 H
(ather than cut it in half.).715 E(Data Dropped lets a sender dif)100.8
612.6 Q(ferentiate between dif)-.275 E(ferent kinds of loss \(netw)-.275
E(ork and)-.11 E(endpoint\), b)100.8 625.6 Q(ut it does not allo)-.22 E
2.75(wt)-.275 G(otal freedom in ho)-2.75 E 2.75(wt)-.275 G 2.75(or)-2.75
G 2.75(eact. The)-2.75 F(congestion control)2.75 E
(response to a Data Dropped pack)100.8 638.6 Q(et must be appro)-.11 E
-.165(ve)-.165 G 2.75(db).165 G 2.75(yt)-2.75 G(he IETF)-2.75 E 5.5(.E)
-.88 G(ach congestion)-5.5 E
(control mechanism MUST react to a Data Dropped pack)100.8 651.6 Q
(et as if the pack)-.11 E(et were ECN)-.11 E(mark)100.8 664.6 Q
(ed, unless e)-.11 E(xplicitly speci\214ed otherwise.)-.165 E
(If a recei)100.8 681.2 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 694.2 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 707.2 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 720.2 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.7. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 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 itself consists of a series of bytes, called\
 Blocks, each of whose encoding)-.165 E
(corresponds to one of these choices:)100.8 191.6 Q 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, and the recei)-.11 E
(ving application does not)-.275 E(allo)158.4 441.2 Q 2.75(wt)-.275 G
(hat piggybacking; or the data w)-2.75 E
(as sent during an important feature)-.11 E(ne)158.4 454.2 Q(gotiation.)
-.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
F2(2)129.6 487.4 Q F0 -.165(Pa)23.3 G(ck).165 E
(et data dropped in the recei)-.11 E .33 -.165(ve b)-.275 H(uf)-.055 E
(fer)-.275 E(.)-.605 E F2(3)129.6 504 Q F0 -.165(Pa)23.3 G(ck).165 E
(et data dropped due to corruption.)-.11 E F2(4-6)129.6 520.6 Q F0
(Reserv)14.137 E(ed.)-.165 E F2(7)129.6 537.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(.)-.715 E -.165
(Fo)100.8 553.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 566.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
579.8 Q -.165(Pa)129.6 596.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
609.4 Q -.165(Pa)129.6 626 S(ck).165 E(et 99 w)-.11 E
(as dropped in the 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 639 Q
-.165(Pa)129.6 655.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 672.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 685.2 Q(Run lengths of more than 128 \(for No\
rmal Blocks\) or 16 \(for Drop Blocks\) must be)100.8 701.8 Q
(encoded in multiple Blocks.)100.8 714.8 Q 2.75(As)5.5 G
(ingle Data Dropped option can ackno)-2.75 E(wledge up to 32384)-.275 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(11.7. [P)2.75 F(age 66])-.165 E 0 Cg EP
%%Page: 67 67
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Normal Block data pack)100.8
85 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 98 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 111 Q(wledged than can \214t in 253 \
bytes of Data Dropped, then multiple Data Dropped)-.275 E
(options can be sent.)100.8 124 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 140.6 Q 2.75(,r)
-.44 G(eport the status of more pack)-2.75 E(ets than)-.11 E(ha)100.8
153.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
166.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 179.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 192.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 205.6 Q 2.75(AD)100.8 222.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 235.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 248.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 261.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 274.2 Q
(xample, the application should not be able to upgrade a pack)-.165 E
(et from)-.11 E(deli)100.8 287.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.7.1. Data)72 313.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 329.8
Q(wledgement or set of ackno)-.275 E(wledgements)-.275 E
(containing Data Dropped pack)100.8 342.8 Q
(ets, a congestion control mechanism MUST consider)-.11 E(dropped pack)
100.8 355.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 368.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 381.8 Q(ws.)-.275 E
(Assume an old windo)100.8 398.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 411.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 424.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 437.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 450.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 467 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 480 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 493 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 509.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.7.2. P)72 535.6 R
(articular Dr)-.11 E(op Codes)-.198 E F0
(Drop Code 0 \("protocol constraints"\) does not indicate an)100.8 552.2
Q 2.75(yk)-.165 G(ind of congestion, so the)-2.75 E(sender')100.8 565.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 578.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 DCCP SHOULD NO).44 E 2.75
(Ts)-.44 G(end more data until it belie)-2.75 E -.165(ve)-.275 G 2.75
(st).165 G(he)-2.75 E(rele)100.8 591.2 Q -.275(va)-.275 G
(nt protocol constraint has passed.).275 E(Drop Code 1 \("application n\
o longer listening"\) means the application running at the)100.8 607.8 Q
(endpoint that sent the option is no longer listening for data.)100.8
620.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 633.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 646.8
R -.11(wo)2.75 G(uld limit the amount of state the serv).11 E(er w)-.165
E(ould e)-.11 E(xpend on incoming data,)-.165 E(and thus reduce the pot\
ential damage from certain denial-of-service attacks.)100.8 659.8 Q 2.75
(AD)5.5 G(ata)-2.75 E
(Dropped option containing Drop Code 1 SHOULD be sent whene)100.8 672.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)-2.75 E(ignored due to a non-listening application.)100.8
685.8 Q(Once a DCCP reports Drop Code 1 for a)5.5 E(pack)100.8 698.8 Q
(et, it SHOULD report Drop Code 1 for e)-.11 E -.165(ve)-.275 G
(ry succeeding data pack).165 E(et on that half-)-.11 E
(connection; once a DCCP recei)100.8 711.8 Q -.165(ve)-.275 G 2.75(saD)
.165 G(rop State 1 report, it SHOULD e)-2.75 E(xpect that no more)-.165
E(data will e)100.8 724.8 Q -.165(ve)-.275 G 2.75(rb).165 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)
-2.75 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 216.51
(yd Section)-.11 F 2.75(11.7.2. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(more data.)100.8 85 Q 2.75
(AD)5.5 G(CCP recei)-2.75 E(ving Drop Code 1 MA)-.275 E 2.75(Yr)-1.155 G
(eport this e)-2.75 E -.165(ve)-.275 G(nt to the application.).165 E
(\(Pre)100.8 98 Q(vious v)-.275 E
(ersions of this speci\214cation used a "Buf)-.165 E
(fer Closed" option instead of Drop Code)-.275 E(1.\))100.8 111 Q
(Drop Code 2 \("recei)100.8 127.6 Q .33 -.165(ve b)-.275 H(uf)-.055 E
(fer drop"\) indicates congestion inside the recei)-.275 E(ving host.)
-.275 E(Ev)5.5 E(ery)-.165 E(pack)100.8 140.6 Q(et ne)-.11 E(wly ackno)
-.275 E(wledged as Drop Code 2 SHOULD reduce the sender')-.275 E 2.75
(si)-.605 G(nstantaneous)-2.75 E(rate by one pack)100.8 153.6 Q
(et per round trip time, using whate)-.11 E -.165(ve)-.275 G 2.75(rm)
.165 G(echanism is appropriate for the)-2.75 E(rele)100.8 166.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 documents.).275 E/F1 11/Times-Bold@0 SF(12.)72 192.6 Q
/F2 14/Times-Bold@0 SF(Explicit Congestion Noti\214cation)5.5 E F0
(The DCCP protocol is fully ECN-a)100.8 209.2 Q -.11(wa)-.165 G
(re [RFC 3168]. Each CCID speci\214es ho).11 E 2.75(wi)-.275 G(ts)-2.75
E(endpoints respond to ECN marks.)100.8 222.2 Q(Furthermore, DCCP)5.5 E
2.75(,u)-1.221 G(nlik)-2.75 E 2.75(eT)-.11 G(CP)-2.75 E 2.75(,a)-1.221 G
(llo)-2.75 E(ws senders to)-.275 E(control the rate at which ackno)100.8
235.2 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 248.2 Q
(wledgements are generally congestion-controlled, and may ha)-.275 E
-.165(ve)-.22 G(ECN-Capable T)100.8 261.2 Q(ransport set.)-.385 E 2.75
(AC)100.8 277.8 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 290.8 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 303.8 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 316.8 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 333.4 Q(Nonce with ackno)100.8 346.4 Q
(wledgement options such as Ack V)-.275 E(ector)-1.221 E(.)-.605 E F1
(12.1.)72 372.4 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 partner t\
hat it cannot read ECN bits from)100.8 389 Q(recei)100.8 402 Q -.165(ve)
-.275 G 2.75(dI).165 G 2.75(Ph)-2.75 G
(eaders, so the partner must not set ECN-Capable T)-2.75 E
(ransport on its pack)-.385 E(ets.)-.11 E
(ECN Capable has feature number 2, and is serv)100.8 418.6 Q(er)-.165 E
(-priority)-.22 E 5.5(.I)-.715 G 2.75(tt)-5.5 G(ak)-2.75 E
(es one-byte Boolean)-.11 E -.275(va)100.8 431.6 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 444.6 Q
(\(This is independent of whether it can set ECN bits on sent)5.5 E 2.75
(frames.\) DCCP)100.8 457.6 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 470.6 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 483.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(ed.)-.165
E(If a DCCP is not ECN capable, it MUST send Mandatory "Change L\(ECN C\
apable, 0\)")100.8 500.2 Q(options to the other endpoint until ackno)
100.8 513.2 Q(wledged \(by "Con\214rm R\(ECN Capable, 0\)"\) or the)
-.275 E(connection closes.)100.8 526.2 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 539.2 Q
(It SHOULD send Data Dropped options on its)5.5 E(ackno)100.8 552.2 Q(w\
ledgements, with Drop Code 0 \("protocol constraints"\), if the other e\
ndpoint does)-.275 E(send data inappropriately)100.8 565.2 Q(.)-.715 E
F1(12.2.)72 591.2 Q F3(ECN Nonces)5.5 E F0(Congestion a)100.8 607.8 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
620.8 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
633.8 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
646.8 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 659.8 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 672.8 Q
(ECN Nonces are a general mechanism to pre)100.8 689.4 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 702.4 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 715.4 Q
(In general, a protocol sender chooses between)5.5 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(12.2. [P)2.75 F(age 68])-.165 E 0 Cg EP
%%Page: 69 69
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(these code points randomly on its output pack)100.8 85 Q
(ets, remembering the sequence it chose.)-.11 E(The)5.5 E
(protocol recei)100.8 98 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 111 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 124 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 137 Q -.22(vo)-.22
G(iding discipline.).22 E(The sender may react)5.5 E(puniti)100.8 150 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 163 Q
(ger; one bit is enough to catch 50% of infractions.)-.165 E(In DCCP)
100.8 179.6 Q 2.75(,t)-1.221 G
(he ECN Nonce Echo \214eld is encoded in ackno)-2.75 E
(wledgement options.)-.275 E -.165(Fo)5.5 G(r).165 E -.165(ex)100.8
192.6 S(ample, the Ack V).165 E(ector option comes in tw)-1.221 E 2.75
(of)-.11 G(orms, Ack V)-2.75 E(ector [Nonce 0] \(option 38\) and)-1.221
E(Ack V)100.8 205.6 Q
(ector [Nonce 1] \(option 39\), corresponding to the tw)-1.221 E 2.75
(ov)-.11 G(alues for a one-bit ECN)-3.025 E(Nonce Echo.)100.8 218.6 Q
(The Nonce Echo for a gi)5.5 E -.165(ve)-.275 G 2.75(nA).165 G(ck V)
-2.75 E(ector equals the one-bit sum \(e)-1.221 E(xclusi)-.165 E -.165
(ve)-.275 G(-).165 E(or)100.8 231.6 Q 2.75(,o)-.44 G 2.75(rp)-2.75 G
(arity\) of ECN nonces for pack)-2.75 E(ets reported by that Ack V)-.11
E(ector as recei)-1.221 E -.165(ve)-.275 G 2.75(da).165 G(nd not)-2.75 E
(ECN mark)100.8 244.6 Q 2.75(ed. Thus,)-.11 F(only pack)2.75 E(ets mark)
-.11 E(ed as State 0 matter for this calculation \(that is,)-.11 E -.275
(va)100.8 257.6 S(lid recei).275 E -.165(ve)-.275 G 2.75(dp).165 G(ack)
-2.75 E(ets that were not ECN mark)-.11 E 2.75(ed\). Ev)-.11 F
(ery Ack V)-.165 E(ector option is detailed)-1.221 E
(enough for the sender to determine what the Nonce Echo should ha)100.8
270.6 Q .33 -.165(ve b)-.22 H 2.75(een. It).165 F(can check)2.75 E
(this calculation ag)100.8 283.6 Q
(ainst the actual Nonce Echo, and complain if there is a mismatch.)-.055
E(\(The)5.5 E(Ack V)100.8 296.6 Q(ector could concei)-1.221 E -.275(va)
-.275 G(bly report e).275 E -.165(ve)-.275 G(ry pack).165 E(et')-.11 E
2.75(sE)-.605 G(CN Nonce state, b)-2.75 E(ut this w)-.22 E(ould)-.11 E
(se)100.8 309.6 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 326.2 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 339.2 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
352.2 Q(alue for ECN Nonce Echo)-.275 E(when sending ackno)100.8 365.2 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 378.2 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 391.2 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 404.2 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 12, "Aggression Penalty".)
100.8 417.2 Q(An ECN-incapable DCCP SHOULD ignore recei)100.8 433.8 Q
-.165(ve)-.275 G 2.75(dE).165 G(CN nonces and generate ECN)-2.75 E
(nonces of zero.)100.8 446.8 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 459.8 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 472.8 Q/F1
11/Times-Bold@0 SF(12.3.)72 498.8 Q/F2 13/Times-Bold@0 SF(Other Aggr)5.5
E(ession P)-.234 E(enalties)-.26 E F0(The ECN Nonce pro)100.8 515.4 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 528.4 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 541.4 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
554.4 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 12, "Aggression Penalty".)100.8 567.4 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 580.4
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(reporting some pack)100.8 593.4 Q(ets as ECN mark)-.11 E
(ed that were not, in f)-.11 E(act, mark)-.11 E(ed.)-.11 E F1(13.)72
619.4 Q/F3 14/Times-Bold@0 SF -.252(Ti)5.5 G(ming Options).252 E F0
(The T)100.8 636 Q(imestamp, T)-.385 E(imestamp Echo, and Elapsed T)
-.385 E(ime options help DCCP endpoints)-.385 E -.165(ex)100.8 649 S
(plicitly measure round-trip times.).165 E F1(13.1.)72 675 Q F2 -.234
(Ti)5.5 G(mestamp Option).234 E F0(This option is permitted in an)100.8
691.6 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 -.385(Ko)72 769 S(hler/Handle)
.385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(13.1. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 85 Q 59.4
(|00101001|00000110| Timestamp)100.8 98 R 59.4(Value |)6.6 F
(+--------+--------+--------+--------+--------+--------+)100.8 111 Q 6.6
(Type=41 Length=6)107.4 124 R F0
(The four bytes of option data carry the timestamp of this pack)100.8
143 Q(et in some undetermined)-.11 E 2.75(form. A)100.8 156 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 169 Q(xt pack)-.165 E(et it sends.)-.11 E/F2 11
/Times-Bold@0 SF(13.2.)72 195 Q/F3 13/Times-Bold@0 SF(Elapsed T)5.5 E
(ime Option)-.234 E F0(This option is permitted in an)100.8 211.6 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 224.6 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 237.6 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)-.275 E(---w)-.22 E(as recei)-.11 E -.165(ve)-.275 G
2.75(d. The).165 F(option may tak)100.8 250.6 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 2.75(alue. Elapsed)-.275 F -.385(Ti)100.8 263.6 S
(me helps correct round-trip time estimates when the g).385 E
(ap between recei)-.055 E(ving a pack)-.275 E(et and)-.11 E(ackno)100.8
276.6 Q(wledging that pack)-.275 E(et may be long---in CCID 3, for e)
-.11 E(xample, where)-.165 E(ackno)100.8 289.6 Q
(wledgements are sent infrequently)-.275 E(.)-.715 E F1
(+--------+--------+--------+--------+)100.8 308.6 Q 13.2
(|00101011|00000100| Elapsed)100.8 321.6 R 6.6(Time |)6.6 F
(+--------+--------+--------+--------+)100.8 334.6 Q 19.8(Type=43 Len=4)
107.4 347.6 R(+--------+--------+--------+--------+--------+--------+)
100.8 373.6 Q 72.6(|00101011|00000110| Elapsed)100.8 386.6 R 66(Time |)
6.6 F(+--------+--------+--------+--------+--------+--------+)100.8
399.6 Q 19.8(Type=43 Len=6)107.4 412.6 R F0(The option data, Elapsed T)
100.8 431.6 Q
(ime, represents an estimated upper bound on the amount of time)-.385 E
(elapsed since the pack)100.8 444.6 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 457.6 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 470.6 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 483.6 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 496.6 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 12, "Aggression Penalty", if one e\
ndpoint determines that the other is reporting a)100.8 509.6 Q
(much-too-lar)100.8 522.6 Q(ge Elapsed T)-.198 E(ime.)-.385 E(Elapsed T)
100.8 539.2 Q
(ime is measured in tenths of milliseconds as a compromise between tw)
-.385 E(o)-.11 E(con\215icting goals.)100.8 552.2 Q(First, it pro)5.5 E
(vides enough granularity to reduce rounding error when)-.165 E
(measuring elapsed time o)100.8 565.2 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 578.2 Q 2.75(ob)-.11 G(ytes of data.)-2.75 E
F2(13.3.)72 604.2 Q F3 -.234(Ti)5.5 G(mestamp Echo Option).234 E F0
(This option is permitted in an)100.8 620.8 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 633.8 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 646.8 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 659.8 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 672.8 Q(ime is included and ho)
-.385 E 2.75(wl)-.275 G(ar)-2.75 E(ge it is.)-.198 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75
(13.3. [P)2.75 F(age 70])-.165 E 0 Cg EP
%%Page: 71 71
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Courier@0 SF
(+--------+--------+--------+--------+--------+--------+)100.8 85 Q 66
(|00101010|00000110| Timestamp)100.8 98 R 59.4(Echo |)6.6 F
(+--------+--------+--------+--------+--------+--------+)100.8 111 Q
19.8(Type=42 Len=6)107.4 124 R
(+--------+--------+------- ... -------+--------+--------+)100.8 150 Q
6.6(|00101010|00001000| Timestamp)100.8 163 R 13.2(Echo | Elapsed)6.6 F
6.6(Time |)6.6 F
(+--------+--------+------- ... -------+--------+--------+)100.8 176 Q
19.8(Type=42 Len=8)107.4 189 R(\(4 bytes\))46.2 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 215 Q
6.6(|00101010|00001010| Timestamp)100.8 228 R 13.2(Echo |)6.6 F
(Elapsed Time)26.4 E(|)19.8 E
(+--------+--------+------- ... -------+------- ... -------+)100.8 241 Q
13.2(Type=42 Len=10)107.4 254 R(\(4 bytes\))46.2 E(\(4 bytes\))72.6 E F0
(The \214rst four bytes of option data, T)100.8 273 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 286 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 299 Q -.165(ve)-.275 G(d---the pack).165 E
(et indicated by the Ackno)-.11 E(wledgement Number)-.275 E 2.75(,i)-.44
G 2.75(fa)-2.75 G -.165(ny)-2.75 G(---b).165 E(ut it might be a)-.22 E
(preceding pack)100.8 312 Q(et.)-.11 E(The Elapsed T)100.8 328.6 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 341.6 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 354.6 Q
(Elapsed T)5.5 E(ime is meant to help the T)-.385 E(imestamp sender)
-.385 E(separate the netw)100.8 367.6 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 380.6 Q
(wledgements are sent infrequently)-.275 E(,)-.715 E
(so that there might be considerable delay between recei)100.8 393.6 Q
(ving a T)-.275 E(imestamp option and)-.385 E
(sending the corresponding T)100.8 406.6 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 419.6 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 432.6 Q -.275(va)-.275 G(nt Elapsed T).275 E
(ime v)-.385 E(alue.)-.275 E/F2 11/Times-Bold@0 SF(14.)72 458.6 Q/F3 14
/Times-Bold@0 SF(Multihoming and Mobility)5.5 E F0(DCCP pro)100.8 475.2
Q(vides primiti)-.165 E .33 -.165(ve s)-.275 H
(upport for multihoming and mobility via a mechanism for).165 E
(transferring a connection endpoint from one address to another)100.8
488.2 Q 5.5(.T)-.605 G(he mo)-5.5 E(ving endpoint must)-.165 E(ne)100.8
501.2 Q(gotiate mobility support beforehand.)-.165 E(When the mo)5.5 E
(ving endpoint gets a ne)-.165 E 2.75(wa)-.275 G(ddress, it)-2.75 E
(sends a DCCP-Mo)100.8 514.2 Q .33 -.165(ve p)-.165 H(ack).165 E
(et from that address to the stationary endpoint.)-.11 E(The stationary)
5.5 E(endpoint then changes its connection state to use the ne)100.8
527.2 Q 2.75(wa)-.275 G(ddress.)-2.75 E(DCCP')100.8 543.8 Q 2.75(ss)
-.605 G(upport for mobility is intended to solv)-2.75 E 2.75(eo)-.165 G
(nly the simplest multihoming and)-2.75 E
(mobility problems; for instance, there')100.8 556.8 Q 2.75(sn)-.605 G
2.75(os)-2.75 G(upport for simultaneous mo)-2.75 E -.165(ve)-.165 G 2.75
(s. Applications).165 F(requiring more comple)100.8 569.8 Q 2.75(xm)
-.165 G
(obility semantics, or more stringent security guarantees, should)-2.75
E(use an e)100.8 582.8 Q(xisting solution lik)-.165 E 2.75(eM)-.11 G
(obile IP or [SB00]. DCCP mobility may not be useful in the)-2.75 E
(conte)100.8 595.8 Q
(xt of IPv6, with its mandatory support for Mobile IP)-.165 E(.)-1.221 E
F2(14.1.)72 621.8 Q/F4 13/Times-Bold@0 SF(Mobility Capable F)5.5 E
(eatur)-.325 E(e)-.234 E F0 2.75(AD)100.8 638.4 S
(CCP uses the Mobility Capable feature to inform its partner that it w)
-2.75 E(ould lik)-.11 E 2.75(et)-.11 G 2.75(ob)-2.75 G(e)-2.75 E(able t\
o change its address and/or port during the course of the connection.)
100.8 651.4 Q(DCCP B sends)5.5 E 2.75(a")100.8 664.4 S(Change R\(Mobili\
ty Capable, 1\)" option to DCCP A to inform it that B might lik)-2.75 E
2.75(et)-.11 G(o)-2.75 E(mo)100.8 677.4 Q .33 -.165(ve l)-.165 H(ater)
.165 E(.)-.605 E(Mobility Capable has feature number 5, and is serv)
100.8 694 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 707 S 2.75
(lues. DCCP).275 F 2.75(Aa)2.75 G(grees in principle to accept DCCP-Mo)
-2.75 E .33 -.165(ve p)-.165 H(ack).165 E(ets from DCCP B when)-.11 E
(Mobility Capable/A is one.)100.8 720 Q(DCCP A MUST reject an)5.5 E 2.75
(yD)-.165 G(CCP-Mo)-2.75 E .33 -.165(ve p)-.165 H(ack).165 E(et for a)
-.11 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76
(yd Section)-.11 F 2.75(14.1. [P)2.75 F(age 71])-.165 E 0 Cg EP
%%Page: 72 72
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(connection whose Mobility Capable/A feature is zero, although it MA)
100.8 85 Q 2.75(Yr)-1.155 G(eject a v)-2.75 E(alid)-.275 E(DCCP-Mo)100.8
98 Q .33 -.165(ve p)-.165 H(ack).165 E(et e)-.11 E -.165(ve)-.275 G 2.75
(nw).165 G(hen Mobility Capable/A is one.)-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)-2.75 E
(reserv)100.8 111 Q 2.75(ed. Ne)-.165 F 2.75(wc)-.275 G(onnections star\
t with Mobility Capable 0 \(that is, mobility is not allo)-2.75 E(wed\))
-.275 E(for both endpoints.)100.8 124 Q/F1 11/Times-Bold@0 SF(14.2.)72
150 Q/F2 13/Times-Bold@0 SF(Mobility ID F)5.5 E(eatur)-.325 E(e)-.234 E
F0 2.75(AD)100.8 166.6 S(CCP uses the Mobility ID feature to inform its\
 partner of a 128-bit number that will act)-2.75 E(as identi\214cation,\
 should the partner change its address and/or port during the course of\
 the)100.8 179.6 Q 2.75(connection. DCCP)100.8 192.6 R 2.75(As)2.75 G
(ends a "Change L\(Mobility ID, N\)" option to notify DCCP B of the)
-2.75 E(ID it has chosen for B')100.8 205.6 Q 2.75(su)-.605 G(se.)-2.75
E(Mobility ID has feature number 6, and is non-ne)100.8 222.2 Q 2.75
(gotiable. Its)-.165 F -.275(va)2.75 G(lues are sixteen-byte).275 E
(inte)100.8 235.2 Q 2.75(gers. The)-.165 F(Mobility ID/A feature equals\
 the identi\214er that DCCP B should use on)2.75 E(DCCP-Mo)100.8 248.2 Q
.33 -.165(ve p)-.165 H(ack).165 E(ets sent to A.)-.11 E
(DCCP A chooses Mobility ID/A to uniquely identify the)5.5 E
(connection among all connections that terminate at A.)100.8 261.2 Q
-.165(Fo)5.5 G 2.75(rs).165 G(ecurity)-2.75 E 2.75(,D)-.715 G
(CCP A MUST)-2.75 E(choose Mobility ID/A randomly)100.8 274.2 Q 5.5(.F)
-.715 G(urthermore, it MUST reassign Mobility ID/A after each)-5.5 E
(successful mo)100.8 287.2 Q .33 -.165(ve b)-.165 H 2.75(yD).165 G
(CCP B, and it MA)-2.75 E 2.75(Yr)-1.155 G
(eassign Mobility ID/A more frequently)-2.75 E 5.5(.N)-.715 G -.275(ew)
-5.5 G(connections start with Mobility ID 0 for both endpoints.)100.8
300.2 Q(Ho)5.5 E(we)-.275 E -.165(ve)-.275 G .88 -.44(r, M).165 H
(obility IDs of zero).44 E(MUST NO)100.8 313.2 Q 2.75(Tb)-.44 G 2.75(ea)
-2.75 G(ccepted on DCCP-Mo)-2.75 E .33 -.165(ve p)-.165 H(ack).165 E
(ets; an endpoint cannot successfully mo)-.11 E -.165(ve)-.165 G
(until the rele)100.8 326.2 Q -.275(va)-.275 G
(nt Mobility ID has been set to a nonzero v).275 E(alue.)-.275 E F1
(14.3.)72 352.2 Q F2(Mobile Host Pr)5.5 E(ocessing)-.234 E F0(When DCCP\
 A changes its address and/or port, it MUST signal this by sending DCCP\
 B a)100.8 368.8 Q(DCCP-Mo)100.8 381.8 Q .33 -.165(ve p)-.165 H(ack).165
E 2.75(et. The)-.11 F(Mobility ID in the DCCP-Mo)2.75 E .33 -.165(ve p)
-.165 H(ack).165 E(et uniquely identi\214es the)-.11 E
(connection; DCCP B will read the ne)100.8 394.8 Q 2.75(wa)-.275 G
(ddress and port of)-2.75 E 2.75(ft)-.275 G(he DCCP-Mo)-2.75 E -.165(ve)
-.165 G 1.21 -.605('s n).165 H(etw).605 E(ork and)-.11 E(DCCP headers.)
100.8 407.8 Q(Ev)5.5 E(entually)-.165 E 2.75(,D)-.715 G
(CCP A will recei)-2.75 E .33 -.165(ve a D)-.275 H
(CCP-Sync sent to its ne).165 E 2.75(wa)-.275 G(ddress)-2.75 E(that ne)
100.8 420.8 Q(gotiates a ne)-.165 E 2.75(wM)-.275 G
(obility ID/B feature.)-2.75 E(This con\214rms the mo)5.5 E -.165(ve)
-.165 G 5.5(.D).165 G(CCP A SHOULD)-5.5 E(retransmit the DCCP-Mo)100.8
433.8 Q .33 -.165(ve p)-.165 H(ack).165 E(et until it recei)-.11 E -.165
(ve)-.275 G 2.75(saD).165 G(CCP-Sync con\214rmation.)-2.75 E(The)5.5 E
(retransmission strate)100.8 446.8 Q
(gy SHOULD be similar to that for retransmitting DCCP-Requests)-.165 E(\
\(Section 8.1.1\); for instance, a \214rst timeout on the order of a se\
cond, with an e)100.8 459.8 Q(xponential)-.165 E(back)100.8 472.8 Q(of)
-.11 E 2.75(ft)-.275 G(imer)-2.75 E(.)-.605 E
(DCCP A MUST reset its congestion control state after sending a DCCP-Mo)
100.8 489.4 Q -.165(ve)-.165 G 2.75(,s).165 G(ince)-2.75 E
(nothing is kno)100.8 502.4 Q(wn about conditions on the ne)-.275 E 2.75
(wp)-.275 G 2.75(ath. Essentially)-2.75 F 2.75(,D)-.715 G
(CCP A must "slo)-2.75 E 2.75(ws)-.275 G(tart")-2.75 E(up to its ne)
100.8 515.4 Q 2.75(wf)-.275 G
(air rate, as appropriate for its congestion control mechanism.)-2.86 E
(Section 14.5)5.5 E(discusses this further)100.8 528.4 Q(.)-.605 E
(DCCP A SHOULD NO)100.8 545 Q 2.75(Ts)-.44 G(end non-DCCP-Mo)-2.75 E .33
-.165(ve p)-.165 H(ack).165 E(ets to DCCP B until the mo)-.11 E .33
-.165(ve i)-.165 H(s).165 E 2.75(con\214rmed. If)100.8 558 R
(it did so, and the DCCP-Mo)2.75 E .33 -.165(ve p)-.165 H(ack).165 E
(et w)-.11 E(as lost or reordered, then DCCP B)-.11 E -.11(wo)100.8 571
S(uld react by sending DCCP-Resets with Reset Code 3, "No Connection".)
.11 E(DCCP A)5.5 E
(might implement special handling for such resets to a)100.8 584 Q -.22
(vo)-.22 G(id an).22 E 2.75(yp)-.165 G(ost-mo)-2.75 E .33 -.165(ve q)
-.165 H(uiet period, b).165 E(ut)-.22 E(this is NO)100.8 597 Q 2.75(TR)
-.44 G(ECOMMENDED.)-2.75 E(DCCP B MA)100.8 613.6 Q 2.75(Yr)-1.155 G
(efuse to accept a mo)-2.75 E -.165(ve)-.165 G 2.75(,p).165 G
(erhaps because of address polic)-2.75 E 4.18 -.715(y. I)-.165 H 2.75
(nt).715 G(his case,)-2.75 E(DCCP A will recei)100.8 626.6 Q .33 -.165
(ve a D)-.275 H(CCP-Reset with Reset Code 13, "Mo).165 E .33 -.165(ve R)
-.165 H(efused", rather than a).165 E(con\214rming DCCP-Sync.)100.8
639.6 Q(DCCP A MA)5.5 E 2.75(Yr)-1.155 G(eact by tearing do)-2.75 E
(wn the connection, or by trying)-.275 E(another DCCP-Mo)100.8 652.6 Q
-.165(ve)-.165 G(---for instance, back to the old address, if possible.)
.165 E(DCCP endpoints SHOULD NO)100.8 669.2 Q 2.75(Tu)-.44 G
(se an old address-port pair after sending a DCCP-Mo)-2.75 E -.165(ve)
-.165 G(.).165 E
(If it becomes necessary to switch back to the old address-port pair)
100.8 682.2 Q 2.75(,t)-.44 G(he endpoint MUST do)-2.75 E(so e)100.8
695.2 Q(xplicitly using another DCCP-Mo)-.165 E -.165(ve)-.165 G(.).165
E(DCCP-Mo)100.8 711.8 Q .33 -.165(ve p)-.165 H(ack).165 E(ets SHOULD NO)
-.11 E 2.75(Tb)-.44 G 2.75(es)-2.75 G
(ent until the connection is established; it is ille)-2.75 E -.055(ga)
-.165 G(l).055 E(to send a DCCP-Mo)100.8 724.8 Q .33 -.165(ve i)-.165 H
2.75(nR).165 G(EQ)-2.75 E(UEST or RESPOND state.)-.11 E
(If an endpoint mo)5.5 E -.165(ve)-.165 G 2.75(sd).165 G(uring)-2.75 E
-.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)
-.11 F 2.75(14.3. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(connection establishment, i\
t SHOULD abandon the old connection and initiate a ne)100.8 85 Q 2.75
(wo)-.275 G(ne.)-2.75 E(No connection e)100.8 98 Q(xists to mo)-.165 E
.33 -.165(ve u)-.165 H(ntil the three-w).165 E(ay handshak)-.11 E 2.75
(eh)-.11 G(as completed.)-2.75 E/F1 11/Times-Bold@0 SF(14.4.)72 124 Q/F2
13/Times-Bold@0 SF(Stationary Host Pr)5.5 E(ocessing)-.234 E F0
(The stationary endpoint, DCCP B, uses DCCP-Mo)100.8 140.6 Q .33 -.165
(ve p)-.165 H(ack).165 E(ets' destination address,)-.11 E
(destination port, and Mobility ID \214elds to look up the rele)100.8
153.6 Q -.275(va)-.275 G(nt connection.).275 E(This dif)5.5 E(fers)-.275
E(from all other pack)100.8 166.6 Q
(et types, which use the source address/source port/destination)-.11 E
(address/destination port 4-tuple.)100.8 179.6 Q
(DCCP B MUST ignore DCCP-Mo)100.8 196.2 Q -.165(ve)-.165 G 2.75(sw).165
G(hose Mobility ID is zero, or whose Mobility ID)-2.75 E
(does not correspond to an)100.8 209.2 Q 2.75(ya)-.165 G(cti)-2.75 E .33
-.165(ve c)-.275 H 2.75(onnection. It).165 F(also MUST ignore DCCP-Mo)
2.75 E -.165(ve)-.165 G 2.75(ss).165 G(ent to)-2.75 E(sock)100.8 222.2 Q
(ets in CLOSED, LISTEN, REQ)-.11 E(UEST)-.11 E 2.75(,R)-.814 G
(ESPOND, or TIMEW)-2.75 E(AIT state, and it MUST)-1.32 E(ignore DCCP-Mo)
100.8 235.2 Q -.165(ve)-.165 G 2.75(sw).165 G(ith in)-2.75 E -.275(va)
-.44 G(lid Sequence or Ackno).275 E(wledgement Numbers \(see Section)
-.275 E(7.5\). DCCP B MUST NO)100.8 248.2 Q 2.75(Tr)-.44 G(espond to in)
-2.75 E -.275(va)-.44 G(lid DCCP-Mo).275 E -.165(ve)-.165 G 2.75(sw).165
G(ith DCCP-Reset or DCCP-)-2.75 E(Sync pack)100.8 261.2 Q(ets, since an)
-.11 E 2.75(ya)-.165 G(cti)-2.75 E .33 -.165(ve r)-.275 H(esponse w).165
E(ould leak information about the connection to a)-.11 E
(possibly malicious host.)100.8 274.2 Q(After recei)5.5 E(ving an in)
-.275 E -.275(va)-.44 G(lid DCCP-Mo).275 E -.165(ve)-.165 G 2.75(,D).165
G(CCP B MA)-2.75 E 2.75(Yi)-1.155 G(gnore)-2.75 E(subsequent DCCP-Mo)
100.8 287.2 Q .33 -.165(ve p)-.165 H(ack).165 E(ets, v)-.11 E
(alid or not, for a short period of time, such as one)-.275 E
(second or one round-trip time.)100.8 300.2 Q(This protects DCCP B ag)
5.5 E(ainst denial-of-service attacks)-.055 E(from \215oods of in)100.8
313.2 Q -.275(va)-.44 G(lid DCCP-Mo).275 E -.165(ve)-.165 G(s.).165 E
(On recei)100.8 329.8 Q(ving a v)-.275 E(alid DCCP-Mo)-.275 E -.165(ve)
-.165 G 2.75(,D).165 G(CCP B decides whether to accept or refuse the mo)
-2.75 E -.165(ve)-.165 G 2.75(request. T)100.8 342.8 R 2.75(oa)-.88 G
(ccept the request, it performs se)-2.75 E -.165(ve)-.275 G
(ral actions:).165 E 7.15<8349>100.8 359.4 S 2.75(tc)-7.15 G
(hanges the connection to use the ne)-2.75 E 2.75(wa)-.275 G
(ddress and port.)-2.75 E 7.15<8349>100.8 376 S 2.75(ts)-7.15 G
(ets a timer to remo)-2.75 E .33 -.165(ve t)-.165 H
(he old address and port after 2MSL.).165 E(This delay allo)5.5 E
(ws the)-.275 E(receipt of an)111.8 389 Q 2.75(yd)-.165 G(elayed pack)
-2.75 E(ets from the old address and port, and essentially represents)
-.11 E(TIMEW)111.8 402 Q(AIT state for the old connection.)-1.32 E 7.15
<8349>100.8 418.6 S 2.75(tc)-7.15 G(hooses a ne)-2.75 E 2.75(wM)-.275 G
(obility ID for the connection, which temporarily coe)-2.75 E
(xists with the old)-.165 E(Mobility ID.)111.8 431.6 Q 7.15<8349>100.8
448.2 S 2.75(tg)-7.15 G
(enerates and sends a con\214rmation DCCP-Sync pack)-2.75 E
(et, which includes a)-.11 E
("Change L\(Mobility ID\)" option for the ne)111.8 461.2 Q 2.75(wM)-.275
G(obility ID.)-2.75 E
(If the DCCP-Sync is lost, then DCCP A will send another DCCP-Mo)100.8
477.8 Q .33 -.165(ve p)-.165 H(ack).165 E(et with the old)-.11 E
(Mobility ID.)100.8 490.8 Q(DCCP B MUST send another DCCP-Sync pack)5.5
E(et in this situation, b)-.11 E(ut)-.22 E(SHOULD NO)100.8 503.8 Q 2.75
(Tc)-.44 G(hoose yet another ne)-2.75 E 2.75(wM)-.275 G(obility ID.)
-2.75 E(The mo)100.8 520.4 Q -.165(ve)-.165 G 1.21 -.605('s t).165 H
(hree-w).605 E(ay handshak)-.11 E 2.75(ec)-.11 G
(ompletes once DCCP B recei)-2.75 E -.165(ve)-.275 G 2.75(saD).165 G
(CCP-SyncAck)-2.75 E(from DCCP A that con\214rms the ne)100.8 533.4 Q
2.75(wM)-.275 G(obility ID option.)-2.75 E(At that point, DCCP B MUST)
5.5 E(remo)100.8 546.4 Q .33 -.165(ve t)-.165 H(he old Mobility ID.).165
E(DCCP B MA)100.8 563 Q 2.75(Yr)-1.155 G(efuse a v)-2.75 E(alid DCCP-Mo)
-.275 E .33 -.165(ve r)-.165 H(equest for an).165 E 2.75(yr)-.165 G
(eason; for instance, the ne)-2.75 E(w)-.275 E
(address space might be considered unsuitable.)100.8 576 Q 1.76 -.88
(To r)5.5 H(efuse a v).88 E(alid DCCP-Mo)-.275 E -.165(ve)-.165 G 2.75
(,D).165 G(CCP B)-2.75 E(sends a DCCP-Reset pack)100.8 589 Q
(et to the ne)-.11 E 2.75(wa)-.275 G
(ddress and port pair with Reset Code 13, "Mo)-2.75 E -.165(ve)-.165 G
2.75(Refused". It)100.8 602 R(need tak)2.75 E 2.75(en)-.11 G 2.75(oo)
-2.75 G(ther action; for e)-2.75 E(xample, it MA)-.165 E 2.75(Yt)-1.155
G(ear do)-2.75 E(wn the connection, or)-.275 E 2.75(not. If)100.8 615 R
(DCCP B plans to refuse e)2.75 E -.165(ve)-.275 G(ry DCCP-Mo).165 E .33
-.165(ve r)-.165 H(equest, it MUST ne).165 E(gotiate a zero)-.165 E
-.275(va)100.8 628 S(lue for the Mobility Capable/A feature.).275 E
(DCCP B MUST ignore an)100.8 644.6 Q 2.75(yd)-.165 G(ata follo)-2.75 E
(wing the header in a DCCP-Mo)-.275 E .33 -.165(ve p)-.165 H(ack).165 E
(et.)-.11 E F1(14.5.)72 670.6 Q F2(Congestion Contr)5.5 E(ol State)-.234
E F0(Once an endpoint has transitioned to a ne)100.8 687.2 Q 2.75(wa)
-.275 G(ddress, the connection is ef)-2.75 E(fecti)-.275 E -.165(ve)
-.275 G(ly a ne).165 E(w)-.275 E(connection in terms of its congestion \
control state: the accumulated information about)100.8 700.2 Q
(congestion between the old endpoints no longer applies.)100.8 713.2 Q
(Both DCCPs MUST initialize)5.5 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(14.5. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(their congestion control state \(windo)100.8 85 Q
(ws, rates, and so forth\) to that of a ne)-.275 E 2.75(wc)-.275 G
(onnection.)-2.75 E(That is, the)100.8 98 Q 2.75(ym)-.165 G(ust "slo)
-2.75 E 2.75(ws)-.275 G(tart".)-2.75 E(Similarly)100.8 114.6 Q 2.75(,t)
-.715 G(he endpoints' PMTUs SHOULD be reinitialized, and PMTU disco)
-2.75 E -.165(ve)-.165 G(ry).165 E(performed ag)100.8 127.6 Q
(ain, follo)-.055 E(wing an address change.)-.275 E(See Section 15.)5.5
E(During the transition period between addresses, the endpoints might r\
ecei)100.8 144.2 Q .33 -.165(ve c)-.275 H(ongestion).165 E
(feedback from both before the mo)100.8 157.2 Q .33 -.165(ve a)-.165 H
(nd after the mo).165 E -.165(ve)-.165 G 5.5(.C).165 G
(ongestion and loss e)-5.5 E -.165(ve)-.275 G(nts on).165 E(pack)100.8
170.2 Q(ets sent before the mo)-.11 E .33 -.165(ve S)-.165 H(HOULD NO)
.165 E 2.75(Ta)-.44 G -.275(ff)-2.75 G(ect the ne).275 E 2.75(wc)-.275 G
(onnection')-2.75 E 2.75(sc)-.605 G(ongestion)-2.75 E(control state.)
100.8 183.2 Q/F1 11/Times-Bold@0 SF(14.6.)72 209.2 Q/F2 13/Times-Bold@0
SF(Security)5.5 E F0(The DCCP mobility mechanism, lik)100.8 225.8 Q 2.75
(eD)-.11 G(CCP in general, does not pro)-2.75 E(vide cryptographic)-.165
E(security guarantees.)100.8 238.8 Q(Ne)5.5 E -.165(ve)-.275 G
(rtheless, mobile hosts must use v).165 E(alid Mobility IDs, pro)-.275 E
(viding)-.165 E(protection ag)100.8 251.8 Q
(ainst some classes of attack)-.055 E(ers: An attack)-.11 E
(er cannot mo)-.11 E .33 -.165(ve a D)-.165 H(CCP connection).165 E
(to a ne)100.8 264.8 Q 2.75(wa)-.275 G(ddress unless it kno)-2.75 E
(ws a v)-.275 E(alid Mobility ID.)-.275 E
(This generally means that an attack)5.5 E(er)-.11 E(must ha)100.8 277.8
Q .33 -.165(ve s)-.22 H(nooped on e).165 E -.165(ve)-.275 G(ry pack).165
E(et in the connection to get a reasonable probability of)-.11 E
(success, assuming that the Mobility ID w)100.8 290.8 Q
(as chosen well \(that is, randomly\).)-.11 E(An attack)100.8 307.4 Q
(er could choose a serv)-.11 E(er running man)-.165 E 2.75(ym)-.165 G
(obility-capable connections, and simply)-2.75 E
(guess random Mobility IDs until one hit.)100.8 320.4 Q
(Let N equal the number of mobility-capable)5.5 E
(connections at the serv)100.8 333.4 Q(er)-.165 E 2.75(,Xe)-.44 G
(qual the number of attack attempts, and D equal the number)-2.75 E
(of possible Mobility IDs, namely 2^128.)100.8 346.4 Q
(Then the probability of at least one attack)5.5 E(succeeding is)100.8
359.4 Q/F3 11/Courier@0 SF(\(D - N\) choose X)186.6 378.4 Q
(\(D-N\)! \(D-X\)!)72.6 E 13.2(P=1--)107.4 391.4 S 6.6
(--------------- = 1 - -------------)-13.2 F(.)6.6 E 6.6(Dc)206.4 404.4
S(hoose X)-6.6 E(D! \(D-N-X\)!)99 E F0 -.165(Fo)100.8 423.4 S 2.75(rN=1)
.165 G
(0^6 and X = 10^9, the attack success probability is less than 10^-23.)
-2.75 E(Section 19 further describes DCCP security considerations.)100.8
440 Q F1(15.)72 466 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 482.6 S
(CCP implementation MUST maintain the maximum pack)-2.75 E
(et size \(MPS\) allo)-.11 E(wed for)-.275 E(each acti)100.8 495.6 Q .33
-.165(ve D)-.275 H(CCP session.).165 E
(The MPS is in\215uenced by the maximum pack)5.5 E(et size allo)-.11 E
(wed by)-.275 E
(the current congestion control mechanism \(CCMPS\), the maximum pack)
100.8 508.6 Q(et size supported)-.11 E(by the path')100.8 521.6 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 534.6 Q 2.75(AD)100.8 551.2 S
(CCP application interf)-2.75 E(ace should let the application disco)
-.11 E -.165(ve)-.165 G 2.75(rD).165 G(CCP')-2.75 E 2.75(sc)-.605 G
(urrent MPS.)-2.75 E(DCCP applications should use the API to disco)100.8
564.2 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 577.2 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 590.2 Q 2.75(AD)100.8 606.8
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 619.8 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 632.8 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(rest of this section assumes the application ha\
s not requested fragmentation.)100.8 645.8 Q(The MPS reported to the ap\
plication SHOULD be in\215uenced by the size e)100.8 662.4 Q
(xpected to be)-.165 E(required for DCCP headers and options.)100.8
675.4 Q(If the application pro)5.5 E(vides data that, when)-.165 E
(combined with the options the DCCP implementation w)100.8 688.4 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 701.4 Q(et \(such as a)-.11 E
(DCCP-Ack\) or lo)100.8 714.4 Q
(wer the MPS, drop the data, and return an appropriate error to the)
-.275 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 233.01
(yd Section)-.11 F 2.75(15. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(application.)100.8 85 Q
(The PMTU SHOULD be initialized from the interf)100.8 101.6 Q
(ace MTU that will be used to send)-.11 E(pack)100.8 114.6 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 127.6 Q -.715(y.)-.165 G 1.76 -.88(To p)100.8 144.2 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 157.2 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 170.2
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 183.2 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 196.2 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 209.2 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 222.2 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 235.2 Q(ets, DF SHOULD be set.)-.11 E
(As speci\214ed in [RFC 1191], when a router recei)100.8 251.8 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 264.8 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 277.8 Q(wn as a)-.275 E("Datagram T)100.8
290.8 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 303.8 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 316.8 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]. If the MTU \
gi)100.8 329.8 Q -.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
342.8 Q(oo Big message is ignored, as)-.88 E
(described in [RFC 1191]. \(W)100.8 355.8 Q 2.75(ea)-.88 G(re a)-2.75 E
-.11(wa)-.165 G(re that this may cause problems for DCCP endpoints).11 E
(behind certain \214re)100.8 368.8 Q -.11(wa)-.275 G(lls.\)).11 E(If th\
e DCCP implementation has decreased the PMTU, and the sending applicati\
on)100.8 385.4 Q(attempts to send a pack)100.8 398.4 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 411.4 Q
(The application should then use the API)5.5 E(to query the ne)100.8
424.4 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 437.4 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 450.4 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 463.4 Q 2.75(AD)
100.8 480 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
493 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 506 Q 2.75(os)-.11 G(econds, for e)-2.75 E 2.75(xample. A)-.165 F
(successful)2.75 E(DCCP-Mo)100.8 519 Q .33 -.165(ve w)-.165 H
(ill also reset the PMTU.).165 E 2.75(AD)100.8 535.6 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 548.6 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 561.6 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 574.6 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
587.6 Q(optimization if these ECN bits indicate that the pack)100.8
600.6 Q(et did not e)-.11 E(xperience congestion prior)-.165 E
(to reaching the router whose link MTU it e)100.8 613.6 Q(xceeded.)-.165
E 2.75(AD)100.8 630.2 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
643.2 Q(ers cannot dri)-.11 E .33 -.165(ve t)-.275 H(he PMTU).165 E(do)
100.8 656.2 Q(wn to a f)-.275 E(alsely small v)-.11 E 2.75(alue. The)
-.275 F(simplest w)2.75 E(ay to do this is to v)-.11 E
(erify that the Sequence)-.165 E(Number on the ICMP error')100.8 669.2 Q
2.75(se)-.605 G
(ncapsulated header corresponds to a Sequence Number that)-2.75 E
(the implementation recently sent.)100.8 682.2 Q
(\(Routers are not required to return more than 64 bits of)5.5 E
(the DCCP header [RFC 792], b)100.8 695.2 Q
(ut most modern routers will return f)-.22 E(ar more, including the)-.11
E(Sequence Number)100.8 708.2 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 721.2 Q(wer the PMTU)-.275 E -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(15. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(only temporarily in response.)100.8 85 Q
(If more than three odd Datagram T)5.5 E(oo Big messages are)-.88 E
(recei)100.8 98 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
111 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 124 Q
(orks\) switch to allo)-.11 E(wing fragmentation.)-.275 E
(DCCP also allo)100.8 140.6 Q(ws upw)-.275 E
(ard probing of the PMTU [PMTUD], where the DCCP endpoint)-.11 E(be)
100.8 153.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 166.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 179.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 192.6 Q
(The DCCP implementation inserts arbitrary data into the DCCP-)5.5 E
(Sync application area, padding the pack)100.8 205.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 218.6 Q .33 -.165(ve a p)-.22 H(retty).165
E(good idea of when a probe is lost.)100.8 231.6 Q/F1 11/Times-Bold@0 SF
(16.)72 257.6 Q/F2 14/Times-Bold@0 SF -.35(Fo)5.5 G(rward Compatibility)
.35 E F0(Future v)100.8 274.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 287.2 Q
(xtended DCCPs interoperate with normal DCCPs.)-.165 E 7.15<8344>100.8
303.8 S(CCP processors MUST NO)-7.15 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)111.8 316.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)111.8 329.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)111.8 342.8
Q(gotiation option mentions an unkno)-.165 E(wn feature.)-.275 E
(Instead,)5.5 E(DCCP processors MUST ignore these e)111.8 355.8 Q -.165
(ve)-.275 G 2.75(nts. The).165 F(Mandatory option is the single)2.75 E
-.165(ex)111.8 368.8 S(ception: if Mandatory precedes some unkno).165 E
(wn option or feature, the connection)-.275 E(MUST be reset.)111.8 381.8
Q 7.15<8344>100.8 398.4 S
(CCP processors MUST anticipate the possibility of unkno)-7.15 E
(wn feature v)-.275 E(alues, which)-.275 E(might occur as part of a ne)
111.8 411.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)111.8 424.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)
111.8 437.4 Q(wn v)-.275 E(alues, the result of the ne)-.275 E
(gotiation cannot be an)-.165 E(unkno)111.8 450.4 Q(wn v)-.275 E 2.75
(alue. A)-.275 F(DCCP SHOULD reset the connection if it is assigned an)
2.75 E(unacceptable v)111.8 463.4 Q(alue for some non-ne)-.275 E
(gotiable feature.)-.165 E 7.15<8345>100.8 480 S(ach DCCP e)-7.15 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)
111.8 493 Q(xtension not a)-.165 E -.275(va)-.22 G 2.75(ilable". If).275
F(an e)2.75 E(xtended DCCP w)-.165 E(ants)-.11 E(to use the e)111.8 506
Q(xtension, it SHOULD attempt to change the feature')-.165 E 2.75(sv)
-.605 G(alue using a Change L)-3.025 E(or Change R option.)111.8 519 Q
(An)5.5 E 2.75(yn)-.165 G(on-e)-2.75 E
(xtended DCCP will ignore the option, thus lea)-.165 E(ving the)-.22 E
(feature v)111.8 532 Q(alue at its def)-.275 E(ault, "e)-.11 E
(xtension not a)-.165 E -.275(va)-.22 G(ilable".).275 E
(Section 20 lists DCCP assigned numbers reserv)100.8 548.6 Q(ed for e)
-.165 E(xperimental and testing purposes.)-.165 E F1(17.)72 574.6 Q F2
(Middlebox Considerations)5.5 E F0
(This section describes properties of DCCP that \214re)100.8 591.2 Q
-.11(wa)-.275 G(lls, netw).11 E(ork address translators, and)-.11 E
(other middlebox)100.8 604.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 617.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 630.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 646.8 Q(ets pro)
-.11 E(vide information that may be useful)-.165 E
(for stateful middlebox)100.8 659.8 Q 2.75(es. W)-.165 F
(ith Service Code, a middlebox can tell what protocol a)-.44 E
(connection will use without relying on port numbers.)100.8 672.8 Q
(Middlebox)5.5 E(es can disallo)-.165 E 2.75(wa)-.275 G(ttempted)-2.75 E
(connections accessing une)100.8 685.8 Q
(xpected services by sending a DCCP-Reset with Reset Code 9,)-.165 E
("Bad Service Code".)100.8 698.8 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
711.8 Q 2.75(ya)-.165 G
(re really changing the service a connection is accessing.)-2.75 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)-.11 F
2.75(17. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(The Source and Destination Port \214elds are in the same pack)100.8 85
Q(et locations as the)-.11 E(corresponding \214elds in TCP and UDP)100.8
98 Q 2.75(,w)-1.221 G(hich may simplify some middlebox)-2.75 E
(implementations.)100.8 111 Q(Modifying DCCP Sequence Numbers and Ackno)
100.8 127.6 Q(wledgement Numbers is more tedious and)-.275 E
(dangerous than modifying TCP sequence numbers.)100.8 140.6 Q 2.75(Am)
5.5 G(iddlebox that added pack)-2.75 E(ets to, or)-.11 E(remo)100.8
153.6 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 166.6 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 179.6 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 192.6 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 205.6 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 218.6 Q
(Furthermore, if a middlebox completely)5.5 E
(changed sequence numbers, the DCCP-Mo)100.8 231.6 Q .33 -.165(ve m)
-.165 H(obility mechanism might stop w).165 E(orking.)-.11 E 1.76 -.88
(We t)100.8 244.6 T(herefore recommend that middlebox).88 E
(es not modify pack)-.165 E(et streams by adding or)-.11 E(remo)100.8
257.6 Q(ving pack)-.165 E(ets.)-.11 E
(Note that there is less need to modify DCCP')100.8 274.2 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 287.2 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 300.2 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 313.2 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 326.2 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 339.2 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 352.2 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 368.8 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 381.8 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 398.4 Q
(what unfriendly to "connection splicing" [SHHP00], in which clients')
-.275 E(connection attempts are intercepted, b)100.8 411.4 Q
(ut possibly later "spliced in" to e)-.22 E(xternal serv)-.165 E(er)
-.165 E(connections via sequence number manipulations.)100.8 424.4 Q
2.75(Ac)5.5 G(onnection splicer at minimum w)-2.75 E(ould)-.11 E(ha)
100.8 437.4 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 450.4 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
467 Q(stateful middlebox)100.8 480 Q(es.)-.165 E/F1 11/Times-Bold@0 SF
(18.)72 506 Q/F2 14/Times-Bold@0 SF(Relations to Other Speci\214cations)
5.5 E F1(18.1.)72 532 Q/F3 13/Times-Bold@0 SF(DCCP and R)5.5 E(TP)-.52 E
F0(The Real-T)100.8 548.6 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 561.6 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 574.6 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 587.6 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 600.6 Q(.)-1.221
E(There are tw)100.8 617.2 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 630.2 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 643.2 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 656.2 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 672.8 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 685.8 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(SR/RR pack)100.8 698.8 Q
(ets\) and via DCCP ackno)-.11 E(wledgement options.)-.275 E
(These feedback mechanisms)5.5 E(are potentially redundant.)100.8 711.8
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 724.8 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 -.385(Ko)72 769 S(hler/Handle).385 E
(y/Flo)-.165 E 224.76(yd Section)-.11 F 2.75(18.1. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(contain information not transmitted by R)100.8 85 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 98 Q(es the other redundant.)-.11 E
(Sending both types of feedback isn')100.8 114.6 Q 2.75(tp)-.198 G
(articularly costly either)-2.75 E 5.5(.R)-.605 G(TCP reports are sent)
-6.16 E(relati)100.8 127.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 2.75(,s)-1.221 G(ome)-2.75 E
(feedback mechanisms are e)100.8 140.6 Q(xpensi)-.165 E -.165(ve)-.275 G
(---Ack V).165 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 153.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 2.75(eb)
-.11 G(etween)-2.75 E
(16 and 32 bytes of options sent once per round trip time.)100.8 166.6 Q
(\(Reporting less frequently than)5.5 E(once per R)100.8 179.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 2.75
(et)-.88 G(herefore)-2.75 E(conclude that ackno)100.8 192.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 is not signi\214cantly higher).22 E
(than for R)100.8 205.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 222.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 235.2 Q(et loss reports sent in R)-.11 E(TCP Extended Reports \(R)
-.66 E(TCP XR\) Loss RLE Blocks can be)-.66 E(deri)100.8 248.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 261.2 Q
(Since DCCP implementations should pro)5.5 E(vide an)-.165 E
(API for application access to Ack V)100.8 274.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 287.2 Q
(ectors or R)-1.221 E(TCP Extended Report Loss RLE Blocks, b)-.66 E
(ut not)-.22 E(both.)100.8 300.2 Q(No)100.8 316.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 329.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 342.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 355.8 Q 5.5(.T)-.605 G(his is 4 bytes more)-5.5 E
(than a UDP header)100.8 368.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 381.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 394.8 Q(ets.)-.11
E(The DCCP sequence number cannot be inferred from the R)100.8 411.4 Q
(TP sequence number since it)-.66 E(increments on non-data pack)100.8
424.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
437.4 Q(TP sequence numbers)-.66 E(might be sent out of order)100.8
450.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 463.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 476.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 489.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 502.4 Q
(ed endpoints should use header compression.)-.165 E/F1 11/Times-Bold@0
SF(18.2.)72 528.4 Q/F2 13/Times-Bold@0 SF(Multiplexing Issues)5.5 E F0
(Since DCCP doesn')100.8 545 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 558 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 571 Q(vide b)-.165
E(uilt-in, SCTP-style support for multiple sub-)-.22 E<8d6f>100.8 584 Q
(ws.)-.275 E(Some applications might w)100.8 600.6 Q
(ant to share congestion control state among multiple DCCP)-.11 E<8d6f>
100.8 613.6 Q(ws that share the same source and destination addresses.)
-.275 E(This functionality could be)5.5 E(pro)100.8 626.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 639.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 652.6 Q
(xample.)-.165 E F1(19.)72 678.6 Q/F3 14/Times-Bold@0 SF
(Security Considerations)5.5 E F0(DCCP does not pro)100.8 695.2 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
708.2 Q -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(Ne)100.8 85 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 98 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 111 Q 2.75(yc)-.165 G(an guess)-2.75 E -.275(va)
100.8 124 S(lid sequence numbers.).275 E
(Thus, as long as endpoints choose initial sequence numbers well,)5.5 E
2.75(aD)100.8 137 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 150 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 163 Q(.)-.605 E
(This security property only holds assuming that DCCP')100.8 179.6 Q
2.75(sr)-.605 G(andom numbers are chosen)-2.75 E
(according to the guidelines in [RFC 1750].)100.8 192.6 Q(DCCP pro)100.8
209.2 Q(vides no protection ag)-.165 E(ainst attack)-.055 E
(ers that can snoop on data pack)-.11 E(ets.)-.11 E/F1 11/Times-Bold@0
SF(19.1.)72 235.2 Q/F2 13/Times-Bold@0 SF(Security Considerations f)5.5
E(or Mobility)-.325 E F0(Mobility slightly changes DCCP')100.8 251.8 Q
2.75(ss)-.605 G(ecurity properties by introducing a ne)-2.75 E 2.75(wm)
-.275 G(echanism by)-2.75 E(which an attack)100.8 264.8 Q
(er can hijack a connection.)-.11 E(This mechanism, DCCP-Mo)5.5 E -.165
(ve)-.165 G 2.75(,h).165 G(as the)-2.75 E(unfortunate property that, gi)
100.8 277.8 Q -.165(ve)-.275 G 2.75(nas).165 G
(uccessful attack, the victim could not realize that the)-2.75 E
(connection has been stolen---its connection w)100.8 290.8 Q
(ould simply be reset une)-.11 E(xpectedly)-.165 E(.)-.715 E(Ne)100.8
307.4 Q -.165(ve)-.275 G(rtheless, a DCCP attack).165 E
(er still must snoop on data pack)-.11 E(ets to get an)-.11 E 2.75(yr)
-.165 G(easonable)-2.75 E
(probability of success, since it must guess a v)100.8 320.4 Q
(alid Mobility ID.)-.275 E(Section 14.6 quanti\214es the)5.5 E
(probability of successful attack; with DCCP')100.8 333.4 Q 2.75(s1)
-.605 G(28-bit Mobility IDs, that probability is)-2.75 E(quite lo)100.8
346.4 Q -.715(w.)-.275 G F1(19.2.)72 372.4 Q F2
(Security Considerations f)5.5 E(or P)-.325 E(artial Checksums)-.13 E F0
(The partial checksum f)100.8 389 Q(acility has a separate security imp\
act, particularly in its interaction)-.11 E
(with authentication and encryption mechanisms.)100.8 402 Q
(The impact is the same in DCCP as in the)5.5 E
(UDP-Lite protocol, and what follo)100.8 415 Q(ws w)-.275 E
(as adapted from the corresponding te)-.11 E(xt in the UDP-)-.165 E
(Lite speci\214cation [UDP-LITE].)100.8 428 Q(When a DCCP pack)100.8
444.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 457.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 470.6 Q
(et has not changed in transit.)-.11 E(Unless)5.5 E
(authentication mechanisms that operate only on the sensiti)100.8 483.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 496.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 509.6 Q -.165(ve)-.165 G
(red part has been damaged.).165 E(The IPsec inte)100.8 526.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 539.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
552.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 565.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
581.8 Q(transport protocol of a pack)100.8 594.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 607.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 620.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 637.4 Q
-.165(ve)-.275 G(ls\) may be used.).165 E(Note that omitting an)5.5 E
(inte)100.8 650.4 Q(grity check can, under certain circumstances, compr\
omise con\214dentiality [BEL98].)-.165 E(If a fe)100.8 667 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 680 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 693 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 706 Q 2.75(ation. Proper)-.055 F
(use of stream ciphers can be quite dif)2.75 E(\214cult,)-.275 E(especi\
ally when authentication-checking is omitted [BB01]. In particular)100.8
719 Q 2.75(,a)-.44 G 2.75(na)-2.75 G(ttack)-2.75 E(er can)-.11 E -.385
(Ko)72 769 S(hler/Handle).385 E(y/Flo)-.165 E 224.76(yd Section)-.11 F
2.75(19.2. [P)2.75 F(age 79])-.165 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(cause predictable changes to the ultimate plainte)100.8 85 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 98 Q(xt.)-.165
E/F1 11/Times-Bold@0 SF(20.)72 124 Q/F2 14/Times-Bold@0 SF(IAN)5.5 E 3.5
(AC)-.28 G(onsiderations)-3.5 E F0(DCCP introduces se)100.8 140.6 Q
-.165(ve)-.275 G(ral sets of numbers whose v).165 E
(alues should be allocated by IAN)-.275 E 2.75(A. The)-.385 F(follo)
100.8 153.6 Q(wing sets of numbers should require an IETF standards-tra\
ck speci\214cation as a)-.275 E(prerequisite for ne)100.8 166.6 Q 2.75
(wr)-.275 G -.165(eg)-2.75 G(istrations.).165 E 7.15<8344>100.8 183.2 S
(CCP P)-7.15 E(ack)-.165 E(et T)-.11 E
(ypes 9 through 15 \(Section 5.1\).)-.88 E 7.15<8338>100.8 199.8 S
(-bit DCCP-Reset Codes \(Section 5.6\).)-7.15 E 7.15<8338>100.8 216.4 S
(-bit DCCP Option T)-7.15 E
(ypes \(Section 5.9\). The CCID-speci\214c options 128 through 255)-.88
E(need not be allocated by IAN)111.8 229.4 Q
(A, although particular CCIDs may request that IAN)-.385 E(A)-.385 E
(allocate their CCID-speci\214c options.)111.8 242.4 Q 7.15<8338>100.8
259 S(-bit DCCP Feature Numbers \(Section 6\). The CCID-speci\214c feat\
ures 128 through 255)-7.15 E(need not be allocated by IAN)111.8 272 Q
(A, although particular CCIDs may request that IAN)-.385 E(A)-.385 E
(allocate their CCID-speci\214c features.)111.8 285 Q 7.15<8338>100.8
301.6 S
(-bit DCCP Congestion Control Identi\214ers \(CCIDs\) \(Section 10\).)
-7.15 E 7.15<8341>100.8 318.2 S(ck V)-7.15 E
(ector States \(Section 11.4\). Only State 2 remains unallocated.)-1.221
E 7.15<8344>100.8 334.8 S
(ata Dropped Drop Codes 4 through 6 \(Section 11.7\).)-7.15 E(IAN)100.8
351.4 Q 2.75(As)-.385 G(hould also pro)-2.75 E(vide a re)-.165 E
(gistry for 32-bit Service Codes.)-.165 E(Re)5.5 E
(gistering a Service Code)-.165 E
(should not require a standards-track speci\214cation.)100.8 364.4 Q
(Our liberal proposed re)5.5 E(gistration rules)-.165 E
(for Service Codes are presented in detail in Section 8.1.2.)100.8 377.4
Q(Finally)100.8 394 Q 2.75(,D)-.715 G
(CCP requires a Protocol Number to be added to the re)-2.75 E
(gistry of Assigned Internet)-.165 E(Protocol Numbers.)100.8 407 Q
(Protocol Number 33 has informally been made a)5.5 E -.275(va)-.22 G
(ilable for).275 E -.165(ex)100.8 420 S(perimental DCCP use, b).165 E
(ut this number may change in future.)-.22 E(The follo)100.8 436.6 Q
(wing DCCP assigned numbers should be reserv)-.275 E
(ed speci\214cally for e)-.165 E(xperimental)-.165 E
(and testing use [RFC 3692]: pack)100.8 449.6 Q
(et type 15, option number 31, option numbers 120)-.11 E(through 126, f\
eature numbers 120 through 126, Reset Codes 248 through 254, and CCID)
100.8 462.6 Q(254.)100.8 475.6 Q F1(21.)72 501.6 Q F2(Thanks)5.5 E F0
(Thanks to Jitendra P)100.8 518.2 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 534.8 Q
(enkataramani, who, as interns at ICIR, b)-1.221 E(uilt a prototype)-.22
E(DCCP implementation.)100.8 547.8 Q(In particular)5.5 E 2.75(,J)-.44 G
(unwen Lai recommended that the old feature)-2.75 E(ne)100.8 560.8 Q(go\
tiation mechanism be scrapped and helped design the current mechanism, \
and Arun)-.165 E -1.221(Ve)100.8 573.8 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 590.4 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 603.4 Q
(ransport Area W)-.385 E(orking Group for their)-.88 E(feedback on DCCP)
100.8 616.4 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 629.4 Q
(esterlund for detailed written comments and problem spotting,)-.88 E
(and Rob Austein and Ste)100.8 642.4 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 659 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
672 Q 2.75(,P)-.44 G(atrick McManus, Sara Karlber)-2.915 E(g,)-.198 E
-.275(Kev)100.8 685 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 698 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 711 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.)-.88 E -.385(Ko)72 769 S
(hler/Handle).385 E(y/Flo)-.165 E 233.01(yd Section)-.11 F 2.75(21. [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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 11/Times-Bold@0 SF(A.)72
85 Q/F2 14/Times-Bold@0 SF -.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 101.6 Q
(wledgement handling, in the conte)-.275 E(xt of)-.165 E
(an abstract implementation for Ack V)100.8 114.6 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 131.2
Q -.165(ve)-.275 G .88 -.44(r, a).165 H(nd therefore ackno).44 E
(wledges)-.275 E(data pack)100.8 144.2 Q 2.75(ets. It)-.11 F
(generates Ack V)2.75 E(ector options.)-1.221 E
(The implementation has the follo)5.5 E(wing)-.275 E(characteristics:)
100.8 157.2 Q 7.15<8341>100.8 173.8 S 2.75(tm)-7.15 G
(ost one byte of state per ackno)-2.75 E(wledged pack)-.275 E(et.)-.11 E
7.15<834f>100.8 190.4 S(\(1\) time to update that state when a ne)-7.15
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 7.15<8343>100.8 207 S(umulati)-7.15 E .33
-.165(ve a)-.275 H(ckno).165 E(wledgements.)-.275 E 7.15<8351>100.8
223.6 S(uick remo)-7.15 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 240.2
Q(uf)-.22 E(fer containing information about ackno)-.275 E(wledged)-.275
E(pack)100.8 253.2 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 266.2 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 279.2 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
7.15<8322>100.8 295.8 S -.22(bu)-7.15 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 7.15<8322>100.8
312.4 S -.22(bu)-7.15 G(f_ackno", the Ackno).22 E
(wledgement Number of the most recent pack)-.275 E(et ackno)-.11 E
(wledged in)-.275 E(the b)111.8 325.4 Q(uf)-.22 E(fer)-.275 E 5.5(.T)
-.605 G(his corresponds to the "head" pointer)-5.5 E(.)-.605 E 7.15
<8322>100.8 342 S -.22(bu)-7.15 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 2.75(na)-2.75 G(ll)-2.75 E(pack)111.8 355 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 371.6 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/F3 11
/Courier@0 SF
(+-------------------------------------------------------------------+)
114 390.6 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 403.6 R
(+-------------------------------------------------------------------+)
114 416.6 Q 151.8(^^)206.4 429.6 S 52.8(buf_tail buf_head,)186.6 442.6 R
(buf_ackno = A)6.6 E(buf_nonce = E)33 E
(<=== buf_head and buf_tail move this way <===)193.2 468.6 Q F0(Each `)
100.8 487.6 Q F3(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 500.6 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
513.6 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 F3
(+-----------------------------------------------+)120.6 532.6 Q 6.6(A|)
107.4 545.6 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
558.6 Q F0(Here, b)100.8 577.6 Q(uf_nonce equals E and b)-.22 E
(uf_ackno equals A.)-.22 E(This smaller Example Buf)5.5 E(fer contains)
-.275 E(actual data.)100.8 590.6 Q F3(+---------------------------+)
160.2 609.6 Q(10 |0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 622.6 Q 13.2
(BN[1] [Example)26.4 F(Buffer])6.6 E(+---------------------------+)160.2
635.6 Q F0(In concrete terms, its meaning is as follo)100.8 654.6 Q(ws:)
-.275 E -.165(Pa)129.6 671.2 S(ck).165 E(et 10 w)-.11 E(as recei)-.11 E
-.165(ve)-.275 G 2.75(d. \(The).165 F(head of the b)2.75 E(uf)-.22 E
(fer has sequence number 10, state 0,)-.275 E(and run length 0.\))129.6
684.2 Q -.165(Pa)129.6 700.8 S(ck).165 E(ets 9, 8, and 7 ha)-.11 E .33
-.165(ve n)-.22 H(ot yet been recei).165 E -.165(ve)-.275 G 2.75
(d. \(The).165 F(three bytes preceding the head)2.75 E(each ha)129.6
713.8 Q .33 -.165(ve s)-.22 H(tate 3 and run length 0.\)).165 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 81])-.165 E 0 Cg EP
%%Page: 82 82
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E -.165(Pa)129.6 85 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 101.6 S(ck).165 E(et 1 w)-.11 E(as ECN mark)-.11 E(ed.)
-.11 E -.165(Pa)129.6 118.2 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 134.8 Q(ets 10, 6, 5, 4, 3, 2, and 0 equals 1.)-.11 E
(Additionally)100.8 151.4 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 164.4 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 7.15<8322>
100.8 181 S(ack_seqno", the Sequence Number used for the pack)-7.15 E
2.75(et. This)-.11 F(is an HC-Recei)2.75 E -.165(ve)-.275 G(r).165 E
(sequence number)111.8 194 Q(.)-.605 E 7.15<8322>100.8 210.6 S
(ack_ptr", the v)-7.15 E(alue of b)-.275 E(uf_head at the time of ackno)
-.22 E(wledgement.)-.275 E 7.15<8322>100.8 227.2 S
(ack_ackno", the Ackno)-7.15 E(wledgement Number used for the pack)-.275
E 2.75(et. This)-.11 F(is an HC-Sender)2.75 E(sequence number)111.8
240.2 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)111.8
253.2 Q(ets ackno)-.11 E(wledged by this)-.275 E(Ack V)111.8 266.2 Q
(ector)-1.221 E(.)-.605 E 7.15<8322>100.8 282.8 S
(ack_nonce", the one-bit sum of the ECN Nonces for all State 0 pack)
-7.15 E(ets in the b)-.11 E(uf)-.22 E(fer)-.275 E(from b)111.8 295.8 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)111.8 308.8 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)111.8 321.8 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)111.8 334.8 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 di)
-.22 E -.165(ve)-.275 G -.198(rg).165 G(e\),).198 E(and as old pack)
111.8 347.8 Q(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 373.8 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 390.4 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 403.4 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 429.4 R -.11(Pa)2.75 G(ck).11 E(ets)-.11 E F0
(When a pack)100.8 446 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 459 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 472 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 485 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 498 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 511 Q
(ed with stars\):)-.11 E/F3 11/Courier@0 SF
(** +***----------------------------+)140.4 530 Q
(11 |1,0|0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0)140.4 543 Q(BN[1])26.4 E
(** +***----------------------------+)140.4 556 Q F0(If the pack)100.8
575 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 588 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 601 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 614 Q F3
(** +--*------------------------+)166.8 633 Q
(11 |0,1|3,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 646 Q(BN[1])26.4 E
(** +--*------------------------+)166.8 659 Q F0(Of course, the ne)100.8
678 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 691 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 704 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 717 Q
(ger run length; this simpli\214es table updates if)-.198 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 82])-.165 E 0 Cg EP
%%Page: 83 83
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(one of the missing pack)
100.8 85 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 98 Q
(fer w)-.275 E(ould enter this state:)-.11 E/F1 11/Courier@0 SF
(** +*******----------------------------+)114 117 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 130 Q(BN[0])26.4 E
(** +*******----------------------------+)114 143 Q(*)59.4 E F0
(Of course, the circular b)100.8 162 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 175
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 188 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 201 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 214 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 227 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 240 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 266 R -.11(Pa)2.75 G
(ck).11 E(ets)-.11 E F0(When a pack)100.8 282.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 295.6 Q
(\(Inde)5.5 E(xing structures could reduce the)-.165 E(comple)100.8
308.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 321.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
334.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 347.6 Q F1(+--------*------------------+)186.6 366.6
Q(10 |0,0|3,0|0,0|3,0|0,4|1,0|0,0| 0)166.8 379.6 Q(BN[1])26.4 E
(+--------*------------------+)186.6 392.6 Q F0(If S w)100.8 411.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 424.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 437.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 450.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 463.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
480.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 493.2 Q
(implementation should \215ip the v)100.8 506.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 519.2 Q
(It is impossible with this data structure to shift pack)100.8 535.8 Q
(ets from State 0 to State 1, since the)-.11 E -.22(bu)100.8 548.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 574.8 Q/F3 13
/Times-Bold@0 SF(Sending Ackno)5.5 E(wledgements)-.13 E F0(Whene)100.8
591.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 604.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 617.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
630.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 643.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 656.4 Q
(ying it; either operation is simple.)-.11 E(Ev)100.8 673 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
686 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 702.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 715.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
-.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 83])-.165 E 0 Cg EP
%%Page: 84 84
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E
(should be split at points corresponding to pre)100.8 85 Q(vious ackno)
-.275 E(wledgements, since the stored)-.275 E(ack_nonce \214elds pro)
100.8 98 Q(vide enough information to calculate correct Nonce Echoes.)
-.165 E(The)5.5 E(implementation should therefore ackno)100.8 111 Q
(wledge data at least once per 253 bytes of b)-.275 E(uf)-.22 E(fer)
-.275 E 2.75(state. \(Otherwise,)100.8 124 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 140.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 153.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 166.6 Q(uf_head; ack_ackno will equal b)-.22
E(uf_ackno; and ack_nonce will equal)-.22 E -.22(bu)100.8 179.6 S
(f_nonce.).22 E/F1 11/Times-Bold@0 SF(A.3.)72 205.6 Q/F2 13/Times-Bold@0
SF(Clearing State)5.5 E F0(Some of the HC-Sender')100.8 222.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 235.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 248.2 Q
(wledgement record R with the appropriate ack_seqno, then:)-.275 E 7.15
<8353>100.8 264.8 S(ets b)-7.15 E(uf_tail to R.ack_ptr + 1.)-.22 E 7.15
<8349>100.8 281.4 S 2.75(fR)-7.15 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.)111.8 294.4 Q 7.15<8354>100.8 311 S
(hro)-7.15 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
327.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 340.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 353.6 Q(wledgements already:)-.275 E 17.8(1. ack_seqno)100.8 370.2
R 2.75(=5)2.75 G(9, ack_ackno = 3, ack_nonce = 1.)-2.75 E 17.8
(2. ack_seqno)100.8 386.8 R 2.75(=6)2.75 G
(0, ack_ackno = 10, ack_nonce = 0.)-2.75 E(Say the HC-Recei)100.8 403.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 416.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 429.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 442.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 455.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 474.4 Q(*)46.2 E
(10 |0,0|3,0|3,0|3,0|0,2| 4)166.8 487.4 Q(BN[0])26.4 E
(+------------------*+ *)186.6 500.4 Q(*)46.2 E F0(The tail byte')100.8
519.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 532.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 545.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 set to 1\).)100.8 558.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 HC-)-2.75 E(Recei)100.8 571.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 588 S
(areful implementation might try to ensure reasonable rob)-2.75 E
(ustness to reordering.)-.22 E(Suppose that the Example Buf)100.8 601 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 614 R -.22(bu)2.75 G -.275(ff).22 G(er w).275 E
(ould enter this state:)-.11 E F3(+----*----------------------+)186.6
633 Q(10 |0,0|0,0|3,0|3,0|0,4|1,0|0,0| 0)166.8 646 Q(BN[1])33 E
(+----*----------------------+)186.6 659 Q F0
(The danger is that the HC-Sender might ackno)100.8 678 Q(wledge the)
-.275 E/F4 11/Symbol SF(R)2.75 E F0(2')A 2.75(sp)-.605 G(re)-2.75 E
(vious ackno)-.275 E(wledgement)-.275 E
(\(with sequence number 60\), which says that P)100.8 691 Q(ack)-.165 E
(et 9 w)-.11 E(as not recei)-.11 E -.165(ve)-.275 G(d, before the HC-)
.165 E(Recei)100.8 704 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 actually w)-.11 E(as)
-.11 E(recei)100.8 717 Q -.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 its)-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 84])-.165 E 0 Cg EP
%%Page: 85 85
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(ackno)100.8 85 Q
(wledgement record to:)-.275 E 17.8(1. ack_seqno)100.8 101.6 R 2.75(=5)
2.75 G(9, ack_ackno = 3, ack_nonce = 1.)-2.75 E 17.8(2. ack_seqno)100.8
118.2 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 134.8 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 147.8
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 160.8 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 186.8 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 203.4 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
216.4 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 229.4 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 242.4 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 255.4 Q
(ets change states between ackno)-.11 E
(wledgements, or in case the application queries)-.275 E(whether a pack)
100.8 268.4 Q(et arri)-.11 E -.165(ve)-.275 G(d.\)).165 E
(The HC-Sender must also ackno)100.8 285 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 298 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 311 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 324 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 337 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 350
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 363 Q(DataAck pack)100.8 376 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 389 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 402 Q
(If the HC-Sender is not sending data, then the HC-)5.5 E(Recei)100.8
415 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 428 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 441 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 454 Q
(If the other half-connection is not quiescent---that is, the HC-Recei)
100.8 470.6 Q -.165(ve)-.275 G 2.75(ri).165 G 2.75(ss)-2.75 G
(ending data to)-2.75 E(the HC-Sender)100.8 483.6 Q 2.75(,p)-.44 G
(ossibly using another CCID---then the ackno)-2.75 E
(wledgements on that half-)-.275 E(connection are suf)100.8 496.6 Q
(\214cient for the HC-Recei)-.275 E -.165(ve)-.275 G 2.75(rt).165 G 2.75
(of)-2.75 G(ree its state.)-2.75 E F1(B.)72 522.6 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 539.2 Q(design.)100.8 552.2 Q F1(B.1.)72
578.2 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 594.8 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 607.8 Q -.165(ve)
-.165 G 2.75(rt).165 G(he complete pack)-2.75 E(et.)-.11 E(Man)100.8
624.4 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 637.4 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 650.4 Q 2.75(xample. These)-.165 F
(resilient applications might prefer to recei)100.8 663.4 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 676.4 Q 2.75(et. This)-.11 F
(is particularly because of congestion control: DCCP cannot tell the)
2.75 E(dif)100.8 689.4 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 702.4 Q 5.5(.T)-.715 G(his response may)-5.5 E
(cause the connection to recei)100.8 715.4 Q .33 -.165(ve l)-.275 H
(ess bandwidth than it is due; corruption in some).165 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 85])-.165 E 0 Cg EP
%%Page: 86 86
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E(netw)100.8 85 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 98 Q
(ets do not need to cause as strong a reduction in transmission rate)
-.11 E(as the congestion response w)100.8 111 Q
(ould dictate \(so long as the DCCP header and options are not)-.11 E
(corrupt\).)100.8 124 Q(Thus DCCP allo)100.8 140.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 153.6 Q(If the application)5.5 E(cannot tolerate an)100.8 166.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 179.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 192.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 205.6 Q(c\
hecksumming of the application data, it may do so by including the Data\
 Checksum)100.8 218.6 Q 2.75(option. This)100.8 231.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 244.6
Q(ork congestion.)-.11 E(Thus, from the application point of vie)100.8
261.2 Q 1.43 -.715(w, p)-.275 H
(artial checksums seem to be a desirable feature.).715 E(Ho)100.8 274.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 287.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
300.2 Q(ould be restricted to)-.11 E
(corruption that occurred in routers and other places not co)100.8 313.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 326.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 339.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 352.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 365.2 Q
(In addition, partial checksums do not co-e)100.8 381.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 394.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 407.8 Q(xist with partial)-.165 E
(checksums, the authentication must be carried in the application data.)
100.8 420.8 Q 2.75(Ap)5.5 G(ossible mode of)-2.75 E(usage w)100.8 433.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 446.8 Q
(gotiation and state machine from for)-.165 E(ged)-.198 E(pack)100.8
459.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 472.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 485.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
498.8 Q(forms of man-in-the-middle attacks because the application data\
 is not tightly coupled to)100.8 511.8 Q(the pack)100.8 524.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 537.8 Q
(vide a reasonably complete security solution.)-.165 E(The o)100.8 550.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 563.8 Q
(On balance, the authors belie)100.8 580.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 593.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 606.4 Q
(orth including them at this time.)-.11 E(It remains to be seen)5.5 E
(whether the)100.8 619.4 Q 2.75(ya)-.165 G(re useful in practice.)-2.75
E/F1 14/Times-Bold@0 SF(Normati)72 645.4 Q .28 -.14(ve R)-.14 H(efer).14
E(ences)-.252 E F0([RFC 793] J. Postel, editor)100.8 662 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 678.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 695.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 708.2 Q 5.5(.R)
-.715 G(FC 1750.)-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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E([RFC 2026] S. Bradner)100.8
85 Q 5.5(.T)-.605 G(he Internet Standards Process---Re)-5.5 E(vision 3.)
-.275 E(RFC 2026.)5.5 E([RFC 2119] S. Bradner)100.8 101.6 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 114.6 Q([RFC 2460] S. Deering and R. Hinden.)
100.8 131.2 Q(Internet Protocol, V)5.5 E
(ersion 6 \(IPv6\) Speci\214cation.)-1.221 E(RFC 2460.)129.6 144.2 Q
([RFC 3168] K.K. Ramakrishnan, S. Flo)100.8 160.8 Q(yd, and D. Black.)
-.11 E(The Addition of Explicit)5.5 E
(Congestion Noti\214cation \(ECN\) to IP)129.6 173.8 Q 5.5(.R)-1.221 G
(FC 3168.)-5.5 E([RFC 3309] J. Stone, R. Ste)100.8 190.4 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 203.4 Q(RFC 3309.)5.5 E
([RFC 3692] T)100.8 220 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 233 Q([UDP-LITE] L-A. Larzon, M. De)100.8 249.6 Q
(germark, S. Pink, L-E. Jonsson \(editor\), and G. F)-.165 E(airhurst)
-.165 E 2.75(\(editor\). The)129.6 262.6 R(UDP-Lite Protocol.)2.75 E
(draft-ietf-tsvwg-udp-lite-02.txt, w)5.5 E(ork in progress,)-.11 E
(August 2003.)129.6 275.6 Q/F1 14/Times-Bold@0 SF(Inf)72 301.6 Q(ormati)
-.35 E .28 -.14(ve R)-.14 H(efer).14 E(ences)-.252 E F0
([BB01] S.M. Bello)100.8 318.2 Q(vin and M. Blaze.)-.165 E
(Cryptographic Modes of Operation for the Internet.)5.5 E(2nd NIST W)
129.6 331.2 Q(orkshop on Modes of Operation, August 2001.)-.88 E
([BEL98] S.M. Bello)100.8 347.8 Q 2.75(vin. Cryptograph)-.165 F 2.75(ya)
-.055 G(nd the Internet.)-2.75 E(Proc. CR)5.5 E(YPT)-.715 E 2.75(O')
-.198 G(98 \(LNCS)-2.75 E(1462\), pp46-55, August, 1988.)129.6 360.8 Q
([CCID 2 PR)100.8 377.4 Q(OFILE] S. Flo)-.44 E(yd and E. K)-.11 E(ohler)
-.385 E 5.5(.P)-.605 G(ro\214le for DCCP Congestion Control ID 2:)-5.5 E
(TCP-lik)129.6 390.4 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 403.4 Q([CCID 3 PR)100.8 420 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 433 Q
(draft-ietf-dccp-ccid3-05.txt, w)5.5 E(ork in)-.11 E
(progress, February 2004.)129.6 446 Q([LINK BCP] Phil Karn, editor)100.8
462.6 Q 5.5(.A)-.605 G(dvice for Internet Subnetw)-5.5 E(ork Designers.)
-.11 E(draft-ietf-pilc-)5.5 E(link-design-13.txt, w)129.6 475.6 Q
(ork in progress, February 2003.)-.11 E([M85] Robert T)100.8 492.2 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 505.2 Q(echnical Report 117, A)-.77 E
(T&T Bell Laboratories, Murray Hill, NJ, February)-1.221 E(1985.)129.6
518.2 Q([PMTUD] Matt Mathis, John Hef)100.8 534.8 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-00.txt, w)129.6 547.8 Q
(ork in progress, October 2003.)-.11 E([RFC 792] J. Postel, editor)100.8
564.4 Q 5.5(.I)-.605 G(nternet Control Message Protocol.)-5.5 E
(RFC 792.)5.5 E([RFC 1948] S. Bello)100.8 581 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 597.6 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 610.6 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 623.6 Q([RFC 3124] H. Balakrishnan and S. Seshan.)100.8
640.2 Q(The Congestion Manager)5.5 E 5.5(.R)-.605 G(FC 3124.)-5.5 E
([RFC 3448] M. Handle)100.8 656.8 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 669.8 Q(RFC 3448.)5.5 E
([RFC 3517] E. Blanton, M. Allman, K. F)100.8 686.4 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 699.4 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 -.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 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E([RFC 3540] N. Spring, D. W)
100.8 85 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 98 Q(RFC 3540.)5.5 E
([RFC 3550] H. Schulzrinne, S. Casner)100.8 114.6 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 127.6
Q(ime Applications.)-.385 E(RFC 3550.)5.5 E([SB00] Ale)100.8 144.2 Q
2.75(xC)-.165 G 2.75(.S)-2.75 G(noeren and Hari Balakrishnan.)-2.75 E
(An End-to-End Approach to Host)5.5 E(Mobility)129.6 157.2 Q 5.5(.P)
-.715 G(roc. 6th Annual A)-5.5 E
(CM/IEEE International Conference on Mobile)-.44 E(Computing and Netw)
129.6 170.2 Q(orking \(MOBICOM '00\), August 2000.)-.11 E([SHHP00] Oli)
100.8 186.8 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 199.8 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 212.8 Q
([SYNCOOKIES] Daniel J. Bernstein.)100.8 229.4 Q(SYN Cookies.)5.5 E
(http://cr)5.5 E(.yp.to/syncookies.html, as of)-.605 E(July 2003.)129.6
242.4 Q/F1 14/Times-Bold@0 SF -.7(Au)72 268.4 S(thors' Addr).7 E(esses)
-.252 E F0(Eddie K)100.8 287.4 Q(ohler <k)-.385 E(ohler@cs.ucla.edu>)
-.11 E(4531C Boelter Hall)100.8 300.4 Q
(UCLA Computer Science Department)100.8 313.4 Q(Los Angeles, CA 90095)
100.8 326.4 Q(USA)100.8 339.4 Q(Mark Handle)100.8 365.4 Q 2.75(y<)-.165
G(M.Handle)-2.75 E(y@cs.ucl.ac.uk>)-.165 E
(Department of Computer Science)100.8 378.4 Q(Uni)100.8 391.4 Q -.165
(ve)-.275 G(rsity Colle).165 E(ge London)-.165 E(Go)100.8 404.4 Q
(wer Street)-.275 E(London WC1E 6BT)100.8 417.4 Q(UK)100.8 430.4 Q
(Sally Flo)100.8 456.4 Q(yd <\215o)-.11 E(yd@icir)-.11 E(.or)-.605 E(g>)
-.198 E(ICSI Center for Internet Research)100.8 469.4 Q
(1947 Center Street, Suite 600)100.8 482.4 Q(Berk)100.8 495.4 Q(ele)-.11
E 1.43 -.715(y, C)-.165 H 2.75(A9).715 G(4704)-2.75 E(USA)100.8 508.4 Q
F1(Intellectual Pr)72 540.4 Q(operty Notice)-.252 E F0(The IETF has bee\
n noti\214ed of intellectual property rights claimed in re)100.8 557 Q
-.055(ga)-.165 G(rd to some or all).055 E
(of the speci\214cation contained in this document, particularly re)
100.8 570 Q -.055(ga)-.165 G(rding support for mobility).055 E(.)-.715 E
-.165(Fo)100.8 583 S 2.75(rm).165 G
(ore information consult the online list of claimed rights.)-2.75 E
(The IETF tak)100.8 599.6 Q(es no position re)-.11 E -.055(ga)-.165 G
(rding the v).055 E(alidity or scope of an)-.275 E 2.75(yi)-.165 G
(ntellectual property or)-2.75 E(other rights that might be claimed to)
100.8 612.6 Q(pertain to the implementation or use of the)5.5 E
(technology described in this document or the e)100.8 625.6 Q
(xtent to which an)-.165 E 2.75(yl)-.165 G(icense under such rights)
-2.75 E(might or might not be a)100.8 638.6 Q -.275(va)-.22 G
(ilable; neither does it represent that it has made an).275 E 2.75(ye)
-.165 G -.275(ff)-2.75 G(ort to).275 E(identify an)100.8 651.6 Q 2.75
(ys)-.165 G(uch rights.)-2.75 E(Information on the IETF')5.5 E 2.75(sp)
-.605 G(rocedures with respect to rights in)-2.75 E(standards-track and\
 standards-related documentation can be found in BCP-11.)100.8 664.6 Q
(Copies of)5.5 E(claims of rights made a)100.8 677.6 Q -.275(va)-.22 G
(ilable for publication and an).275 E 2.75(ya)-.165 G
(ssurances of licenses to be made)-2.75 E -.22(av)100.8 690.6 S(ailable\
, or the result of an attempt made to obtain a general license or permi\
ssion for the)-.055 E(use of such proprietary rights by implementors or\
 users of this speci\214cation can be)100.8 703.6 Q
(obtained from the IETF Secretariat.)100.8 716.6 Q -.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
%%Page: 89 89
%%BeginPageSetup
BP
%%EndPageSetup
/F0 11/Times-Roman@0 SF(INTERNET)72 49 Q 72.802(-DRAFT Expires:)-1.012 F
(August 2004)2.75 E(February 2004)103.569 E/F1 14/Times-Bold@0 SF
(Full Copyright Statement)72 85 Q F0(Cop)100.8 101.6 Q
(yright \(C\) The Internet Society \(2004\).)-.11 E(All Rights Reserv)
5.5 E(ed.)-.165 E(This document and translations of it may be copied an\
d furnished to others, and deri)100.8 118.2 Q -.275(va)-.275 G(ti).275 E
-.165(ve)-.275 G -.11(wo)100.8 131.2 S
(rks that comment on or otherwise e).11 E
(xplain it or assist in its implementation may be)-.165 E
(prepared, copied, published and distrib)100.8 144.2 Q
(uted, in whole or in part, without restriction of an)-.22 E(y)-.165 E
(kind, pro)100.8 157.2 Q(vided that the abo)-.165 E .33 -.165(ve c)-.165
H(op).165 E(yright notice and this paragraph are included on all such)
-.11 E(copies and deri)100.8 170.2 Q -.275(va)-.275 G(ti).275 E .33
-.165(ve w)-.275 H 2.75(orks. Ho).055 F(we)-.275 E -.165(ve)-.275 G .88
-.44(r, t).165 H(his document itself may not be modi\214ed in an).44 E
(y)-.165 E -.11(wa)100.8 183.2 S 1.43 -.715(y, s).11 H(uch as by remo)
.715 E(ving the cop)-.165 E
(yright notice or references to the Internet Society or other)-.11 E
(Internet or)100.8 196.2 Q -.055(ga)-.198 G(nizations, e).055 E
(xcept as needed for the purpose of de)-.165 E -.165(ve)-.275 G
(loping Internet standards in).165 E(which case the procedures for cop)
100.8 209.2 Q
(yrights de\214ned in the Internet Standards process must be)-.11 E
(follo)100.8 222.2 Q
(wed, or as required to translate it into languages other than English.)
-.275 E(The limited permissions granted abo)100.8 238.8 Q .33 -.165
(ve a)-.165 H(re perpetual and will not be re).165 E -.22(vo)-.275 G
-.11(ke).22 G 2.75(db).11 G 2.75(yt)-2.75 G(he)-2.75 E
(Internet Society or its successors or assigns.)100.8 251.8 Q
(This document and the information contained herein is pro)100.8 268.4 Q
(vided on an "AS IS" basis and)-.165 E
(THE INTERNET SOCIETY AND THE INTERNET ENGINEERING T)100.8 281.4 Q
(ASK FORCE)-1.023 E(DISCLAIMS ALL W)100.8 294.4 Q
(ARRANTIES, EXPRESS OR IMPLIED, INCLUDING B)-1.32 E(UT NO)-.11 E(T)-.44
E(LIMITED T)100.8 307.4 Q 2.75(OA)-.198 G(NY W)-2.75 E(ARRANTY THA)-1.32
E 2.75(TT)-1.221 G(HE USE OF THE INFORMA)-2.75 E(TION HEREIN)-1.221 E
(WILL NO)100.8 320.4 Q 2.75(TI)-.44 G
(NFRINGE ANY RIGHTS OR ANY IMPLIED W)-2.75 E(ARRANTIES OF)-1.32 E
(MERCHANT)100.8 333.4 Q(ABILITY OR FITNESS FOR A P)-1.023 E(AR)-1.012 E
(TICULAR PURPOSE.)-.66 E -.385(Ko)72 769 S(hler/Handle).385 E(y/Flo)
-.165 E 288.01(yd [P)-.11 F(age 89])-.165 E 0 Cg EP
%%Trailer
end
%%EOF

PAFTECH AB 2003-20262026-04-20 20:43:35