O protocolo TCP, que a maioria do tráfego da Internet usa, usa um esquema de "janela deslizante" para fornecer confiabilidade. Isso significa que ele só enviará novos conteúdos (deslize a janela) quando receber as mensagens ACK indicando que parte ou a totalidade da janela atual foi recebida completamente. Por isso, requer que mensagens ACK freqüentes sejam enviadas no uplink para que o tráfego do seu download seja executado sem problemas. Se as mensagens do ACK forem atrasadas ou perdidas, o remetente pode reduzir a velocidade da transmissão e / ou retransmitir os pacotes recebidos.
Por padrão, os pacotes são transmitidos pelo sistema operacional na ordem em que são gerados pelos aplicativos, portanto, os pacotes ACK são intercalados com o tráfego de upload aleatoriamente. Seu ISP (ou seu dispositivo de rede) controla seu uso de largura de banda atrasando pacotes quando sua velocidade de transmissão excede o limite (também conhecido como estrangulamento). Esse atraso pode acontecer em qualquer pacote, incluindo os pacotes ACK sensíveis ao atraso.
Para resolver este problema, você precisará de algum tipo de sistema de prioridade para garantir que os pacotes ACK não sejam limitados. Existem soluções de software pagas para isso. Você também pode obter um efeito semelhante se limitar a velocidade de upload a um valor abaixo da largura de banda de upload alocada. Como alternativa, você pode usar aplicativos que transmitem arquivos por meio do UDP, o que não requer mensagens ACK.