PPP、VPN、隧道和OSI模型

网络工程 虚拟专用网 ip 隧道 奥西 购买力
2021-07-10 16:13:02

我真的对隧道协议系列和所有相关协议感到困惑。我读了一堆文章,rfc,但仍然无法理解。

我将把我的问题放在我的解释之间。

关于我的网络配置的一点点。
1. 我有家用路由器 (wifi),它通过PPPoE.
2. 当我VPN通过PPTP协议连接到远程服务器时,所有数据包都被捕获

在计算机网络中,点对点协议 (PPP) 是一种数据链路(第 2 层)协议,用于在两个节点之间建立直接连接。
Q-1: 点对点一般是什么意思?我如何连接而不是点对点?我只有一根电缆,如果是我的网络,我的路由器是用电缆连接到交换机的吗?

我已经捕获了数据包,这里是有关 PPP 数据包的wireshark信息。http://imgur.com/VPYk9a3

Q-2:点对点协议 (PPP) 是数据链路 嗯。为什么然后这个数据包被封装在里面IP-> GRE???? 不是第二层

Q-3:PPP (PPPoe) 与简单的数据链路以太网帧(交换机使用)有何不同?

VPN 连接也称为 PPTP,所以我可以猜测 PPTP 仅用于会话建立,仅此而已。因为我在通信时只能看到几次 PPTP 数据包。

捕获的数据包http://imgur.com/a/w9qTk

这甚至超过了第 4 层 (TCP)。

所以我真的对所有这些东西感到困惑,所以我试图解释我如何理解一个过程是通用的。

首先PPP只是数据链路层特殊数据包格式的标准,使用它是因为这个协议(PPP)是在不同的物理环境上实现的,如以太网、ATM...

为什么使用它?因为它使用 LCP、NCP 协议在 OSI 的第二层提供身份验证。所以基本上当我连接到我的提供商时,我使用凭据来建立连接。

有时会提到封装是该协议的一个优点

Q-4:为什么这是一个优势?OSI 堆栈假设封装是开箱即用的,每个较高层都只是封装在较低层的有效载荷字段中!!

所以基本上 PPP 允许身份验证和压缩。

当我使用 VPN (PPTP) 时,就 PPTP 服务器而言,它是使用端口 (1723) 来侦听入站连接的特定应用程序。这就是它位于 TCP 上方的原因。而这个协议只是用来与服务器建立通信。

Q-5: PPP 数据包只是封装在 IP 中并且没有指定端口,如何进一步通信?VPN 服务器机器如何知道这个数据包是隧道,它应该被重定向到 1723 端口应用程序以继续?

请帮助我理解这个话题,请回答我的问题。我将不胜感激任何帮助

1个回答

你的问题真的太宽泛了,家庭网络和消费级设备在这里显然是题外话,但我会尽量给你一些一般性的答案。

  1. PPP 是第 2 层协议,与以太网、HDLC、帧中继、ATM 等的方式相同。PPP 特别是一种只有两个端点的点对点协议。其他协议,例如以太网,旨在与多个可能的端点一起使用。因为以太网和其他 IEEE LAN 协议可以有多个连接,所以它们使用 MAC 地址,但 PPP 不使用。
  2. 我不太明白你的第二个问题。PPP是二层协议,而IP是三层协议。一般来说,二层协议不关心三层,它们可以承载任意数量的三层协议。
  3. 以太网既是第 1 层协议,又是第 2 层协议。PPPoE 将 PPP 用于以太网第 1 层上的第 2 层协议。PPP 帧封装在以太网帧中。就您的流量而言,它通过一个使用 PPP 作为第 2 层协议的接口。PPP 可用于多个不同的第 1 层接口,例如串行、ATM 等。PPP 添加了一些特性,允许您协商其他第 2 层协议中不存在的第 3 层寻址、数据压缩、身份验证等.
  4. 你的第四个问题真的没有多大意义。你似乎在比较苹果和橙子。PPP 是第 2 层协议,但 PPTP 基本上允许您在其他协议之上扩展 LAN。正如你写的,它在第4层之上,使用PPTP时使用的第2层协议可以是PPP。不幸的是,第 4 层以上的协议在这里是明确的题外话。
  5. PPP 帧不包含在 IP 数据包中。恰恰相反;IP 数据包可以包装在 PPP(或其他第 2 层协议)帧中。第 2 层和第 3 层都对端口一无所知,端口是某些第 4 层协议的第 4 层地址。路由器从第 3 层数据包中剥离第 2 层帧,因此 PPP 链路另一端的路由器将剥离 PPP 帧。然后路由器将路由第 3 层数据包,并为数据包的新接口创建一个新帧。当数据包到达服务器时,PPP 帧将早已消失。服务器将有一个网络堆栈,它接收到的帧将通过该堆栈。当它在第 4 层到达 TCP 时,它将使用端口,并且它将知道它应该将 TCP 段发送到服务器中的哪个进程。