Leo,

For technical details of the Linux DCCP implementation, you are probably
better off asking on their mailing list at d...@vger.kernel.org
(http://vger.kernel.org/vger-lists.html#dccp)

That said, I've worked on the DCCP Linux implementation extensively, and
I don't believe there are any shared buffers between DCCP and TCP. They
are implemented as completely separate protocols.

As far as fairness between TCP and DCCP goes, if you're talking about OS
level fairness that should happen automatically as packets for each are
processed in turn as they arrive. You may observe some performance
differences since DCCP requires a system call to send/receive every
packet while TCP can accept large buffers from userspace and break them
into many packets. I've seen this to cause issues on virtual machines
running without virtualization extensions.

Protocol level fairness is more interesting. I would note that Linux
prior to 3.2 included a very broken implementation of CCID2 (see [1] for
details) so I'd make sure you are using a recent kernel. Beyond that, it
will heavily depend on which CCID you are using...

[1] http://www.spinics.net/lists/dccp/msg04459.html

--
Samuel Jero
Doctoral Student
Computer Science
Dependable and Secure Distributed Systems Lab
Purdue University
sj...@purdue.edu

On 11/30/2013 12:41 PM, Leo Osvald wrote:
> Hi folks,
>
> Might be a dumb question, but I would appreciate if someone could answer:
> 1) If I use DCCP protocol on Linux for one connection and TCP for 
> another and both connections send data concurrently, would they compete 
> for any (shared) buffer space in the OS, or they are completely 
> independent of each other?
> 2) If the buffers are independent, is there a good way to ensure 
> fairness, such that it doesn't happen that DCCP connection never gets 
> its turn because TCP connection is sending all the time?
>
> Thanks,
> Leo
>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to