在做研究时,我注意到 SSH 都使用 TCP 和 UDP。我完全理解TCP的使用,但UDP似乎有点奇怪。为什么我要使用“不可靠”的传输协议,并且最少的握手来实现安全外壳访问?
我能想到的唯一用途是用于SCP,因此(大)文件传输。但是,TCP 不是因为握手的东西而更有用吗?
事实上,我正在考虑只为 SSH 打开 TCP,但不知道这样做的影响会非常有害。
编辑
事实证明,不仅有关于 UDP 上的 ssh 的论文,还有一个完全成熟的 ssh 实现,称为mosh。然而,经典的 ssh 仍然只使用 TCP,正如其RFCs 中所指定的那样。
小智 5
... SSH 协议使用或已经使用 22/UDP 通过 TCP 进行隧道控制。如果通过 Wireshark 正确解码,并且您通过 ssh-agent 或隧道远程或本地隧道建立连接,您会注意到 UDP 封装在 TCP 段中。