Vous pensez peut-être au nombre de ports. Il y a 65536 ports disponibles dans le TCP dans les versions actuelles d'IPv4. Ce n'est pas seulement une limitation Linux, sa partie du protocole. Votre adresse IP identifie votre appareil et le port identifie un programme sur votre appareil.
Mais, le nombre de connexions n'est pas limité par cela. Une connexion se compose de 5 informations, en geek parle un 5-tuple. Il est déterminé par le protocole (TCP, UDP), l'adresse IP et le port locaux, et l'adresse IP et le port distants. Alors, prenez un serveur Web. Il peut desservir de nombreuses connexions sur le même port (probablement 80). Votre serveur Web peut même prendre en charge plusieurs connexions à la même machine cliente. Dites, vous vous connectez à google.com à partir de deux fenêtres. Votre machine choisira un port inutilisé pour chaque connexion. Ainsi, le serveur de Google devra garder une trace de (TCP, google.com, 80, yourmachine, someport1) et (TCP, google.com, 80, yourmachine, someport2). À un moment donné, vous vous heurteriez à des limites, mais ce n'est pas une limite stricte et dépend très du système.
Et oui, chaque socket est un descripteur de fichier, mais toutes les machines n'utilisent pas de shorts pour la table fd. Sur mon système, un système pas du tout réglé, cat /proc/sys/fs/file-max
donne 323997. Je suis sûr que je pourrais le booster si j'en avais besoin.
Il y a donc une limite de 65336, mais cela concerne l'adressage et non le nombre de connexions. Le nombre de connexions est limité, mais plus par la configuration du système et la quantité de mémoire dont il dispose.