I do not understand why the “tunnel” metaphor is used to describe a networking tunnel.
At first, I thought the reason was because the data was sent in an encrypted form so that an eavesdropper would not be able to see the data (seeing the data wrapped in a tunnel instead).
But what of the tunneling protocols that do not use encryption? Why are they also called “tunnels”?
In the case of roads, a real world tunnel is a constructed passage that allows you to pass directly from point A to point B instead of taking a route that is longer and/or has more things to slow you down. Examples include tunnels through mountains that you might otherwise have to go around, underpasses that let you get to the other side of the road without walking across it, and subway tunnels that let trains move around a city without the need to contend with roads and buildings.
In each of these cases, a tunnel provides a direct path that avoids some type of complexity you would otherwise have to deal with. In networking, it is used in the same way.
An IPv4 over IPv6 tunnel allows IPv4 to pass through an IPv6 network into another IPv4 network, something that would otherwise not be possible without the originating computer understanding the IPv6 network.
A VPN is a tunnel specifically intended for connecting two private networks without the overhead of translating the IP addresses between private and public addresses at each end.
An example that combines the two is game VPN software like Hamachi that could be used to play “over the Internet” games which used old protocols like IPX or relied on local discovery to find other players.
Why is a network tunnel called a “tunnel”?
The phrase was first used (as far as I can tell) in the RFC 1075 Distance Vector Multicast Routing Protocol, where it is defined as follows:
Source: Networking 101 – Understanding Tunneling