In today’s world, sending and receiving data over the Internet has become a crucial part of our day-to-day lives.
But often, many people are unaware of the insights and details that go deeper into how exactly the data is being transmitted over the network, up until an issue arises. One such common problem is packet loss and it happens when you face dropped calls, no response to the requests and slower connections.
Poor network connectivity, frequent disruption, and lags are the common symptoms of packet loss, which further significantly affects business KPIs.
In this post, we are going to look at the causes of packet loss and different ways of testing for packet loss on Windows:
What are Packets?
To understand packet loss, you need to first know what packets are.
Data traffic in a network is often considered as a smooth unified flow of data across different points. But in reality, data is transferred across a network in “packets”.
As the name suggests, packets are nothing but individual units of data. These units on their own do not make any sense, as overall information is split and packaged into these small multiple layers. When unified, the packets altogether carry the essential information. Whenever you send or receive emails, read news online or check messages on social media accounts, it is nothing but you sending or receiving small packets of data.
Often, data packets go through different hubs such as wireless routers, fiber optics, and more devices before reaching the endpoint. Once they meet their final destination, packets get a timestamp.
The underlying protocol that is responsible for sending and receiving messages is known as TCP/IP and this protocol is what splits the information into small data packets. When the packets arrive at their final destination, the destination system’s TCP/IP protocol will reassemble the packets to get the essential overall message.
If you closely analyze the data packets, you will see that these packets not only carry the data to send or receive but also other significant identifying information that helps the destination protocol to understand the correct sequence and reassemble the packet accurately.
Data packets generally contain:
The header part of the packet comprises information and instructions related to the inside data. And this information includes:
- Packet length
- IP address of sender
- IP address of receiver
- Synchronization bits that are meant to help match the packet with the network it is sent from.
- Packet number to help identify the sequence.
- Protocol that defines the type of packet that is transmitting, whether it is a video, audio, email, etc.
“Payload” refers to the actual data which is like the main body of the packet. If the packet length is fixed, then empty data bits are added to the packet to make it reach the ideal length.
Footer, also referred to as the “trailer” part of the packet, features a few bits that tell the recipient system that it has reached the destination. Some data packets also contain bits for error checks.
This is how data packets travel across the Internet and pass between multiple devices.
What is Packet Loss?
Packet loss is when one or more packets get dislocated or delayed when traveling through the hubs. If there’s a delay, the packet will eventually suspend and a new packet is immediately sent to replace it. If a new packet is not sent, the data recipient will only receive the partial message. This circumstance is often referred to as RTO viz. Retransmission Timeout.
The packets will reach the destination eventually, but the whole process of retransmission and late arrival causes poor performance. Sometimes, arrived packets might also be damaged or incomplete, which means they are of no use. In this case, the damaged packets need to be replaced with a new packet.
Causes of Packet Loss
There are many culprits to packet loss. You need to execute network diagnostics to find out what is causing the packet loss out of many contributing factors. Here are some of the main causes of packet loss:
- Flawed Cables
The physical layer of the network viz. the actual wires and cables through which the packets pass may be damaged. If these Ethernet cables are poorly connected, faulty or lagging due to network traffic or being damaged, they might be causing packet leakage. This is what causes the packets to get disrupted or lost during transmission.
- Network Bandwidth congestion
If the network bandwidth is not able to keep up with the increased traffic, or there is abnormal network congestion, the packets might get lost.
- Software Problems
Bugs in the software might result in network packet loss. You need to immediately report the bug to the software vendor, as resolving such kinds of issues on your own is a bit complicated. The software vendor will eventually provide a firmware patch to fix the problem.
- Incapable hardware
If the hardware has a contribution in directing packets in some capacity, it might be responsible for packet loss. Firewalls, switches, wireless routers, and other such hardware components might be vulnerable to packet loss. To fix this, you must check these hardware devices to ensure they can keep up with the network traffic.
Common Symptoms of Packet Loss:
- Dropped calls when connected to Wi-Fi
- Buffering when streaming video
- Slow page load speeds
- Lagging during playing games
- High latency/ping
How to Test for Packet Loss
Testing for packet loss significantly depends upon the protocol or application that is part of it. Each application or protocol differs in the way they deal with packet loss, which is why the effects also tend to differ.
For example, the TCP (Transmission Control Protocol) is able to fix packet loss very efficiently- as it immediately acknowledges packet arrival and retransmits lost packets, if any. On the other hand, UDP (User Datagram Protocol) is not able to process re-transmission of lost packets; thereby it isn’t able to handle packet loss very well.
The real question is how to test for packet loss?
Here, we are going to focus on packet loss for Windows mainly, but the process is not very different for other operating systems as well.
Windows and other OS generally have native tools with which you can see the percentage of packet loss. For this, you need to use ipconfig and ping commands and execute the packet loss test.
You don’t really need any premium software tools to test for packet loss. These simple commands will do the job. Commands such as ipconfig will gather information about your network adapter, whereas the ping command will analyze the replies on particular targets and collect the results of packet loss.
There are two packet loss tests to execute:
- One caused due to wireless signal coverage
- Or due to network congestion.
Suppose your Windows 10 is connected to a standard Wireless Home network, with AP (access point) that acts as a router and internet gateway.
- Go to the “run” application and open the Command Line Interface. You can do this by using the shortcut keys- “Windows icon key + R”. The run application will appear, and then type “cmd” in the command box.
2. Open the “cmd” application
You can also open the “cmd” application by simply typing the “cmd” in the Windows Menu search bar.
Now that you have opened the Command application, you can carry both the packet loss tests.
Testing for Wireless Coverage
The first test will be carried out with “Ping” command to Wireless AP.
- Make sure you are sitting far away from your Access Point (AP) and there are concrete walls blocking the space between you and the Access Point. By this, you will be able to detect whether the packet loss is caused due to poor signal coverage.
- Find the IPv4 address of your AP. When you type “ipconfig” in the command line application, you will see your network adaptor’s IP configuration. Further, the wireless LAN adapter Wi-Fi section will show you the necessary information such as IPv4 and IPv6 address, Default gateway and Subnet Mask.
- Run a “ping [target IP] -n 20” command and replace the “Target IP” with your default gateway IP.
In the above command, “ping” is the command to ping your default gateway. “-n 20” is the number of times to carry out a test and “target IP” is the IP address which you want to test the connection for.
Doing this will send 20 ICMP packets to the Access Point and the tool will wait for the reply. Then it will calculate the packet loss percentage along with the average RTT (round trip time) in ms.
If the communication is really bad, you will see that out of 20 packets sent, there will be fewer packets received. Also, a drastic increase in average RTT will further prove that your specific wireless communication is poor in performance.
Testing for Network Congestion
If you want to check whether the network packet loss is caused due to network congestion, follow the steps given below:
- Sit close to your wireless AP and send a ping test to the outer network.
- Test the internet connection to check for any potential network congestion. Type Google.com in the command prompt and see if there’s any network congestion, as it is the most stable and reliable destination.
You should see that all packets were sent and received successfully and that there was no packet loss.
Once you carry out both the packet loss tests, evaluate the results. If you still face the issue of packet loss, try doing the same procedures at a different time of the day, from another device or other location.
Analyzing the Final Results
If you see that there is a significant amount of packet loss in the first test for wireless coverage, you can conclude that wireless networks are prone to elements that damage packets passing through the signal coverage, weak signals, or RF interference.
In the second test, there are high chances that you will witness 0% packet loss and you can see the results by checking the entire ping (ICMP packets) sent to google.com and how many came back to the source.
- If you are experiencing packet loss at different times in a day, then it is highly likely that network congestion is causing the problem.
- If you move your device such as a laptop to another location and get 0% packet loss, it means that the packet loss is caused due to a cabling or wireless problem.
- If the results show that the packets were lost when sent, the main culprit would be your network adapter.
- If you still experience packet loss even when using different devices, then it might be due to bad wires or wireless media, upgrade issues or damaged hardware.
After performing the above test on your Windows machine, you will get an idea of the possible cause of packet loss. I hope this guide will help you to troubleshoot the network issue and you don't need to buy any expensive troubleshooting software.