Puzzling desempenho TCP sobre 3G / UMTS

8

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

  1. O download 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 depois de alguns segundos!

  2. Alguns servidores são incrivelmente lentos, por exemplo www.graphic-pc.com:
    A mesma coisa, fazer 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 pior ainda.

  3. A navegação na Web é decente, mas pouco confiável. Aleatoriamente, uma página demorará muito tempo para carregar ou até mesmo não carregar, mas uma recarga pode ter sucesso quase que imediatamente.

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

  • O que está acontecendo aqui?
  • Por que é tão melhor com a VPN do que sem
  • E por que o site graphic-pc.com rasteja quando o kernel.org voa?
    Tem a ver com minha pilha de tcp (ou com o servidor), ou algum roteador com bugs entre eles?

Notas:

A configuração é um laptop rodando o Ubuntu Lucid e um dongle Huawei 3G (So direct pppd conexão).

Eu posso reproduzir isso praticamente a qualquer momento durante o dia e não sou em movimento, por isso claramente não é ambiente de celular ou congestionamento da internet. (embora o kernel.org sem VPN às vezes piora à noite, 60kB ou mais - mas ainda 500kB com VPN!)

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

Eu tentei tocar com diferentes parâmetros / proc / sys / net / ipv4 (tcp_rmem, window_scaling, tcp_congestion ...) não parece fazer um 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 checar o que o site graphic-pc.com está rodando, minha aposta é o tcp_westwood do linux e o ms ctcp não combina bem aqui ...

    
por lemonsqueeze 04.12.2012 / 20:07

2 respostas

6

Problema resolvido:
Testado com outro tipo de arquivo (.zip) em graphic-pc.com. Adivinhe, ao mesmo tempo, é rápido para este arquivo e lento para o outro (que é btw .mp3). Então, é claro que o ISP está fazendo uma inspeção profunda de pacotes e otimização.

Quanto aos resultados estranhos no Windows, eu testei novamente hoje e agora é exatamente o mesmo que o Linux. Além disso, o afogamento é dinâmico e muda durante o dia. Eu acho que foi realmente azarado e reiniciei e executei o tcp_optimizer bem quando o afogamento mudou ...

Ainda curioso sobre o impacto real do 3G no desempenho do TCP, como há um número de papéis sobre o assunto, mas, no que diz respeito a isso, é apenas porcaria de tráfego, nada de errado com 3G!

    
por 05.12.2012 / 15:26
2

Em primeiro lugar, as conexões 3G / 4G não são projetadas para serem suas conexões principais com a Internet e estão sujeitas a afogamento, se o tráfego fluir por elas corresponder a um determinado padrão ou se exceder a quantidade limite não pronunciada de tráfego. Não acredite na sua operadora (nem mesmo nas roupas de divulgação ilimitadas de dados) quando eles dizem que você não tem limites.

Afinal, é a hora do ar e a largura de banda do ar é inferior à da fibra e do cobre. Quando eles tiverem congestionamento de tráfego, eles não terão outra opção a não ser limitar o tráfego dos nós finais.

O site gráfico-pc que você mencionou é um site muito flash (ou similar) e ocupa cerca de 60 segundos na minha internet de trabalho conectada ao OC-3. Então, ter uma baixa taxa 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 que o tráfego pode ser compactado e descomprimido rapidamente com sua conexão 3G com taxas de sucesso muito boas, pois isso não é uma possibilidade com sites pesados de imagem / flash / música / etc.

Por último, mas não menos importante, mais você quer colocar o seu cachimbo, ou seja, a sua conexão 3G, o cliente menos favorável que você será, para você ISP e eles vão estrangular você, não importa o quê. E se você ler seus TOS, verá que eles têm o direito legal de fazê-lo, sob uso razoável (que não é 24/7 de conexão sem interrupção)

Quando você passa por uma conexão VPN, você está criptografando todo o tráfego da sua rede. Assim, o seu ISP, não é mais capaz de inspecionar seus pacotes, portanto, não pode dizer uma solicitação de página de texto a partir de uma solicitação de página flash. Então, você contornou sua inspeção profunda de pacotes até certo ponto. Mas ter uma VPN tem sua própria penalidade de velocidade, já que você terá que criptografar todos os pacotes que saem de 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

    
por 04.12.2012 / 20:24

Tags