Le livre "High Performance Browser Networking" de Ilya Grigorik répond exactement à cela. Il existe un chapitre entier (7ème) consacré aux réseaux mobiles. Le livre indique que le problème des hautes performances est presque toujours lié à la latence. Nous avons généralement beaucoup de bande passante, mais les protocoles nous en empêchent. Qu'il s'agisse d' un démarrage lent TCP , du contrôleur de ressources radio (RRC) ou de configurations sous-optimales. Si votre latence est faible uniquement sur les réseaux mobiles, c'est leur conception.
Le livre contient un tableau sur les latences typiques:
Tableau 7-2. Débits de données et latence pour une connexion mobile active
Génération | Débit de données | Latence
2G | 100–400 Kbit / s | 300–1000 ms
3G | 0,5 à 5 Mbit / s | 100–500 ms
4G | 1–50 Mbit / s | <100 ms
Bien qu’elles soient très pertinentes pour la latence, la négociation tridimensionnelle caractéristique du protocole TCP ou le démarrage lent ne répondent pas vraiment à la question, car elles affectent également les connexions câblées. Ce qui affecte vraiment la latence dans les réseaux mobiles, c'est la couche sous IP. Si la couche sous IP a une latence d'une demi-seconde, une connexion TCP à un serveur prendra environ 1,5 seconde (0,5 s * 3), car les chiffres s'additionnent assez rapidement. Comme dit précédemment, cela suppose que le mobile n'est pas inactif. Si le combiné est inactif, il doit d'abord se "connecter" au réseau, ce qui nécessite de négocier une réserve de ressources avec la tour (simplifiée), et cela prend entre 50 et 100 ms en LTE, jusqu'à plusieurs secondes en 3G, et plus encore. dans les réseaux précédents.
Figure 7-12. Latences de flux de demandes LTE
- Latence du plan de contrôle : Coût de latence unique, fixe, engagé pour la négociation RRC et les transitions d'état: <100 ms pour les périodes d'inactivité à actives et <50 ms pour les phases inactives à actives.
- Latence du plan utilisateur : coût fixe pour chaque paquet d'application transféré entre le périphérique et la tour radio: <5 ms.
- Temps de latence du réseau central: coût dépendant de l’opérateur pour le transport du paquet de la tour radio à la passerelle de paquets: en pratique, 30–100 ms.
- Latence de routage Internet: coût de latence variable entre la passerelle de paquets de l’opérateur et l’adresse de destination sur l’Internet public.
En pratique, la latence de bout en bout de nombreux réseaux 4G déployés tend à se situer dans une plage allant de 30 à 100 ms lorsque le périphérique est dans un état connecté.
Donc, vous avez pour une requête (Figure 8-2. Composants d’une requête HTTP "simple"):
- Négociation RRC 50-2500 ms
- Recherche DNS 1 RTT
- Poignée de main TCP 1 RTT (connexion préexistante) ou 3 RTT (nouvelle connexion)
- Poignée de main TLS 1-2 RTT
- Requête HTTP 1-n RTT
Et avec des données réelles:
Tableau 8-1. Surcoût de latence d'une requête HTTP unique
| 3G | 4G
Plan de contrôle | 200–2 500 ms | 50–100 ms
Recherche DNS | 200 ms | 100 ms
Poignée de main TCP | 200 ms | 100 ms
Poignée de main TLS | 200–400 ms | 100–200 ms
Requête HTTP | 200 ms | 100 ms
Surcharge totale de latence | 200–3500 ms | 100–600 ms
En outre, si vous avez une application interactive que vous souhaitez exécuter correctement dans un réseau mobile, vous pouvez essayer de désactiver l'algorithme de Nagle (le noyau attend que les données fusionnent en paquets plus gros au lieu d'envoyer plusieurs paquets plus petits), recherchez des moyens de le tester. dans https://stackoverflow.com/a/17843292/869019 .
Il est possible de lire gratuitement le livre entier gratuitement par tout le monde à l' adresse https://hpbn.co/ sponsorisée par Velocity Conference. Ce livre est vivement recommandé, non seulement aux personnes développant des sites Web, il est utile à tous ceux qui servent des octets sur un réseau à un client.