Re: addressed comments in draft-ietf-dccp-tfrc-rtt-option-01

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Abstract: "upward and downward" compatible => normally written "forward and backward"

Introduction: Doubt phrase "Standards Track" would survive WGLC.

1st sentence: move references to what they refer to.

   This document defines a Standards Track update to both a sender and
   receiver that implement DCCP CCID-3/4 [RFC4342], [RFC5622],
   addressing RTT estimation problems that were observed when using a
   real implementation.

2.1: I still don't understand all of this discussion. One concrete issue with the "fifth problem":

   To the receiver this condition will look as if the inter-packet gap
   suddenly doubled, meaning it will use samples of twice the actual
   RTT.

I don't see why. Say X before the loss event is 8 packets/RTT, and after it is 4 packets/RTT, and RTT=1s. Here are the window counters before:

      time   wctr
     0.000      1
     0.125      1
     0.250      2
     0.375      2
     0.500      3
       ...
     1.000      5
     1.125      5

After:

      time   wctr
     6.000      1
     6.250      2
     6.500      3

So where do you get that "inter-packet gap doubling causes samples of twice the actual RTT"? You are NOT supposed to use the inter-packet gap to calculate the RTT. You are supposed to use WINDOW COUNTERS plus inter-packet gaps. And the window counters have, correctly, been updated to the new sending rate: the quantity (average interpacket spacing / average wctr delta), which should equal R/4, has remained the same, namely the correct value of 0.25s.

It is important to place your work correctly and fairly, and this is simple to do. For instance, you could add the following sentence to the first paragraph of 2.1:

"Although some of these problems could be mitigated within the window counter framework, providing the receiver with more precise RTT information solves all the problems at once."

I would additionally like for the problem above to be more carefully described but that's not so important.

Section 2.2: Nicely done.

Section 3.2.2: "Values greater than 1 are invalid and MUST be ignored." => It is not clear what "ignoring" a value means. What about "Mandatory Change R(Send RTT Estimate, 2)"? This should not be ignored; the server must reset the connection if it doesn't understand value 2. Also, according to the RFCs, server-priority features like Send RTT Estimate do not have invalid values. (Second bullet of RFC4340, S6.6.8: "Note that server-priority features do not have value limitations, since unknown values are handled as a matter of course.") Other DCCP specifications say "Values of two or more are reserved." You should say this as well.

Section 3.3: "If the receiver has requested the use of the RTT Estimate Option" -- This is odd wording, since the sender can "request" the use of the RTT Estimate option via Change L. Did you mean to say "When the Send RTT Estimate feature is enabled"? Anyway you SHOULD say that.

The new text in 3.3 about "When the Send RTT Estimate feature is disabled" is fine.

Section 3.4: Nicely done.


So, modulo these comments, good!
Eddie



On 12/13/10 1:17 AM, Pasi Sarolahti wrote:
Thanks for the update!

Michael, Eddie -- are you happy with how your comments were addressed? If so, I think we can start WGLC.

- Pasi


On Dec 9, 2010, at 2:16 PM, Gerrit Renker wrote:

Thanks to everyone who commented on the first revision of the draft.

A new revsion, 01, has been uploaded which is in reply to the comments
posted earlier -- please see details below.

--------------------------------------------------------------------------------------------
From: Michael Welzl<michawe@xxxxxxxxxx>
Date: Wed, 3 Nov 2010 16:08:05 +0100
Subject:  Review of draft-ietf-dccp-tfrc-rtt-option-00.txt

Michael,

both I and Gorry would like to thank you very much indeed for your careful
reading of the draft. This has been a highly valuable help in identifying
issues that were important to get right.


1. You specify that after more than MAX_INVALID_RTT=2 successive 0-
valued RTT estimate options, the receiver MUST disregard all
subsequent RTT Estimate options.

Why isn't it good enough to just disregard all subsequent RTT Estimate
options until they carry a normal value again?
Since, upon negotiating the use of the option, a sender MUST use it,
your "disregard all subsequent .." rule means that there is no way for
a sender to not have a valid estimate for a while, and provide a valid
estimate again a bit later.

This and the complementary case below indicated that the previous scheme
had genuine problems. In revising this, we found a simpler scheme which
uses a moving average and reacts conservatively (back-off) in response
to no-number RTT Estimate Options. Please see the revised section 3.3
and the new section 3.4 for details.


2. two paragraphs below ("When receiving the special RTT Estimate
Option of value 0xFFFFFF, ..."), a similar problem appears - "the
receiver SHOULD NOT continue to sample the RTT" ......... until when?
Until the end of the connection?
This case is complementary to the 0-valued one, also addressed by the
new scheme.


Also, in the same paragraph, you write that it should take appropriate
measures to improve the connection's quality, e.g. by associating with
a different access point. This seems to stretch the abilities of a DCCP
receiver, so I'm  not sure if this is appropriate to write in this draft.

Correct, in response to your feedback this now has been removed.


Actually, although I like the idea of a special value meaning "the RTT
exceeds the bounds that we can specify", this paragraph makes me wonder
if the 0xFFFFFF value is really useful - I'd expect that continuous use
of a 0-value also means "we have a problem" for a receiver.

You are right, both values communicate a (problem) state, not a sample.

We would like to keep the different meanings of the two values:
(a) The 0-valued sample can be used to invalidate a previous series
     of samples, to tell the receiver that the sender does not have a
     valid RTT estimate.
(b) The 0xFFFFFF value indicates an out-of-bounds condition where a sample
     exists but is so large it can no longer be represented.
Having different semantics may also make sense for a future extension.


Editorial comments:

page 5 par 3: "compare [RFC5348]"  =>  is "compare" really the right
word here, isn't it rather "see"? I'm not a native speaker, so you're
more likely to be right than me  :)
Done.


par 5: the problem described by the first two sentences: "The fifth
and last problem is starvation under burst loss..." is not clear
enough.
Please see the ChangeLog and the posting on dccp@ietf -- the paragraph
has been rewritten from scratch, reducing the imprecise description to
what I believe is the problem (different rates of change, X and the RTT
used for the CCVal window counter algorithm).


page 6 par 1: "We are not aware..." - this text appears surprising,
because, at this point of the document, you have not yet presented
your method. Anyway what's the point of this statement? It feels a bit
like "defend an academic paper against its reviewers" language to me.
I suggest to remove it.
Done.


Page 7 par 2: "...which requires complex computations to avoid
aliasing effects." - again, this should probably be phrased a bit more
precisely, it's not intuitively clear to me how this counter causes
complex computations.
Simplified this sentence. What was perhaps confusing here is that it was
implicitly referring to the following paragraph of RFC 4342, sec. 10.2:

    "[...] the receiver only considers losses X and Y as separate loss
     events if there exists some packet S received between X and Y, with
     the distance from C(X_prev) to C(S) greater than 4. This complex
     calculation is necessary in order to handle the case window counter
     space wrapped completely between X and Y."

--------------------------------------------------------------------------------------------
From: Eddie Kohler<kohler@xxxxxxxxxxx>
Date: Fri, 05 Nov 2010 08:54:04 -0700
Subject: Re:  revised sender RTT estimate draft-ietf-dccp-tfrc-rtt-option-00.txt

Replacing this paragraph

    When the Send RTT Estimate Feature is disabled, the sender MUST NOT
    send RTT Estimate options on any of its packets, the receiver MUST
    ignore the RTT Estimate Option on all incoming packets, and SHOULD
    try to estimate the RTT in some other way (not specified by this
    document).

with

    When the Send RTT Estimate Feature is disabled, the receiver MUST
    estimate the RTT as previously specified in RFC4340/4342/5622.

would be acceptable, as I said.

Thank you, section 3.3 has been updated to now use the above text.
--------------------------------------------------------------------------------------------

Gerrit and Gorry



[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux