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

Re: [MirageOS-devel] mirageos 3.0 : let's break some APIs



On 2016-06-17 14:38, Hannes Mehnert wrote:
On 17/06/2016 11:26, Mindy wrote:
[snip]
* Some timers in TCP (lib/tcp/window.mli) currently compare wall clock
time to figure out whether they need to act.  Like ARP, I think these
could be refactored into sleeping threads, but since this code is much
more involved and has higher performance demands I'm hesitant to make
the claim boldly.  (There are a number of other apparent uses of Clock
in TCP, but they all ultimately lead to invocations Window.Make.)

I doubt there is much practical usage of ICMP and TCP timestamps (apart
from geolocation exposure (see e.g.
http://sec.cs.ucl.ac.uk/users/smurdoch/papers/ccs06hotornot.pdf).
[snip]

In high-throughput settings the sequence-no field can wrap, and this can result in distinct segments with the _same_ sequence number (and 5-tuple) being in-flight. Indeed, the segments' arrival order (wrt the original byte stream) might be changed as a result of the IP network. So what's the receiving end to do? It needs to distinguish these two segments somehow, and order them appropriately. I think that this was one of the problems that TCP timestamps sought to address, and it is rather practical (unless MirageOS's TCP stack is to be confined to slower networks). I think the details are in this RFC:
  http://www.ietf.org/rfc/rfc1323.txt
What an interesting discussion btw, loving it.
Best,
Nik

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.