[e2e] Stupid Question: Why are missing ACKs not considered as indicator for congestion?

David Borman 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  
>> actual
>> clock values, or that they be consistent across connections.  Each
>> connection can start at a random value for the starting point for  
>> ticks
>> 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  
> order
>       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.

			-David Borman

More information about the end2end-interest mailing list