Como um servidor lida com segmentos TCP ausentes?

1

Estou interessado especificamente nas implementações do protocolo FIX sobre o TCP, mas estou feliz em discutir o problema em mais generalidades.

Suponha que um cliente envie segmentos TCP para um servidor e alguns dos pacotes IP envolvidos sejam perdidos. Em seguida, para os segmentos TCP que não chegaram totalmente, o cliente não receberá um ACK. Agora, normalmente, isso é uma sugestão para o cliente retransmitir os segmentos TCP, após o término do tempo limite.

Agora, vamos supor que o cliente decida não enviar os segmentos TCP ausentes, afinal. O que acontecerá com o conjunto incompleto de segmentos que o servidor recebeu corretamente?

O servidor espera o melhor e assume que, eventualmente, os segmentos ausentes chegarão? Existe um tempo limite em que o servidor limpa as informações incompletas de seu buffer? Em caso afirmativo, geralmente quanto tempo demora esse tempo?

    
por Randomblue 18.10.2012 / 16:26

1 resposta

5

O TCP Keep-alive é discutido na seção 4.2.3.6 do RFC-1122 ( link ).

Sem retransmissões de manutenção de atividade, as conexões TCP podem permanecer abertas indefinidamente sem trocar nenhum segmento. Se a conexão estiver de fato morta, isso geralmente não é descoberto até que um lado tente enviar novos dados e obtenha um tempo limite ou um erro de ICMP.

    
por 18.10.2012 / 16:42

Tags