[e2e] Stupid Question: Why are missing ACKs not considered as indicator for congestion?
david.borman at windriver.com
Thu Feb 1 11:03:15 PST 2007
On Feb 1, 2007, at 12:45 PM, Joe Touch wrote:
> David Borman wrote:
>> Also, there is no requirement that the Timestamps values reflect
>> clock values, or that they be consistent across connections. Each
>> connection can start at a random value for the starting point for
>> on that connection. They can even represent different scales. PAWS
>> doesn't need to know what the timestamp values represent, it only
>> depends on the fact that the values are increasing over time.
> They need to represent 'real time'; the offset is irrelevant
> (except for
> PAWS, as you note), but it needs to be incremented in a realistic way:
> The timestamp value to be sent in TSval is to be obtained from a
> (virtual) clock that we call the "timestamp clock". Its values
> must be at least approximately proportional to real time, in
> to measure actual RTT.
> I don't see how they could represent different scales and be compliant
> with current spec, although, as you hint, the scale could be kept on a
> per connection basis, but that would be off-spec.
The key point of this part of the RFC is "in order to measure actual
RTT". Since it is the generator of the timestamp that does the
measurement, what is required is that when the timestamp comes back
to the sender, it knows what it represents and how to use that to
calculate the actual RTT. At a minimum, the sender has to keep state
about what scale is being used, since the RFC allows a whole range.
There is no requirement that the timestamp value have any meaning to
anyone except the sender of the timestamp, with the exception that
for PAWS the values being put into the timestamps option have to be
increasing over time, and not go backwards.
If an implementor chooses to implement a mapping scheme that
obfuscates the values that it puts into the Timestamps option, that
does not violate the the spirit of the RFC as long as the obfuscated
values kind of look like timestamps, i.e. they do not go backwards
over time and go up by at least 1 for every wrap of the sequence
space so that PAWS isn't broken.
More information about the end2end-interest