Perché le reti mobili hanno latenze elevate? Come possono essere ridotti?


39

Vedo sempre più tecnologie di rete mobile utilizzate per ottenere l'accesso a Internet in aree in cui altrimenti non è disponibile.

Mentre la rete mobile di solito non è ancora praticabile come principale connessione Internet, la tecnologia mobile sembra una buona opzione per un fallback di emergenza.

Bandwith non è il problema: con HDSPA, sono possibili velocità di diversi MBit, il che fornisce un uplink decente. Tuttavia, per esperienza personale so che i collegamenti Internet delle reti mobili (tramite GPRS, UMTS ecc.) Hanno latenze molto più elevate rispetto al normale DSL (200-400 ms per UMTS, ancora di più per GPRS). Ciò ovviamente li rende inadatti a molte applicazioni, come VoIP e teleconferenza.

  • Da dove viene questa latenza?
  • Sono disponibili tecnologie in grado di mitigare questo problema, per rendere UMTS praticabile per le applicazioni a bassa latenza?

Presumo che ci debba essere qualche motivo tecnico intrinseco, ma che cos'è? Ha a che fare con il modo in cui i dati vengono trasmessi via etere? E se è a causa della trasmissione wireless, perché la WLAN ha latenze molto più basse?


6
Appartiene a runningamajortelecom.stackexchange.com. ;-)
ceejayoz,

tipo di dispositivo mobile, posizione della torre cellulare, barriere per la segnalazione, ecc.
DanBig

3
Questa domanda non è adatta per il superutente. Appartiene qui.
riconsegna

2
Lo supereranno. Come ingegnere di rete non vedo l'ora di vedere una risposta ponderata a questa domanda.
riconsegna

1

Risposte:


46

Il libro "High Performance Browser Networking" di Ilya Grigorik risponde esattamente a questo. C'è un intero capitolo (7 °) dedicato alle reti mobili. Il libro afferma che il problema delle alte prestazioni è quasi sempre legato alla latenza, di solito abbiamo molta larghezza di banda ma i protocolli si intromettono. Che si tratti di TCP slow start , Radio Resource Controller (RRC) o configurazioni non ottimali. Se si verifica una scarsa latenza solo nelle reti mobili, è il modo in cui sono progettati.

Nel libro c'è una tabella sulle latenze tipiche:

Tabella 7-2 Velocità dati e latenza per una connessione mobile attiva

Generazione | Velocità dati | Latenza
2G | 100–400 Kbit / s | 300–1000 ms
3G | 0,5–5 Mbit / s | 100–500 ms
4G | 1–50 Mbit / s | <100 ms

Sebbene molto rilevanti per la latenza, la stretta di mano a tre vie caratteristica TCP o l'avvio lento non rispondono realmente alla domanda, poiché influenzano ugualmente le connessioni cablate. Ciò che influisce davvero sulla latenza nelle reti mobili è il livello in IP. Se il livello in IP ha una latenza di mezzo secondo, una connessione TCP a un server impiegherà ~ 1,5 sec (0,5 s * 3), poiché i numeri si sommano abbastanza rapidamente. Come detto prima, supponiamo che il cellulare non sia inattivo. Se il portatile è inattivo, deve prima "connettersi" alla rete, ciò richiede di negoziare una riserva di risorse con la torre (semplificata) e che impiega tra 50-100ms in LTE, fino a diversi secondi in 3G e altro nelle reti precedenti.

Figura 7-12. Latenze del flusso di richieste LTE

  1. Latenza del piano di controllo : costi di latenza fissi e una tantum sostenuti per la negoziazione RRC e le transizioni di stato: <100 ms da inattivo a attivo e <50 ms da inattivo a attivo.
  2. Latenza del piano utente : costo fisso per ogni pacchetto di applicazione trasferito tra il dispositivo e la torre radio: <5 ms.
  3. Latenza della rete centrale: costo dipendente dal vettore per il trasporto del pacchetto dalla torre radio al gateway pacchetto: in pratica, 30–100 ms.
  4. Latenza di routing Internet: costo di latenza variabile tra il gateway di pacchetti del corriere e l'indirizzo di destinazione su Internet pubblico.

In pratica, la latenza end-to-end di molte reti 4G distribuite tende a essere nell'intervallo 30–100 ms una volta che il dispositivo si trova in uno stato connesso.

Quindi, hai una richiesta (Figura 8-2. Componenti di una "semplice" richiesta HTTP):

  1. Negoziazione RRC 50-2500 ms
  2. Ricerca DNS 1 RTT
  3. Handshake TCP 1 RTT (connessione preesistente) o 3 RTT (nuova connessione)
  4. Stretta di mano TLS 1-2 RTT
  5. RTT richiesta 1-n HTTP

E con dati reali:

Tabella 8-1 Sovraccarico di latenza di una singola richiesta HTTP

                       | 3G | 4G
Piano di controllo | 200–2.500 ms | 50–100 ms
Ricerca DNS | 200 ms | 100 ms
Stretta di mano TCP | 200 ms | 100 ms
Stretta di mano TLS | 200–400 ms | 100-200 ms
Richiesta HTTP | 200 ms | 100 ms
Spese generali di latenza | 200–3500 ms | 100–600 ms

Inoltre, se si dispone di un'applicazione interattiva che si desidera eseguire in modo moderatamente corretto in una rete mobile, è possibile provare a disabilitare l'algoritmo Nagle (il kernel attende la coalescenza dei dati in pacchetti più grandi invece di inviare più pacchetti più piccoli) cercare modi per testarlo in https://stackoverflow.com/a/17843292/869019 .


C'è la possibilità di leggere l'intero libro gratuitamente da tutti su https://hpbn.co/ sponsorizzato da Velocity Conference. Questo è un libro altamente raccomandato, non solo alle persone che sviluppano siti Web, ma è utile a tutti coloro che servono byte su una rete a un client.


Grazie per l'informazione, molto interessante. Dal momento che non tutti possono leggere il libro (e poiché le risposte dovrebbero essere autonome): Potresti spiegare un po 'di più come l'avvio lento TCP, i controller radio e la configurazione contribuiscono alla latenza?
sleske,

1
Ho appena modificato la risposta con frammenti e tabelle del libro, quindi è utile da solo.
Jorge Nerín,

2
Nota per sé: un altro documento interessante sulla latenza: latenza nelle reti di dati HSPA , Qualcomm.
sleske,

Grazie mille. Sto cercando di spiegare al mio capo perché stiamo riscontrando problemi con la latenza rispetto ai modem 3G per i chioschi distribuiti in remoto, e questo l'ha buttato fuori dal parco.
jklemmack,

4

Ho il sospetto che gran parte della latenza che potresti riscontrare quando usi le tecnologie della "banda larga cellulare" è un problema composto da una serie di cose.

C'è distanza, ma come è già stato detto da Syneticon-dj, questa è realisticamente solo una piccola parte del tempo di andata e ritorno.

Ecco qualcosa da considerare ... I ritardi che si verificano come clienti (soprattutto come clienti domestici o di piccole imprese) sono probabilmente indotti artificialmente, almeno in una certa misura. Esiste una classe di comunicazioni 3G e GSM per l'utilizzo di M2M, per SCADA e così via, che a volte possono fornire una maggiore affidabilità e una trasmissione a bassa latenza. Di conseguenza, sono generalmente proibitivi.

Quindi, fondamentalmente, sei contro il traffico modellante. O l'ISP / Telco lo sta facendo per dare la priorità ai clienti meglio paganti, oppure la cella a cui sei connesso è un po 'occupata, o la loro intera rete è un po' lenta (prova 00:00 GMT il 1/1/2012, per esempio).

Ma c'è un modo per aggirare tutto questo, è un po 'subdolo però. Avresti praticamente bisogno di un proxy di connessione TCP prima che il tuo traffico si diramasse sulla WWAN mobile. Questo proxy invierebbe essenzialmente un ACK contraffatto alla tua applicazione, in quanto il vero ACK potrebbe essere ritardato dall'elaborazione del traffico dell'ISP.
È chiaramente dubbio, ma un certo numero di fornitori di servizi satellitari utilizza questo meccanismo per rendere la latenza più bassa di quanto non sia in realtà.


Il proxy tcp è un'idea interessante e aiuterà TCP a sfruttare meglio la larghezza di banda disponibile. Tuttavia, non aiuta davvero con il tipo di applicazione richiesta dall'OP. La latenza nella connessione è visibile dall'utente. Penso che potresti probabilmente usare Phoebus: e2epi.internet2.edu/phoebus.html come proxy TCP.
Dan Pritts,

2

Un po 'tardi al gioco, ma potresti voler leggere l'articolo del mio calendario delle prestazioni sull'argomento: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - gran parte della latenza mobile è dovuta al routing non ottimizzato sul back-haul.


Punto interessante Tuttavia, questo spiega solo una parte del problema. GPRS ha in genere latenze di 500-1.000 ms. La latenza in un continente, in genere, non supera i 200-300 ms, quindi anche il routing molto dispendioso non dovrebbe darti 1.000 ms.
sleske,

@sleske Sospetto che con GPRS (e altre vecchie tecnologie) si stia colpendo un collo di bottiglia nella larghezza di banda. Puoi stipare così tanti pacchetti in 56kb / s (max) prima che inizino a fare la fila (forse sbaglio - ma 56kb / s non significa circa quattro 1500 byte di frame al secondo?).
r0u1i

Backhaul non è la risposta. Almeno dal punto di vista della metropolitana. Gli SLA richiedono il traffico di backhaul su ethernet Carrier ovunque io sia stato nel range 8-12ms, da torre a MSC / MTSO. Il modo in cui il gestore di telefonia mobile indirizza il traffico da lì al Backbone è la loro attività, ma non dovrebbe essere diverso dal normale traffico ISP / non cellulare.

1

Le tecnologie modem dei telefoni cellulari soffrono di un'elevata latenza a causa della natura delle comunicazioni all'aria aperta: le distanze di trasmissione WLAN sono in genere molto più brevi rispetto a quelle delle altre tecnologie citate, quindi questa è una delle ragioni per cui la latenza è inferiore.


6
La distanza è davvero di minore importanza qui. La velocità di propagazione delle onde radio nell'aria è abbastanza vicina alla velocità della luce nel vaccuum (circa 300.000 km / s), quindi anche una distanza di 3 km rappresenterebbe solo 0,02 ms di ritardo di andata e ritorno.
the-wabbit,

2
@ syneticon-dj Hai in parte ragione nel dire che il viaggio di andata e ritorno verso la torre è solo una (frazione molto piccola) del ritardo nelle reti cellulari. Esiste anche la ridondanza della trasmissione (il collegamento radio non è mai perfetto nel mondo reale e la correzione degli errori è intrinsecamente inducente al ritardo), backhaul al telco CO / edificio di commutazione (di solito su una rete di pacchetti in questi giorni, può essere uno o più hop) , collegandoti a un collegamento vocale o dati presso il CO e quindi presumendo che stiamo parlando di connessioni dati, sei fuori su The Big Bad Internet con tutti i suoi ritardi intrinseci.
voretaq7,

1
Vorrei aggiungere algoritmi di rilevamento / prevenzione delle collisioni e parametri di funzionamento correnti (come una velocità di trasmissione ridotta con conseguente aumento del tempo di bit che dovrebbe rappresentare 1-4 ms). Ma non so abbastanza su UMTS per comporre una risposta completa.
the-wabbit,

@ syneticon-dj Punti positivi; Ho scritto un articolo sulla tecnologia CDMA ma è stato tanto tempo fa!
Isaac Butt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.