udp transport PoC

coderman coderman at gmail.com
Wed May 14 17:36:33 UTC 2008


On Wed, May 14, 2008 at 9:16 AM, Camilo Viecco <cviecco at anml.iu.edu> wrote:
> ...
>  I do not agree here. The key to efficient use of a packet based network is
>  congestion control/avoidance.

absolutely, i'm just saying standard TCP congestion control will not
work effectively in userspace over UDP.


>  > the problem with trying for true tcp fairness in a datagram transport
>  > used among many peers in userspace is going to be timer resolution
>  > (especially on win32, but still problematic in *nix).
>  >
>  Dont thought of this before.  Do you know that from experience in userspace
>  network stacks or in some other projects?

i'll try and dig up research links.  much of this is from discussion
years ago on another list (p2p-hackers).

timer resolution in win32 makes any TCP over UDP implementation
unworkable; on *nix with non blocking I/O it is at least functional.


>  I dont like fractional bandwidth allocation because that implies allocation
>  of network resources beforehand and that could lead to DoS. However I do
>  like the idea of client enforced bandwidth allocation, to make all users
>  behave similarly (throughput wise) and to make  p2p users make a choice:
>  anonymity vs performance.

agreed, and the points i meant to imply about tcp fairness should not
be taken to mean no congestion control is needed; clearly that is not
true.

but rather, deal with congestion at a coarser level (the Tor DTLS
stack) and keep this larger subset of bandwidth below congestion at a
known fraction.

put another way, treat the UDP stack like a large ship, which cannot
handle the nimble TCP congestion avoidance overhead per session like a
jet ski.  it is a freighter, but you can still ensure it does not run
rough shod over all other traffic.

thanks for the responses.

best regards,



More information about the tor-dev mailing list