Choppy live streams, buffering YouTube videos, and crackly VoIP calls. These can all be side effects of frequent packet loss on the network.
While this is extremely frustrating, it’s not impossible to diagnose and fix. In this guide, we’ll review how to test for packet loss on Windows, and share some troubleshooting tips to get your connection back on track.
What exactly is packet loss?
When information is shared across a network, it is put into bite-sized packages called packets. When packets reach their destination they are reassembled so the whole message is readable. When packet loss occurs some of those key packets never make it to the end of their journey. Leaving you with choppy phone calls, pixelated videos, and overall frustration.
Packet loss is most noticeable on applications that use real-time packet processing. VoIP calls, video games, and live streaming video all rely on this real-time packet processing to work smoothly, so unlike downloading an image, you’ll notice right away when things aren’t quite right.
What causes packet loss?
Most of the time network congestion can be to blame. If your connection is traveling over a VPN, and that VPN connection is overloaded because everyone is working from home, packet loss can occur as the connection struggles to hand out enough bandwidth to everyone at the same time.
In some cases, certain applications may choose to resend packets that aren’t received in an attempt to save the quality of the connection. Some applications may slow their transfer speeds and request that the missing packets be resent. While this process is great in theory, it can still impact noticably, especially on video calls.
Sometimes the connection is fine, but the hardware on the receiving end is experiencing problems. This is most common in VoIP phones where only one person is having a problem receiving audio. This could be a physical issue on the phone or an ethernet cable, or maybe a bad firmware update on the phone itself.
Thankfully narrowing down a hardware issue is fairly simple, as you don’t have to test the entire network, only the end device that is experiencing the problem. This is usually the best place to start troubleshooting after you’ve done a quick speed and bandwidth test over the network.
Viruses & Anti Virus
Ironically both malware and antivirus programs can cause packet loss over a network. Malware can directly and purposely interfere with connections it thinks are responsible for security functions in an attempt to stop the software from removing the infection.
Alternatively, malware can slow down networks when trying to extract data, or receive a download from its command and control servers. Stealthy malware is actually known to wait until after working hours to extract data to avoid causing any slowness during the day.
More commonly, antivirus software especially on the enterprise level can cause packet loss for specific types of traffic. Depending on the type of filtering, antivirus software can mistakenly target legitimate traffic as malicious and drop the connection. A simple check of the logs can verify this is taking place.
Detecting Packet Loss on Windows
Now that we know a bit of the basics, let’s dig into how we’ll test for packet loss on Windows.
We’ll need to measure the response time between whenever you’re connected and the device that is experiencing the issues. At the very core, the message is sent using TCP/IP protocols; a break in these requests can cause latency and packet loss.
For TCP this is known as the Three-Way Handshake, where an SNY informs the clients they should start communicating with the device. SYN-ACK is the recipient acknowledging that its request has been received. Then finally ACK, where the device confirms to the other that it has received the SYN request so data can be sent.
Testing Packet Loss on Windows
Packet loss is relatively easy to detect and troubleshoot, even on larger networks. Where it can get tricky is narrowing down what is causing the packet loss on a network. For example, on a corporate network, a packet might be traveling from a home PC over its ISP, across the VPN, through a company switch, and finally to the work PC.
Using The Right Tools
For this example, we’ll be using the trusty old command prompt. For basic packet loss detection, you usually don’t need any other tools.
There are enterprise-level tools that can help proactively detect and alert when packet loss occurs such as SolarWinds Network Performance Monitor. But for this example, we’ll be keeping it simple.
Launch a command prompt by holding Windows Key + R and typing cmd in the Run box. Then press Enter.
Running The Tests
The simplest form of packet loss testing can be done with the ping command. If a computer is experiencing problems with suspected packet loss you’ll want to run this command on the machine that is experiencing the problem.
For instance, if a person is at home and connecting to a PC at work, you’ll want to run a ping command to something like Google, as well as the target machine over the VPN. This will help you narrow down if the packet loss is occurring on the home network, versus on the corporate side.
To do this, let’s first run the ipconfig command to see what the default gateway is.
Ping the default gateway by typing:
ping <GatewayIPAddress> -t
This will run a continuous ping on the local gateway. Alternatively, you can type Ping <GatewayIPAddress> -n 30 to send the request only 30 times. If you use the -t command you can use Control + C to stop it at any time.
You can sit back and watch this for a minute or so. Packet loss should be easy to see as you’ll begin to receive timeout messages. If you do get packet loss on the gateway, this points to an issue with either the home router or the user’s wireless or wired connection.
If the gateway looks fine, let’s test the local internet connection for packet loss. Next, we’ll ping Google’s DNS server 18.104.22.168 to see if there are any drops. This theoretically could be any website, but Google is probably one of the most reliable sites you can use for testing.
To test the connection for packet loss out to the internet run the following command:
ping google.com -t
If packet loss is occurring it should be visible through the amount of total lost packets, as well as breaks in the reply chain during the test. If there are no breaks, but you’re noticing high or wildly inconsistent response times, run a speed test to ensure there is enough bandwidth on the network.
If you see breaks in the connection it’s a safe bet that something such as the router or physical connection is at fault for the packet loss.
Lastly, we’ll test the target IP address. In this example, a home user is trying to access the work PC over the company network from home. Let’s run a ping test to the IP address of that device.
ping <CompanyPCIPAddress> -n 60
If you see packet loss when testing the company device, but not Google, you’ll have narrowed down the packet loss issue to the company network side. Alternatively, if the device is having issues pinging Google, you’ll experience the same problems when testing the company-side device.
Understanding The Data
Testing for packet loss is important but almost equally important is testing in the right variables. If you simply were to have tested a ping check to Google, without testing the connection to the company network you would have missed finding the packet loss problem.
Here are some tips when trying to narrow down and find the root cause of packet loss:
- Think of all the devices between the one that is experiencing the problem, and the service you’re trying to connect to. Ping each individual device to test its reliability.
- Does this packet loss only happen during certain times of the day? Is anyone else on the network? Are they doing more work than usual? Are they streaming, downloading files, or playing games? This can all cause packet loss on low bandwidth networks.
- Have you power cycled any devices that appear to be dropping packets? Sometimes pending Windows updates can cause connectivity issues. VoIP phones have also been known to experience similar issues from time to time.
- Are multiple devices or people complaining of similar packet loss-related issues? If so, are they located in the same place, or on the same network? This may point to issues with networking equipment such as the router or switch.
Preventing Packet Loss
Preventing packet loss can be tricky, but is completely possible. Corporate offices can deploy networking monitoring tools that alert technicians when slowness or losses occur. Automated scripts can also be put in place to change the internet connection over to a new line if there are two installed, and one becomes unreliable.
Traffic load balancing can also help keep congestion down as well as establishing a QoS (Quality of Service) setting on the network. This essentially limits what type of traffic can use certain amounts of bandwidth and setup prioritization. For example, you can set QoS policies to ensure VoIP traffic is always the highest priority, so live streaming radio doesn’t interfere with that service.
If your organization has many different layers of security in place, such as local anti-virus, and firewalls with many different policies in place, review them if problems occur. Sometimes updates to security services on routers can cause unintended packet loss problems as either a side effect of packet inspection or as a direct result of getting flagged as malicious and subsequently dropped.
Lastly, keeping your access points, routers, and NIC drivers up to date can help eliminate packet loss and general network congestion issues. Even Windows updates can help resolve issues from time to time. Not only will these updates help prevent frustrating packet loss issues, but they promote a stronger overall security posture for your network.
Thankfully you don’t need any fancy tools to get the job started; however, there are many other networking tools that large companies can deploy to help reduce downtime and speed up the troubleshooting process.
Packet loss is frustrating, but luckily it’s one of the easier types of issues to diagnose in the world of IT. For smaller home networks running a ping test can narrow down a problem in a few seconds.
For corporate offices with VPNs, multiple facilities, and home users, this could take a bit more time. With diligent troubleshooting and a bit of practice, testing for packet loss on Windows will come second nature.
Have you experienced tricky packet loss problems? Share your experiences with us in the comments section below.