当前位置:   article > 正文

TCP服务器最多支持多少客户端连接_服务端 能连 多少个 客户端 ip

服务端 能连 多少个 客户端 ip

目录

一、理论数值

二、实际部署

 参考


一、理论数值

        首先知道一个基础概念,对于一个 TCP 连接可以使用四元组(src_ip, src_port, dst_ip, dst_port)进行唯一标识。因为服务端 IP 和 Port 是固定的(如下图中的bind阶段),那么一个TCP服务器支持最多的连接数就是由客户端 IP 和 端口决定的了。

        端口数在 TCP 传输协议中占两个字节,所以一共有 2 ^ 16 = 65535 个端口(未减去保留端口,假设数量为 m)。

        IP 在 IP 网络协议中占四个字节,所以有 2 ^ 32 个网络地址(未减去广播地址、多播地址和私有地址,假设他们数量之和为 n)。

        所有理论上 TCP 服务器支持 ( 2 ^ 32 - n ) * ( 2 ^ 16 - m )条连接,简单计算一下,理论上支持的 TCP 连接数是以亿为量级的。

        下图是 TCP 服务器与客户端的交互过程。

二、实际部署

        实际使用中,TCP 服务器支持的最大连接数受服务端内存和文件描述符的约束。

(1)一条处于 ESTABLISH 状态的 TCP 连接占用的大小是 3.44 KB,数据来源文末参考链接。

(2)服务器内每个 TCP 连接就是一个文件描述符,受如下 linux 系统参数的限制。

        系统级:当前系统可打开的最大数量,通过  cat /proc/sys/fs/file-max 查看;

        用户级:指定用户可打开的最大数量,通过  cat /etc/security/limits.conf 查看;

        进程级:单个进程可打开的最大数量,通过 cat /proc/sys/fs/nr_open 查看;

 参考

https://mp.weixin.qq.com/s/l9ggXLAEHp4LTjd2Qsyqtg

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/229965
推荐阅读
相关标签
  

闽ICP备14008679号