Guspaz wrote:
Performance with TCP is enormously worse, and is no more or less secure.
Performance over TCP is dependent on the quality of the link. The problem, here, is TCP congestion handling. If your underlying link works perfectly then you'll get good performance. However, if the link starts to lose packets then we get a cascading problem; the TCP tunnel will retransmit and backoff until the packet arrives. The TCP traffic over the VPN will see delays and will also potentially retransmit and backoff... so we've got delays on top of delays and performance falls through the floor.
Using UDP as your transport gets around some of these problems; UDP is designed to fail. However!!! OpenVPN, itself, will retransmit! So the TCP traffic over the VPN will still see delays and backoff. But the algorithm is different...
(TCP has a slightly greater overhead, but it's minimally impactful).
If you're on a link with (say) 5% packet loss then UDP may be better. Otherwise it's a toss-up.
My suggestion: test both and see what gives best results.
(Also note that some home NAT routers won't handle UDP tunnels too well...)
From an openVPN perspective the underlying transport (UDP or TCP) doesn't impact security; it's the same SSL encrypted traffic either way.