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 informações, no geek falam 5 tuplas. É determinado pelo protocolo (TCP, UDP), endereço e porta IP local e endereço e porta IP remotos. Então, pegue um servidor web. Pode atender a muitas conexões na mesma porta (provavelmente 80). Seu servidor da web pode até suportar várias conexões com a mesma máquina cliente. Digamos que você esteja se conectando ao google.com a partir de duas janelas. Sua máquina escolherá uma porta não utilizada para cada conexão. Portanto, o servidor do Google precisará acompanhar (TCP, google.com, 80, sua máquina, someport1) e (TCP, google.com, 80, sua máquina, 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 shorts para a tabela fd. No meu sistema, um sistema não sintonizado, cat /proc/sys/fs/file-max
fornece 323997. Tenho certeza de que poderia aumentá-lo se necessário.
Portanto, há um limite de 65336, mas tem a ver com endereçamento, não com número de conexões. O número de conexões é limitado, mas mais pela configuração do sistema e quanta memória ele possui.