Retransmission (data networks)
Encyclopedia
Retransmission, essentially identical with Automatic repeat request (ARQ), is the resending of packets which have been either damaged or lost. It is a term that refers to one of the basic mechanisms used by protocols operating over a packet switched computer network
to provide reliable communication (such as that provided by a reliable byte stream
, for example TCP
).
Such networks are usually 'unreliable', meaning they offer no guarantees that they will not delay, damage, or lose packets, or deliver them out of order.
Protocols which provide reliable communication over such networks use a combination of acknowledgments (i.e. an explicit receipt
from the destination of the data
), retransmission of missing and/or damaged packets (usually initiated by a time-out
), and checksums to provide that reliability.
There are several forms of acknowledgement
which can be used alone or together in networking protocols:
Retransmission is a very simple concept. Whenever one party sends something to the other party, it retains a copy of the data it sent until the recipient has acknowledged that it received it. In a variety of circumstances, e.g.:
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
to provide reliable communication (such as that provided by a reliable byte stream
Reliable byte stream
A reliable byte stream is a common service paradigm in computer networking; it refers to a byte stream in which the bytes which emerge from the communication channel at the recipient are exactly the same, and in exactly the same order, as they were when the sender inserted them into the channel.The...
, for example TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
).
Such networks are usually 'unreliable', meaning they offer no guarantees that they will not delay, damage, or lose packets, or deliver them out of order.
Protocols which provide reliable communication over such networks use a combination of acknowledgments (i.e. an explicit receipt
Receipt
A receipt is a written acknowledgment that a specified article or sum of money has been received as an exchange for goods or services. The receipt is evidence of purchase of the property or service obtained in the exchange.-Printed:...
from the destination of the data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
), retransmission of missing and/or damaged packets (usually initiated by a time-out
Timeout (telecommunication)
In telecommunication and related engineering , the term timeout or time-out has several meanings, including...
), and checksums to provide that reliability.
There are several forms of acknowledgement
Acknowledgement (data networks)
In data networking, an acknowledgment is a signal passed between communicating processes or computers to signify acknowledgment, or receipt of response, as part of a communications protocol...
which can be used alone or together in networking protocols:
- Positive Acknowledgement: the receiver explicitly notifies the sender which packets, messages, or segments were received correctly which may implicitly inform the sender which packets were not received even though they were sent and thus may need to be retransmitted. Positive Acknowledgment with Re-Transmission (PAR), is a method used by TCPTransmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
(RFC 793) to verify receipt of transmitted data. PAR operates by re-transmitting data at an established period of time until the receiving host acknowledges reception of the data.Negative Acknowledgment (NACK): the receiver explicitly notifies the sender which packets, messages, or segments were received incorrectly and thus may need to be retransmitted (RFC 4077).Selective Acknowledgment (SACK): the receiver explicitly lists which packets, messages, or segments in a stream are acknowledged (either negatively or positively). Positive selective acknowledgment is an option in TCP (RFC 2018) that is useful in Satellite Internet accessSatellite Internet accessSatellite Internet access is Internet access provided through satellites. The service can be provided to users world-wide through low Earth orbit satellites. Geostationary satellites can offer higher data speeds, but their signals can not reach some polar regions of the world...
(RFC 2488). - Cumulative Acknowledgment: the receiver acknowledges that it correctly received a packet, message, or segment in a stream which implicitly informs the sender that the previous packets were received correctly. TCP uses cumulative acknowledgment with its TCP sliding window.
Retransmission is a very simple concept. Whenever one party sends something to the other party, it retains a copy of the data it sent until the recipient has acknowledged that it received it. In a variety of circumstances, e.g.:
- if no such acknowledgment is forthcoming within a reasonable time, the time-out, or
- the sender discovers, often through some out of band means, that the transmission was unsuccessful, or
- if the receiver knows that expected data has not arrived, and so notifies the sender, or
- if the receiver knows that the data has arrived, but in a damaged condition, and indicates that to the sender, the sender simply automatically retransmits the data (which it still has a copy of).
See also
- Error control
- Reliable system design
- Truncated binary exponential backoff
- TCP congestion avoidance algorithmTCP congestion avoidance algorithmTransmission Control Protocol uses a network congestion avoidance algorithm that includes various aspects of an additive increase/multiplicative decrease scheme, with other schemes such as slow-start in order to achieve congestion avoidance....
- Development of TCP