Network Latency
From Computing and Software Wiki
Line 18: | Line 18: | ||
==Measuring Latency== | ==Measuring Latency== | ||
- | Due to fluctuating network conditions, the latency of individual packets within the same session of communication can vary wildly. Because of this, the latency of any single packet may not be meaningful. Another issue | + | Due to fluctuating network conditions, the latency of individual packets within the same session of communication can vary wildly. Because of this, the latency of any single packet may not be meaningful. Another issue is the fact that any latency measurements exchanged between hosts will themselves be subject to delay on the network. |
A simple solution to both of these problems is calculating latency using average round-trip time. Finding the round-trip time of communication can be done from a single host, and taking the average latency over several packets provides a more stable and representative estimate of the expected delay in future packets. Extra steps may need to be taken, as dropped packets and temporary disconnections can skew the average latency measurement much higher. | A simple solution to both of these problems is calculating latency using average round-trip time. Finding the round-trip time of communication can be done from a single host, and taking the average latency over several packets provides a more stable and representative estimate of the expected delay in future packets. Extra steps may need to be taken, as dropped packets and temporary disconnections can skew the average latency measurement much higher. | ||
Line 26: | Line 26: | ||
===Quantum Computing=== | ===Quantum Computing=== | ||
===Space Exploration=== | ===Space Exploration=== | ||
+ | ===Real-Time Gaming=== | ||
+ | Real-time online multiplayer games suffer from network latency, in that a delay is caused between the players' inputs and the game's response. Games in this format are typically designed to use a client-server networking model, with one instance of the application acting as the authority on the game's current state, and client instances through which the players interface with the server. Latency means that the players' instructions to the game do not reach the server instantaneously, and the server's description of the current gamestate is slightly outdated by the time it reaches the players. | ||
- | ==Mitigation== | + | ==Mitigation strategies== |
===Prefetching=== | ===Prefetching=== | ||
+ | |||
===Prediction=== | ===Prediction=== | ||
===Interpolation=== | ===Interpolation=== |
Revision as of 00:10, 4 April 2009
As an Engineering term, latency refers to the span of time taken from when some action is initiated to when it actually takes effect.
In the context of packet-switching networks, latency can refer to any of the following:
- The time from when a packet is sent to when that packet reaches its destination
- The round-trip time of a packet
- The perceived delay in communication between hosts
The round-trip time of a packet is also commonly known as ping.
Contents |
Causes
Traffic Congestion
Any packets which are prevented from reaching their destination for any period of time will result in an increase in latency. Heavy network traffic can therefore increase latency, as bandwidth limitations and routing issues contribute to the time that a message spends in transit.
Application performance
Since every packet must at some point be created and sent by an application, any time taken in processing the information necessary to create or read a packet will cause additional latency. The perception of latency is also created when communication is delayed due to packets being dropped (from events such as packet collisions), because the user will only see the time from when the request was sent to when the message was successfully received.
Distance
Communication is naturally limited by the speed of light. Therefore the round-trip time of packets is unavoidably linked to the distance over which the packets are being sent, subject to the laws of Relativity. This is particularly an issue in the field of Space Exploration, where the round-trip time of communication is commonly measured in minutes or hours. Because of this, rovers must be programmed with some level of artificial intelligence so that moment-to-moment decisions can be made autonomously.
Measuring Latency
Due to fluctuating network conditions, the latency of individual packets within the same session of communication can vary wildly. Because of this, the latency of any single packet may not be meaningful. Another issue is the fact that any latency measurements exchanged between hosts will themselves be subject to delay on the network.
A simple solution to both of these problems is calculating latency using average round-trip time. Finding the round-trip time of communication can be done from a single host, and taking the average latency over several packets provides a more stable and representative estimate of the expected delay in future packets. Extra steps may need to be taken, as dropped packets and temporary disconnections can skew the average latency measurement much higher.
Note, the time that a remote host takes to process a packet is typically not included when calculating a round-trip time.
Effects
Quantum Computing
Space Exploration
Real-Time Gaming
Real-time online multiplayer games suffer from network latency, in that a delay is caused between the players' inputs and the game's response. Games in this format are typically designed to use a client-server networking model, with one instance of the application acting as the authority on the game's current state, and client instances through which the players interface with the server. Latency means that the players' instructions to the game do not reach the server instantaneously, and the server's description of the current gamestate is slightly outdated by the time it reaches the players.
Mitigation strategies
Prefetching
Prediction
Interpolation
<ref>Template:Cite journal</ref>
References
Template loop detected: Template:Reflist