Estou com o mesmo problema na minha conexão comercial de 5 Mbps que em outra postagem neste site. Assim que qualquer computador inicia um download, a latência no primeiro salto após o DFG fornecido pelo nosso ISP (Bell) fica fora do gráfico. Esse primeiro salto provavelmente ocorre em nosso mesmo prédio e dura 1ms constantemente, inicia um download, por exemplo, atualização do Windows e salta para 200-1000ms.
Passei horas no telefone com suporte, dizendo que você alcançou a largura de banda máxima disponível; é normal que sua latência aumente. Mas minha leitura me diz que eles estão quebrando algo com o TCP. Eu executei testes em uma conexão Shaw doméstica e até mesmo em um Rogers LTE executando downloads e atingindo o Mbps máximo para minha conta, mas a latência não passa do limite.
Estou certo de que Bell está fazendo algo para interromper as tecnologias internas da TCP para gerenciar sua taxa com base na largura de banda disponível entre os dois pontos finais?
Respostas:
Bell está dizendo a verdade. Quando você tenta colocar 5Mbps (ou mais) em uma conexão de 5Mbps, tudo é arquivado em uma ordem pequena e simples (leia-se: fila.) Seu ping sai sem demora porque não há atrasos. A resposta, no entanto, está agora no final da fila. O TCP está fazendo exatamente o que deveria fazer aqui - o remetente está preenchendo a janela de recebimento permitida.
Há coisas que você pode fazer do seu lado da linha (QoS, WRED etc.) para ajudar a reduzir os efeitos, mas esse é o tipo de coisa que você verá quando houver uma grande diferença entre a largura de banda do remetente e do receptor. Eu moro com ele há anos (T1, 6Mbps DS3 e até 10Mbps de cabo) Você pode pedir ao ISP para reduzir o tamanho da fila do lado deles, mas é pouco provável que o façam, pois isso resultará em queda de pacotes .
fonte
A maioria das formas de "QoS" hoje em dia não inclui o AQM, pois os fornecedores acham muito difícil configurar o RED automaticamente, sem causar danos. Isso leva a atrasos horrendos que você vê em muitos dispositivos comuns hoje, principalmente modems a cabo e sem fio. Portanto, apenas recomendar "ativar qos" ... não ajuda. De fato, em pelo menos um dos produtos da Netgear, ativar o limitador de taxa para "QoS" leva a resultados muito piores.
Recentemente, um novo algoritmo de enfileiramento justo + AQM parece funcionar extremamente bem, e melhor, requer quase nenhuma configuração além de definir o limitador de taxa. Ele se chama fq_codel, e agora está amplamente disponível na maioria dos Linuxs e também foi portado para o BSD. Ele faz parte do "QoS" padrão no disjuntor de barreira openwrt, cerowrt e gargoyle usa uma (muito boa) versão anterior chamada sfqred com um inovador esquema de ajuste automático de taxa chamado ACC.
Assim, você pode bater uma caixa com base nisso na frente do seu link com comportamento inadequado, ativar o limitador de taxa de QoS (definido um pouco abaixo das configurações de entrada e saída dos provedores para que você assuma o controle) + fq_codel e obter um desempenho muito melhor para todos que o usam . Quero dizer incrivelmente melhor: veja a demonstração da ietf abaixo, o relatório para o grupo de trabalho iccrg na ietf, etc.
Para obter mais detalhes sobre o problema do bufferbloat e as correções, consulte:
http://www.bufferbloat.net/projects/cerowrt/wiki/Bloat-videos
Estamos (é claro) tentando convencer vários fornecedores de ISP CPE a prestarem atenção, assim como o cablelabs, que publicou um estudo maravilhoso sobre esse novo material há alguns meses, que também contém alguns detalhes sobre o mau comportamento atual dos modems a cabo em particular.
http://www.cablelabs.com/downloads/pubs/Active_Queue_Management_Algorithms_DOCSIS_3_0.pdf
fonte
O que você está vendo é inteiramente típico. Muitos provedores de serviços classificarão o limite e / ou usarão um mecanismo de QoS para diminuir a prioridade do ICMP (que inclui ping e traceroute tradicionais), pois ele às vezes é usado em ataques de negação de serviço.
Embora um link não esteja congestionado, a prioridade reduzida não afeta nada, pois não há tráfego na fila. Durante esses períodos, sua latência permanece baixa porque os pacotes ICMP serão encaminhados imediatamente e não sofrerão atrasos.
Quando o link está congestionado, as filas de prioridade mais alta recebem mais atenção. Dependendo do mecanismo de enfileiramento, ele pode encaminhar vários pacotes de uma fila de prioridade mais alta para cada pacote de uma fila de prioridade mais baixa ou até encaminhar apenas quando não houver nada em uma fila de prioridade mais alta. De qualquer forma, um pacote relegado para uma fila de prioridade mais baixa geralmente será retido por mais tempo do que em um link sem congestionamento, aumentando a latência.
fonte
Você provavelmente está sofrendo de bufferbloat e deseja o AQM (Active Queue Management). Eu escrevi um script para Linux que facilita bastante isso:
Você simplesmente salva o script como
traffic-shaping
echmod a+x
o executa como root (depois de ler o código fonte, obviamente).Para o seu caso de uso, sugiro
fonte
linux-lowlatency
kernel para manter o sistema com a tarefa de processar todos os pacotes.