The question that I have is about TCP fairness: Say one Host ist transmitting data via UDP, while a second Host is transmitting data via TCP. Both of these Hosts use the same Ethernet connection. Would TCP acquire more bandwidth than UDP? And why so?

My idea: UDP does not care about reliability: It does not set up a path before the transmission starts, whereas TCP does through the famous three-way-handshake. UDP does not care about retransmissions, flow control or congestion control. TCP, however, takes care of all of these mechanisms. Therefore, I think, UDP should acquire more bandwidth - it starts transmitting as soon as it can and continues to do so until there is no more packet to send.

  • I think that generally you are right, but the question is meaningful. There is always a lot of simultaneous UDP and TCP connections from/to the same host. And the QoS (shaping and fair division of channel between multiple clients) can be external to this host and out of scope your question. – George Gaál Jul 31 '18 at 12:22
  • thx George! - What would you think happens, when there are multiple Hosts that transmitting with TCP and only one which is transmitting with UDP? - I am asking, because I actually have run a simulation that shows that the UDP packet loss decreases when the number of TCP hosts increases. And I wonder why.. – user503842 Jul 31 '18 at 12:27
  • Some of this depends on the IP stack and how it's tuned. So you may expect different versions of Linux to behave differently from each other, or from different versions of Windows or macOS or BSD. – Michael Hampton Jul 31 '18 at 12:32

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.