I was wondering why the performance would decrease when streaming a high quality video to my iphone over a long distance, when you use an end-end congestion control with TCP?

I was thinking, TCP has bandwidth control and divides the bandwidth equally over the current connections. So, when a video travels over a long distance, there will probably be a connection where there is too much bandwidth used and therefore the streamed video will lose some of its data. That's what I think, but is this correct? Or is there another reason why congestion control of TCP would decrease the performance of this setup?

Many thanks!

  • 1
    I'm surprised that streaming video uses TCP. What application are you using?
    – Ron Trunk
    Jun 17, 2015 at 19:08
  • @Ron Next-generation multimedia channels are architected over HTTP. See WebM, MPEG DASH, HTTP Live Streaming. Jun 17, 2015 at 20:19
  • I'm no TCP expert but there are a few elements of TCP to consider here. When there is packet loss somewhere in the network (due to congestion or another reason), TCP will initiate a back off algorithm cutting the MSS in half and climb back up (depending on the algorithm being used). You can “Google” for "TCP Saw Tooth", it’s a well-known “feature” of TCP. ....Too much for one comment...
    – Baldrick
    Jun 23, 2015 at 8:38
  • Also TCP doesn’t know about the end-to-end state of the network only the sender and receiver so it has to dynamically adjust to network conditions which means a lot of guess work. Also don’t forget the bandwidth delay product, the longer the link the grated the RWIN required to saturate that link (search for “elephant networks”).
    – Baldrick
    Jun 23, 2015 at 8:38
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can post and accept your own answer.
    – Ron Maupin
    Dec 21, 2020 at 18:25

2 Answers 2


The codec, the format, and the underlying network determine the quality of the video played out to your viewport/monitor. In case of adaptive bitrate streaming, this quality may change mid stream as the network load changes.

Transmission Control Protocol (TCP) uses a network congestion-avoidance algorithm but this does not necessarily result in equal division of link bandwidth.


I'll focus on the long-distance with TCP part of your question and specifically how you say "divide the bandwidth equally".

TCP bandwidth sharing has a well known bias towards favoring streams with low RTTs. All else being equal, longer distance means higher RTT and therefore less bandwidth. This is one benefit of a CDN (they reduce RTT through geographic diversity).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.