[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: udp transport PoC
On Wed, May 14, 2008 at 9:16 AM, Camilo Viecco <cviecco@xxxxxxxxxxx> 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,