赞
踩
一个端口最多接受一个客户端的65535个TCP连接?
系统通过一个四元组来标识一条TCP连接,结构如:{本地IP,本地端口,远程IP,远程端口}
在IPv4上, 本地IP和远程IP是32位,本地端口和远程端口为16位,即IP可以是2^32=4294967296,端口可以是2^16=65536。因此可以有TCP连接2^(32+16+32+16)=79228162514264337593543950336 个,这个是理论值。在IPv6上就更不用说了。
一个服务端口可以建立多少个TCP连接?
一个服务一般端口和IP是绑定的,因此能变的就是远程IP和远程端口,即可以建立 2^(32+16)=281474976710656 个TCP连接。
一个服务端口可以和一个客户端建立多少个TCP连接?
对于服务端来说,确定的是本地IP和端口,一个客户端表示远程IP也是固定的,即可以建立 2^16 = 65536 TCP连接。(一般说的65535是不包含0,0不会用)
以上都是理论值。
客户端一般会有一些保留端口用于自身的服务,不用全部用于远程连接,因此一般不会达到65535这个极限。
例如客户端是windows操作系统,一般会有网络邻居的服务等占用端口。
比如Linux客户端上内核上可以通过内核参数net.ipv4.ip_local_port_range限制,用户远程连接的端口范围
cat /proc/sys/net/ipv4/ip_local_port_range3276860999
注:前面要是偶数,后面要奇数,不然会有告警信息。
还有一些使用nat的网络环境,只有一个公网IP,也会限制客户端建立TCP连接。
一个端口最多接受一个客户端的65535个TCP连接,这个主要看客户端有没有这么多端口用,不是服务端的限制。
个人总结,有问题留言一起讨论
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。