为什么连接到较高的 SSH 端口号比较低的端口号花费的时间更长?

为什么连接到较高的 SSH 端口号比较低的端口号花费的时间更长?

我有一个用于 SSH 的 Linux 服务器,旧端口号是 1818。最近,我所在的国家/地区出现了网络问题,导致我无法访问服务器端口 1818。因此,我决定将其更改为另一个端口,例如 46000。然后,我将其更改为较低的端口号,例如 1994,并且它也运行良好。

但问题是,当我尝试执行 SSH 端口号 46000 时,等待获得第一个响应的时间比在 1994 上花费的时间要长得多。

我先解释一下我的假设:当我使用 ssh root@ip -p1994 时,我的网络会检查 1 到 65535 的端口,因为 1994 小于 46000,所以连接所需的时间比 46000 要少。我的假设是这样的:

检查端口是否正确:

是否有 1 个 SSH 端口?如果没有,则忽略;否则连接。

是否有 2 个 SSH 端口?如果没有,则忽略;否则连接。

...

1994 是 SSH 端口吗?这样我(我的网络)和服务器就可以互相连接了。

虽然在我看来 46000 要低得多,但连接所需的时间却要长得多。

我对这个问题的假设正确吗?如果不是,那么连接延迟的逻辑是什么?

提前致谢

答案1

让我首先解释一下我的假设:当我使用 ssh root@ip -p1994 时,我的网络会检查从 1 到 65535 的端口

这个假设是错误的。数据包将立即发送到端口 1994。无需执行任何端口扫描之类的操作。

打个比方:在将包裹邮寄到街道地址之前,无需检查住宅楼内的每个公寓。邮件会直接到达目的地。


询问您的服务提供商您可以在哪个端口上运行 ssh 服务,最好是22/tcp。 共置数据中心托管或公共云往往依赖 ssh 并允许它。 住宅互联网服务往往不鼓励运行“服务器”。

相关内容