我运行的服务需要超过 65535 个端口,并且我使用 AWS VPS
我在想,如果我将更多的静态 IP 附加到该 VPS,这些 IP 在连接到主服务器时是否会获得 65535 个端口,或者它们都只是彼此的别名
答案1
TCP 元组 通过目标 IP 和端口进行识别和源IP和端口。
2001:db8:2943:a::1
因此从理论上来说2001:db8:2943:a::2
,每个连接到2001:db8:2943:b::3
一个目标端口443
,64K 次。实际上,可用的临时端口更少,并且需要大型且经过良好调整的主机才能执行任何非平凡的 64K 次连接。
假设添加了另一个服务器 IP 2001:db8:2943:b::4
。每个源IP可以连接其他到该其他目标 IP 进行 64K 次访问,全部在目标端口上443
。
实际上,您不太可能耗尽端口。您可能拥有一百万个不同的源 IP 地址,而 64K 的限制不适用。
也许是一个 IP 负载均衡器,它与一个 IP 和端口建立 64K 个连接。这已经相当大了,但如果有必要,您可以向后端主机添加另一个 IP 并使用它。
或者,某个事物有 64K 个独立实例,每个实例都监听一个唯一的目标端口。要运行的进程数量非常庞大。可以运行更少的监听端口,并将复杂性转移到应用程序层。例如,基于 HTTP 名称的虚拟托管。