Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

According to Wikipedia, a "tunneling protocol" is:

when one network protocol (the delivery protocol) encapsulates a different payload protocol. By using tunneling one can (for example) carry a payload over an incompatible delivery-network, or provide a secure path through an untrusted network.

To me, this definition is rather vague. To me, I interpret this definition of tunneling as any time one protocol's payload is actually a request/response formatted for another protocol. Like if you took the binary of a TCP request and placed it in the body of an HTTP request.

Am I on track? If not please correct/clarify and provide some concrete examples. Thanks in advance!

share|improve this question
up vote 1 down vote accepted

Your understanding looks correct; many common protocols can, in some or other way, be tunnelled over other protocols.

But not all protocols are suitable for being tunnels – e.g. standard HTTP can only carry request-response pairs, but there is no such thing as a "TCP request" or "IP request"... Meanwhile, other protocols are designed specifically for such purposes (SSHv2, SOCKS, GRE).

share|improve this answer
Thanks @grawity (+1): a few followup questions for you:(1) when you say "protocol X is tunneled over protocol Y", which protocol is encapsulating which (is X carrying Y or vice versa)? And (2) I would imagine then that the only "restriction" as to what protocols can be tunneled over other protocols has to do with the nature of the tunneled protocol, yes? Meaning: TCP could be tunneled over any protocol that would allow two endpoints, both expecting to communicate over TCP, to communicate with each other without inhibiting TCP. HTTP obviously inhibits this which is why it's not possible, yes? – pnongrata Jul 28 '12 at 16:35
@zharvey: (1) "X over Y" means practically the same as "X is inside Y" "Y carries X", when speaking about network protocols. You might remember the "layer" diagrams of OSI and Internet models – TCP is usually depicted on top of IP, meaning that it is carried inside IP. (2) Yes, that's right, although you could say that the nature of the "outside" protocol matters more – e.g. UDP imposes completely no structure so you can tunnel anything inside UDP – grawity Jul 29 '12 at 17:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .