如果服务器计算机侦听更多 65536 端口,会发生什么情况?



在 Storm 的情况下,它说"每个工作线程使用一个端口来接收消息,此设置定义哪些端口打开以供使用",这意味着我可以将插槽号设置为大于 65536 的数字,以便服务器机器可以打开超过 65536 个进程,并且每个进程都侦听一个唯一的端口?

这不是一次有多少个 tcp 连接,我知道 tcp 连接可以超过 65536。

那么,服务器计算机打开超过 65536 个进程并侦听超过 65536 个端口会发生什么情况?

当进程侦听 TCP 端口时,它不只是侦听端口。它侦听端口号和 IP 地址的组合。通配符 IP 地址可用于指示侦听所有 IP 地址。

对于本地连接,您可以将 127.0.0.2 或 127.1.0.1 等 IP 地址与各种端口号结合使用,以超过 65,536 个本地端口。通过这种方式,您可以拥有超过 65,536 个端口,并且工作正常。但是,无法从其他计算机访问 127.0.0.0/8 中的 IP 地址,因此它仅是本地的。

要使端口可以通过网络接受入站连接,必须将其绑定到可通过该网络访问的 IP 地址与 TCP 端口号的组合。因此,只有一个网络地址的计算机只能有 65,535 个不同的端口,可以建立传入的 TCP 连接。但是,您可以通过为计算机分配其他网络 IP 地址来超过此限制,假设您使用的软件允许您指定要绑定到的 IP 地址。(如果没有,您可以轻松破解它以允许这样做。

最新更新