不同 VPN 实现中的 VPN 数据包结构

网络工程 虚拟专用网
2022-02-28 02:20:40

为了了解不同的 VPN 技术,我尝试写下单个 HTTP 数据包在使用每种实现时的样子。

SSH VPN

HTTP | TCP | IP | Ethernet ||| SSH | TCP | IP | Ethernet

OpenVPN 桥接模式

HTTP | TCP | IP | Ethernet ||| OpenVPN | TLS | TCP | IP | Ethernet

OpenVPN 路由模式

HTTP | TCP | IP ||| OpenVPN | TLS | TCP | IP | Ethernet

IPSec隧道模式

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

它基于来自不同来源的信息,我想问三个问题:
1)图表是否正确?
2) PPP 和以太网可以互换吗?
3) 如上图所示,OpenVPN 是“TCP over TCP”吗?

1个回答

1) 我会说是的,它们对于这些 VPN 的某些变体是正确的。

2) Ron Maupin 已经指出了不同之处。PPP 有时用于插入身份验证,如 PPPoE 或使用 IKEv1 的某些专有 IPsec 扩展。

3) OpenVPN 最好与 UDP 一起使用,因为 TCP over TCP 不是一个好主意。Olaf Titz 的这篇文章解释了原因。通常只有在无法使用 UDP 时才使用 TCP over TCP,因为 VPN 网关之间的某些防火墙不允许这样做。