Site home page
Get alerts when Linktionary is updated
Book updates and addendums
Get info about the Encyclopedia of Networking and Telecommunicatons, 3rd edition (2001)
Download the electronic version of the Encyclopedia of Networking, 2nd edition (1996). It's free!
Contribute to this site
Electronic licensing info
Note: Many topics at this site are reduced versions of the text in "The Encyclopedia of Networking and Telecommunications." Search results will not be as extensive as a search of the book's CD-ROM.
Best-effort delivery describes a network service in which the network does not provide any special features that recover lost or corrupted packets. These services are instead provided by end systems. By removing the need to provide these services, the network operates more efficiently. The postal service delivers letters using a best-effort delivery approach. You don't know for sure whether a letter has been delivered. However, you can pay extra for a delivery confirmation receipt, which requires that the carrier get a signature from the recipient and return it to you.
In the TCP/IP protocol suite, TCP provides guaranteed services while IP provides best-effort delivery. TCP performs the equivalent of obtaining a delivery confirmation from the recipient and returning it to the sender. Because IP provided basic packet delivery services without guarantees, it is called a best-effort delivery service. It does its best to deliver packets to the destination, but takes no steps to recover packets that are lost or misdirected.
The early Internet protocol suite consisted only of TCP and IP (although IP was not differentiated as a separate service). During development, TCP protocol designers realized a need for timeliness rather than accuracy. In other words, speed was more important than packet recovery. In real-time voice or video transfers, a few lost packets are tolerable. Recovering them creates excessive overhead that reduces performance. To accommodate this type of traffic, TCP was reorganized into TCP, IP, and UDP. The basic addressing and packet-forwarding services in the network layer were called IP. TCP and UDP are in the transport layer on top of IP. Both use IP's services, but UDP is a stripped-down version of TCP that provides applications with access to IP's best-effort services. Applications go through UDP when they don't need TCP's services.
With best-effort services, packet discard is acceptable because recovery is handled by other services. The following figure illustrates where discards may occur. In the lower physical and data link layers, frames may be corrupted and dropped. In the network layer, congested routers drop packets.
TCP is a reliable data delivery service that end systems use to recover packets that are dropped in the network due to congestion, or that are dropped at the end system itself due to overflowing buffers. In the network, packets may be dropped on purpose to "signal" congestion to the sender. When a packet is dropped in a TCP connection, the receiver fails to acknowledge it and the sender slows down its transmissions. These mechanisms are discussed further under "Congestion Control Mechanisms," "Flow-Control Mechanisms," and "Reliable Data Delivery Services."
Copyright (c) 2001 Tom Sheldon and Big Sur Multimedia.