9

I know SSH can forward TCP ports, not UDP. I'm not seeking help to circumvent this restriction (this subject is covered here).

I'd like to know what is the reason SSH never got UDP forwarding ability.

Google search gave me a lot of "SSH cannot" answers and a few "it is not trivial". Still no answer why.

My guesses so far are:

  1. Applications use UDP for a reason, mostly for its low latency. SSH with its encryption and TCP traffic would slow things down -- working against the reason UDP was used for in the first place.
  2. The demand for UDP tunneling via SSH is so low (it may be because of the above) that, if implemented, the feature would be (first?) one of the bells and whistles.

Am I correct? Are there more reasons? Some serious technical difficulty with implementation maybe?

3
  • 2
    it is called TCP forwarding, because it forwards TCP. If you need UDP, check Dynamic Port forwarding (aka SOCKS proxy) or Tunnel (aka VPN), which works on lower level.
    – Jakuje
    Commented Apr 22, 2016 at 10:30
  • 2
    You do understand SSH is a TCP protocol, so being able to only do TCP port forwarding, makes complete sense. It has no concept of UDP.
    – Ramhound
    Commented Apr 22, 2016 at 12:40
  • I don't have a definite answer so commenting: I think it's a combination of the workarounds being good enough, and the demand being low. Here's an interesting thread about the technical challenges as well: marc.info/?l=openssh-unix-dev&m=148460537816696&w=2
    – w00t
    Commented Aug 9, 2018 at 9:09

0

You must log in to answer this question.

Browse other questions tagged .