@@ Page 21 @@ generic header's CCVal field on every data packet it sends. This value is set to 0 at the beginning of the transmission, and generally increased by 1 every quarter of a round-trip time, as - described in RFC 3448 (Section 3.2.1). For reference, the DCCP - generic header is as follows (diagram repeated from [DCCP], which - also shows the generic header with a 24-bit Sequence Number field). + described in RFC 3448 (Section 3.2.1). Window counters use circular + arithmetic modulo 16 for all operations, including comparisons; see + [DCCP] (Section 3.1) for more information on circular arithmetic. + For reference, the DCCP generic header is as follows (diagram + repeated from [DCCP], which also shows the generic header with a + 24-bit Sequence Number field). 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 @@ Page 30 @@ that is incremented every quarter of an RTT, as is the window counter in CCID 3. However, Section 5.2 in RFC 3448 on "Translation from Loss History to Loss Events" is written in terms of timestamps, - not in terms of window counters. In this section, we give an + not in terms of window counters. In this section, we give a procedure for the translation from loss history to loss events that is explicitly in terms of window counters. @@ Page 31 @@ In CCID 3, the window counter is used by the receiver to decide when to send feedback packets. RFC 3448 (Sections 6.1 and 6.2) specifies that the TFRC receiver sends a feedback packet when the new loss - event rate p is less that the old value. This rule is followed by + event rate p is less than the old value. This rule is followed by CCID 3. In addition, RFC 3448 (Section 6.2) specifies that the receiver uses