it-swarm.com.de

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

Ich sehe zunehmend, dass mobile Netzwerktechnologien verwendet werden, um in Bereichen, in denen er sonst nicht verfügbar ist, Zugang zum Internet zu erhalten.

Während mobile Netzwerke als primäre Internetverbindung normalerweise noch nicht funktionsfähig sind, scheint 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 anständigen Uplink ermöglicht. Ich weiß jedoch aus eigener Erfahrung, dass Internetverbindungen in Mobilfunknetzen (über GPRS, UMTS usw.) viel 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 nutzbar 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 dann viel geringere Latenzen?

40
sleske

Das Buch "High Performance Browser Networking" von Ilya Grigorik beantwortet genau dies. Es gibt ein ganzes Kapitel (7.) über Mobilfunknetze. Das Buch besagt, dass das Problem mit der hohen Leistung fast immer mit der Latenz verbunden ist. Wir haben normalerweise viel Bandbreite, aber die Protokolle stören. Sei es TCP langsamer Start , Radio Resource Controller (RRC) oder suboptimale Konfigurationen. Wenn Sie nur in Mobilfunknetzen eine schlechte Latenz feststellen So sind sie gestaltet.

Das Buch enthält eine Tabelle ü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 dies für die Latenz sehr relevant ist, beantworten der charakteristische Drei-Wege-Handshake TCP) oder der langsame Start die Frage nicht wirklich, da sie sich gleichermaßen auf Kabelverbindungen auswirken. Was wirkt sich wirklich auf die Latenz in Mobilfunknetzen aus? ist die Schicht unter IP. Wenn die Schicht unter IP eine Latenz von einer halben Sekunde hat, dauert eine TCP-Verbindung zu einem Server ~ 1,5 Sekunden (0,5s * 3), wie Sie sehen Die Zahlen summieren sich ziemlich schnell. Wie bereits erwähnt, wird davon ausgegangen, dass das Mobiltelefon nicht inaktiv ist. Wenn das Mobilteil inaktiv ist, muss es zuerst eine Verbindung zum Netzwerk herstellen, sodass eine Ressourcenreserve mit dem Tower ausgehandelt werden muss (vereinfacht) Dies dauert in LTE zwischen 50 und 100 ms, in 3G bis zu mehreren Sekunden und in früheren Netzwerken länger.

Abbildung 7-12. LTE Anforderungsflusslatenzen

  1. Steuerebene Latenz: Feste, einmalige Latenzkosten für RRC-Aushandlung und Zustandsübergänge: <100 ms für Leerlauf zu Aktiv und <50 ms für Ruhezustand zu Aktiv.
  2. Benutzerebene Latenz: Fixe Kosten für jedes zwischen dem Gerät und dem Funkturm übertragene Anwendungspaket: <5 ms.
  3. Kernnetzwerklatenz: Trägerabhängige Kosten für den Transport des Pakets vom Funkturm zum Paketgateway: in der Praxis 30–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 bereitgestellter 4G-Netzwerke im Bereich von 30 bis 100 ms, sobald sich das Gerät in einem verbundenen Zustand befindet.

Sie haben also für eine Anforderung (Abbildung 8-2. Komponenten einer "einfachen" HTTP-Anforderung):

  1. RRC-Aushandlung 50-2500 ms
  2. DNS-Suche 1 RTT
  3. TCP-Handshake 1 RTT (bereits vorhandene 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. Latenz-Overhead 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 
 Gesamtlatenz-Overhead | 200–3500 ms | 100–600 ms 

Wenn Sie über eine interaktive Anwendung verfügen, die in einem Mobilfunknetz nur mäßig einwandfrei ausgeführt werden soll, können Sie den Nagle-Algorithmus deaktivieren (der Kernel wartet darauf, dass Daten zu größeren Paketen verschmelzen, anstatt mehrere kleinere Pakete zu senden). Suchen Sie nach Möglichkeiten, dies 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, nicht nur für Leute, die Websites entwickeln, sondern auch für alle, die einem Client Bytes über ein Netzwerk bereitstellen.

46
Jorge Nerín

Ich vermute, dass ein großer Teil der Latenz, die bei der Verwendung von "zellularen Breitband" -Technologien auftreten kann, ein zusammengesetztes Problem einer Reihe von Dingen ist.

Es gibt Distanz, aber wie Syneticon-DJ erwähnt hat, ist das realistisch gesehen nur ein sehr kleiner Teil der Hin- und Rückflugzeit.

Hier ist etwas zu beachten ... Die Verzögerungen, die Sie als Kunde (insbesondere als Privat- oder Kleinunternehmenskunde) 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 Übertragung mit geringerer Latenz bieten können. Infolgedessen sind sie normalerweise unerschwinglich teuer.

Im Grunde genommen haben Sie es also mit Traffic Shaping zu tun. Entweder tut der ISP/Telco dies, um besser zahlende 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 am 1.1.2012 um 00:00 GMT, z Beispiel).

Aber es gibt einen Ausweg, aber es ist ein bisschen hinterhältig. Grundsätzlich benötigen Sie einen TCP -Verbindungs-Proxy, bevor Ihr 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 von den ISPs verzögert wird Verkehrsformung.
Es ist ausgesprochen zweifelhaft, aber eine Reihe von Satellitenanbietern verwenden diesen Mechanismus, um die Latenzzeit niedriger erscheinen zu lassen, als sie tatsächlich ist.

4
Tom O'Connor

Etwas 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 auf dem Rückweg zurückzuführen.

2
r0u1i

Mobiltelefonmodemtechnologien leiden aufgrund der Art der Open-Air-Kommunikation unter einer hohen Latenz: Die WLAN-Übertragungsentfernungen sind in der Regel viel kürzer als bei den anderen von Ihnen genannten Technologien. Daher ist dies ein Grund dafür, dass die Latenz geringer ist.

1
Isaac Butt