我试图从Linux(RedHat5)框中设置超过65536个传出TCP连接。
我已经configuration了传出和接收框以允许足够的文件描述符。
我不相信接受方面有问题 – 我有多个目标框,每个有多个IP地址,我使用多个端口。
在传出方面,我不相信我每个IP地址的限制 – 我使用多个IP地址和端口(我打开连接从端口30,000 – 60,000为每个IP地址)。
有一些Linux内核可调参数我错过了吗? 或者TCP有一些根本的限制?
失败的是,我的应用程序打开连接挂在connect()调用。
感谢NickB的帮助
这是一个博客,有人从一个盒子里获得了超过100万的出站。
在第1部分中,我们将范围设置为“1024 65535” – 表示有65535-1024 = 64511个非特权端口可用。 其中一些将被其他进程使用,但是我们将永远无法获得64511个客户端连接,因为我们将用尽端口。
…
所以我们带上17个新的IP地址,打算从每个地址build立62,000个连接 – 总共给我们1,054,000个连接
TCP协议仅将16位用于目标端口和源端口。 没有办法一次打开超过65536个端口 – 甚至没有Linux。