Choppy video? Dropped calls? Slow downloads? Chances are you’re experiencing packet loss. In this article, we’ll explore exactly what packet loss is, how to test for it, and how to fix it once and for all.
What is packet loss?
Packet loss occurs when there is a break in the connection between two devices that are attempting to share information. Large chunks of information like parts of streaming video or downloads are broken down into smaller more manageable chunks called packets.
These packets get sent across the network to the recipient and then reassembled to represent the whole piece of content. When packet loss occurs the transmission of information is interrupted and can have different impacts depending on the type of content that is being sent off the network.
For example, packet loss is most noticeable with audio and video-related content. VoIP phones can only handle a small amount of packet loss before you start to audibly notice a difference in the quality of the call. Streaming video is also considered sensitive to packet loss, where it only takes a few missed packets to cause buffering and decreased resolution over sustained packet loss and latency.
Packet loss can also impact data downloads but is less noticeable than the content we actively consume as it is broadcasted. Many browsers now have the option to resume downloads when the internet connection drops, which makes packet loss with files a bit less frustrating than streaming audio and video.
What causes packet loss on a network?
In most cases, packet loss is caused by a poor network connection to the ISP, or network congestion on the router. Many times routers have issues where updates cause packet loss, or information gets stuck in the memory of the router. This is why you’ll often hear tech support ask if you’ve rebooted the router prior to calling. While rebooting may seem like a cop-out fix, for packet loss issues it can actually make quite a difference, and shouldn’t be skipped.
Alternatively, network congestion on the network can cause packets if the current connection is overloaded. Many businesses experience this when all of their staff starts streaming live radio and watching videos in the background. This uptick in bandwidth usage can be enough to overwhelm smaller networks. This doesn’t leave enough bandwidth for the rest of the company to load webpages or access other resources on the internet in a timely manner.
Hardware Problems
Another common cause of packet loss is related to a physical connection issue between the two machines. The entire network might be fine, but a crushed ethernet cable under an office chair can cause all sorts of problems for just that single user.
Hardware isn’t always wires or cables, wireless network cards can also go bad in laptops, which can send technicians on a wild goose chase across the network only to find that the NIC on the computer itself is failing.
Luckily, hardware issues are simple to identify and are usually one of the first places you start troubleshooting when you think packet loss might be occurring on the network.
Bad Drivers & Misconfiguration
Drivers are small pieces of software that bridge the communication gap between the physical hardware you use, and the computer you interact with it on. When network card drivers are improperly installed, missing completely, or out of date, you can experience packet loss.
This principle holds true to networking equipment as well. If certain bridges, switches, and access points aren’t kept up to date with the latest firmware, users can begin experiencing packet loss and general slowness because the network infrastructure is not optimally communicating with these new devices.
Viruses & Anti Virus
Both malware and anti-malware software can cause packet loss issues. Malicious software can cause packet loss when it is exfiltrating large amounts of data of a network, or actively working to sabotage its environment. Malicious payloads and other communications between a virus and its command and control server can cause dropped packets and interfere with the network quality in general.
On the other hand, the antivirus software can actually cause packet loss and is normally more of a culprit than an actual virus, especially in enterprise environments. While home antivirus software may have a few settings, enterprise firewalls can have dozens of NAT policies, rulesets, and scans that can mistakenly drop good packets that are misidentified as malicious in nature.
You’ll see this with interactions on certain websites or services in particular. If proper documentation is kept on the most recent changes, help desk teams can often remedy the packet loss problem relatively quickly.
Interpreting The Three-Way Handshake
When packet loss occurs we now know that this is because a packet gets dropped or somehow doesn’t make it to its destination. On a more technical level, the message is using a protocol, for instance, TCP/IP. The three-way handshake is used for establishing connections between two clients, and if that process is interrupted data transmission will never even start.
The diagram below shows this process in action, where an SYN informs the clients they should start communication and open a connection. The SYN-ACK is the receiving machine acknowledging that it has received the request for communication, and finally the last ACK is from the recipient acknowledging that it will open itself up for communication.
Testing For Packet Loss
Testing for packet loss in Windows is simple to do and doesn’t require any special tools, or paid platforms to at least identify that packet loss is occurring. Larger networks can make narrowing down the exact bottleneck a bit more difficult, so administrators often turn to tools like SolarWinds Network Performance Monitor.
For this example, we’ll be keeping it simple and use a command prompt to test a computer receiving dropped packets when sending to another computer on the same network.
Launch a command prompt by holding Windows Key + R and typing cmd in the Run box. Then press Enter.
To test the connection between your computer and the router type enter:
Ipconfig
This will give you the address of your gateway, which you will need to run a ping check on it. Copy or remember this address and then type:
Ping <GatewayIPAddress> -t
This command will continuously run a check from your PC, to your local router that your internet is coming from. To stop this command press Ctrl+C.
After a few minutes of letting it run you should see some results. We’re looking for any drops in the responses from the ping checks. You’ll also want to keep an eye on your latency in milliseconds.
While packet loss and latency are two separate issues, they both can cause slowness in a connection.
Real-World Example
Below we’ll walk through troubleshooting packet loss with a PC on a network that is having issues when communicating with a physical server on the same network.
In this example, only a single PC is having the problem. After physically checking all the cables from the PC to the network, the technician runs the following command:
Ping NameOfTheServer -t
He finds that the connection is dropping. He pings another device on the local network and notices that the connection is dropping again. This means it’s not just an issue with the server.
He begins starting to test devices that are positioned between the PC and server. Since this is a small network the only thing that sits between the PC and the rest of the network is a switch. He runs a ping check on the switch and finds that the connection to the switch is dropping.
After further inspection, it appears a port is bad on the switch. Changing the connection on the port fixes the problem, and is verified through a successful ping test to the switch, and the server.
Corporate networks can get much more complex with troubleshooting, but this example should help you narrow down your packet loss problems, and identify where the issue is stemming from.
Keep these simple tips in mind when troubleshooting packet loss:
Start with the most obvious problems first, and assume everyone is impacted, even if only a single person is reporting an issue. Running a few pings and network speed tests only takes a few minutes and can identify the root of the problem most of the time.
If only one person is having the issue, inspect the hardware, and network configuration settings on the device. Misconfigured DNS and outdated network drivers are the major offenders for individual packet loss problems.
Do devices need updates? Many times a reboot will push through an update that will fix a packet loss problem on a PC. If a user fails to reboot the machine, and there is no policy in place to force updates, PCs can stay on for hundreds of days which causes issues.
Does packet loss only occur during certain times of the day? If so you might be looking at a bandwidth allocation problem. For larger networks, this can be solved by implementing Quality of Service (QoS) on the router, which limits what types of traffic takes priority on the network. For example, VoIP can be set to the highest priority, while streaming music can be set to the lowest.
Is it a DNS issue? Sometimes DNS resolution can periodically fail, or route traffic improperly causing delays and packet loss. You can test this by running a ping command to the IP address, and then the same command to the hostname and watch them side by side.
If issues persist across the network, check the firmware and uptime of your networking equipment. Even if your firmware is up to date, consider rebooting devices that have been up for a very long time.
How do I prevent packet loss?
Since packet loss is dependent on both ends of the connection, you may never completely stop it, but you might be able to prevent major headaches.
As mentioned earlier, businesses should deploy QoS across their network and ensure VoIP systems are set to the highest possible priority. VoIP in particular usually requires certain network settings to work well. Checking with the VoIP provider is usually best.
Organizations that value uptime should use a trusted network monitor like SolarWinds Network Performance Monitor. This tool can quickly identify hardware bottlenecks, bandwidth allocation issues, and generally, put your IT department in a more productive position when it comes to combating packet loss.
Network changes should be thoroughly documented and stored in a searchable system. Oftentimes helpdesks will be flying blind because they are unaware of network changes that are happening on a higher level. By documenting these changes you’ll empower the IT staff with relevant information that will speed up the troubleshooting process.
Home users might find that their internet connection just isn’t that great, even after reboots. Your best bet is to contact your service provider and request a technician visit. He may determine that you’re using an older router that is failing, or maybe the connection from the street to your house is the real problem.
If you’re unsure of your network speeds you’ll also want to ask what package your internet is currently on. Low bandwidth internet packages can get tapped out almost immediately, causing packet loss and extreme slowness. If you have the option to upgrade and suspect this might be happening to you, consider upgrading to a higher tier.
Conclusion
Packet loss can put a serious strain on our networks, and our patience. Luckily, you can at least recognize and identify packet loss as it occurs in Windows using the good old command prompt.
Even more complicated testing can be done through ping checks, and while it may seem like a basic form of testing, don’t underestimate the ability of a simple ping command to point you in the right direction.
Do you suffer from packet loss on your networks? If so, did you find out what was causing it? Let us know in the comments below.
Testing for Packet Loss On Windows FAQs
How can you test for packet loss on Windows?
You can test for packet loss on Windows using a variety of tools and methods, such as ping, tracert, pathping, and network diagnostic tools. Alternatively, you can use network monitoring software for continuous automated monitoring.
What are some network diagnostic tools that can be used to test for packet loss on Windows?
Network diagnostic tools such as Wireshark, Netstat, and TCPView can be used to analyze network traffic, identify packet loss, and diagnose network performance issues.
What are some best practices for testing for packet loss on Windows?
Best practices for testing for packet loss on Windows include using multiple tools and methods to test network performance, establishing baseline metrics for network performance, and regularly monitoring and analyzing network performance metrics to identify trends and issues.
Can packet loss be caused by issues outside of the local network?
Yes, packet loss can be caused by issues outside of the local network, such as internet service provider (ISP) issues, network congestion, or routing issues on remote networks. It is important to consider these factors when testing for packet loss and diagnosing network performance issues.
What are some common causes of packet loss?
Common causes of packet loss include network congestion, hardware failures, routing issues, software bugs, and security issues such as denial of service (DoS) attacks.
What are some effects of packet loss on network performance?
Packet loss can cause a variety of effects on network performance, including degraded performance, slow response times, dropped connections, and increased latency.