VPN for BBC iplayer

Yes, I’ve always used UDP as well. Although there’s no built in error correction, it’s faster and delivers data in sequence. You should really always use it if you stream a lot of video.

I think there is confusion here.

In terms of raw protocols there is no speed difference between UDP (user datagram protocol) and TCP (transmission control protocol), as @hairbear says UDP just delivers packets, if it can - it doesn’t do anything about lost packets, errors within packets, nor (sorry hairbear) getting the packets to the destination in the order they were sent.

In fact about the only promise UDP makes is that if you send individual packets of 10, 200 and 300 bytes they will arrive as packets of 10, 200 and 300 bytes and won’t get glued into a single packet of 510 bytes somewhere along the route.

TCP includes sequencing and error correction, the protocol itself will deal with re-transmitting dropped packets along the way and there is built-in congestion control to try to match the transmission speed to the end-to-end link speed.

One thing TCP does not promise is that it will preserve message boundaries so, in the example above all 510 bytes could arrive together.

All of which makes TCP a less than ideal for things like voice - if a voice data packet is lost it is better to forget about it and insert silence into the output for a few milliseconds, if it is only the occasional loss the user won’t even notice. The same is true of video.

It also means that TCP is not (in theory anyway) the best choice for the tunnel itself, as the congestion control inherent in the tunnel’s TCP connection can “fight” the congestion control of the streams within the tunnel. Some VPN’s might offer transport over UDP as a result. Something like MSPPTP (or anything PPP based) is inherently a datagram protocol anyway.

In practice I have happily run video streams through TCP-in-TCP tunnels and all sorts of other things which “shouldn’t” work, but often do so well enough in reality.

1 Like

Yes, your correct that UDP doesn’t guarantee packet order. No need to be sorry :wink:. Of course TCP does guarantee that you can reconstruct the data in order, even if they are delivered out of order. Just got it the wrong way round :crazy_face:

2 Likes