Re: DCCP buffer space shared with TCP?

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

 



Leo,

For technical details of the Linux DCCP implementation, you are probably better off asking on their mailing list at dccp@xxxxxxxxxxxxxxx (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
sjero@xxxxxxxxxx
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


[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux