文章

65535端口如何做到百万并发

65535端口如何做到百万并发

百万并发量服务器

65536端口数的由来

端口数量为65536,这个数字是因为在Linux系统中,系统用一个唯一的四元组来标识一个TCP连接,{本机IP,本机端口,远程IP,远程端口}。而在Linux系统中,端口号这个变量是个unsigned short,占16位,故其端口号有65536个。

TCP建立连接时端口的作用

服务器端通常是用一个端口(如80端口)来进行监听,客户端的访问都是同过这个端口进行。这个端口也被客户端进行连接,然后服务端接受客户端的请求后生成新的socket,于是客户端与服务器端通过新的socket来进行通信。 所以在握手之后,端口号可以重复利用去继续监听有没有连接,其只负责监听的作用,创建的新的socket才是负责通信。故此时连接的数量可以大于65536. 而真正决定并发量的是服务器内存的大小,因为所创建的socket需要需要占据内存,若创建的fd的数量达到了服务器的内存上限。

本文由作者按照 CC BY 4.0 进行授权

热门标签