1. Library
  2. Performance and Reliability
  3. Metrics

Updated 10 hours ago

Packet loss is data disappearing mid-flight. You send a message, and pieces of it simply cease to exist somewhere between here and there.

In a perfect network, every packet sent would arrive intact and in order. In reality, packets vanish constantly—dropped by overwhelmed routers, corrupted by interference, discarded by devices that can't keep up. How your applications handle these disappearances determines whether you notice anything at all or whether your video call becomes an unwatchable mess.

Where Packets Go to Die

Packets can vanish at any point in their journey:

Network Congestion is the most common killer. Routers have limited queue space. When packets arrive faster than they can be forwarded, the queue fills up. New packets arriving at a full queue are simply discarded—there's nowhere to put them. This is called tail drop, and it's not a bug. It's how routers say "I can't keep up."

Transmission Errors corrupt packets beyond recognition. Electrical interference, radio signal degradation, or damaged cables can flip bits during transmission. When the receiving device checks the packet's integrity and finds corruption, it throws the packet away. Better to lose it than to process garbage.

Wireless networks are especially vulnerable. WiFi contends with interference from microwaves, neighboring networks, and walls. Cellular signals fade as you move. The air is a hostile medium for data.

Hardware Failures create intermittent loss. A failing network card, a damaged cable, a switch port going bad—these don't usually fail completely. They fail partially, dropping some packets while passing others. This creates maddening patterns where everything works except when it doesn't.

Buffer Overflow happens when devices can't process packets fast enough. Even if the outgoing link has plenty of capacity, if the CPU can't keep up with the processing load, packets pile up and eventually get dropped.

Black Holes are routing failures where packets are sent toward destinations that don't exist or through paths that are broken. The packets disappear without a trace—no error message ever reaches the sender.

Intentional Dropping is sometimes policy. Firewalls drop packets that violate security rules. Routers drop packets whose TTL has expired. Quality of Service systems deliberately sacrifice low-priority traffic to protect high-priority traffic during congestion.

Measuring the Damage

Packet loss is expressed as a percentage: lost packets divided by total packets sent.

One percent loss sounds trivial. It's not. For many applications, 1% loss is catastrophic.

The simplest measurement is ping: send 100 packets, count how many come back. Get 97 responses? That's 3% loss. Network monitoring tools measure continuously, revealing not just how much loss but when—whether it's constant, bursty, or tied to peak usage hours.

How Applications Suffer

TCP applications—web browsing, email, file transfers—handle loss automatically but pay a heavy price.

TCP guarantees delivery. When a packet is lost, TCP detects the gap and retransmits. The data eventually arrives correctly. But each retransmission costs time. If your latency is 50ms and a packet is lost, TCP waits at least 50ms to realize the packet is missing, then another 50ms for the retransmission to arrive. That's 100ms added to that packet's journey.

Worse: TCP interprets packet loss as a signal of network congestion. When packets disappear, TCP assumes the network is overloaded and voluntarily slows down to avoid making things worse. This is polite behavior that prevents network meltdowns, but it means even small loss rates crush throughput.

A 1% packet loss rate can cut your download speed in half—not because the network is slow, but because TCP spends half its time apologizing for the network's mistakes. The higher your latency, the worse it gets.

UDP applications—VoIP, video calls, online games—don't retransmit. They can't afford to. By the time a retransmission arrived, the moment would have passed. A word you said two seconds ago is useless in a conversation happening now.

So UDP accepts loss. Lost voice packets create dropouts—brief moments of silence or distortion. Lose a few packets and you might hear "I'll meet you at—ven o'clock." Lose more and the call becomes incomprehensible. Video freezes or pixelates. Games exhibit "rubber banding" where characters teleport erratically because the packets describing their movement vanished.

Many real-time applications use Forward Error Correction (FEC), sending redundant data that allows reconstructing lost packets without waiting for retransmission. This helps up to a point—but past certain loss rates, no amount of redundancy can save you.

Streaming video from Netflix or YouTube uses TCP and massive buffers. Lost packets get retransmitted, and the buffer absorbs the delay. You might see initial buffering while the buffer fills, but playback is usually smooth unless loss is severe.

How Much Loss Is Acceptable?

File transfers and web browsing: Several percent is tolerable. You'll notice slowdowns, but TCP handles everything transparently.

VoIP: Under 1% for good quality. Between 1-2.5% creates noticeable degradation. Above 3%, conversation becomes difficult.

Video conferencing: Similar to VoIP for audio; video is slightly more forgiving but still sensitive.

Online gaming: Fast-paced competitive games need under 0.5%. Slower games tolerate 1-2%.

Critical systems: Remote surgery, industrial control, financial trading—these require essentially zero loss, achieved through dedicated connections and extensive redundancy.

The Pattern Matters

Not all packet loss is equal:

Random loss drops packets independently and unpredictably—typical of wireless interference. Applications can often compensate with error correction.

Bursty loss drops packets in groups—typical of temporary congestion or brief outages. Much harder to handle. When ten consecutive packets vanish, error correction fails and real-time applications experience obvious gaps.

Periodic loss occurs at regular intervals, often indicating a problem with specific equipment or interference patterns.

Directional loss affects one direction more than the other. Downloads work fine but uploads fail, or vice versa.

Finding Where Packets Die

Tools like MTR (My Traceroute) send packets to each hop along the path and measure loss at each point. This reveals whether loss occurs on your local network, your ISP's network, or somewhere in the Internet core.

Start local. Test between devices on your own LAN. If loss appears there, your WiFi, switches, or cables are suspect.

Test to your ISP's first router. If loss starts there, the problem is on their side.

Test to multiple destinations. If you see loss to everywhere, the problem is likely close to you. If only specific destinations show loss, the problem is further away.

Reducing Loss

Add bandwidth to reduce congestion. If your network regularly runs at 90% capacity, upgrading to reduce utilization to 60% can dramatically reduce loss.

Implement QoS to protect important traffic. Let bulk downloads absorb the loss while voice and video get priority.

Fix physical problems physically. Replace damaged cables. Improve WiFi coverage. Upgrade failing hardware.

Optimize WiFi by choosing less-congested channels, using 5 GHz instead of 2.4 GHz, or upgrading to newer standards with better error handling.

Tune buffer sizes on network devices. Too small causes unnecessary loss during traffic bursts. Too large causes latency. Find the balance.

Choose better routes when possible. Some paths trade slightly higher latency for lower loss rates—often a worthwhile exchange.

The Compounding Effect

Packet loss rarely exists in isolation.

High latency plus packet loss is devastating for TCP. Each lost packet requires a longer wait for retransmission. The combination can reduce throughput by 90% or more.

Jitter and loss often appear together because they share causes—congestion, wireless instability. High jitter usually means loss is happening or about to happen.

Low bandwidth doesn't directly cause loss, but it makes congestion more likely. If demand regularly exceeds capacity, packets will die.

Networks will always lose packets. The goal isn't perfection—it's keeping loss low enough that your applications can handle it, and understanding where to look when they can't.

Frequently Asked Questions About Packet Loss

Was this page helpful?

😔
🤨
😃