User Tools

Site Tools


**This is an old revision of the document!** ----

A PCRE internal error occured. This might be caused by a faulty plugin

======== IP/ROHC tunnel ======== ===== Features ==== The application compresses the IP packets that it receives on a TUN interface with the ROHC library. Then it encapsulates the ROHC packets in IP packets (to avoid the UDP overhead). In addition, frame packing is implemented: several ROHC packets are put together in one single IP header to reduce the tunnel overhead even more. ===== Software architecture ==== The IP/ROHC application is divided into two parts: the server and the client. The server part handles sessions with several clients simultaneously. {{ :wiki:iprohc:iprohc_clients_server.png | one server handles several clients }} The client and the server establish two communication channels between them: the control channel that uses TCP for reliability, and the data channel that uses UDP for efficiency. The client establishes and closes a session on the control channel. The client transmits compressed data on the data channel. The control channel is authenticated and encrypted with TLS. {{ :wiki:iprohc:iprohc_channels.png | client and server use two channels }} Both the client and the server uses TUN interfaces to fake network interfaces. {{ :wiki:iprohc:iprohc_tun.png | client and server use a TUN interface}} ===== Supported platforms ===== The application was tested under Linux, and more especially Debian Squeeze, CentOS 5, Arch, and Gentoo. It should however work on every Linux distributions. If not, report a bug and/or send a patch. The application requires libyaml, gnutls, and ROHC. A RPM spec and a Debian package are available in the source tree.

iprohc-overview.1366565181.txt.gz · Last modified: 2013/04/21 17:26 by didier