Consistent overhead byte stuffing

Byte stuffing is a process that transforms a sequence of data bytes that may contain 'illegal' or 'reserved' values into a potentially longer sequence that contains no occurrences of those values. The extra length is referred to in this paper as the overhead of the algorithm.To date, byte stuffing algorithms, such as those used by SLIP [RFC1055], PPP [RFC1662] and AX.25 [ARRL84], have been designed to incur low average overhead but have made little effort to minimize worst case overhead.Some increasingly popular network devices, however, care more about the worst case. For example, the transmission time for ISM-band packet radio transmitters is strictly limited by FCC regulation. To adhere to this regulation, the practice is to set the maximum packet size artificially low so that no packet, even after worst case overhead, can exceed the transmission time limit.This paper presents a new byte stuffing algorithm, called Consistent Overhead Byte Stuffing (COBS), that tightly bounds the worst case overhead. It guarantees in the worst case to add no more than one byte in 254 to any packet. Furthermore, the algorithm is computationally cheap, and its average overhead is very competitive with that of existing algorithms.

[1]  Pierre A. Humblet Generalization of Huffman coding to minimize the probability of buffer overflow , 1981, IEEE Trans. Inf. Theory.

[2]  William Allen Simpson,et al.  PPP in HDLC-like Framing , 1994, RFC.

[3]  Mary Baker,et al.  A Wireless Network in MosquitoNet , 1996, IEEE Micro.

[4]  Stavros G. Papastavridis On the Mean Number of Stuffing Bits in a Prefix-Synchronized Code , 1987, IEEE Trans. Commun..

[5]  GENERAL ASPECTS OF DIGITAL TRANSMISSION SYSTEMS ; TERMINAL EQUIPMENTS 5-, 4-, 3-AND 2-BITS SAMPLE EMBEDDED ADAPTIVE DIFFERENTIAL PULSE CODE MODULATION ( ADPCM ) , .

[6]  Stephen E. Deering,et al.  Internet Protocol, Version 6 (IPv6) Specification , 1995, RFC.

[7]  Kimberly C. Claffy,et al.  Web Traffic Characterization: An Assesment of the Impact of Caching Documents from NCSA's Web Server , 1995, Comput. Networks ISDN Syst..

[8]  A. Artom Choice of Prefix in Self-Synchronizing Codes , 1972, IEEE Trans. Commun..

[9]  Mary Baker,et al.  Consistent overhead Byte stuffing , 1999, TNET.

[10]  Stephen Deering,et al.  Internet Protocol Version 6(IPv6) , 1998 .

[11]  Stuart Cheshire,et al.  Experiences with a Wireless Network in MosquitoNet , 1995 .

[12]  Chris J. Bennett The Overheads of Transnetwork Fragmentation , 1982, Comput. Networks.

[13]  John L. Romkey,et al.  Nonstandard for transmission of IP datagrams over serial lines: SLIP , 1988, RFC.

[14]  J. Postel,et al.  File transfer protocol (FTP) , 1985 .

[15]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[16]  Stephen Pink,et al.  Low-loss TCP/IP header compression for wireless networks , 1996, MobiCom '96.

[17]  R. Wilder,et al.  Wide-area Internet traffic patterns and characteristics , 1997, IEEE Netw..

[18]  Stephen E. Deering,et al.  Path MTU discovery , 1990, RFC.

[19]  Ieee Standards Board Fiber optic active and passive star-based segments, type 10BASE-F (section 15-18) : IEEE standards for local and metropolitan area networks : supplement to carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications , 1993 .

[20]  David Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM 1990.

[21]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[22]  Robert T. Braden,et al.  Requirements for Internet Hosts - Communication Layers , 1989, RFC.

[23]  Donald E. Knuth,et al.  Dynamic Huffman Coding , 1985, J. Algorithms.

[24]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[25]  Margo I. Seltzer,et al.  World Wide Web Cache Consistency , 1996, USENIX Annual Technical Conference.