Estou preso tentando configurar mais de 65536 conexões TCP de saída de uma caixa Linux (RedHat5).
Já configurei as caixas de saída e de aceitação para permitir descritores de arquivos suficientes.
Não acredito que haja um problema no lado de aceitação - tenho várias caixas de destino, cada uma com vários endereços IP e estou usando várias portas.
No lado de saída, não acredito que estou atingindo um limite por endereço IP - estou usando vários endereços e portas IP (estou abrindo conexões das portas 30.000 - 60.000 para cada um dos vários endereços IP).
Há algum parâmetro ajustável do kernel do Linux que estou faltando? Ou algum limite fundamental no TCP?
A falha é que meu aplicativo para abrir as conexões está pendurado na chamada connect ().
Obrigado por qualquer ajuda NickB
Respostas:
Aqui está um blog onde alguém recebeu> 1.000.000 de limites de uma caixa.
fonte
O protocolo TCP usa apenas 16 bits para a porta de destino e de origem. Não haverá como abrir mais de 65536 portas de uma só vez - nem mesmo com o Linux.
fonte
Nesse contexto, uma "interface única" significa um único cuidado de rede com um único endereço IP atribuído a ele. Cada conexão TCP de saída está vinculada a uma porta separada, portanto, seu exemplo não é possível.
fonte