Existe um limite rígido de 65536 conexões TCP abertas por endereço IP no linux?

18

Existe um limite rígido de 65536 conexões TCP abertas por endereço IP no linux? Eu li em algum lugar que havia, mas alguém está pedindo confirmação e eu simplesmente não consigo encontrá-lo.

Eu pareço lembrar que era algo sobre os descritores de arquivos sendo um inteiro de 16 bits que limita de alguma forma?

Ou isso é hokum, e simplesmente não há limite além de quão grande é o servidor?

    
por Chris 01.03.2011 / 00:53

1 resposta

29

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.

    
por 01.03.2011 / 01:09