What Causes Latency, How to Measure It, and How to Control It
Latency typically originates from two different sources: routers and distance. Each router that a packet travels through has to copy the packet from one network interface to the next. This introduces a very slight delay-typically only a few milliseconds. However, traffic on the Internet might have to travel through more than fifty routers when making a round trip between two computers, so the delays do add up. Busy routers and networks that are near saturation can introduce more latency because the router might have to wait several milliseconds before it can place a packet onto a network interface.
Distance also introduces latency. Packets travel across networks at a speed slightly slower than the speed of light. A rough estimate of the speed packets travel would be about 100,000 miles per second. Although the speed is still very fast, a packet that has to travel to the other side of the Earth and back would have at least 250 ms of latency (before you calculate latency introduced by routers). Satellite connections add about 500 ms of latency sending the packet to and from the satellite. In addition, network paths are often very indirect, and packets often travel several times farther than the distance of a straight line between two computers. VPNs, in particular, can cause extremely indirect routing between computers.
The most common tool to measure latency is the command-line tool Ping. Ping can give you a rough idea of the latency between two points, but it is less than perfect because Ping does not transmit TCP-based data. Instead, Ping sends Internet Control Message Protocol (ICMP) messages that are designed for diagnostic purposes. Many routers give these ICMP messages a lower priority than other traffic, so Ping may report a higher latency than normal. In addition, many routers and computers are configured to completely block the ICMP messages used by Ping. A related command-line tool, PathPing, provides approximate latency information for all routers between two hosts. PathPing uses the same ICMP messages as Ping.
If latency is causing a problem on your network, first determine the source of the latency. If distance is causing the latency, find ways to shorten the distance. For example, you might replace a satellite link with a terrestrial link. Alternatively, if you determine that the path being taken between two points is inefficient, you might be able to reconfigure your network to shorten the distance that the packets need to travel between the two points. If you determine that busy networks or routers are introducing latency, you can upgrade your routers or increase the available bandwidth. Alternatively, you can use Policy-based QoS to prioritize the most important traffic to reduce latency for time-sensitive transmissions, such as streaming media and VOIP.
In this tutorial:
- Configuring Windows Networking
- Usability Improvements
- Network And Sharing Center
- Network Explorer
- How Windows Finds Network Resources
- How Windows Publishes Network Resources
- How Windows Creates the Network Map
- Network Map
- Set Up A Connection Or Network Wizard
- Manageability Improvements
- Network Location Types
- Policy-Based QoS
- Selecting DSCP Values
- Planning Traffic Throttling
- Configuring QoS Policies
- Configuring System-Wide QoS Settings
- Configuring Advanced QoS Settings
- Testing QoS
- Windows Firewall and IPsec
- Windows Connect Now in Windows 7
- Core Networking Improvements
- Networking BranchCache
- How Hosted Cache Works
- How Distributed Cache Works
- Configuring BranchCache
- BranchCache Protocols
- File Sharing Using SMB
- Web Browsing with HTTP (Including HTTPS)
- DNSsec
- GreenIT
- Efficient Networking
- What Causes Latency, How to Measure It, and How to Control It
- TCP Receive Window Scaling
- Scalable Networking
- Improved Reliability
- IPv6 Support
- 802.1X Network Authentication
- Server Message Block (SMB) 2.0
- Strong Host Model
- Wireless Networking
- Improved APIs
- Network Awareness
- Improved Peer Networking
- Services Used by Peer-to-Peer Networking
- Managing Peer-to-Peer Networking
- Peer-to-Peer Name Resolution
- EAP Host Architecture
- Layered Service Provider (LSP)
- Windows Sockets Direct Path for System Area Networks
- How to Configure Wireless Settings
- Configuring Wireless Settings Manually
- Using Group Policy to Configure Wireless Settings
- How to Configure TCP/IP
- DHCP
- Configuring IP Addresses Manually
- Command Line and Scripts
- How to Connect to AD DS Domains
- How to Connect to a Domain When 802.1X Authentication Is Not Enabled
- How to Connect to a Domain When 802.1X Authentication Is Enabled