O tráfego sem fio pára ao baixar arquivos grandes em alta velocidade: pacotes perdidos (roteador Linksys WRT120N)

3

O problema

Nota: Primeiro eu gostaria de entender por que isso está acontecendo. Claro, uma solução seria legal também. :)

Ao fazer o download de um arquivo grande via HTTP em alta velocidade, meu tráfego sem fio basicamente pára: não consigo abrir páginas da web e o download em si é pausado. Ele faz uma pausa praticamente imediatamente depois de iniciá-lo; às vezes em 800 KB, às vezes em alguns MB. Após algum tempo, o download (e outro tráfego) é retomado, mas o problema continua ocorrendo durante o mesmo download.

O problema não ocorre ao usar uma conexão com fio através do mesmo roteador (Linskys WRT120N). Observe também que a conexão é não descartada quando isso acontece. É só que o tráfego pára e eu não posso navegar para páginas web, etc (pacotes SYN são enviados, mas nada é recebido, etc.)

A inspeção com o Wireshark mostra o seguinte:

  1. O servidor envia pacotes de dados que são reconhecidos pelo cliente
  2. O servidor envia um pacote, mas o SEQ indica que alguns pacotes foram perdidos (6 pacotes em uma ocorrência).
  3. O servidor envia mais alguns pacotes e o cliente os reconhece usando "confirmação seletiva"
  4. O servidor pára de enviar dados por um tempo (como os pacotes perdidos não foram confirmados ou , o roteador parou de encaminhá-los?)
  5. Eventualmente, o servidor faz uma "retransmissão" e o tráfego continua normalmente.

Isso tudo parece normal para mim quando ocorre perda de pacotes. É a perda consistente de pacotes em um download grande e de alta velocidade que me intriga.

O que pode causar isso?

Minha idéia é a seguinte: Minha Internet é muito rápida (100 mbps), então ao iniciar um download de arquivos grandes, o roteador armazena os dados de entrada (desde que o wireless apresenta um ligeiro atraso / menor velocidade, em parte devido a outras redes), mas o buffer transborda e o roteador descarta pacotes para regular o tráfego (e porque não tem escolha).

Mas como isso pode acontecer? O tamanho da janela TCP não limita a quantidade de dados que podem não ser reconhecidos? Então, como o buffer do roteador pode estourar se houver apenas 64 KB esperando para ser reconhecido?

Observação: desativei o dimensionamento da janela TCP e o tamanho da janela dinâmica por meio das opções netsh , na tentativa de corrigir isso, mas isso não parece importar.

Além disso, o Wireshark mostra um padrão do servidor enviando 2 pacotes (de 1514 bytes) e o cliente enviando um ACK, isso exclui um possível estouro de buffer? E mais alguns pacotes subsequentes são recebidos ...

Eu estou perdido aqui. Obrigado por qualquer insight.

Coisas que (provavelmente) NÃO são a causa / experimentei

  • O navegador
  • Várias opções de TCP no Windows 7 ( netsh etc.)
  • Configurações do roteador, como MTU, intervalo de beacon, UPnP, ...
por Torious 31.05.2012 / 19:22

1 resposta

3

A solução

A solução foi simplesmente desativar o suporte WMM na configuração do roteador. Aparentemente, o suporte Linksys WRT120N WMM não funciona bem com o Windows 7 sem fio por algum motivo.

Mais alguns detalhes

Frequentemente, quando o problema ocorre, o tráfego é retomado (para a mesma conexão), como se os pacotes estivessem enfileirados pelo roteador por algum tempo. Essas pausas normalmente duram 40 segundos ou mais. Ainda me confunde ser honesto.

Durante esse tempo, nenhuma outra conexão (TCP) poderia ser feita: Ao tentar navegar para uma página da Web, o laptop enviaria pacotes SYN, mas não haveria resposta. No entanto, os pedidos DNS e ARP foram processados normalmente.

    
por 01.06.2012 / 11:44