Desempenho TCP intrigante em 3G / UMTS

8

Estou usando 3G como minha conexão principal com a Internet, e o TCP está ficando cada vez mais intrigante a cada dia. Por exemplo:

  1. Baixar do kernel.org é muito rápido:

    $wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.8.tar.bz2
    

    aumenta para ~ 500kB / s após alguns segundos!

  2. Alguns servidores são incrivelmente lentos, por exemplo www.graphic-pc.com: A
    mesma coisa, o download de um arquivo grande com o wget começa em ~ 30kB / s por uma fração de segundo e depois cai para 5-10k ou até pior.

  3. A navegação na Web é decente, mas pouco confiável. Aleatoriamente, uma página levará muito tempo para carregar ou até falhar, mas uma recarga pode ser bem-sucedida quase imediatamente.

  4. Agora, por acaso, comecei a jogar com o OpenVPN sobre UDP no topo da conexão 3G e, de repente, OMG tudo é extremamente rápido!
    O mesmo www.graphic-pc.com agora dispara a 100-200kB / s!


  • O que está acontecendo aqui ???
  • Como é que é muito melhor com a VPN do que sem?
  • E por que o graphic-pc.com rastreia quando o kernel.org voa?
    Algo a ver com minha pilha tcp (ou o servidor) ou algum roteador de buggy no meio?

Notas:

O programa de instalação é um laptop executando Ubuntu Lucid e um dongle Huawei 3G (conexão pppd tão direta).

Posso reproduzir isso praticamente a qualquer hora do dia e não estou me mexendo, portanto, claramente não é o ambiente celular ou o congestionamento da Internet. (embora o kernel.org sem VPN às vezes melhore à noite, 60kB ou mais - mas ainda 500kB com VPN!)

Para 2) o wireshark mostra pacotes retransmitidos, dup ack, mesmo fora de ordem às vezes.

Eu tentei jogar com diferentes parâmetros / proc / sys / net / ipv4 (tcp_rmem, window_scaling, tcp_congestion ...) não parece fazer diferença.


Atualização:
Tentei no Windows 7 (sem VPN) com alguns resultados interessantes:

tcp settings  :  default          tcp_optimizer
kernel.org    :  10 kB/s          20 kB/s
graphic-pc.com:   8 kB/s          70 kB/s !

O tcp_optimizer ativou o ctcp entre outras coisas. Tenho que verificar o que os graphic-pc.com está executando, minha aposta é o tcp_westwood do linux e o ms ctcp não se mistura bem aqui ...

limões
fonte
A natureza do 3G vai variar.
Além disso, o 3G é um transporte de alta latência, que não se presta a certos tipos de tráfego (por exemplo: protocolos de bate-papo, como o SQL Net). Não que nenhum de seus exemplos seja o SQL Net, apenas enfatize que ele executa de maneira diferente com alguns aplicativos.
"o wireshark mostra pacotes retransmitidos, dup ack, mesmo fora de ordem às vezes" - Quando, pela VPN ou não, ou ambos? Você experimenta esse comportamento para todo o tráfego ou apenas HTTP / S? Ou seja, conforme sugerido anteriormente por silencedhaven, seu ISP não pode mais dizer o que você está fazendo. Eu costumava me acostumar com a minha conexão ASDL até <2Mbps, mas isso ainda deveria ser suficiente para jogos, mas não era porque eu teria uma terrível latência e perda de pacotes. Comecei a jogar por um PPTP e minha latência estava melhor e os jogos possivelmente novamente. Você pode transferir um arquivo, por exemplo, para uma porta não padrão?
precisa saber é o seguinte
Talvez tente o FTP em uma porta alta aleatória, com e sem a VPN, e novamente com SSH / SFTP com e sem a VPN em uma porta alta aleatória, e relate os resultados aqui.
precisa saber é o seguinte
@ javano: etc, do wireshark dup é para graphic-pc.com sem VPN (não tentei o wireshark com a VPN, pois é bastante saudável). Vou fazer alguns testes com outras portas, o ftp é um bom candidato.

Respostas:

6

Problema resolvido:
testado com outro tipo de arquivo (.zip) em graphic-pc.com. Adivinha o quê, ao mesmo tempo, é rápido para esse arquivo e lento para o outro (que é bmp .mp3). Portanto, é claro que o ISP está realizando uma inspeção profunda e otimização de pacotes.

Quanto aos resultados estranhos no Windows, testei novamente hoje e agora é exatamente o mesmo que o Linux. Além disso, a limitação é dinâmica e muda durante o dia. Acho que tive muito azar e reiniciei e executei o tcp_optimizer exatamente quando a otimização mudou ...

Ainda curioso sobre o impacto real da 3G no desempenho do TCP como há um número de papéis sobre o assunto, mas, tanto quanto este está em causa é apenas Traffic Shaping porcaria, errado nada com 3G!

limões
fonte
2

Primeiro, as conexões 3G / 4G não foram projetadas para serem suas conexões principais com a Internet e estão sujeitas a limitação, se o tráfego fluir através delas corresponder a um determinado padrão ou se você exceder uma quantidade limite de tráfego não falada. Não acredite na sua operadora (mesmo naquelas roupas de divulgação ilimitadas somente de dados) quando elas disserem que você não tem limites.

Afinal, é hora do ar e a largura de banda do ar é inferior à de fibra e cobre. Quando eles têm congestionamento de tráfego, não terão outra opção senão diminuir o tráfego dos nós finais.

O site do pc gráfico que você mencionou é um site pesado muito flash (ou similar) e leva cerca de 60 segundos na minha internet de trabalho conectada ao OC-3. Portanto, ter taxas baixas de medição acessando este site através de um 3G padrão não é uma grande surpresa. Kernel.org é mais rápido que você diz. Considerando a natureza baseada em texto deste site, tenho certeza de que o tráfego pode ser compactado e descompactado rapidamente com sua conexão 3G a taxas de sucesso muito boas, onde isso não é possível em sites pesados ​​de imagem / flash / música / etc.

Por último, mas não menos importante, mais você quer enfiar no seu cano, ou seja, sua conexão 3G, cliente menos favorável que você será, para seu ISP e eles o estrangularão, não importa o quê. E se você ler seus Termos de Serviço, verá que eles têm o direito legal de fazê-lo, sob uso razoável (que não é uma conexão contínua 24 horas por dia, 7 dias por semana)

Quando você acessa uma conexão VPN, está criptografando todo o tráfego da rede. Portanto, seu provedor de serviços de Internet não pode mais inspecionar seus pacotes; portanto, não é possível diferenciar uma solicitação de página de texto de uma solicitação de página em flash. Portanto, você contornou a inspeção profunda de pacotes até um certo ponto. Mas ter uma VPN tem sua própria penalidade de velocidade, pois você terá que criptografar todos os pacotes que saem da sua conexão, o que tem um custo. Mas no seu caso, esse custo parece mínimo ou insignificante.

Espero que isso explique um pouco

MelBurslan
fonte
Desculpe, mas isso não explica o que está acontecendo aqui.
Para os 2 sites mencionados, estou analisando taxas de download em massa, baixando um arquivo grande com o wget, não abrindo o site em um navegador. Eu fiz alguns testes no Windows e a velocidade do graphic-pc.com é diferente lá (atualização postada). Se estivesse estrangulando do lado do ISP, permaneceria o mesmo.
quem é o seu provedor de 3G? Você está usando um desses ISPs 3G ou apenas conectando seu telefone celular a um dos principais provedores de serviços de telefonia fixa?
MelBurslan
Na verdade, você estava certo, é realmente uma limitação!