Maybe we should rename the variable "s" to "the nominal packet size" instead
of "the packet size".
Eddie
Arjuna Sathiaseelan wrote:
Dear Eddie,
Thanks for your reply :). Please see inline:
Hello; we may have finally got to the root of the confusion.
Yes :)
HOWEVER, the implementation MUST apply its choice consistently. For
example, the application MUST NOT use average packet size to calculate
X_calc, and simultaneously use 's=MSS' to calculate t_ipi.
Does that help?
Yes, that's what I noted in point 1. The drafts should explicitly say
this IMHO (and may be the RFCs should be updated to say this).
- X_inst is always calculated using MSS, as the spec says.
- t_ipi is calculated using whatever the app is using for the packet
size variable "s", as the spec says. This might be MSS.
Do you mean when X_Inst = W_init/R?
If that is so, I don't think it is right (correct me if I am wrong). I
use MSS to calculate W_init and use s=160 bytes to calculate t_ipi,
that doesn't sound good to me (this will send a burst of size 16) :).
Have I have missed the point?
> * As pointed out in the earlier mails by Eddie, using a large
> "s" for X_calc and then using a small "s" for t_ipi.
No valid implementation would use a large "s" for X_calc and a small
"s" for t_ipi. They are the same variable and must take the same
value in both calculations. (If the app changes "s" between feedback
packets, then maybe the cached X_calc used a different value of "s"
than t_ipi; is this what you're worried about? But that seems like
such a corner case, I'd say the implementer can do whatever they want
-- either recalculate X_calc or use the old one until the next
feedback packet.)
Sorry. I meant the same things you mentioned here. The drafts should
clearly state this. The RFC should be corrected to also say this (do
we need an ERRATA?).
> 2)Make it clear on what "s" should be. We personally feel "s" can
> just be the average packet size since if the packet size is
> constant, then average of "s" is constant and if "s" is varying then
> averaging seems to be fine. We are still not able to decipher why we
> require MSS to be used as "s". Maybe we are mere mortals :)
OK, one more time.
- The implementation MAY calculate 's' using a moving average of
actual packet sizes over the last four loss intervals, OR
- The implementation MAY set 's=MSS'.
Whichever choice is made must be applied consistently, i.e., wherever
's' appears.
OK?
Yes, this looks fine to me.
-Arjuna
Eddie