Un solo puerto de escucha puede aceptar más de una conexión simultáneamente.
Hay un límite de '64K' que a menudo se cita, pero que es por cliente por puerto de servidor y necesita aclaración.
Cada paquete TCP / IP tiene básicamente cuatro campos para direccionamiento; estos son:
source_ip source_port destination_ip destination_port
< client > < server >
Dentro de la pila TCP, estos cuatro campos se usan como una clave compuesta para unir paquetes con conexiones (por ejemplo, descriptores de archivos).
Si un cliente tiene muchas conexiones al mismo puerto en el mismo destino, tres de esos campos serán los mismos, solo source_port
varía para diferenciar las diferentes conexiones. Los puertos son números de 16 bits, por lo tanto, el número máximo de conexiones que cualquier cliente puede tener con cualquier puerto de host es 64K.
Sin embargo, varios clientes pueden tener hasta 64K conexiones con el puerto de algún servidor, y si el servidor tiene múltiples puertos o cualquiera de ellos está alojado, entonces puede multiplicarlo aún más.
Entonces, el límite real son los descriptores de archivo. Cada conexión de socket individual recibe un descriptor de archivo, por lo que el límite es realmente el número de descriptores de archivo que el sistema ha sido configurado para permitir y los recursos para manejar. El límite máximo suele ser superior a 300 K, pero es configurable, por ejemplo, con sysctl .
Los límites realistas de los que se jactan las cajas normales son alrededor de 80K, por ejemplo, servidores de mensajería Jabber de un solo hilo.