In order to understand different VPN technologies I tried to write down how a single HTTP packet could look like using each implementation.
SSH VPN
HTTP | TCP | IP | Ethernet ||| SSH | TCP | IP | Ethernet
OpenVPN bridged mode
HTTP | TCP | IP | Ethernet ||| OpenVPN | TLS | TCP | IP | Ethernet
OpenVPN routed mode
HTTP | TCP | IP ||| OpenVPN | TLS | TCP | IP | Ethernet
IPSec tunnel mode
HTTP | TCP | IP ||| IPSec Auth Header | IP | Ethernet
PPTP
HTTP | TCP | IP | PPP ||| GRE | IP | Ethernet
L2TP
HTTP | TCP | IP | PPP ||| L2TP | UDP | IP | Ethernet
It is based on information from different sources and I'd like to ask three questions:
1) Are the diagrams correct?
2) Are PPP and Ethernet interchangeable?
3) Is OpenVPN 'TCP over TCP' as implied by the diagrams above?