Manter semáforo, ESTABLISHED e TIME_WAIT semântica

3

Quando eu uso o seguinte comando

netstat -ant | grep :9111 | awk '{print $6}' | sort | uniq -c | sort -n

Eu obtenho o seguinte

   1 LAST_ACK
   1 LISTEN
   2 SYN_RECV
   7 FIN_WAIT1
  51 ESTABLISHED
  71 FIN_WAIT2
8779 TIME_WAIT

Acredito que entendi TIME_WAIT , o que significa que fechei a conexão em meu aplicativo e está aguardando algum período de tempo para garantir que o cliente tenha fechado a conexão com êxito. Por favor, corrija-me se eu estiver errado com isso.

Minha pergunta é em torno de manter pedidos ativos. A grande maioria do tráfego que espero ver deve ser mantida viva.

  1. Quando uma conexão keep alive entraria no período TIME_WAIT ?
  2. É possível que uma conexão viva kep passe de TIME_WAIT para ESTABLISHED ? Se sim, quais são as condições?
por Justin Wood 01.10.2014 / 19:06

1 resposta

4

Independentemente do mecanismo de keep alive ativado ou desativado em ambos os lados: Uma conexão nunca irá de TIME_WAIT para ESTABLISHED. TIME_WAIT é o estado de um par de soquetes de uma conexão recentemente fechada que está temporariamente fora de uso.

Uma conexão entra no estado TIME_WAIT depois que o terminal local iniciou com êxito o cancelamento da conexão ("active CLOSE") e recebeu o sinal do terminal remoto que também deseja fechar a conexão. Em seguida, o sistema operacional mantém o par de soquetes, aguardando dois MSL antes de liberá-lo para outra conexão nova. Isso garante que nenhum segmento da conexão antiga interfira em qualquer conexão recém-criada que reutilize o par de soquetes da conexão antiga.

Isso realmente funciona? Por que é suficiente que somente o par de soquetes da extremidade de fechamento ativo entre TIME_WAIT? Porque a reutilização de pares de soquetes em uma extremidade implica a reutilização de pares de soquetes na outra extremidade. E se o encerramento ativo ocorrer e falhar novamente dentro de dois MSLs? Em seguida, ele entrará no tempo de espera , durante o qual não está criando nenhuma conexão.

    
por 14.10.2014 / 11:15