Traditionally, tunneling is the transmission of data intended for use only within a private. The most common use of tunneling is by far to create VPNs. Tunneling is generally done by encapsulating the private network data and protocol information within public network packets so that the private network protocol information appears to the public network as data. Two main approaches exist: the PPTP and L2TP protocols, and the IPSec protocol.
A new distinction made by the Tentun project, covert tunnels do not use a tunneling protocol and its associated data space. Instead, space is made or found within a packet of an existing data stream to send data from another data stream. Similarly to a tunneling protocol, the tunnel client and server must be aware of which modifications were made to the legitimate packets. Legitimate is specified here with regards to the fact that the packets being used to tunnel are part of an already existing data stream or session.