Un seul port d'écoute peut accepter plus d'une connexion simultanément.
Il y a une limite de '64K' qui est souvent citée, mais cela est par client par port de serveur, et doit être clarifié.
Chaque paquet TCP/IP a essentiellement quatre champs pour l'adressage. Ceux-ci sont:
source_ip source_port destination_ip destination_port
<----- client ------> <--------- serveur ------------>
À l'intérieur de la pile TCP, ces quatre champs sont utilisés comme une clé composite pour faire correspondre les paquets aux connexions (par exemple les descripteurs de fichiers).
Si un client a de nombreuses connexions au même port sur la même destination, alors trois de ces champs seront les mêmes - seul le source_port
varie pour différencier les différentes connexions. Les ports sont des nombres sur 16 bits, donc le nombre maximum de connexions qu'un client donné peut avoir vers un port d'hôte donné est de 64K.
Cependant, plusieurs clients peuvent avoir chacun jusqu'à 64K connexions vers un port de serveur, et si le serveur a plusieurs ports ou est multi-résident, alors vous pouvez multiplier cela davantage.
La vraie limite est donc les descripteurs de fichiers. Chaque connexion de socket individuelle se voit attribuer un descripteur de fichier, donc la limite est vraiment le nombre de descripteurs de fichiers que le système a été configuré pour autoriser et les ressources pour gérer. La limite maximale est généralement de plus de 300K, mais est configurable par exemple avec sysctl.
Les limites réalistes vantées pour les boîtes normales sont d'environ 80K par exemple pour les serveurs de messagerie Jabber à thread unique.