一个 ssh -D 进程可以同时服务多个网站连接。要分层来计算:

层它承载什么
应用到 SOCKS 监听器各自独立的应用连接和 SOCKS 请求
SSH 通道独立寻址的数据流,带通道级流控
SSH 传输多路复用的通道数据,通常跑在一条底层 TCP 连接上
网关到网站由网关打开的各自独立的目标连接

因此,看到一条加密的 SSH 套接字,并不等于每个网站请求都被串行化进一条目标连接。动态转发会中继流数据并打开新连接;它与把应用原始 TCP 报文和 IP 头封装进另一条 TCP 连接的报文隧道不同。

共用传输仍然重要。容量、调度、加密开销以及传输丢包或延迟都可能同时影响多条通道。单条目标停滞本身并不能证明存在单通道上限。

如果多个应用同时变慢,先检查它们是否共用同一个 SSH 会话和网关路径,再比较它们实际的工作负载。统计本地 SOCKS 端口既测不出吞吐,也测不出独立路由。多路复用本身并不承诺提速,也不承诺为每条数据流提供独立的公网出口。

相关文章