如何解决在单个服务器上运行tcp / udp端口的Windows或Linux系统? 由于SQL连接,用户连接到互联网以及作为网关的作用,我在单个服务器上使用了大约65000个tcp / udp端口。
我build议计划angular色的分离(除非网关要求SQL位于同一主机上) – 而不是因为您的端口用尽。 如果网关不需要SQL和/或持有公司数据,那么在网关节点上的风险相当高。
说到TCP,有很多可用的端口。 你可能(虽然忽略端口共享等事情)只绑定每个地址2 16个端口,你可能有更多的活跃连接每个地址。
您甚至可以使用单个 TCP端口处理数千个连接 – 连接由多个参数定义:
SOURCEIP:源端口:destinationIP:destionationPort。
在这里看到更多 。
一个重要的参数可能是半开连接 – 如果你的某个服务有问题,可能会影响系统上运行的其他服务。 你可以在这里获得更多的信息 。
听起来像一个沉重的负载服务器在一个重要的angular色。
您可以使用多个以太网接口 – 这也可以获得物理扩展。
您可以在任何界面上使用多个IP地址 – 简单的软件解决scheme。
我也build议最终使用代理/ NAT
如果负载太大,请将服务器angular色拆分为其他服务器。
例如,在Windows中,如果虚拟化Windows Server Standard许可证,则可以在虚拟(1:2)中获得两个正在运行的实例,
其他想法给予更多的物理接口或虚拟IP可能在短期内有所帮助,但具有这样的angular色(SQL,网关和用户连接到互联网)不是一个好主意。
在例如,如果用户得到恶意软件,并泛滥您的网关它将放下服务器上的其他服务。
TCP / UDP中只有65,535个可用端口可用。 这是IP(协议)固有的一个限制。
您可以通过将多个IP地址分配给打开所有这些连接的计算机来解决限制。