我认为我还不明白 L2 VPN 实际上是怎样工作的。
每当我向某人询问这个问题时,他们总是回答 L2 VPN 在 OSI 模型的第 2 层(帧)工作,而 L3 VPN 在网络层(3)工作。
好吧。我现在知道的并不比以前多多少。
我的意思是,我理解 L3,数据包需要像往常一样通过互联网进行路由,但是 L2 呢?
在没有网络层的情况下,您的提供商或互联网上的任何其他路由器如何将帧路由到其目的地?
我认为我还不明白 L2 VPN 实际上是怎样工作的。
每当我向某人询问这个问题时,他们总是回答 L2 VPN 在 OSI 模型的第 2 层(帧)工作,而 L3 VPN 在网络层(3)工作。
好吧。我现在知道的并不比以前多多少。
我的意思是,我理解 L3,数据包需要像往常一样通过互联网进行路由,但是 L2 呢?
在没有网络层的情况下,您的提供商或互联网上的任何其他路由器如何将帧路由到其目的地?
首先,VPN 不一定需要通过互联网路由(也不一定用于访问互联网)。VPN 的主要用途是连接两个本地网络(站点到站点 VPN)——租用线路的替代品——并且对于此类连接,它们可以全部保留在单个提供商中。
此外,根据上下文,“L2 VPN”广义上有两种含义:
有时它用于指通过 IP 传输以太网帧的 VPN(即“L2”仅指有效载荷),例如 VXLAN 或 ZeroTier。这些 VPN 的功能与典型的“L3 VPN”完全相同;它们仍然具有用于路由的外部 IP(通常是 UDP/IP)标头,既可用于内部路由到提供商,也可用于外部路由到互联网。
有时它用于指代通过另一个本地网络“直接”传输以太网帧的 VPN,例如在另一个以太网帧内(即“L2”主要指运营商)。这些 VPN 不通过互联网路由 - 其目的是无缝连接与同一提供商连接的两个位置,但无需专用物理链路。
(尽管当您从某些运营商处订购 L2 VPN 电路时,您实际上无法分辨出区别 - 它可能是以太网 VLAN,也可能基于 MPLS,或者也可以作为 IP 上的 VXLAN 隧道承载。)
对于后一种情况,有多种实现方式。例如:
它可以使用简单的“MAC-in-MAC”(例如 802.1ah),即将以太网帧封装在具有新目标 MAC 地址的第二个 L2 标头中,然后运营商的以太网交换机以常规方式转发 - 在这种情况下,您可以将以太网本身视为外部网络层。
VPN 可以作为 MPLS 网络实现,以太网帧封装在 MPLS 中,并根据定义特定路径的 MPLS 标签在路由器之间转发。
总的来说,我认为不要将 OSI 模型视为任何其他东西,而应将其视为设计者认为的“理想”网络的指导方针。互联网并非按照 OSI 模型构建的;事实上,它是基于 OSI 的网络的竞争对手。同样,以太网并非作为 IP 的“数据链路层”构建的;它最初是作为本地网络单独构建的,后来才被采用来承载其他网络。
L2 VPN 模拟第 2 层,就像 L3 VPN 模拟第 3 层一样。无论哪种情况,该层的数据包都会重新打包成适用于 VPN 所运行系统的数据包。有些层会被复制。
例如,当我在互联网上运行 L2 OpenVPN 时,OpenVPN 会在操作系统中创建一个虚拟以太网端口。当操作系统通过该端口发送 L2 以太网帧时,OpenVPN 软件会将它们放入 L3 互联网数据包中,并通过我的真实网络端口发送这些数据包。另一台计算机上的 OpenVPN 软件接收互联网数据包,取出原始以太网帧,并将其传递给操作系统,操作系统模拟在其虚拟以太网端口上接收它。这样就模拟了一个以太网连接。从操作系统的角度来看,以太网数据包从一个端口发出,到达另一台计算机。就像两个真实以太网端口之间有一条真正的以太网电缆一样。
当您查看通过互联网的数据包(例如,在您的 ISP 网络中间)时,它将具有 L2-L4 报头,这些报头将其定向到接收计算机上的 OpenVPN 进程。在 L4 UDP 报头内,它将具有另一组 L2-L7 报头,这些报头已加密(并非所有 VPN 都加密它们,但 OpenVPN 会加密)。有两组 L2-L4 报头不应混淆。即使内部集未加密,互联网也只会查看外部集。
L2 VPN 的效率略低于 L3,因为以太网使用广播流量来发现其他主机和路由器,这会占用额外的带宽,这在快速的本地网络上实际上是免费的,但在互联网等较慢的网络上则不然。每个数据包中还包含额外的以太网报头,这会占用空间。因此,只要有可能,通常首选 L3 VPN。
第 2 层 VPN 的工作方式类似于网线。第 3 层及更高层仍然存在,可用于路由等。
第 3 层 IP 隧道无法桥接以太网网络,因为重要信息会在传输过程中丢失:所有非 IP 流量以及源和目标 MAC 地址。桥接可以在一定程度上进行模拟,但并非无损。第 2 层隧道传输所有内容,其作用与交换机之间的以太网网络电缆基本相同。
您应该将此分类或指定视为“较低截止值”。
您的本地以太网网络可以正常工作,甚至跨越多个交换机和路由器,对吗?第 2 层隧道就是这样的。