个人见解,仅供参考:
限制主要来自两方面,一是编码限制,比如说内核代码,操作系统代码,协议栈代码等中的限制;二是资源限制,比如内存资源,CPU资源,磁盘资源等,毕竟资源是有限的。

举例:
服务器最大连接数,维护一条连接需要什么资源?以TCP为例,端口号有限,最大为65535。socket 描述符,也是有限的,而且可能编码上会硬性限制单进程拥有的文件描述符个数。广泛点说,内存资源是有限的,维护链接必然需要内存。

说的很泛泛,毕竟我也不是很懂╮(╯▽╰)╭