INTERNET DRAFT V. Madisetti Date: Jan 30, 2003 S. Rao Expires: June 30, 2003 N. Suresh Georgia Institute of Technology Enhancements to ECRTP with Applications to Robust Header Compression for Wireless Status of this memo This document is an Internet-Draft and is in full confor- mance with all provisions of Section 10 of RFC2026 except that the right to produce derivative works is not granted. Internet-Drafts are working documents of the Internet Engi- neering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet- Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as refer- ence material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract Enhanced Compressed RTP (ECRTP) and Robust Header Compression (ROHC) are IP header compression schemes that have been proposed for use in wireless applications, primarily for voice and audio applications. While ROHC offers a high degree of compression and is robust, it is also computationally expensive. On the other hand, ECRTP does not achieve as high a compression, while being less expensive computationally. Our porposal, E2CRTP, is an enhanced version of ECRTP that offers a middleground between the ROHC and ECRTP, providing robustness, compression efficiency, and moderate computational complexity. TABLE OF CONTENTS 1. Introduction ..................................... 2 2. Proposed enhancements to ECRTP - E2CRTP .......... 2 2.1 W-LSB encoding of fields 2.1.1 Packet Structure .............. 2 2.2 Reduced frequency of Checksum transmissions 2.2.1 Packet Structure 3. Assumptions. ..................................... 6 4. Simulation Results ............................... 7 5. Observations and Conclusions ..................... 8 6. Summary & Future Work ............................ 9 7. Security Considerations .......................... 9 8. References ....................................... 10 9. Authors' Addresses ............................... 10 1. Introduction ROHC (RFC 3095) [3] was conceived primarily for lossy links with large round trip times, such as wireless links. It involves compression of RTP/UDP/IP, UDP/IP and ESP/IP head- ers. It is a header compression scheme with an elaborate system of modes and states of operation. It has an even more elaborate packet family, consisting of a large number of packet formats, together with extensions, where header fields may be compressed using a variety of robust encoding schemes - in particular, Window based Least Significant Bits encoding (W-LSB). It is this elaborate structure that results in high compression.However, the computational com- plexity appears quite high. ECRTP [4] is an enhanced version of the CRTP [2] scheme, and is aimed at achieving high performance in lossy links with high round trip times, typical of wireless links. Unlike the ROHC, it does not have an elaborate system of modes or states, and has a small number of packet formats. Thus, while the scheme is not as complex, the compression effi- ciency appears to be lower than ROHC. In the following sections, we describe how we can modify ECRTP to achieve better header compression with a small change in complexity, while maintaining robustness. We also evaluate these schemes for expected performance on wireless IP links. We name this new scheme, E2CRTP. 2. Proposed enhancements to ECRTP - E2CRTP 2.1 W-LSB encoding of fields CRTP exploits the fact that very few fields in a header actually change, and even for those fields, the differences are usually constant. Thus, these differences are encoded - called Delta Encoding, and once conveyed, nothing needs to be transmitted until the next time these differences change value. Such a packet Madisetti, Rao, Suresh [Page 2] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 will update the de-compressor's context, where these differ- ences are maintained for various fields. The problem arises when this update packet gets lost. That would put the de- compressor out of context, and result in incorrect de-com- pression of subsequent compressed headers. One could think of repeating these update packets that contain Delta encoded information. However, there is a simple case where that would fail too. Consider, for example, a situation involving a conversation between two persons. During silence inter- vals, no packets are sent. Consequently, every once in a while, there will be jumps in the Timestamp field of the RTP header. If this big difference is delta encoded and sent, and subsequent packets repeat the original difference, assuming that remains unchanged, at say 160, there still is a simple case where this method fails. If the packet con- taining the "big" difference is lost, the de-compressor will just add the original difference for this packet too. ECRTP solves this problem by repeating absolute values of updates. Thus, whether there is a change in the RTP Times- tamp difference,a rare occurrence, or a jump in the Times- tamp value as a result of a silence interval, each situation is covered. While repeating update packets is useful, sending absolute values of the required fields results in an increase in the average header size. Instead, we could W-LSB encode such fields, and as done in ECRTP, repeat these packets.Let us call this scheme ECRTP1. Such a scheme will work because W- LSB encoding, unlike Delta Encoding, is robust to losses. Using this, we could, for instance, send 1 or 2 or 3 bytes instead of 4, in the case of updates to the Timestamp field of the RTP header. W-LSB encoding is a robust operation, and hence, there is no reduction in robustness compared to the original ECRTP scheme. There is a slight increase in compu- tational complexity. 2.1.1 Packet Structure COMPRESSED UDP with individual RTP fields, when F=1: 0 1 2 3 4 5 6 7 +...............................+ : msb of session context ID :(if 16-bit CID) +-------------------------------+ | lsb of session context ID | +---+---+---+---+---+---+---+---+ |F=1| I |dT | T*| link sequence | (I or T=1) +---+---+---+---+---+---+---+---+ | M | S |dI*| P | CC | +---+---+---+---+---------------+ : : + UDP checksum + (if nonzero context) : : +...............................+ : : : "RANDOM" fields : (if encapsulated)- : : +...............................+ : delta IPv4 ID : (if dI = 1) +...............................+ : delta RTP timestamp : (if dT = 1) Madisetti, Rao, Suresh [Page 3] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 +...............................+ : variable length encoding : / of WLSB-encoded / (if I = 1) : IPv4 ID : +...............................+ : variable length encoding : / of WLSB-encoded / (if S = 1) : RTP sequence number : +...............................+ : variable length encoding : / of WLSB-encoded / (if T = 1) : RTP timestamp : +...............................+ : RTP payload type : (if P = 1) +...............................+ : : : CSRC list : (if CC > 0) : : +...............................+ : : : RTP header extension :(if X set ) : : +-------------------------------+ | | / RTP data / / / | | +-------------------------------+ : padding : (if P set) +...............................+ The structure of the Compressed UDP packet with F=1 is shown. With respect to the original format, the positions of T and dI, shown with a *, are swapped. This is done to dis- tinguish between Compressed UDP packets from the Compressed RTP packet, and will be explained in the following subsec- tion.The only other difference is that absolute values have been replaced by variable length encoded, W-LSB encoded val- ues. W-LSB encoding might require us to transmit a variable number of bits. These bits are variable length encoded. As an example, if the number of W-LSB bits is 7, we transmit 1 byte beginning with 0. If it is 14, we begin with 10. If it is 21, begin with 110, and if 28, with 1110. This helps to uniquely identify the number of bytes sent corresponding to each field. 2.2 Reduced frequency of Checksum transmissions All Compressed RTP ECRTP packets have 2 bytes of either the UDP checksum or the compressor inserted header checksum. The average header size can be reduced if we send these check- sums in some packets only. Robustness will be achieved if there is some way of conveying a correct de-compression of these packets to the compressor.Let us call this scheme ECRTP2. For instance, if we decide to send the checksum only thrice for every 16 packets, then, assuming at least one of these packets is acknowledged, we should expect the average header size to drop by about 2*13/16 = 1.6 Madisetti, Rao, Suresh [Page 4] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 bytes, given the fact that Compressed RTP packets are sent most often. Furthermore, this clearly implies a reduction in implementation complexity. 2.2.1 Packet Structure COMPRESSED RTP with individual RTP fields: 0 1 2 3 4 5 6 7 +...............................+ : msb of session context ID : (if 16-bit CID) +-------------------------------+ | lsb of session context ID | +---+---+---+---+---+---+---+---+ | M |S=0| C |I=0| link sequence | +---+---+---+---+---+---+---+---+ : : + UDP checksum or HDRCKSUM + (if C = 1) : : +...............................+ : : + "RANDOM" fields + (if encaps) : : +---+---+---+---+---+---+---+---+ : M'| S'| T'| I'| CC :(if MSCI=1111) +---+---+---+---+---+---+---+---+ : delta IPv4 ID : (if I' = 1) +...............................+ : delta RTP sequence : (if S' = 1) +...............................+ : delta RTP timestamp : (if T' = 1) +...............................+ : : : CSRC list : : : : : +...............................+ : : : RTP header extension : (if X set) : : : : +-------------------------------+ | | | RTP data | / / / / | | +-------------------------------+ : padding : (if P set) +...............................+ Madisetti, Rao, Suresh [Page 5] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 With respect to the original packet structure, the T bit has been replaced by the C bit, which represents whether or not a checksum is included in this packet. The S and I bits are set to 0.Hence, it is distinguishable from the Compressed UDP F=1 pakcet, where the corresponding bits are I and T, atleast one of which, as we already stated, is 1.It is dis- tinguishable from Compressed UDP F=0, because the corre- sponding bits are I and dI, both of which are 1, since the packet is a refresh packet. 3. Assumptions - Simulation Environment In our experiments, we used a Gilbert noise model 1to repre- sent a typical wireless link. The model, as shown in Figure 1 , consists of a Good state G, and a Bad state B that the system can be in. The transition probabilities are indi- cated. A packet is lost whenever the system is in state B. The error rate can be shown, through a simple calculation, to be P/P+p. p is the probability that the system transits from the bad state to the good state. In a sense, therefore, p is a measure of the burstiness of the channel. It is important to note that higher the value of p, the less bursty the link is. We are justified in using this model because wireless links are burst error channels. The Gilbert model represents this nicely. +----->--+ +----->-----+ +--->----+ | | | P | | | (1-P)| v | v | | | +------+ +-------+ | | | G | | B | v | +------+ +-------+ | | | | | | |(1-p) | | | p | | | +---<----+ +-----<-----+ +----<---+ Figure 1: Gilbert error model Certain assumptions were also made about the speech charac- teristics. Most fields were assumed to remain constant. The IP-ID and RTP Sequence Number fields were assumed to increase by 1 from packet to packet. Silence suppression was assumed - so, the RTP Timestamp will jump by a constant amount, except at the end of a silence interval. We assumed that between 30 and 70 packets are communicated during a talk-spurt. Speech is bursty, with talk-spurts followed by silence periods, so this assumption is justified. No packets are sent during these silence intervals. Also, wireless links have long RTTs - this was assumed to correspond to 10 packets Typically, the lower layer adds about 6 bytes per packet. The larger this value, the less important the difference between the compressed header sizes for ECRTP and ROHC. While ECRTP is tolerant to packet reordering between the compressor and de-compressor, ROHC is not. In our simula- tions, we assumed no such packet reordering. Further, negli- gible residual error rates were assumed. Madisetti, Rao, Suresh [Page 6] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 4. Simulation Results - ECRTP, ROHC and modified ECRTP per- formance The complexity of the schemes, quantified as Compressor and De-compressor computations, are given in Table 1. A bit error rate of 0.01 and a burstiness p = 0.03 was used. +---------------+--------------------+-------------------+ | Scheme | Compressor | De-compressor | +---------------+--------------------+-------------------+ | ECRTP | 40 | 35 | +---------------+--------------------+-------------------+ | ECRTP1 | 45 | 40 | +---------------+--------------------+-------------------+ | ECRTP2 | 35 | 30 | +---------------+--------------------+-------------------+ | ROHC-U | 625 | 590 | +---------------+--------------------+-------------------+ | ROHC-O | 615 | 590 | +---------------+--------------------+-------------------+ | ROHC-R | 110 | 100 | +---------------+--------------------+-------------------+ Table 1: Complexity of the schemes in byte operations Table 2 shows the variation of the average header size for the various schemes with the link burst error factor. +-----------------------------------------------------------+ | Scheme | | ECRTP | ECRTP1 | ECRTP2 | ROHC-U | ROHC-O | ROHC-R | | | | | | | | | p | | | | | | +-------------|--------|--------|--------|--------|--------| | | | | | | | | 0.01 | 4.6 | 4.4 | 3.3 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.1 | 4.9 | 4.7 | 3.2 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.2 | 4.8 | 4.6 | 3.1 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.3 | 4.9 | 4.7 | 3.3 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.4 | 5.2 | 4.9 | 3.0 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.5 | 4.7 | 4.5 | 3.1 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.6 | 4.7 | 4.5 | 3.0 | 2.8 | 2.5 | 2.9 | Madisetti, Rao, Suresh [Page 7] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 +------+-------+--------+--------+--------+--------+--------+ | 0.7 | 4.7 | 4.5 | 3.0 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.8 | 4.7 | 4.5 | 3.1 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ | 0.9 | 4.6 | 4.4 | 3.0 | 2.8 | 2.5 | 2.9 | +------+-------+--------+--------+--------+--------+--------+ Table 2: Average header size (bytes) versus link burst error factor p, for various schemes, with BER = 0.01. Table 3 indicates the variation of the robustness of each scheme, quantified as probability in context loss, with the link burst error factor. +-----------------------------------------------------------+ | Scheme | | ECRTP | ECRTP1 | ECRTP2 | ROHC-U | ROHC-O | ROHC-R | | | | | | | | | p | | | | | | +-------------|--------|--------|--------|--------|--------| | | | | | | | | 0.01 | 0.003 | 0.003 | 0.005 | 0.008 | 0.01 | ~0 +------+-------+--------+--------+--------+--------+--------+ | 0.1 | 0.006 | 0.006 | 0.005 | 0.012 | 0.03 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.2 | 0.005 | 0.005 | 0.003 | 0.010 | 0.02 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.3 | 0.006 | 0.006 | 0.010 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.4 | 0.008 | 0.008 | 0.005 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.5 | 0.005 | 0.005 | 0.004 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.6 | 0.003 | 0.003 | 0.004 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.7 | 0.004 | 0.004 | 0.008 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.8 | 0.004 | 0.004 | 0.005 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ | 0.9 | 0.002 | 0.002 | 0.002 | ~0 | ~0 | ~0 | +------+-------+--------+--------+--------+--------+--------+ Table 3: Probability of loss in context versus link burst error factor p, for various schemes, with BER = 0.01. Table 4 shows the variance of the header size of each scheme with the link burst error factor. A larger variance implies that the header size changes more erratically with time. +-----------------------------------------------------------+ Madisetti, Rao, Suresh [Page 8] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 | Scheme | | ECRTP | ECRTP1 | ECRTP2 | ROHC-U | ROHC-O | ROHC-R | | | | | | | | | p | | | | | | +-------------|--------|--------|--------|--------|--------| | | | | | | | | 0.01 | 2.7 | 2.5 | 2.9 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.1 | 3.8 | 3.7 | 2.8 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.2 | 3.4 | 3.2 | 2.5 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.3 | 3.8 | 3.7 | 2.9 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.4 | 4.5 | 4.4 | 2.4 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.5 | 3.4 | 3.2 | 2.5 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.6 | 2.9 | 2.6 | 2.4 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.7 | 3.3 | 3.1 | 2.4 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.8 | 3.0 | 2.9 | 2.5 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ | 0.9 | 2.4 | 2.2 | 2.1 | 3.1 | 1.5 | 2.1 | +------+-------+--------+--------+--------+--------+--------+ Table 4: Variation of header size (bytes) versus link burst error factor, for various schemes, with BER = 0.01. 5. Observations and Conclusions Unlike ROHC, the average header size with ECRTP is a non- constant function of the burst error rate. It varies between 4.5 bytes and 5.2 bytes. The context loss rate is typically above 0.001 and below 0.01. With the W-LSB encoded Timestamp, the average header drops by about 0.25 bytes for all burst error rates. The context loss rate remains unchanged - this is expected, since we are only replacing the absolute updates with updates of a dif- ferent encoding type that are as robust to errors. When checksums are sent only in certain packets, the average header size drops by about one byte. This change, however, affects the loss in context rate. It crosses 0.01 at a point, and in general, has a behavior much like the ECRTP context loss rate. Thus, either of the changes suggested results in consider- able header compression. The W-LSB encoding scheme increases the implementation complexity only slightly, with equal robustness as the existing ECRTP scheme.The case with the reduced checksum transmissions results in reduced complexity with only a slight increase in the context loss rate. Madisetti, Rao, Suresh [Page 9] INTERNET-DRAFT Enhancements to ECRTP for Wireless Jan 2003 6 Summary and Future work It appears, while ROHC achieves higher compression and is more robust to errors, it is computationally complex. The overall computational complexity of ROHC would depend on the frequency of its mode transitions. With the proposed enhancements suggested to ECRTP, it appears that a fair tradeoff between header compression and complexity may be achieved with E2CRTP. In our analysis, negligible residual bit error rates were assumed. A scenario with a non-zero residual bit error rate could reveal additional information about the relative strengths of CRC versus checksums, and provide insight into how many bits of one correspond, in strength, to a given length of the other. 7. Security Considerations This document does not introduce any new security concerns other than those defined in RFC 3036 and RFC 3212. 8. References [1] Jacobson.V, "Compressing TCP/IP headers for low-speed serial links", RFC 1144, February 1990. [2] Casner.S and Jacobson.V, "Compressing IP/UDP/RTP head- ers for low-speed serial links", RFC 2508, February 1999. [3] Bormann.C et al, "RObust Header Compression(ROHC): Framework and four profiles:RTP,UDP,ESP and uncompressed", RFC 3095, July 2001. [4] Koren.T et al, "Compressing IP/UDP/RTP headers on links with high delay, packet loss and reordering", draft-ietf-avt-crtp-enhance-05.txt, work in progress, November 2002. 9. Authors' addresses Vijay K. Madisetti, Professor Electrical and Computer Engineering Georgia Tech, Atlanta, GA 30332-USA vkm@ece.gatech.edu Sira Rao, Graduate Student Electrical & Computer Engineering, Georgia Institute of Technology. Atlanta, GA 30332. gtg731c@prism.gatech.edu Nitin Suresh Electrical and Computer Engineering Georgia Institute of Technology. Atlanta, GA 30332 gtg733c@prism.gatech.edu This Internet Draft expires on June 30, 2003 Madisetti, Rao, Suresh [Page 10]