If there is one thing that modern networks require above all else it’s fast response times. Modern applications are becoming more complex and require a larger amount of network resources when active. There is no greater threat to the performance of these systems than latency.
Network latency can adversely affect response time, be a constant blight on your network’s performance, and impact the end user experience of devices. This is particularly true if you’re using video or voice call systems that are particularly sensitive to latency.
The only way to address latency is to regularly test your network and take action when you find out latency is a problem. By running a network latency test you can tell if there is a problem and start troubleshooting to find the root of the problem. In this article, we’re going to look at how you can conduct a network latency test to check your network speed.
What is Latency?
Before we get to specific tools it is important to define what is meant by latency. Latency is a measure of delay that refers to the amount of time it takes for data to be transferred from one point to another. Most of the time latency is measured as round trip delay, which is the time it takes for a packet to travel to its destination and back.
Round trip delay is the standard measurement of latency because computers on TCP/IP networks send a packet’s data and wait for acknowledgment before sending the entire packet content. Therefore, it makes sense to factor in the entire round trip time because devices will need to wait for acknowledgments.
Why is Latency Important?
Latency is important because it correlates with network performance. The more latency there is the lower the performance of the network. Having a high latency means that it takes a longer amount of time for data to reach its destination. In a real world environment; this results in slow applications and low throughput.
To use an example, if you were entering text on a remote device on a network with substantial latency, you would notice a delay after you’ve finished typing before the characters show up on the screen. Monitoring latency is the only way to make sure that the network is performing as it should.
How to Test for Internet Latency: The Easy Way
If you believe that network latency is a problem you need to test for it. Testing internet latency will tell you if there is a gulf between the theoretical bandwidth (or capacity of your network) and the length of time it takes for packets to actually be submitted. The way to do this is to test your internet speed with an online internet speed test tool.
Before using a speed test tool you will want to ask all users to stop using their devices and halt current downloads. This ensures that nothing is interfering with your getting an accurate result.
Taking a few seconds to check your internet speed will allow you to check on the real time service you’re experiencing. Look at how fast your internet is and see if it matches up with the speeds advertised by your internet service provider. Having a lower speed than is advertised indicates that your network is suffering from latency.
When the actual speed is lower than the advertised rate you should contact your internet service provider to test internet latency from this end. Doing this helps to verify that there isn’t a problem on their end. If the problem persists then you will need to take action within your network to get to the root of the issue.
Measuring Hop-by-Hop Latency with TraceRoute
In many instances you may want to measure latency in terms of hops. One of the best ways to do this is by using a tool called Traceroute. Traceroute allows you to view the round trip time of interactions between IP addresses within a network. This is incredibly useful for troubleshooting on TCP/IP networks because it allows you to see if latency is occurring in certain parts of your network.
The distance between hops is a very important factor in determining the cause of latency. Traceroute comes out of the box with many operating systems including Windows and UNIX but if you don’t have it you can download it as a freeware version. In the Traceroute example below you can see the delay difference between different hops:
Router#traceroute 10.12.0.2 Type escape sequence to abort Tracing the route to 10.12.0.2 1 10.10.0.2 12 msec 16 msec 15 msec 2 10.11.0.2 76 msec 75 msec 76 msec 3 10.12.0.2 91 msec 92 msec 92 msec
1, 2 and 3 represent the hop number. The delay time between hop 1 and 2 is much higher than it is between hop 2 and 3. This indicates that there is a problem between hop 1 and 2 that is causing the latency in this section.
To move onwards from here you could use router 1 to ping the router in hop 2. This can reveal problems such as congestion which could be causing the latency. That being said if the network is using asymmetric routing where the path to and from the destination isn’t the same, then the latency could be occurring as a result of the distance being too far.
Using Ping to Measure Network Latency
Running a ping test is a great way to measure how much latency there is on a network. By pinging another computer you can access the strength of connections throughout your network. To ping a destination you would enter the following into the command line:
ping /a 10.0.99.221
The above command will ping the destination. You’ll now be able to view echo reply messages and round-trip times. The round trip time will tell you the overall latency present. If you want more information about the journey you can record it for a specific number of hops. In the example below the ping route has been recorded for 4 hops:
ping /r 4 10.0.99.221
Recording the journey in this manner gives you that much more information to work with. You can start to look not just at the latency but at the routes your packets are taking as well. If the route is inefficient and has too many hops then you can start to think about redesigning your network to minimize the distance.
How to Measure Application Response Time and Latency with Wireshark
A more sophisticated way to measure latency is to use a network monitoring tool. We’re going to look at these in more detail further below, but for now we’re going to look at how to measure latency with Wireshark. Wireshark is a famous packet sniffer which can be used to accurately measure application response time.
With Wireshark you can analyze the application response time of end user requests to give you a figure of latency. This only works if latency isn’t caused by DHCP or DNS. To measure latency with Wireshark you will need to filter the packets that you’re looking at. If you don’t have Wireshark then you’ll need to download it from this link here.
To begin using Wireshark you need to go to the conversation statistics section. Here you will find Statistics, Conversation List, TCP (IPv4 and IPv6). This will tell you the number of connections that the client has made to the server. Sometimes you will end up with too many conversations to navigate through. If this happens you’ll need to set an IP filter to include only one client (this will eliminate the other information so that you can narrow down the results).
Next, you need to look through the results within the Conversation List and right-click on the first result that connects to the application server. Then press the Follow Stream button at the bottom of the screen. Doing this will activate a filter designed for the TCP connection used by the client to connect to the server.
Viewing Network Latency
For captures taken on the client side you want to use the delta timer to measure the delay between the SYN and SYN/ACK packets. The difference between these two will give you the round trip time. You can see this on the right-hand side where packets are marked as [SYN] or [SYN, ACK].
Network Latency Test and Troubleshooting Tools
Unfortunately finding the root cause requires a little more legwork because you need to find out the origin of the latency. However, there are a number of different tools that you can use to do this and come up with a more sophisticated test of network latency. In this section, we’re going to look at some tools you can use to test network latency and troubleshoot for the cause.
SolarWinds Network Performance Monitor is an SNMP-compatible network monitoring tool that also offers bandwidth monitoring. With SolarWinds Network Performance Monitor you can analyze network response time with deep packet inspection. This can be seen through the Quality of Experience dashboard where you are provided with the monitored network latency.
Network latency and packet loss can be viewed in graph format so that you can see the fluctuations that occur throughout the day. This beats online network latency tests because it means that you can tell the general latency rather than just an individual measurement. To make this easier you are also provided with the Average Response time and packet loss to make sure that you don’t miss anything.
However, SolarWinds Network Performance Monitor isn’t simply a tool that can be used for measuring latency; you can also find the root cause. By viewing bandwidth usage throughout the network you can see areas of congestion that could be behind the presence of latency. SolarWinds Network Performance Monitor can be purchased for a price of $2,955 (£2,314).
Tools like SNMP monitors can identify congestion on networks but they don’t have the ability to point at the cause of congestion like NetFlow analyzer tools. Tools like SolarWinds NetFlow Analyzer allow you to analyze your traffic in further detail so that you can see traffic patterns. This allows you to see whether applications or malicious attacks are behind the latency being experienced.
Network traffic is shown as graphs and charts so that you can overview applications from one view. To move along your troubleshooting you can use the Top 10 Applications chart to view those applications which are consuming the most bandwidth and potentially contributing to latency the most. SolarWinds NetFlow Analyzer is available from a price of $1,915 (£1,499).
Latency can seriously impact the performance of your network and applications. Whether your network has high latency currently or you want to make sure that it isn’t a problem in the future, monitoring latency regularly is essential. Consistently monitoring for latency is the only way to make sure that the network keeps performing as it should.
The moment you detect that latency is a problem you can start to troubleshoot and find the root of the problem. Tools like Traceroute which allow you to do this hop-by-hop are excellent for pointing you in the right direction of the problem. From there on it is on you to find the root cause. If you want more assistance to get to the root of the problem a tool like SolarWinds Network Performance Monitor can point you to applications that are hogging network resources.
Viewing the top bandwidth consuming applications in your network gives you devices to run troubleshooting on. Once you know where your connection is being consumed excessively you can take action to increase the response time of the network. As such it is a good idea to test for network latency with a tool that can point you to the root cause of the problem.