单台服务器最大并发tcp连接数是多少呢,不能超过65535个吗?

来源:James 时间:2022-07-31 09:44:34阅读:0

首先,问题中描述的65535个连接是指客户端连接数的限制,理论上没有限制,而你作为服务器,其他人来连接你。请注意,这只是理论上的。

单台服务器最大并发tcp连接数是多少呢,不能超过65535个吗?

65535是怎么来的?

是TCP协议规定的端口字段的最大范围,2个字节,16比特,每一比特有0和2种状态,按照排列组合,2的16次方,一共就是65536,端口0预留不用,就是65535。

在tcp应用中,server提前在固定端口监听,client主动启动连接,三路握手后建立tcp连接。然后对于单台服务器,它最大并发tcp连接数是多少?

如何识别一个TCP连接

在确定最大连接数之前,先看看系统是如何识别一个的tcp连接。系统用44元组唯一标识一个TCP连接:{localip,localport,remoteip,remoteport}。

client最大tcp连接数

client每次发起tcp在连接请求时,除非绑定端口,否则系统通常会选择一个免费的本地端口(localport),该端口是独家的,不能与其他端口相比tcp连接共享。tcp端口的数据类型是unsignedshort,因此,最大的本地端口数量只有65536,端口0具有特殊意义,不能使用,所以最多只能使用65535,所以全部使用client在端的情况下,一个client最大tcp连接数为65535,可连接到不同的连接serverip。

server最大tcp连接数

server通常固定在某个本地端口上监听,等待client连接请求。重用地址不考虑(unix的SO_REUSEADDR即使选项)server端有多个ip,因此,本地监控端口也是独有的server端tcp只有4元组连接remoteip(也就是clientip)和remoteport(客户端port)可变,所以最大tcp连接为客户端ip数×客户端port数,对IPV4,不考虑ip地址分类等因素最大tcp32次方的连接数约为2(ip数)×2的16次方(port数),也就是说server端单机最大tcp连接数约为248次。

实际的tcp连接数

以上是理论上单机最大连接数,在实际环境中,受机械资源、操作系统等的限制sever端,最大并发tcp在unix/linux下限连接数的主要因素是内存和允许的文件描述符数(每个)tcp每个连接都需要占用一定的内存socket是文件描述符),1024以下的端口通常是保留端口。

所以,对server单机最大并发,通过增加内存,修改最大文件描述符数等参数TCP连接超过10万甚至上百万都没问题。

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/fwqjs/12165.html

TAG标签:

相关推荐

返回顶部