1

I understand the TCP meltdown problem is associated with overcompensation from errors and incorrect sequencing when arriving the the receiver end. OpenVpn connections are recommended to use the UDP protocol.

Does this mean that the connection from the client to server uses a TCP port (eg. 443) but the data that is transmitted follows UDP?

1
  • Did any answer help you? if so, you should accept the answer so that the question does not keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
    – Ron Maupin
    Commented Dec 23, 2021 at 23:08

1 Answer 1

3

It's about what is used for the tunnel itself ('outside the tunnel') and what is transported within the tunnel ('inside the tunnel').

A "TCP meltdown" can occur when TCP is used for both outside and inside traffic. Both TCP instances don't know about each other and may compensate for the exact same temporary problem. Due to their stacking, measures add up, overcompensating the problem. This can easily lead to a resonance where the overall performance is suboptimal.

The best solution is to use the non-compensating UDP protocol outside the tunnel. UDP performs just like IP, so traffic flow is fully controlled by a single TCP instance, if used inside the tunnel.

Can UDP traffic be transmitted over TCP ports on OpenVpn to avoid the TCP meltdown

That's isn't possible since TCP and UDP are different protocols. Their port numbers use the same range but have no relation whatsoever (on the transport layer - a specific application layer protocol may use the same port numbers for both TCP and UDP though, like DNS).

The solution is to either use UDP inside the tunnel - that is controlled by the application(s) however and cannot usually be selected at will - or use UDP outside the tunnel, which you can do by setting up the VPN gateway properly. By default, OpenVPN supports both UDP and TCP for the tunnel, with preference to UDP.

2
  • For your last paragraph, when I am using UDP inside the tunnel, does it mean that TCP is being used outside the tunnel? Vice versa. How do I select to use UDP inside the tunnel? Commented Nov 8, 2021 at 13:16
  • Whether you use UDP (default/preferred) or TCP for the tunnel depends on your gateway and client setup. Inside the tunnel, UDP or TCP depends on the application and most often cannot be selected. The inside and outside protocols are completely independent from each other.
    – Zac67
    Commented Nov 8, 2021 at 13:37

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