"A tunneling protocol is a network protocol which encapsulates one protocol or session inside another. Protocol A is encapsulated within protocol B, such that A treats B as though it were a data link layer. Tunneling may be used to transport a network protocol through a network which would not otherwise support it. Tunnelling may also be used to provide various types of VPN functionality such as private addressing."
e.g. : a transit network unsupporting a specific protocol (DECnet), the need to provide confidentiality and integrity for a specific network stream…