TCP最大连接数限制
一直以来,有很多技术人员都有”TCP的最大连接数有65535的限制”的这种误解。今天在这边向大家解释一下。
在FreeBSD中有一个设置kern.ipc.maxsockets可以对系统中最大的描述符做限制。只要这个值可以超过65535,那么最大连接数为65535的限制就不攻自破了。
那么这个值到底是int32还是int16呢?
FreeBSD 7.2 p4 /usr/src/sys/kern/uipc_socket.c中写的很明白
uipc_socket.c:164
int maxsockets;
uipc_socket.c:243
static void
init_maxsockets(void *ignored)
{
TUNABLE_INT_FETCH(“kern.ipc.maxsockets”, &maxsockets);
maxsockets = imax(maxsockets, imax(maxfiles, nmbclusters));
}
maxsockets很明显是int32,一个32位的整形数字。