The Transmission Control Protocol (TCP) detects packet loss and performs retransmissions to ensure reliable messaging.
In real-time applications like streaming media or online games, packet loss can affect a user's quality of experience (QoE).
The Internet Protocol (IP) is designed according to the end-to-end principle as a best-effort delivery service, with the intention of keeping the logic routers must implement, as simple as possible.
If the network made reliable delivery guarantees on its own, that would require store and forward infrastructure, where each router devotes a significant amount of storage space to packets while it waits to verify that the next node properly received them.
[4] Dropping of packets acts as an implicit signal that the network is congested, and may cause senders to reduce the amount of bandwidth consumed, or attempt to find another path.
[1] Cellular networks can experience packet loss caused by, "high bit error rate (BER), unstable channel characteristics, and user mobility.
When content arrives for a sustained period at a given router or network segment at a rate greater than it is possible to send through, there is no other option than to drop packets.
In some cases, packets are intentionally dropped by routing routines,[6] or through network dissuasion technique for operational management purposes.
[a] Assuming no retransmission, packets experiencing the worst delays might be preferentially dropped (depending on the queuing discipline used), resulting in lower latency overall.
The Internet Control Message Protocol provides an echo functionality, where a special packet is transmitted that always produces a reply.
Network transport protocols such as TCP provide endpoints with an easy way to ensure reliable delivery of packets so that individual applications don't need to implement the logic for this themselves.