VPN 类型
虚拟专用网 (VPN) 由两个拓扑区域组成:提供商网络和客户网络。客户的网络通常位于多个物理站点,并且也是专用的(非互联网)。客户站点通常由位于单个物理位置的一组路由器或其他网络设备组成。该提供商的网络在公共互联网基础架构中运行,包括向客户网络提供 VPN 服务的路由器以及提供其他服务的路由器。提供商的网络连接各个客户站点,在客户和提供商看来是一个专用网络。
为了确保 VPN 保持私密性,并与其他 VPN 和公共互联网隔离,提供商的网络维护相应策略,将来自不同 VPN 的路由信息分开。提供商可以为多个 VPN 提供服务,只要其策略将来自不同 VPN 的路由分开即可。同样,一个客户站点可以属于多个 VPN,只要它将来自不同 VPN 的路由分开即可。
Junos®作系统 (Junos OS) 提供多种类型的 VPN;您可以根据自己的网络环境选择最佳解决方案。以下每种 VPN 都有不同的功能,需要不同类型的配置:
2 层 VPN
在路由器上实施第 2 层 VPN 与使用其他第 2 层技术实现 VPN 类似。但是,对于路由器上的第 2 层 VPN,流量将以第 2 层格式转发至路由器。它由 MPLS 通过服务提供商的网络传输,然后在接收站点转换回第 2 层格式。您可以在发送站点和接收站点配置不同的第 2 层格式。
在第 2 层 VPN 上,路由发生在客户的路由器上,通常在客户边缘路由器上。连接到第 2 层 VPN 上的服务提供商的客户边缘路由器必须选择要在其上发送流量的相应电路。接收流量的 PE 路由器通过服务提供商的网络将其发送到连接到接收站点的 PE 路由器。PE 路由器不需要存储或处理客户的路由;只需将其配置为将数据发送到相应的隧道。
对于第 2 层 VPN,客户需要配置自己的路由器来承载所有第 3 层流量。服务提供商只需要知道第 2 层 VPN 需要承载多少流量。服务提供商的路由器使用第 2 层 VPN 接口在客户站点之间传输流量。VPN 拓扑由 PE 路由器上配置的策略决定。
3 层 VPN
在第 3 层 VPN 中,路由发生在服务提供商的路由器上。因此,第 3 层 VPN 需要服务提供商进行更多配置,因为服务提供商的 PE 路由器必须存储和处理客户的路由。
在 Junos OS 中,第 3 层 VPN 基于 RFC 4364、 BGP/MPLS IP 虚拟专用网络 (VPN)。此 RFC 定义了一种机制,服务提供商可以使用其 IP 骨干网向其客户提供第 3 层 VPN 服务。构成第 3 层 VPN 的站点通过提供商现有的公共互联网骨干网进行连接。
基于 RFC 4364 的 VPN 也称为 BGP/MPLS VPN,因为 BGP 用于在提供商的骨干网中分发 VPN 路由信息,而 MPLS 用于将 VPN 流量通过主干网转发到远程 VPN 站点。
客户网络由于是专用网络,因此可以使用公共地址或专用地址,如 RFC 1918《 专用互联网地址分配》中所定义。当使用专用地址的客户网络连接到公共互联网基础架构时,专用地址可能会与其他网络用户使用的专用地址重叠。BGP/MPLS VPN 可解决此问题,方法是为特定 VPN 站点的每个地址添加 VPN 标识符前缀,从而创建在 VPN 内和公共互联网中都唯一的地址。此外,每个 VPN 都有自己的特定于 VPN 的路由表,其中仅包含该 VPN 的路由信息。
VPLS
虚拟专用 LAN 服务 (VPLS) 允许您连接地理上分散的客户站点,就好像这些站点连接到同一个 LAN 一样。在很多方面,它的工作方式类似于第 2 层 VPN。VPLS 和第 2 层 VPN 使用相同的网络拓扑,功能相似。源自客户网络的数据包首先被发送至客户边缘设备。然后将其发送到服务提供商网络内的 PE 路由器。数据包通过 MPLS LSP 遍历服务提供商的网络。它到达出口 PE 路由器,然后将流量转发到目标客户站点的客户边缘设备。
VPLS 的主要区别在于,数据包可以点对多点的方式遍历服务提供商的网络,这意味着,来自客户边缘设备的数据包可以广播到 VPLS 中的 PE 路由器。相比之下,第 2 层 VPN 仅以点对点的方式转发数据包。必须知道 PE 路由器从 客户边缘 设备接收的数据包的目的地,第 2 层 VPN 才能正常运行。
只有在第 3 层网络中,您才能配置虚拟专用 LAN 服务 (VPLS),以通过 MPLS 骨干将地理上分散的以太网局域网 (LAN) 站点相互连接。对于实施 VPLS 的 ISP 客户,即使流量在服务提供商的网络中传输,所有站点似乎都位于同一个以太网 LAN 中。VPLS 旨在通过支持 MPLS 的服务提供商网络传输以太网流量。VPLS 在某些方面会模仿以太网的行为。配置了 VPLS 路由实例的 PE 路由器收到来自客户边缘设备的数据包时,首先会检查相应的路由表以获取 VPLS 数据包的目标。如果路由器有目标,它会将其转发到相应的 PE 路由器。如果没有目标,它会将数据包广播到属于同一 VPLS 路由实例的所有其他 PE 路由器。PE 路由器将数据包转发到其客户边缘设备。作为数据包预期接收方的客户边缘设备将其转发到其最终目标。其他客户边缘设备将其丢弃。
虚拟路由器路由实例
虚拟路由器路由实例与 VPN 路由和转发 (VRF) 路由实例一样,为每个实例维护单独的路由和转发表。但是,虚拟路由器路由实例不需要 VRF 路由实例所需的许多配置步骤。具体而言,无需在 P 路由器之间配置路由识别符、路由表策略(、 vrf-export和 vrf-importroute-distinguisher 语句)或 MPLS。
但是,您需要在参与虚拟路由器路由实例的每台服务提供商路由器之间配置单独的路由器逻辑接口。您还需要在服务提供商路由器与参与每个路由实例的客户路由器之间配置单独的逻辑接口。每个虚拟路由器实例都需要对所有参与的路由器提供一组独有的逻辑接口。
图 1 显示了其工作原理。服务提供商路由器 G 和 H 配置为虚拟路由器路由实例(红色和绿色)。每个服务提供商路由器直接连接到两台本地客户路由器,每个路由实例中各一个。服务提供商路由器也通过服务提供商网络相互连接。这些路由器需要四个逻辑接口:一个 逻辑接口 连接到每个本地连接的客户路由器,以及一个逻辑接口,用于在每个虚拟路由器实例的两个服务提供商路由器之间传输流量。
中每个路由器的逻辑接口
第 3 层 VPN 没有此配置要求。如果在 PE 路由器上配置多个第 3 层 VPN 路由实例,则所有实例均可使用相同的逻辑接口访问另一个 PE 路由器。之所以能做到这一点,是因为第 3 层 VPN 使用 MPLS (VPN) 标签来区分进出各种路由实例的流量。如果没有 MPLS 和 VPN 标签(如在虚拟路由器路由实例中),您需要单独的逻辑接口来分离来自不同实例的流量。
在服务提供商路由器之间提供此逻辑接口的一种方法是在它们之间配置隧道。您可以在服务提供商路由器之间配置 IP 安全性 (IPsec)、通用路由封装 (GRE) 或 IP-IP 隧道,从而在虚拟路由器实例上终止隧道。