Significado de tcp_delack_min

4

o kernel atual do Linux (por exemplo, 2.6.36) usa reconhecimentos atrasados (delack).

Em /include/net/tcp.h ele diz :

define TCP_DELACK_MIN ((unsigned)(HZ/25))

Assim, para um Kernel usando um valor HZ de 1000, um ACK deve ser atrasado em no mínimo 40 ms.

No entanto, a RFC 2581 diz que uma implementação TCP deve reconhecer cada segundo segmento de tamanho completo sem mais delongas.

Alguém sabe se o Kernel Linux segue aquele 'deve' ou se o valor TCP_DELACK_MIN significa que, mesmo depois que um segmento de tamanho completo foi recebido, o ACK continua atrasado até que 40 ms tenham passado?

    
por Phi 11.12.2010 / 19:04

1 resposta

1

Eu pesquisei no código fonte. Se eu leio corretamente, o Linux segue o DEPUTADO do RFC 2581.

A parte relevante do código está contida na função __tcp_ack_snd_check () em tcp_input.c.

    
por 22.12.2010 / 02:44