La latence des paquets peut-elle fluctuer?

9

Le temps qu'il faut pour qu'un paquet soit transmis d'un client au serveur peut-il fluctuer?

liamzebedee
la source

Réponses:

9

Le protocole IP, sur lequel TCP et UDP sont construits, spécifie que les datagrammes ne sont ni garantis pour arriver dans l'ordre, ni par la même route, ni d'ailleurs, du tout (merci Trevor pour le rappel). Ainsi, que TCP ou UDP soit utilisé, la latence fluctue. La latence est en partie due à la distance parcourue , qui change si le chemin change, et en partie à la traduction de la pile de protocoles sur les périphériques de routage le long du chemin choisi - qui change également si le chemin change.

Cela fait partie de la nature d'auto-réparation d'Internet, lui permettant de faire ce qu'il fait tous les jours: si un itinéraire devient moins adapté selon des heuristiques programmées dans divers dispositifs de routage en cours de route, un autre itinéraire sera choisi à la place. Cela peut être momentané ou à long terme. Rappelez-vous qu'avant c'était Internet, c'était l' ARPANET - un réseau de défense conçu pour traiter par exemple. la suppression instantanée de vastes sections du réseau (pensez à la guerre nucléaire), sans que le réseau dans son ensemble ne tombe en panne. En acheminant autour des zones endommagées ou non idéales, le plus grand réseau continue de fonctionner (quoique, peut-être, de manière sous-optimale).

Ingénieur
la source
1
Il convient d'ajouter que les datagrammes ne sont pas garantis du tout. Ils peuvent simplement être déposés en silence à tout moment de leur voyage. Ce n'est que le transport TCP construit sur IP qui ajoute une illusion de fiabilité aux communications réseau.
Trevor Powell
Voir également la réponse de Danny Pflughoeft, il ajoute à juste titre que TCP subira des retards supplémentaires en raison de la façon dont il fonctionne - si les paquets sont perdus, ils seront redemandés et renvoyés, ajoutant un temps d'aller-retour complet supplémentaire sur la latence du message. Et cela peut arriver arbitrairement plusieurs fois. UDP surmonte cela en envoyant un flux continu de mises à jour, et où la simulation peut avancer malgré la perte de paquets (beaucoup plus à penser et à planifier dans ce type de système, cependant).
Ingénieur
5

Ce n'est probablement pas une question de développement de jeux, mais oui. Dans une connexion IP normale, chaque paquet peut passer par différents "sauts" intermédiaires, et chaque "sauts" différent peut avoir une latence différente.

Si vous utilisez TCP pour transférer vos données, le protocole résume cela pour vous et réorganisera les paquets pour livrer les paquets dans l'ordre où ils ont été envoyés à l'origine; cependant, si vous utilisez UDP, les paquets peuvent arriver et arrivent en panne, en fonction de la latence de chaque paquet individuel.

Lie Ryan
la source
En particulier, si les paquets UDP et TCP sont acheminés de la même manière et que les paquets UDP arrivent régulièrement en désordre, cela se traduit par des "pointes de décalage" sur la même connexion utilisant TCP à la place.
Martin Sojka
2

Absolument tout ce qui concerne un réseau IP peut changer à tout moment.

L'article suivant explique comment des éléments comme la latence, la perte de paquets et le débit peuvent varier et pourquoi: DEI Tech Note 0021: Perte, latence et vitesse

Seth Noble
la source
1

Hormis ce qui a déjà été dit, n'oubliez pas que les routeurs sont autorisés à supprimer arbitrairement des paquets , ce qui signifie qu'en TCP, un paquet pourrait théoriquement prendre un temps arbitraire pour atteindre sa destination (et en UDP, il pourrait ne jamais atteindre sa destination!).

BlueRaja - Danny Pflughoeft
la source