Radio Link Protocol (RLP) is an automatic repeat request (ARQ) fragmentation protocol used over a wireless (typically cellular) air interface. RLP occurs on the data link layer (Layer 2) of the OSI networking model.

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 approximately .01%, or even .0001%, which is suitable for TCP/IP applications. When the receiver detects a missed packet, it sends a NAK (not acknowledged) frame to the sender, which triggers a retransmission of the missing packet. At the same time, the receiver sets a timer for receipt of the missing packet. Each time the timer expires without receipt of the packet, the receiver resets the timer and sends NAK a number of times equal to 1 + the number of times the timer has already expired, up to a limit.

RLP also implements stream fragmentation and reassembly, and sometimes, in-order delivery. Some forms of RLP rely upon a higher-layer PPP protocol to provide these functions, while newer forms of RLP also provide framing and compression.

Because a CDMA IS-95 network's smallest voice packet size (and thus an RLP packet length) can be as little as 88 bits (11 bytes), 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.

References