Robust Header Compression
Robust Header Compression (ROHC) is a standardized methods to compress the IP, UDP, RTP, and TCP headers of Internet packets. This compression scheme differs from other compression schemes such as IETF RFC 1144 and RFC 2508 by the fact that it performs well over links where the packet loss rate is high, such as wireless links.
In streaming applications, the overhead of IP, UPD and RTP is 40 bytes for IPv4, or 60 bytes for IPv6. For VoIP this corresponds to around 60% of the total amount of data sent. Such large overheads may be tolerable in wired links where capacity is often not an issue, but are excessive for wireless systems where bandwidth is scarce. ROHC compresses these 40 bytes or 60 bytes of overhead typically into only 1 or 3 bytes by placing a compressor before the link that has limited capacity, and a decompressor after that link. The compressor converts the large overhead to only a few bytes, while the decompressor does the opposite.
According to RFC 3095 the ROHC scheme has three modes of operation: the Unidirectional, the Bidirectional Optimistic, and the Bidirectional Reliable mode.
Unidirectional Mode (U-Mode)
In the Unidirectional mode of operation, packets are only sent in one direction: from compressor to decompressor. This mode therefore makes ROHC usable over links where a return path from decompressor to compressor is unavailable or undesirable.
Bidirectional Optimistic Mode (O-Mode)
The Bidirectional Optimistic mode is similar to the Unidirectional mode, except that a feedback channel is used to send error recovery requests and (optionally) acknowledgments of significant context updates from the decompressor to compressor. The O-mode aims to maximize compression efficiency and sparse usage of the feedback channel.
Bidirectional Reliable Mode (R-Mode)
The Bidirectional Reliable mode differs in many ways from the previous two. The most important differences are a more intensive usage of the feedback channel and a stricter logic at both the compressor and the decompressor that prevents loss of context synchronization between compressor and decompressor except for very high residual bit error rates.
External Links
- Offical charter of the ROHC IETF working group.
- RFC_3095: "ROHC Framework and four profiles: RTP, UDP, ESP, and uncompressed"