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

32

Estou cada vez mais vendo as tecnologias de redes móveis sendo usadas para obter acesso à Internet em áreas onde, de outra forma, elas não estão disponíveis.

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

O Bandwith não é o problema: com o HDSPA, são possíveis velocidades de vários MBit, o que proporciona um uplink decente. No entanto, sei por experiência pessoal que as ligações de redes móveis à Internet (via GPRS, UMTS, etc.) têm latências muito superiores às da DSL normal (200-400 ms para UMTS, mais ainda para GPRS). Isso, é claro, os torna inadequados para muitas aplicações, como VoIP e teleconferência.

  • De onde vem essa latência?
  • Existem tecnologias disponíveis que possam atenuar esse problema, para tornar o UMTS viável para aplicativos de baixa latência?

Eu assumo que deve haver alguma razão técnica inerente, mas o que é isso? Tem a ver com 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 menores?

    
por sleske 09.05.2012 / 22:23

4 respostas

37

O livro "High Performance Browser Networking" de Ilya Grigorik responde exatamente isso. Há um capítulo inteiro (7) dedicado às redes móveis. O livro afirma que o problema com o alto desempenho está quase sempre ligado à latência, geralmente temos muita largura de banda, mas os protocolos ficam no caminho. Seja TCP início lento , o Controlador de Recursos de Rádio (RRC) ou configurações sub-ótimas. Se você está tendo latência ruim apenas nas redes móveis, é como 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

Generation | Data rate      | Latency
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 característico do TCP ou o slow-start não respondem realmente à pergunta, pois afetam as conexões com fio igualmente. O que realmente afeta a latência em redes móveis é a camada sob IP. Se a camada sob o IP tiver uma latência de meio segundo, uma conexão TCP com um servidor levará cerca de 1,5 segundo (0,5s * 3), pois os números são muito rápidos. Como dito antes, suponhamos que o celular não esteja ocioso. Se o aparelho estiver inativo, primeiro ele precisa "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 mais em redes anteriores.

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

  1. Latência do Plano de controle : custo de latência fixo e único incorrido para negociação de RRC e transições de estado: < 100 ms para inatividade ativo e < 50 ms para dormente ativo.
  2. Latência do plano de usuário : custo fixo para cada pacote de aplicativo transferido entre o dispositivo e a torre de rádio: <5 ms.
  3. Latência de 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 de latência variável entre o gateway de pacotes 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.

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

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

E com dados reais:

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

                       | 3G           | 4G
Control plane          | 200–2,500 ms | 50–100 ms
DNS lookup             | 200 ms       | 100 ms
TCP handshake          | 200 ms       | 100 ms
TLS handshake          | 200–400 ms   | 100–200 ms
HTTP request           | 200 ms       | 100 ms
Total latency overhead | 200–3500 ms  | 100–600 ms

Além disso, se você tiver um aplicativo interativo que deseja executar moderadamente ok em uma rede móvel, experimente desabilitar o algoritmo Nagle (o kernel espera que os dados se aglutinem em pacotes maiores em vez de enviar vários pacotes menores). para testá-lo no link .

Há a opção de ler o livro inteiro gratuitamente por todos, no link patrocinado pela Velocity Conference. Este é um livro altamente recomendado, não apenas para pessoas que desenvolvem websites, mas também para todos que atendem bytes em alguma rede a um cliente.

    
por 07.02.2014 / 00:31
4

Eu suspeito que uma grande parte da latência que você pode ter ao usar tecnologias de "banda larga celular" é uma questão composta de várias coisas.

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

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

Então, basicamente, você está contra a modelagem de tráfego. Ou 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 toda a sua rede está um pouco lenta (tente 00:00 GMT em 1/1/2012, para exemplo).

Mas há uma maneira de contornar tudo isso, embora seja um pouco furtivo. Você precisaria basicamente de um proxy de conexão TCP antes que o tráfego fosse direcionado para a WWAN móvel. Esse proxy essencialmente envia um ACK falso para seu aplicativo, pois o ACK real pode ser atrasado pela modelagem de tráfego do ISP.
É claramente duvidoso, mas vários provedores de satélite usam esse mecanismo para fazer com que a latência pareça menor do que realmente é.

    
por 14.05.2012 / 12:52
1
As tecnologias de modem de telefone celular sofrem de alta latência devido à natureza das comunicações ao ar livre: as distâncias de transmissão de WLAN são geralmente muito mais curtas do que as outras tecnologias que você mencionou, portanto essa é uma das razões pela qual a latência é menor. >     
por 09.05.2012 / 22:31
1

Mais ou menos no final do jogo, mas você pode querer conferir o artigo do meu Performance Calendar sobre o tópico: link

tl; dr - uma parte importante da latência de dispositivos móveis é devido ao roteamento não otimizado no back-haul.

    
por 17.12.2012 / 16:04