PPTP、L2TP 等协议如何在 IP 级别下工作

网络工程 ip 虚拟专用网 互联网 购买力 l2tp
2021-07-20 11:34:32

我一直在使用这些协议,但没有深入了解一切在幕后是如何工作的。

我理解的隧道过程如下

  1. 当我们使用 OpenVPN、IPSec、SSH 等协议时,它们在 OSI 堆栈的同一级别或 IP 协议所在的更高级别(3-d 级别)上运行
  2. 使用上述协议时,所有流量(如 TCP、IP)都在底层协议(如 IP)的数据部分内进行加密。
  3. 当流量到达 VPN 服务器时,它会根据具体数据进行解密和重定向。

我无法理解以下案例。

为了甚至连接到 VPN 服务器,我们至少使用 IP 协议来访问服务器。因为 Internet 上的所有流量都是通过 IP 地址路由的。所以在那种情况下,我们如何才能在低于IP协议的级别上进行操作。我们如何访问 VPN 服务器?据我所知,我们无法仅通过 MAC 地址访问服务器。

你能解释一下吗?

太感谢了 !

1个回答

在现实生活中,您不能完全坚持 OSI 模型。作为如何在复杂网络中构建组件的指南,它很有帮助和必要,但你不能总是说那是 x 层

隧道是从一层包装数据包或帧,并使用另一种传输机制将它们传输到您需要的地方。在隧道末端,您解开原始数据包并继续以本机方式转发它。从“内部”的角度来看,整个隧道只是一个链接。从“外部”的角度来看,隧道连接只是一个连接——无论它用于什么都无关紧要。

当在 Internet 上使用私有 IP 地址的网络之间路由 IP 数据包时,隧道特别有用。您无法使用 Internet 上的私有地址,无法在远端需要时更改它们 (NAT),因此您(简化)将私有 IP 数据包包装在公共 IP 数据包中,通过 Internet 路由并解开包装原始数据包。

因此,当查看隧道协议时,检查它运行在什么之上以及它在自己的顶部呈现什么样的接口会更有帮助。例如,PPTP 运行在 IP 之上,并在其上提供一个第 2 层 PPP 接口,您依次将其与另一个第 3 层协议(IPv4、IPv6 或 IPX)一起使用。

其他协议(如 OpenVPN)在其顶部呈现类似以太网的第 2 层,因此您可以使用虚拟 NIC 作为逻辑接口。