Networks are growing at a rapid rate, thanks to a growing mobile workforce, expanding cloud applications, implementation of technologies like BYOD, increasing virtualization, and more. Because of these trends, networks have become more complex than ever and there is a greater need to stay on top of its performance and security at all times. There are many ways to test the health of your network, and one of the most foolproof and popular choices is packet loss testing.
What is packet loss testing?
Let’s understand the basics here a bit before we go into the testing part.
When you transmit information from one computer to another through any network, what essentially happens is that the data is divided into small digital packets by the underlying TCP/IP protocol in your network. The sending network divides the data into small digital packets and the receiving network reassembles these packets in the same order to reconstruct the original message. Obviously, for this to happen, the sending network adds a “header” to each packet to help the receiving network to reassemble them in the right order.
Like the header, each packet has a trailer or a footer that contains a few bits to tell the receiving network that it has reached the end of this packet sequence. These bits also include the results of a test called cyclic redundancy check (CRC) to ensure that all the packets are intact. When the value of this CRC varies between the sending and receiving network, it means a packet is lost or damaged and may require a retransmit.
As you can see, this process of sending packets is a great way to ensure that the sending and receiving networks are working fine. When the packets sent by the sender are not received by the receiver, it is a sure sign that something is wrong with the transmission and the resulting network.
There are two kinds of packets losses: one where packets are lost and the other where it gets delayed. Each of these losses depicts a different kind of network problem that may need a different fix.
Why packet loss testing?
Packet loss testing helps determine whether packets are getting lost or if there is a delay in transmission. Based on this understanding, you can identify the underlying problem which could be a network connectivity issue, low-quality VoIP connection, natural or man-made interference such as hacking, system noise, hardware failure, software corruption, or overworked network nodes. Here are some common reasons for packet losses and delays.
A common cause of packet loss is congestion. Think of this as rush hour traffic on the road. Imagine being stuck in traffic on a four-lane highway during peak hours with no option to move anywhere. This is exactly how packets get stuck and this causes delays. To fix this problem, increase the bandwidth or reduce traffic on a particular path.
This is similar to congestion, except that the device is pushed to work way beyond its capacity. It could be because packets come to the router at a faster rate than what the device can handle and this causes delays in processing. Again, increase the capacity of the device or reduce its workload to fix the problem.
Faulty or old hardware
Malfunctioning hardware will not transmit all the packets correctly, thereby leading to packet losses. When this happens, identify the malfunctioning hardware and replace it at the earliest.
We hope the above three scenarios give you an idea of how packet loss testing can be used to identify problems within the network. To understand what is wrong and to fix the problems, you need the right packet loss testing tools.
How to troubleshoot packet loss?
There are many free and paid tools you can use to troubleshoot your packet loss. Here is how you can go about it.
Choose the approach
There are two approaches to troubleshooting — a proactive and reactive approach.
When users start complaining about poor network performance, dropped VoIP calls, or data loss, it is often due to some problem in the network that you can identify with packet loss testing. This is a reactive approach to fixing a problem. On the other hand, you can continuously monitor a network using proactive tools to identify and fix the problem before it impacts the end-users. The exact choice of approach depends on the circumstances of the case, and the existing IT practices and systems.
Use built-in tools
Two standard utilities, namely ping and traceroute, help with packet loss testing. These tools ship with the operating system and are free to use.
Ping measures the time it takes for a packet to reach the destination computer and back while traceroute measures the response time of all the routers located in the packet’s path and the time it takes for a packet to “hop” from one router to another.
The best strategy to check packet loss with ping is to send a large number of packets and check the rate of loss. For example, you can send 100 packets to the destination and see how many come back. Calculate the loss percentage and take action if the loss rate is more than 5 percent, though you can also consider taking action for rates below 5 percent too.
To use ping, simply type the command below in your command-line.
Ping /n 100 [destination address]
For Mac and Linux:
Ping -c 100 [destination address]
The destination can be an IP address or a domain name like www.techgenix.com.
The results will display a record of each packet sent, its response from the receiver, and the time taken for each packet for a round-trip. In the end, you’ll get a summary of the results based on which, you can understand the network problems.
Traceroute, on the other hand, works differently and in fact, does not deal with packet loss at all in the first place. Still, it is considered to be a packet loss testing tool as it tells you about the health of all the routers in the packet’s path.
To use traceroute, type:
Tracert [destination domain name]
And the results will show a list of routers through which a packet passes and the time it takes for the packet to hop from one router to another. You can even see information about failed routers and unusual time delays in any hop. With this information, you can identify failed nodes or a congested network and take steps to fix any problems.
Though ping and tracert are good tools for packet loss testing, they come with their own limitations. Ping, for example, is nothing but a bunch of ICMP echo packets with low priority and routers can always get to it much later, especially if they have to handle more important traffic. Also, data packets tend to be of various sizes, protocols, and priorities and these can impact the way a router handles them.
A more accurate way to do packet loss testing is to use advanced tools that are designed to give you complete control over the entire operation. There are many testing applications developed to give you an accurate idea of the problems in your network based on how and when the packets traverse the network. Some of them even have a web interface to test packets directly without having to download or install any software.
The biggest advantage with these tools is that they are completely automated, so you don’t have to monitor their progress or key in data for every run. They take inputs directly from the configuration file and give you the results. Some of them even proactively monitor the network for problems and send alerts in case of any issue. Undoubtedly, these tools make your life easy.
In all, packet loss testing is a good way to determine that something is wrong with your network and to get to its root cause. Ping and tracert are the two best free utilities that give you an idea of what’s wrong with your network, but the information they provide may not be adequate at all times. If you feel you need more information to troubleshoot or would like to have greater control over the detection process, consider investing in advanced tools that provide a more holistic view of the problem for you.
Do let us know in the comments section how you’ve used different packet testing tools to resolve your network problems.
Featured image: Shutterstock