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
- 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.
- Wartezeit auf Benutzerebene : Fixe Kosten für jedes zwischen Gerät und Funkturm übertragene Anwendungspaket: <5 ms.
- 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.
- 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):
- RRC-Verhandlung 50-2500 ms
- DNS-Suche 1 RTT
- TCP Handshake 1 RTT (bestehende Verbindung) oder 3 RTT (neue Verbindung)
- TLS Handshake 1-2 RTTs
- 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.