Você pode estar pensando no número de portas. Existem 65536 portas disponíveis no TCP nas versões atuais do IPv4. Esta não é apenas uma limitação do Linux, é parte do protocolo. Seu endereço IP identifica sua máquina e a porta identifica um programa em sua máquina.
Mas o número de conexões não é limitado por isso. Uma conexão consiste em 5 partes de informação, em geek, fala uma 5-tupla. Ele é determinado pelo protocolo (TCP, UDP), endereço e porta IP local e endereço IP e porta remotos. Então, pegue um servidor web. Ele pode atender muitas conexões na mesma porta (provavelmente 80). Seu servidor da Web pode até mesmo suportar várias conexões para a mesma máquina cliente. Digamos que você esteja se conectando ao google.com de duas janelas. Sua máquina escolherá uma porta não usada para cada conexão. Assim, o servidor do Google terá que acompanhar (TCP, google.com, 80, yourmachine, someport1) e (TCP, google.com, 80, yourmachine, someport2). Em algum momento você toparia com limites, mas não é um limite rígido e depende muito do sistema.
E sim, cada soquete é um descritor de arquivo, mas nem todas as máquinas usam curtos para a tabela fd. No meu sistema, um sistema não afinado em todos, cat /proc/sys/fs/file-max
dá 323997. Tenho certeza que poderia impulsioná-lo se eu precisasse.
Portanto, há um limite de 65336, mas tem a ver com o endereçamento, não com o número de conexões. O número de conexões é limitado, mas mais pela configuração do sistema e pela quantidade de memória que possui.