1
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!
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 – 2012-07-28T16:35:18.560
@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 – user1686 – 2012-07-29T17:05:44.713