TCP: Desativar ACKs puros?

TCP: Desativar ACKs puros?

Tenho um cenário em que desejo desabilitar ACKs puros (ACKs TCP sem dados), mas não consigo descobrir como fazer isso. Existe uma opção que eu possa definir para que os ACKs sejam sempre colocados no próximo pacote de dados (do qual posso ter certeza de que ele virá)?

Tentei desabilitar quickACKs por meio do ip routecomando para um intervalo de rede e dispositivo específico, mas não pareceu surtir nenhum efeito. Como informação adicional, estou executando um kernel 4.4 nesta máquina. Se precisar de mais informações, pergunte e eu fornecerei.

Responder1

Um pacote deve ser reconhecido pelo destinatário dentro de um horário específico, caso contrário o remetente assumirá que o pacote foi perdido e o retransmitirá. Se o seu destinatário enviar dados de qualquer maneira, o ACK será adicionado a esses dados. Se nenhum dado for enviado, um ACK puro deverá ser enviado para que o remetente saiba a tempo que o pacote foi recebido.

Responder2

Acontece que o aplicativo que estava me fornecendo esses ACKs puros usava um soquete com a opção TCP_NODELAY definida, para que cada pacote fosse respondido o mais rápido possível, sem esperar por dados adicionais.

informação relacionada