When talking about tunneling, different definitions come to people's minds. Basically, tunneling is transmitting data that is encapsulated into a pipe, over a public network (for example, the Internet).
However, there are different methods to tunnel data over a public network for different approaches. For example, when security is a concern, tunnel protocols with cryptography are more favorable. But when performance has higher priority, protocols with lower packet overheads will be chosen.
FreeBSD 7 has a built-in support for a number of important tunneling protocols, although there are also many third-party applications in FreeBSD packages that support more tunneling protocols.
A list of supported tunneling ...