Warum haben Mobilfunknetze hohe Latenzen? Wie können sie reduziert werden?

39

Ich sehe zunehmend, dass mobile Netzwerktechnologien verwendet werden, um in Bereichen, in denen sie sonst nicht verfügbar sind, einen Internetzugang zu erhalten.

Während das mobile Networking als primäre Internetverbindung in der Regel noch nicht funktionsfähig ist, scheint die mobile Technologie eine gute Option für einen Notfall-Fallback zu sein.

Die Bandbreite ist nicht das Problem: Mit HDSPA sind Geschwindigkeiten von mehreren MBit möglich, was für eine anständige Aufwärtsverbindung sorgt. Ich weiß jedoch aus eigener Erfahrung, dass Mobilfunknetze mit Internetverbindungen (über GPRS, UMTS usw.) wesentlich höhere Latenzen aufweisen als normales DSL (200-400 ms für UMTS, noch mehr für GPRS). Dies macht sie natürlich für viele Anwendungen wie VoIP und Telefonkonferenzen ungeeignet.

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

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

sleske
quelle
6
Gehört zu runningamajortelecom.stackexchange.com. ;-)
ceejayoz
Art des Mobilgeräts, Position des
Zellturms
3
Diese Frage ist nicht für Superuser geeignet. Es gehört hierher.
resmon6
2
Sie werden darüber hinwegkommen. Als Netzwerktechniker freue ich mich auf eine durchdachte Antwort auf diese Frage.
resmon6
1
Achten Sie auf

Antworten:

46

Genau darauf antwortet das Buch "High Performance Browser Networking" von Ilya Grigorik. Es gibt ein ganzes Kapitel (7.) über Mobilfunknetze. Das Buch besagt, dass das Problem mit der hohen Leistung fast immer mit der Latenz zusammenhängt, wir haben normalerweise viel Bandbreite, aber die Protokolle stören. Sei es TCP Slow Start , der Radio Resource Controller (RRC) oder suboptimale Konfigurationen. Wenn Sie nur in Mobilfunknetzen eine geringe Latenzzeit feststellen, ist dies die Art und Weise, wie diese ausgelegt sind.

Das Buch enthält eine Tabelle mit typischen 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 dies für die Latenzzeit sehr relevant ist, beantworten das TCP-charakteristische Drei-Wege-Handshake oder der langsame Start die Frage nicht wirklich, da sie kabelgebundene Verbindungen gleichermaßen betreffen. Was die Latenz in Mobilfunknetzen wirklich beeinflusst, ist die Schicht unter IP. Wenn die Schicht unter IP eine Latenz von einer halben Sekunde hat, dauert eine TCP-Verbindung zu einem Server ca. 1,5 Sekunden (0,5 s * 3), da sich die Zahlen ziemlich schnell summieren. Wie bereits gesagt, wird davon ausgegangen, dass das Mobiltelefon nicht inaktiv ist. Wenn sich das Mobilteil im Ruhezustand befindet, muss es zuerst eine Verbindung zum Netzwerk herstellen. Dies erfordert die Aushandlung einer Ressourcenreserve mit dem Tower (vereinfacht) und dauert bei LTE zwischen 50 und 100 ms, bei 3G bis zu mehreren Sekunden und mehr in früheren Netzwerken.

Abbildung 7-12. LTE Request Flow Latenzen

  1. Steuerebenen - Latenzzeit: Fest, einmalige Latenz auftretend Kosten für RRC Aushandlung und Zustandsübergänge: <100 ms für Leerlauf aktiv ist , und <50 ms für ruhend auf aktiv.
  2. Wartezeit auf Benutzerebene : Fixe Kosten für jedes zwischen Gerät und Funkturm übertragene Anwendungspaket: <5 ms.
  3. Latenz des Kernnetzwerks: Carrier-abhängige Kosten für den Transport des Pakets vom Funkturm zum Paket-Gateway: in der Praxis 30 bis 100 ms.
  4. Internet-Routing-Latenz: Variable Latenzkosten zwischen dem Paket-Gateway des Netzbetreibers und der Zieladresse im öffentlichen Internet.

In der Praxis liegt die End-to-End-Latenz vieler implementierter 4G-Netzwerke in der Regel im Bereich von 30 bis 100 ms, sobald das Gerät verbunden ist.

Sie haben also für 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-Anforderung 1-n RTTs

Und mit realen Daten:

Tabelle 8-1. Latenzaufwand einer einzelnen HTTP-Anforderung

                       | 3G | 4G
Steuerebene | 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 in einem Mobilfunknetz mäßig gut funktioniert, können Sie experimentell den Nagle-Algorithmus deaktivieren (der Kernel wartet darauf, dass Daten zu größeren Paketen verschmelzen, anstatt mehrere kleinere Pakete zu senden) und nach Möglichkeiten suchen, diese zu testen in https://stackoverflow.com/a/17843292/869019 .


Es besteht die Möglichkeit, das gesamte Buch kostenlos unter https://hpbn.co/ zu lesen, gesponsert von Velocity Conference. Dies ist ein sehr empfehlenswertes Buch, das nicht nur Entwicklern von Websites empfohlen wird, sondern auch jedem nützlich ist, der einem Client über ein Netzwerk Bytes zur Verfügung stellt.

Jorge Nerín
quelle
Vielen Dank für die Informationen, sehr interessant. Da nicht jeder das Buch lesen kann (und die Antworten für sich allein stehen sollten): Können Sie etwas näher erläutern, wie der langsame Start von TCP, die Funksteuerungen und die Konfiguration zur Latenz beitragen?
sleske
1
Ich habe die Antwort soeben mit Fragmenten und Tabellen des Buches bearbeitet, damit sie für sich genommen nützlich ist.
Jorge Nerín
2
Hinweis für 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 von 3G-Modems für remote bereitgestellte Kioske haben, und das hat den Park verlassen.
Jklemmack
4

Ich vermute, dass ein großer Teil der Latenz, die beim Einsatz von "Cellular Broadband" -Technologien auftreten kann, ein zusammengesetztes Problem vieler Dinge ist.

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

Hier ist etwas zu beachten ... Die Verzögerungen, die Sie als Kunde (insbesondere als Privatkunde oder Kleinunternehmer) erleben, werden wahrscheinlich zumindest teilweise künstlich verursacht. Es gibt eine Klasse von 3G- und GSM-Kommunikationen für die M2M-Nutzung, für SCADA usw., die manchmal eine höhere Zuverlässigkeit und eine geringere Latenzzeit für die Übertragung bieten können. Infolgedessen sind sie normalerweise unerschwinglich teuer.

Im Grunde sind Sie gegen Traffic Shaping. Entweder tut der ISP / Telco dies, um besser bezahlte Kunden zu priorisieren, oder die Zelle, mit der Sie verbunden sind, ist etwas ausgelastet, oder ihr gesamtes Netzwerk ist etwas träge (versuchen Sie es mit 00:00 GMT am 1.1.2012, z Beispiel).

Aber es gibt einen Ausweg, aber es ist ein bisschen hinterhältig. Grundsätzlich benötigen Sie einen TCP-Verbindungs-Proxy, bevor der Datenverkehr über das mobile WWAN geleitet wird. Dieser Proxy sendet im Wesentlichen eine gefälschte ACK an Ihre Anwendung, da die tatsächliche ACK möglicherweise durch die Verkehrssteuerung des ISP verzögert wird.
Es ist ausgesprochen zweifelhaft, aber eine Reihe von Satellitenanbietern verwenden diesen Mechanismus, um die Latenz geringer erscheinen zu lassen, als sie tatsächlich ist.

Tom O'Connor
quelle
Der TCP-Proxy ist eine interessante Idee und hilft TCP, die verfügbare Bandbreite besser zu nutzen. Es hilft jedoch nicht wirklich bei der Art der Anwendung, nach der das OP fragt. Die Wartezeit in der Verbindung ist für den Benutzer sichtbar. Ich denke, Sie könnten wahrscheinlich Phoebus: e2epi.internet2.edu/phoebus.html als solchen TCP-Proxy verwenden.
Dan Pritts
2

Ein bisschen spät zum Spiel, aber vielleicht möchten Sie den Artikel meines Leistungskalenders 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 im Back-Haul zurückzuführen.

r0u1i
quelle
Interessanter Punkt. Dies erklärt jedoch nur einen Teil des Problems. GPRS hat typischerweise Latenzen von 500-1.000 ms. Die Latenz auf einem Kontinent beträgt in der Regel nicht mehr als 200 bis 300 ms, sodass selbst bei sehr verschwenderischem Routing keine 1.000 ms erforderlich sind.
sleske
@sleske Ich vermute, dass Sie mit GPRS (und anderen alten Technologien) auf einen Bandbreitenengpass stoßen. Sie können so viele Pakete in 56 KBit / s (maximal) stopfen, bevor sie in die Warteschlange gestellt werden (vielleicht irre ich mich - aber bedeutet 56 KBit / s nicht etwa vier 1500 Byte Frames pro Sekunde?).
r0u1i
Backhaul ist nicht die Antwort. Zumindest aus Metro-Sicht. SLAs erfordern Backhaul-Datenverkehr auf dem Carrier-Ethernet überall dort, wo ich mich im Bereich von 8 bis 12 ms befunden habe, auf MSC / MTSO-Basis. Die Art und Weise, wie der Mobilfunkbetreiber den Verkehr von dort auf das Backbone weiterleitet, ist Sache des Betreibers, sollte sich jedoch nicht von normalem ISP- / nicht-Mobilfunkverkehr unterscheiden.
1

Die Modemtechnologien für Mobiltelefone leiden aufgrund der Art der Kommunikation im Freien unter einer hohen Latenz: Die WLAN-Übertragungsentfernungen sind in der Regel viel kürzer als bei den anderen von Ihnen genannten Technologien. Dies ist einer der Gründe für die geringere Latenz.

Isaac Butt
quelle
6
Die Entfernung ist hier wirklich von untergeordneter Bedeutung. Die Ausbreitungsgeschwindigkeit von Funkwellen in der Luft liegt ziemlich nahe an der Lichtgeschwindigkeit im Vakuum (ca. 300.000 km / s), sodass selbst eine Entfernung von 3 km lediglich 0,02 ms Umlaufverzögerung ausmacht.
the-wabbit
2
@ syneticon-dj Sie haben zum Teil Recht, dass die Reise zum Tower nur einen Bruchteil der Verzögerung in Mobilfunknetzen ausmacht. Es gibt auch Übertragungsredundanz (die Funkverbindung ist in der realen Welt niemals perfekt und die Fehlerkorrektur ist inhärent verzögerungsinduzierend), Backhaul zum Telekommunikations-CO / Vermittlungsgebäude (in der Regel über ein Paketnetz, kann ein oder mehrere Hops sein). Sie werden entweder mit einer Sprach- oder Datenverbindung im CO verbunden, und dann wird davon ausgegangen, dass es sich um Datenverbindungen handelt, die Sie mit all den damit verbundenen Verzögerungen im Big Bad Internet haben.
voretaq7
1
Ich würde auch Kollisionserkennungs- / Kollisionsvermeidungsalgorithmen und aktuelle Betriebsparameter (wie eine verringerte Übertragungsgeschwindigkeit, die zu einer erhöhten Bitzeit führt, die 1 bis 4 ms betragen sollte) hinzufügen. Aber ich weiß nicht genug über UMTS, um eine umfassende Antwort zu verfassen.
the-wabbit
@ syneticon-dj Gute Punkte; Ich habe einen Artikel über CDMA-Technologie geschrieben, aber das ist lange her!
Isaac Butt