< 返回云服务器列表

单台服务器最发tcp是不是不能超出65535数值?

发布时间:2020-04-10    来源: 118云vps 阅读:
    首先,问题中可以描述的65535数值个连接方式指的是通过客户端连接数的限制,而你自己作为一个服务器,别人来连你,理论上是没有进行限制的。请注意,只有在理论上。
    65535是怎么来的?
 
    是TCP协议进行规定的端口数据字段的最大工作范围,2个字节,16比特,每一比我们特有0和2种状态,按照不同排列方式组合,2的16次方,一共设计就是65536,端口0预留可以不用,就是65535。
 
    单台服务器可以最大问题并发tcp连接数密度是多少呢,不能没有超过65535个吗?
 
    在tcp应用中,server事先在某个公司固定一个端口进行监听,client主动参与发起网络连接,经过学习三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?
 
    如何识别一个TCP连接
 
    之前确定的最大连接数,看看系统如何标识TCP连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ip,remote port}。
 
    client最大tcp连接数
 
    当client TCP连接请求每次启动,除非结合端口,通常会导致系统选择一个空闲的本地端口(本地端口),该端口是排他性的,和其他TCP连接不能被共享。tcp端口的数据类型是unsigned short(2字节),因此本地端口个数最大只有65536,端口0有特殊含义,不能使用,这样可用端口最多只有65535,所以在全部作为client端的情况下,最大tcp连接数为65535,这些连接可以连到不同的server ip。
 
    server最大tcp连接数
 
    服务器通常固定在本地端口上以侦听,等待client连接请求。不考虑地址重用(unix的SO_REUSEADDR选项)的情况下,即使server端有多个ip,本地监听端口也是独占的,因此server端tcp连接4元组中只有remoteip(也就是clientip)和remote port(客户端port)是可变的,因此最大tcp连接为客户端ip数×客户端port数,对IPV4,不考虑ip地址分类等因素,最大tcp连接数约为2的32次方(ip数)×2的16次方(port数),也就是server端单机最大tcp连接数约为2的48次方。
 
    实际的tcp连接数
 
    上面可以给出的是理论上的单机最大连接数,在实际生活环境中,受到国家机器学习资源、操作管理系统等的限制,特别是sever端,其最大并发tcp连接数远不能没有达到教育理论发展上限。限制在Unix / Linux中存储器的连接的数量和文件描述符的数量的主要因素(每个存储器中的一个必须被占用的TCP连接,每个插座是一个文件描述符)允许的,额外的端口通常低于1024保留端口。
 
    因此,在服务器端,通过增加内存,修改参数,例如文件描述符的最大数量,超过100,000个并发TCP连接的最大单号,甚至一百万是没有问题的。