/rohc

A library for the RObust Header Compression (ROHC) protocol. It provides an easy and robust way for applications to reduce their bandwidth usage on network links with limited capacity or expensive costs. Headers of network packets are compressed with the ROHC protocol and algorithms.

Primary LanguageCGNU Lesser General Public License v2.1LGPL-2.1

Introduction
------------

This piece of software is an implementation of RObust Header Compression for
Linux (or other Unix-compatible OS). The library can be used to add ROHC
compression/decompression capabilities to an application.

Official website:      http://rohc-lib.org/
Mailing list:          rohc@lists.launchpad.net
Mailing list archives: http://lists.launchpad.net/rohc/
Bugtracker:            http://bugs.launchpad.net/rohc


License
-------

The project is licensed under the GNU LGPL version 2.1 or later, see the COPYING
and AUTHORS files for more details.

Some network captures or small scripts used for testing are under the GNU GPL
version 2 or later.


Libraries
---------

The sources are in the src subdirectory. The sources are separated into three
libraries:
 - a library that contains the routines used for both the compression and the
   decompression processes
 - a library that handles the compression process
 - a library that handles the decompression process

See the INSTALL file to learn to build the libraries.


Automated tests
---------------

The test subdirectory contains several test applications. See the INSTALL file
to learn how to use these tools.


Statistics
----------

The statistics subdirectory contains an application that generates some
compression statistics. The generate_statistics.sh script outputs a HTML report
with the statistics results. The Gnuplot tool is required.

See the INSTALL file to learn how to use the statistics application and the
generate_statistics.sh script.


References
----------

RFC 3095      RObust Header Compression (ROHC): Framework and four profiles:
              RTP, UDP, ESP, and uncompressed.
              http://www.ietf.org/rfc/rfc3095.txt

RFC 3096      Requirements for robust IP/UDP/RTP header compression.
              http://www.ietf.org/rfc/rfc3096.txt

RFC 3828      The Lightweight User Datagram Protocol (UDP-Lite).
              http://www.ietf.org/rfc/rfc3828.txt

RFC 3843      RObust Header Compression (ROHC): A Compression Profile for IP.
              http://www.ietf.org/rfc/rfc3843.txt

RFC 4019      RObust Header Compression (ROHC): Profiles for User Datagram
              Protocol (UDP) Lite.
              http://www.ietf.org/rfc/rfc4019.txt

ROHC library  The Open Source ROHC library described by the README file you are
              currently reading.
              http://rohc-lib.org/

ROHC Linux    A GPL-licensed implementation of ROHC over PPP for the 2.4 Linux
              kernel. The ROHC library is mainly based on this software.
              http://rohc.sourceforge.net/

UDP-Lite      An UDP-Lite implementation for the Linux kernel.
              http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/