Eu tenho um Ubiquity RouterStation Pro executando a versão mais recente do OpenwRT.
Conectando através de um fio diretamente ao roteador ou através de um switch, obtenho exatamente a velocidade que eu esperaria, tanto na minha rede local quanto na Internet. Gigabit para a rede local e cerca de 1,2 megabytes / segundo para a Internet.
Conectando através de uma conexão G sem fio, obtenho exatamente a velocidade que eu esperaria dos servidores locais, que é de cerca de 3 megabytes / segundo (com certeza, poderia ser melhor, mas não é ruim).
No entanto, quando uso a mesma conexão sem fio exata como acima, e baixa algo da Internet, minha velocidade máxima é de 30 a 60 kilobytes / segundo. Não há perda significativa de pacotes quando uso o ping.
Os testes de velocidade acima foram feitos baixando arquivos via http ou ssh (via scp e rsync). No entanto, usando a ferramenta iperf, que realiza testes de desempenho de rede, posso obter toda a velocidade da Internet para qualquer conexão em qualquer porta, mesmo sem fio.
Estou realmente confuso. Qualquer ajuda?
Editar
Depois de pensar um pouco mais, achei que o problema poderia estar relacionado ao tamanho do pacote (vi algo semelhante antes em outra rede). Para testar isso, usei ping -f -c 500 -s $SIZE
(ou seja, enviar pings de vários tamanhos). Abaixo de um tamanho de pacote de cerca de 220, os pings tiveram quase 0% de taxa de queda. Acima disso, a taxa de queda subiu rapidamente, atingindo 30% no tamanho de 512 bytes.
Usando esses dados, modifiquei a tabela de rotas no laptop para definir o MSS como 220, o que, como eu entendo, limita o tamanho dos pacotes TCP / IP a esse tamanho. Depois, realizei um teste de velocidade e recebo 600-700KB / s. Muito melhor! Atribuo a velocidade reduzida, comparada à conexão com fio, a um tamanho de pacote tão lamentável.
Eu não considero isso fixo, mas apenas uma solução alternativa. Ainda quero descobrir por que isso está acontecendo e como posso corrigi-lo.