Frage Warum haben mobile Netzwerke hohe Latenzzeiten? Wie können sie reduziert werden?


Ich sehe zunehmend, dass mobile Netzwerktechnologien genutzt werden, um Internet-Zugang in Bereichen zu erhalten, in denen es sonst nicht verfügbar ist.

Während mobile Netzwerke in der Regel noch nicht als primäre Internetverbindung nutzbar sind, scheint die mobile Technologie eine gute Option für einen Notfall-Fallback zu sein.

Bandbreite ist nicht das Problem: Mit HDSPA sind Geschwindigkeiten von mehreren MBit möglich, was einen ordentlichen Uplink ermöglicht. Ich weiß jedoch aus eigener Erfahrung, dass die Internet-Verbindungen von Mobilfunknetzen (über GPRS, UMTS etc.) wesentlich höhere Latenzen haben als reguläre DSL (200-400 ms für UMTS, noch mehr für GPRS). Dies macht sie für viele Anwendungen wie VoIP und Telekonferenzen natürlich ungeeignet.

  • Woher kommt diese Latenz?
  • Gibt es Technologien, die dieses Problem mindern können, um UMTS für Anwendungen mit niedriger Latenz nutzbar zu machen?

Ich nehme an, dass es einen inhärenten technischen Grund geben muss, aber was ist es? Hat es damit zu tun, wie Daten über Funk übertragen werden? Und wenn es wegen der drahtlosen Übertragung ist, warum hat WLAN viel niedrigere Latenzen?


31
2018-05-09 20:23


Ursprung


Gehört auf runningamajortelecom.stackexchange.com. ;-) - ceejayoz
Mobiler Gerätetyp, Standort des Mobilfunkmastens, Signalbarrieren usw - DanBig
Diese Frage ist nicht für Superuser geeignet. Es gehört hierher. - resmon6
Sie werden darüber hinwegkommen. Als Netzwerkingenieur freue ich mich auf eine nachdenkliche Antwort auf diese Frage. - resmon6
Achte auf deine Nanosekunden - voretaq7


Antworten:


Das Buch "High Performance Browser Networking" von Ilya Grigorik beantwortet genau dies. Es gibt ein ganzes Kapitel (7.) für Mobilfunknetze. Das Buch sagt, dass das Problem mit hoher Leistung fast immer mit Latenz verbunden ist, wir haben normalerweise viel Bandbreite, aber die Protokolle kommen in die Quere. Sei es TCP langsamer Start, das Funkressourcen-Controller (RRC) oder suboptimale Konfigurationen. Wenn Sie nur in mobilen Netzwerken mit schlechter Latenz konfrontiert sind, ist dies die Art und Weise, wie sie entwickelt wurden.

Es gibt eine Tabelle in dem Buch über typische Latenzen:

Tabelle 7-2. Datenraten und Latenz für eine aktive mobile Verbindung

Generation | Datenrate | Latenz
2G | 100-400 Kbit / s | 300-1000 ms
3G | 0,5-5 Mbit / s | 100-500 ms
4G | 1-50 Mbit / s | <100 ms

Obwohl sie für die Latenz sehr relevant sind, beantworten der TCP-typische Drei-Wege-Handshake oder der Langsamstart die Frage nicht wirklich, da sie Kabelverbindungen gleichermaßen betreffen. Was die Latenz in mobilen Netzwerken wirklich beeinflusst, ist die Ebene unter IP. Wenn die Schicht unter IP eine Wartezeit von einer halben Sekunde hat, dauert eine TCP-Verbindung zu einem Server etwa 1,5 Sekunden (0,5 s * 3), da sich die Zahlen ziemlich schnell addieren. Wie bereits gesagt, wird angenommen, dass das Mobiltelefon nicht im Leerlauf ist. Wenn das Mobilteil im Ruhezustand ist, muss es sich zunächst mit dem Netzwerk "verbinden", was eine Reserve von Ressourcen mit dem Tower aushandeln muss (vereinfacht), und das dauert zwischen 50-100 ms in LTE, bis zu mehreren Sekunden in 3G und mehr in früheren Netzwerken.

Abbildung 7-12. LTE-Anforderungsflusslatenzen

  1. Steuerebene Latenz: Feste, einmalige Latenzkosten für RRC-Aushandlung und Statusübergänge: <100 ms für Leerlauf zu aktiv und <50 ms für inaktiv zu aktiv.
  2. Benutzerebene Latenz: Fixe Kosten für jedes zwischen dem Gerät und dem Funkturm übertragene Anwendungspaket: <5 ms.
  3. Core network latency: Carrier-abhängige Kosten für den Transport des Pakets vom Funkturm zum Paket-Gateway: in der Praxis 30-100 ms.
  4. Internet-Routing-Latenz: Variable Latenzkosten zwischen dem Paket-Gateway des Betreibers und der Zieladresse im öffentlichen Internet.

In der Praxis liegt die Ende-zu-Ende-Latenz vieler implementierter 4G-Netze im Bereich von 30 bis 100 ms, wenn sich das Gerät in einem verbundenen Zustand befindet.

Sie haben also eine Anfrage (Abbildung 8-2. Komponenten einer "einfachen" HTTP-Anfrage):

  1. RRC-Verhandlung 50-2500 ms
  2. DNS-Suche 1 RTT
  3. TCP-Handshake 1 RTT (bestehende Verbindung) oder 3 RTT (neue Verbindung)
  4. TLS Handshake 1-2 RTTs
  5. HTTP-Anfrage 1-n RTTs

Und mit echten Daten:

Tabelle 8-1. Latenz-Overhead einer einzelnen HTTP-Anfrage

                       | 3G | 4G
Kontrollebene | 200-2.500 ms | 50-100 ms
DNS-Suche | 200 ms | 100 ms
TCP-Handshake | 200 ms | 100 ms
TLS-Handshake | 200-400 ms | 100-200 ms
HTTP-Anfrage | 200 ms | 100 ms
Gesamtlatenzaufwand | 200-3500 ms | 100-600 ms

Wenn Sie eine interaktive Anwendung haben, die Sie in einem mobilen Netzwerk mäßig gut ausführen möchten, können Sie den Nagle-Algorithmus deaktivieren (der Kernel wartet darauf, dass die Daten zu größeren Paketen verschmelzen, anstatt mehrere kleinere Pakete zu senden) im https://stackoverflow.com/a/17843292/869019.


Es gibt die Möglichkeit, das gesamte Buch kostenlos von allen zu lesen https://hpbn.co/ gesponsert von Velocity Conference. Dies ist ein sehr empfehlenswertes Buch, nicht nur für Leute, die Webseiten entwickeln, es ist nützlich für jeden, der Bytes über ein Netzwerk an einen Client liefert.


35
2018-02-06 23:31



Danke für die Information, sehr interessant. Da nicht jeder das Buch lesen kann (und da die Antworten für sich alleine stehen sollten): Könnten Sie etwas mehr erklären, wie langsam TCP-Start, Funk-Controller und Konfiguration zur Latenz beitragen? - sleske
Ich habe gerade die Antwort mit Fragmenten und Tabellen des Buches bearbeitet, so dass es alleine nützlich ist. - Jorge Nerín
Anmerkung zu sich selbst: Ein weiteres interessantes Papier zur Latenz: Latenz in HSPA-Datennetzen, Qualcomm. - sleske
Ich danke dir sehr. Ich versuche meinem Chef zu erklären, warum wir Probleme mit der Latenz über 3G-Modems für entfernt installierte Kioske haben, und das hat es aus dem Park geschafft. - jklemmack


Ich vermute, dass ein großer Teil der Latenz, die Sie bei der Verwendung von "zellulären Breitband" -Technologien erfahren können, ein vielschichtiges Problem ist.

Es gibt Distanz, aber wie von syneticon-dj erwähnt, ist das realistisch gesehen nur ein sehr kleiner Teil der Umlaufzeit.

Hier ist etwas zu beachten ... Die Verzögerungen, die Sie als Kunde erfahren (insbesondere als Heim- oder Kleinunternehmen), werden wahrscheinlich zumindest teilweise künstlich ausgelöst. Es gibt eine Klasse von 3G- und GSM-Kommunikationen für M2M-Nutzung, für SCADA usw., die manchmal eine größere Zuverlässigkeit und niedrigere Latenzübertragung bereitstellen können. Infolgedessen sind sie normalerweise unerschwinglich teuer.

Im Grunde genommen stößt man auf Traffic Shaping. Entweder tut dies der ISP / Telco, um besser zahlende Kunden zu priorisieren, oder die Zelle, mit der Sie verbunden sind, ist ein wenig beschäftigt, oder ihr gesamtes Netzwerk ist ein wenig träge (versuchen Sie 00:00 GMT am 01.01.2012, z Beispiel).

Aber es gibt einen Weg um all dies, es ist ein bisschen hinterhältig. Sie benötigen im Grunde einen TCP-Verbindungs-Proxy, bevor Ihr Datenverkehr über das mobile WWAN hinausgeht. Dieser Proxy würde im Wesentlichen eine gefälschte ACK an Ihre Anwendung senden, da die tatsächliche ACK durch die Traffic-Shaping des ISP verzögert werden könnte.
Es ist eindeutig zweifelhaft, aber eine Anzahl von Satellitenanbietern verwenden diesen Mechanismus, um die Latenz niedriger zu machen, als sie tatsächlich ist.


4
2018-05-14 10:52



Der TCP-Proxy ist eine interessante Idee und wird TCP helfen, die verfügbare Bandbreite besser zu nutzen. Es hilft jedoch nicht wirklich bei der Art der Anwendung, nach der das OP fragt. Die Latenz in der Verbindung ist für den Benutzer sichtbar. Ich denke du könntest Phoebus benutzen: e2epi.internet2.edu/phoebus.html als solcher ein TCP-Proxy. - Dan Pritts


Handy-Modem-Technologien leiden unter der hohen Latenz aufgrund der Natur der Open-Air-Kommunikation: WLAN-Übertragungsentfernungen sind typischerweise viel kürzer als die der anderen Technologien, die Sie erwähnt haben, daher ist dies ein Grund, warum die Latenz geringer ist.


1
2018-05-09 20:31



Die Entfernung ist hier wirklich von geringer Bedeutung. Die Ausbreitungsgeschwindigkeit der Radiowellen in der Luft ist der Lichtgeschwindigkeit im Vakuum (etwa 300.000 km / s) ziemlich nahe, so dass selbst eine Entfernung von 3 km nur eine Verzögerung von 0,02 ms für die Hin- und Rückfahrt bedeuten würde. - the-wabbit
@ syneticon-dj Du hast teilweise recht, dass die Reise zum Tower nur ein (sehr kleiner Bruchteil) der Verzögerung in Mobilfunknetzen ist. Es gibt auch Übertragungsredundanz (die Funkverbindung ist niemals perfekt in der realen Welt und Fehlerkorrektur ist von Natur aus verzögerungsinduzierend), Backhaul zu dem CO / Vermittlungsgebäude von Telco (üblicherweise über ein Paketnetzwerk in diesen Tagen, kann ein oder mehrere Hops sein) Verbinden Sie entweder mit einer Sprach- oder Datenverbindung bei der CO und nehmen wir dann an, dass wir über Datenverbindungen sprechen, die Sie in The Big Bad Internet mit all seinen Verzögerungen enthalten. - voretaq7
Ich würde Kollisionserkennungs- / Kollisionsvermeidungsalgorithmen und aktuelle Betriebsparameter hinzufügen (wie eine reduzierte Übertragungsgeschwindigkeit, die zu einer erhöhten Bitzeit führt, die 1-4 ms ausmachen sollte). Aber ich weiß nicht genug über UMTS, um eine umfassende Antwort zu verfassen. - the-wabbit
@ syneticon-dj Gute Punkte; Ich habe ein Papier über CDMA-Technologie geschrieben, aber das war lange her! - Isaac Butt


Irgendwie spät zum Spiel, aber vielleicht möchtest du den Artikel meines Performance-Kalenders zum Thema lesen: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - ein Großteil der mobilen Latenz ist auf nicht optimiertes Routing auf der Rückstrecke zurückzuführen.


1
2017-12-17 15:04



Interessanter Punkt. Dies erklärt jedoch nur einen Teil des Problems. GPRS hat typischerweise Latenzen von 500-1.000 ms. Die Latenzzeit auf einem Kontinent beträgt in der Regel nicht mehr als 200-300 ms, so dass selbst sehr verschwenderisches Routing keine 1.000 ms ergeben sollte. - sleske
@sleske Ich vermute, dass man mit GPRS (und anderen alten Technologien) einen Bandbreitenengpass erreicht. Sie können so viele Pakete in 56kb / s (max) stopfen, bevor sie anfangen zu queulen (vielleicht irre ich mich - aber bedeutet 56kb / s ungefähr vier 1500 Bytes Rahmen pro Sekunde?). - r0u1i
Backhaul ist nicht die Antwort. Zumindest vom Standpunkt der Metro. SLA's erfordern Backhaul-Verkehr auf dem Carrier-Ethernet überall wo ich in der 8-12ms Reichweite sein muss, Tower to MSC / MTSO. Wie der Mobilfunkanbieter den Verkehr von dort auf den Backbone routet, ist ihr Geschäft, sollte sich aber nicht von normalem ISP / nicht-zellulärem Verkehr unterscheiden.