在linux网络套接字服务器机器上,当为客户端分配所有网络端口时会发生什么



在linux网络套接字服务器机器上,当所有网络端口都分配给客户端时会发生什么?如果发生这种情况,来自客户端的连接请求被拒绝,还是被延迟?如果这是正确的,那么认为一台linux机器最多可以同时服务开放端口的数量是否正确?(假设所有其他资源都足够了)

如果这是正确的,那么认为一台linux机器最多可以同时服务开放端口的数量是否正确?

不,端口不是这里的限制因素。TCP连接套接字实际上是一个五元组(src_port, src_address, dest_port, dest_address, protocol)

因此,对于每个服务器侦听一个端口,每个客户端将能够使用相同的协议进行ip_local_port_range连接中设置的任何内容。

然而,你可以解决这个问题-如果你有更多的IP地址(你可以使用IP混叠,即使你没有多个接口),或者如果你的服务器正在监听多个端口,可能的连接数量就会增加。

资源:

  • http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html

最新更新