Por que as redes móveis têm altas latências? Como eles podem ser reduzidos?

39

Cada vez mais, vejo as tecnologias de rede móvel sendo usadas para obter acesso à Internet em áreas onde, de outra forma, não estão disponíveis.

Embora a rede móvel ainda não seja viável como a principal conexão à Internet, a tecnologia móvel parece ser uma boa opção para uma emergência.

O problema da largura de banda não é o seguinte: com o HDSPA, são possíveis velocidades de vários MBit, o que fornece um uplink decente. Entretanto, sei por experiência pessoal que os links de redes móveis (via GPRS, UMTS etc.) têm latências muito mais altas do que o DSL comum (200 a 400 ms para UMTS, ainda mais para GPRS). É claro que isso os torna inadequados para muitas aplicações, como VoIP e teleconferência.

  • De onde vem essa latência?
  • Existem tecnologias disponíveis que podem atenuar esse problema, para viabilizar o UMTS para aplicativos de baixa latência?

Suponho que deve haver alguma razão técnica inerente, mas o que é? Tem a ver com a forma como os dados são transmitidos pelo ar? E se é por causa da transmissão sem fio, por que a WLAN tem latências muito mais baixas?

sleske
fonte
6
Pertence a runningamajortelecom.stackexchange.com. ;-)
ceejayoz
Tipo móvel dispositivo, localização torre de celular, as barreiras ao sinal, etc
DanBig
3
Esta pergunta não é adequada para superusuário. Pertence aqui.
Resmon6
2
Eles vão superar isso. Como engenheiro de rede, estou ansioso para ver uma resposta ponderada a esta pergunta.
Resmon6

Respostas:

46

O livro "Rede para navegadores de alto desempenho" da Ilya Grigorik responde exatamente isso. Há um capítulo inteiro (7) dedicado às redes móveis. O livro afirma que o problema do alto desempenho está quase sempre associado à latência; geralmente temos muita largura de banda, mas os protocolos atrapalham. Seja o TCP slow start , o Radio Resource Controller (RRC) ou configurações abaixo do ideal. Se você estiver com baixa latência apenas em redes móveis, é assim que elas são projetadas.

Há uma tabela no livro sobre latências típicas:

Tabela 7-2. Taxas de dados e latência para uma conexão móvel ativa

Geração | Taxa de dados | Latência
2G 100–400 Kbit / s | 300–1000 ms
3G 0,5-5 Mbit / s | 100–500 ms
4G 1–50 Mbit / s | <100 ms

Embora muito relevante para a latência, o handshake de três vias da característica TCP ou o início lento não respondem à pergunta, pois afetam igualmente as conexões com fio. O que realmente afeta a latência nas redes móveis é a camada sob IP. Se a camada sob IP tiver uma latência de meio segundo, uma conexão TCP com um servidor levará aproximadamente 1,5 segundos (0,5s * 3), conforme você vê os números se somando rapidamente. Como dito anteriormente, suponha que o celular não esteja ocioso. Se o aparelho estiver ocioso, primeiro será necessário "conectar-se" à rede, o que exige negociar uma reserva de recursos com a torre (simplificada) e leva entre 50-100ms em LTE, até vários segundos em 3G e muito mais em redes anteriores.

Figura 7-12. Latências de fluxo de solicitação LTE

  1. Latência do plano de controle : custo fixo fixo de latência incorrido nas negociações e transições de estado do RRC: <100 ms para inativo para ativo e <50 ms para inativo para ativo.
  2. Latência do plano do usuário : custo fixo para cada pacote de aplicativos transferido entre o dispositivo e a torre de rádio: <5 ms.
  3. Latência da rede principal: custo dependente da operadora para transportar o pacote da torre de rádio para o gateway de pacote: na prática, 30 a 100 ms.
  4. Latência de roteamento da Internet: custo variável da latência entre o gateway de pacote da operadora e o endereço de destino na Internet pública.

Na prática, a latência de ponta a ponta de muitas redes 4G implantadas tende a estar na faixa de 30 a 100 ms quando o dispositivo está conectado.

Então, você tem uma solicitação (Figura 8-2. Componentes de uma solicitação HTTP "simples"):

  1. Negociação RRC 50-2500 ms
  2. Pesquisa de DNS 1 RTT
  3. Handshake TCP 1 RTT (conexão preexistente) ou 3 RTT (nova conexão)
  4. TLS handshake 1-2 RTTs
  5. RTTs de 1 n de solicitação HTTP

E com dados reais:

Tabela 8-1. Sobrecarga de latência de uma única solicitação HTTP

                       | 3G 4G
Avião de controle | 200–2,500 ms | 50–100 ms
Pesquisa de DNS | 200 ms | 100 ms
Aperto de mão TCP | 200 ms | 100 ms
Aperto de mão TLS | 200–400 ms | 100–200 ms
Solicitação HTTP | 200 ms | 100 ms
Sobrecarga de latência total | 200–3500 ms | 100-600 ms

Além disso, se você tem um aplicativo interativo que deseja executar moderadamente ok em uma rede móvel, experimente desabilitar o algoritmo Nagle (o kernel aguarda a coalescência dos dados em pacotes maiores em vez de enviar vários pacotes menores) e procure maneiras de testá-lo em https://stackoverflow.com/a/17843292/869019 .


Existe a opção de ler o livro inteiro gratuitamente por todos em https://hpbn.co/, patrocinado pela Velocity Conference. Este é um livro altamente recomendado, não apenas para as pessoas que desenvolvem sites, mas é útil para todos que veiculam bytes em alguma rede para um cliente.

Jorge Nerín
fonte
Obrigado pela informação, muito interessante. Como nem todos podem ler o livro (e como as respostas devem ser independentes): você poderia explicar um pouco mais como o início lento do TCP, os controladores de rádio e a configuração contribuem para a latência?
sleske
11
Acabei de editar a resposta com fragmentos e tabelas do livro, para que seja útil por si só.
Jorge Nerín
2
Nota para si mesmo: Outro artigo interessante sobre latência: Latência em redes de dados HSPA , Qualcomm.
sleske
Muito obrigado. Estou tentando explicar ao meu chefe por que estamos tendo problemas com a latência através de modems 3G para quiosques implantados remotamente, e isso acabou com tudo.
Jklemmack
4

Suspeito que uma grande proporção da latência que você possa ter ao usar tecnologias de "banda larga celular" seja um problema composto de várias coisas.

Há distância, mas, como o syneticon-dj mencionou, essa é realisticamente apenas uma proporção muito pequena do tempo de ida e volta.

Aqui está algo a considerar ... Os atrasos que você experimenta como cliente (especialmente como cliente doméstico ou de empresa de pequeno porte) provavelmente são induzidos artificialmente, pelo menos até certo ponto. Há uma classe de comunicações 3G e GSM para utilização de M2M, para SCADA e assim por diante, que às vezes podem fornecer maior confiabilidade e transmissão de menor latência. Como resultado, eles geralmente são proibitivamente caros.

Então, basicamente, você é contra a modelagem de tráfego. O ISP / Telco está fazendo isso para priorizar os clientes que pagam melhor, ou a célula à qual você está conectado está um pouco ocupada ou a rede inteira está um pouco lenta (tente 00:00 GMT em 1/1/2012, para exemplo).

Mas há uma maneira de contornar tudo isso, é um pouco sorrateiro. Você precisaria basicamente de um proxy de conexão TCP antes de seu tráfego sair pela WWAN móvel. Esse proxy enviaria essencialmente um ACK falsificado para o seu aplicativo, pois o ACK real pode ser atrasado pela configuração do tráfego do ISP.
É nitidamente dúbio, mas vários provedores de satélite usam esse mecanismo para fazer com que a latência pareça menor do que realmente é.

Tom O'Connor
fonte
O proxy tcp é uma ideia interessante e ajudará o TCP a usar melhor a largura de banda disponível. No entanto, isso realmente não ajuda com o tipo de aplicativo sobre o qual o OP pergunta. A latência na conexão é visível ao usuário. Acho que você provavelmente poderia usar o Phoebus: e2epi.internet2.edu/phoebus.html como um proxy TCP.
Dan Pritts 06/02
2

Meio atrasado para o jogo, mas você pode querer conferir o artigo do meu Calendário de desempenho sobre o tópico: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - grande parte da latência móvel é devido ao roteamento não otimizado no back-haul.

r0u1i
fonte
Ponto interessante. No entanto, isso explica apenas parte do problema. O GPRS normalmente tem latências de 500 a 1.000 ms. A latência em um continente geralmente não é superior a 200-300ms, portanto, mesmo o roteamento muito dispendioso não deve fornecer 1.000 ms.
sleske
@sleske Eu suspeito que, com o GPRS (e outras tecnologias antigas), você esteja atingindo um gargalo de largura de banda. Você pode empacotar tantos pacotes em 56kb / s (máximo) antes de começarem a fila (talvez eu esteja errado - mas 56kb / s não significa cerca de quatro quadros de 1500 bytes por segundo?).
R0u1i
Backhaul não é a resposta. Pelo menos do ponto de vista do metrô. Os SLAs exigem tráfego de retorno na Ethernet Carrier em todos os lugares em que estive na faixa de 8 a 12ms, torre para MSC / MTSO. Como a operadora de celular direciona o tráfego de lá para o Backbone é problema deles, mas não deve ser diferente do tráfego normal de ISP / não celular.
1

As tecnologias de modem de telefone celular sofrem com alta latência devido à natureza das comunicações ao ar livre: as distâncias de transmissão WLAN são geralmente muito mais curtas que as das outras tecnologias mencionadas, portanto, esse é um dos motivos pelos quais a latência é menor.

Isaac Butt
fonte
6
A distância é realmente de menor preocupação aqui. A velocidade de propagação das ondas de rádio no ar é bem próxima da velocidade da luz no vácuo (cerca de 300.000 km / s), de modo que mesmo uma distância de 3 km representaria apenas 0,02 ms de atraso de ida e volta.
the-wabbit
2
@ syneticon-dj Você está parcialmente correto, pois a viagem à torre é apenas uma (fração muito pequena) do atraso nas redes celulares. Também há redundância de transmissão (o link de rádio nunca é perfeito no mundo real e a correção de erros é inerentemente indutora de atraso), retorno ao edifício de telecomunicações / comutação de telecomunicações (normalmente em uma rede de pacotes atualmente, pode ser um ou mais saltos) , conectando você a um link de voz ou dados no CO e, presumindo que estamos falando de conexões de dados, você está na The Big Bad Internet com todos os seus atrasos inerentes.
Voretaq7
11
Eu adicionaria algoritmos de detecção de colisão / prevenção de colisão e parâmetros de operação atuais (como uma velocidade de transmissão reduzida, resultando em um tempo de bit aumentado, que deve representar de 1 a 4 ms) também. Mas não sei o suficiente sobre o UMTS para compor uma resposta abrangente.
the-wabbit
@ syneticon-dj Bons pontos; Eu escrevi um artigo sobre a tecnologia CDMA, mas isso foi há muito tempo!
Isaac Butt