Radio Link Protocol (RLP) is an automatic repeat request (ARQ) fragmentation protocol used over a wireless (typically cellular) air interface. Most wireless air interfaces are tuned to provide 1% packet loss, and most Vocoders are mutually tuned to sacrifice very little voice quality at 1% packet loss. However, 1% packet loss is intolerable to all variants of TCP, and so something must be done to improve reliability for voice networks carrying TCP/IP data.
A RLP detects packet losses and performs retransmissions to bring packet loss down to .01%, or even .0001%, which is suitable for TCP/IP applications. RLP also implements stream fragmentation and reassembly, and sometimes, in-order delivery. Newer forms of RLP also provide framing and compression, while older forms of RLP rely upon a higher-layer PPP protocols to provide these functions.
A RLP transport cannot ask the air interface to provide a certain payload size. Instead, the air interface scheduler determines the packet size, based upon constantly changing channel conditions, and upcalls RLP with the chosen packet payload size, right before transmission. Most other fragmentation protocols, such as those of 802.11b and IP, used payload sizes determined by the upper layers, and call upon the MAC to create a payload of a certain size. These other protocols are not as flexible as RLP, and can sometimes fail to transmit during a deep fade in a wireless environment.
Because a RLP payload size can be as little as 11 bytes, based upon a CDMA IS-95 network's smallest voice packet size, RLP headers must be very small, to minimize overhead. This is typically achieved by allowing both ends to negotiate a variable 'sequence number space', which is used to number each byte in the transmission stream. In some variants of RLP, this sequence counter can be as small as 6 bits.
A RLP protocol can be ACK-based or NAK-based. Most RLPs are NAK-based, meaning that forward-link sender assumes that each transmission got through, and the receiver only NAKs when an out-of-order segment is received. This greatly reduces reverse-link transmissions, which are spectrally inefficient and have a longer latency on most cellular networks. When the transmit pipeline goes idle, a NAK-based RLP must eventually retransmit the last segment a second time, in case the last fragment was lost, to reach a .01% packet loss rate. This duplicate transmission is typically controlled by a "flush timer" set to expire 200-500 milliseconds after the channel goes idle.
The concept of a RLP protocol was invented by Phil Karn in 1990 for CDMA (IS-95) networks. The January 2006 IEEE 802.20 specification uses one of the newest forms of RLP.
Cellular networks such as GSM and CDMA use different variations of RLP. In UMTS and in LTE, the protocol is called RLC (Radio Link Control).