我一直在尝试从 Linux (RedHat5) 机器设置超过 65536 个传出 TCP 连接。
我已经配置了传出和接受框以允许足够的文件描述符。
我认为接受方没有问题 - 我有多个目标框,每个目标框都有多个 IP 地址,并且我使用了多个端口。
在传出方面,我不相信我会达到每个 IP 地址的限制 - 我使用了多个 IP 地址和端口(我正在为多个 IP 地址中的每一个打开来自端口 30,000 - 60,000 的连接)。
是否有一些我遗漏的 Linux 内核可调参数?还是 TCP 中的一些基本限制?
失败是我用于打开连接的应用程序挂在 connect() 调用中。
感谢您的帮助
小智 10
这是一个博客,其中有人从一个盒子中获得了 > 1,000,000 个出站。
在第 1 部分中,我们将范围设置为“1024 65535”——这意味着有 65535-1024 = 64511 个非特权端口可用。其中一些将被其他进程使用,但我们永远不会超过 64511 个客户端连接,因为我们将耗尽端口。
...
因此,让我们调出 17 个新 IP 地址,目的是从每个 IP 地址建立 62,000 个连接——总共给我们 1,054,000 个连接
小智 0
TCP 协议仅对目标端口和源端口使用 16 位。即使使用 Linux,也无法同时打开超过 65536 个端口。
| 归档时间: |
|
| 查看次数: |
5736 次 |
| 最近记录: |