跳转到内容

三层VPN

来自轻之舟百科

三层VPN

三层VPN
中文名 三层虚拟专用网络
英文名 Layer 3 VPN (L3VPN)
技术类型 网络通信技术 / 虚拟专用网
核心功能 跨公共网络提供三层IP连接、路由隔离
主要协议 MP-BGP、MPLS
标准化机构 IETF
基础RFC RFC 4364 (BGP/MPLS IP VPNs)
常见部署形态 MPLS L3VPN

三层VPN(全称:Layer 3 Virtual Private Network,缩写L3VPN)是一种在公共网络基础设施上提供IP层虚拟专用连接的网络技术,其核心特征在于服务提供商参与客户网络的三层路由,使分布在不同地理位置的用户站点通过服务提供商骨干网实现IP互通[1][2]。三层VPN最早由IETF于1999年在RFC 2547中正式定义,后经修订形成RFC 4364标准(2006年发布),奠定了BGP/MPLS IP VPN的技术框架[3][4]。相比二层VPN,三层VPN更适合需要服务提供商参与路由管理、具备可扩展性要求的跨地域企业网络互联场景,已在运营商和企业广域网中得到广泛部署[5][6]

定义与基本原理

三层VPN是指服务提供商在IP/MPLS骨干网上向客户提供的三层VPN服务,VPN业务在网络层(OSI第三层)进行路由和转发[3][7]。与二层VPN的透明传输方式不同,三层VPN要求服务提供商边缘设备(PE)参与客户站点的路由交互:PE从客户边缘设备(CE)学习私网路由后,通过骨干网将其分发给其他PE,从而实现远端站点的IP互通。该技术采用对等模型(peer model),CE之间不直接建立对等关系,所有三层路由功能由服务提供商在PE上集中完成[1][3]。从客户视角,分布在不同地域的各站点就像接入同一个私有网络,无需感知服务提供商骨干网的具体转发机制[3]

体系架构

三层VPN的网络体系架构主要由以下三类设备组成[6][8][9]

  • 用户边缘设备(CE,Customer Edge):部署在客户网络边缘的路由器或三层交换机,直接与服务提供商的PE设备相连。CE负责将本地的VPN路由发布给PE,并从PE获取远端VPN路由。CE“感知”不到VPN的存在,无需支持MPLS,可通过静态路由、RIP、OSPF、BGP等多种路由协议与PE交换路由信息[6]
  • 服务商边缘设备(PE,Provider Edge):服务提供商网络的边缘路由器,位于骨干网与客户网络的交界处,是整个三层VPN体系的核心。PE为每个接入的VPN站点创建和维护独立的VPN实例(又称VRF,Virtual Routing and Forwarding),实现不同VPN客户之间的路由隔离。PE通过与CE交互学习客户路由,再经由骨干网利用MP-BGP将VPN路由分发给其他PE[6][9]
  • 服务商核心设备(P,Provider):服务提供商骨干网内部的路由器,不直接连接CE。P设备只负责MPLS标签的高速转发,不感知任何VPN路由信息,也不需要维护VRF。P设备仅需具备基本的MPLS转发能力和到PE的路由可达性即可[6][8]

一个VPN对应一组互访站点的集合。服务提供商根据管理策略将VPN成员划分为不同的站点集合,只有属于相同VPN的站点之间才能通过骨干网互通[6]。一个物理站点可以属于多个VPN(例如总部同时接入企业内网和合作伙伴网络),此时PE上将为该站点维护包含多个VPN信息的VRF实例[6]

核心概念与关键技术

虚拟路由转发(VRF)

虚拟路由转发(VRF,Virtual Routing and Forwarding)是三层VPN中实现多租户路由隔离的核心机制。PE为每一个直接相连的VPN站点创建独立的VRF实例,每个VRF维护各自的路由表、转发表(FIB)、标签转发表以及与特定接口的绑定关系[6][10]。由于不同VPN的VRF在PE上互相隔离,即使多个VPN使用了重叠的IP地址空间(例如都使用10.0.0.0/8私有地址段),也不会产生路由冲突[6]

VPN-IPv4地址(VPNv4)

标准的BGP无法区分来自不同VPN但IP地址相同的路由前缀,因此在三层VPN中使用了VPN-IPv4地址族(VPNv4)来解决地址重叠问题[6]。VPNv4地址是在原有的IPv4地址前缀前附加一个8字节的路由标识符(Route Distinguisher,RD)形成的扩展地址结构。RD具有全局唯一性,使得原本可能重叠的IPv4地址通过添加RD后成为全局唯一的VPNv4地址,从而允许PE在MP-BGP中正确区分和维护来自不同VPN的路由信息[6][11]

路由目标(RT)

路由目标(Route Target,RT)是BGP扩展团体属性的一种,用于控制VPN路由在PE之间的导入和导出。每个VRF配置入向和出向两套RT属性:当PE发布VPN路由时,会为其附加出向RT值;接收方PE根据入向RT配置,决定将收到的路由导入到哪些本地VRF实例中。通过RT的灵活配置,可以实现多种VPN互通模型,如基本点到点互联(全网状)、Hub-Spoke(中心-分支)以及跨VPN的Extranet互联[9]

BGP/MPLS控制平面

三层VPN的控制平面依赖多协议BGP(MP-BGP)在PE之间传播VPN路由信息。PE之间建立MP-IBGP对等体关系,交换携带VPN-IPv4地址族信息的路由更新[2][12]。在跨自治系统的场景中,亦可使用MP-EBGP在AS之间传递VPN路由。MP-BGP扩展了传统的IPv4单播地址族,增加了对VPNv4地址族的支持,同时在路由更新中携带MPLS标签。此标签与VPN路由相关联,用于标识数据包所属的VRF和出接口,从而实现数据平面的标签转发[3][2]

标签分发协议(LDP/RSVP-TE)

除MP-BGP外,MPLS骨干网通常还运行标签分发协议(LDP,Label Distribution Protocol)或资源预留协议流量工程扩展(RSVP-TE),在PE与PE之间建立公网标签交换路径(LSP,Label Switched Path)。公网LSP用于承载封装后的VPN数据包,使其在P设备之间透明传输[6]

数据转发流程

三层VPN的数据转发采用两层标签嵌套机制[9][6]

1. **入口PE处理**:当CE将IP数据包发送至入口PE时,PE根据接收接口查找到对应的VRF实例,在VRF路由表中执行目的IP地址的最长匹配查询,确定出口PE和对应的VPN标签。

2. **标签压栈**:入口PE向IP数据包压入两层MPLS标签。内层(VPN标签)由MP-BGP分发,用于标识数据所属的VPN以及出口PE上的目标VRF;外层(隧道标签)由LDP或RSVP-TE分发,用于指引数据包沿着预建立的LSP从入口PE转发至出口PE[9]

3. **骨干网转发**:P路由器仅根据外层标签进行转发,将携带两层标签的MPLS报文逐跳传递至出口PE。P路由器不检查内层VPN标签,也不参与VPN路由表查询。

4. **出口PE处理**:出口PE接收到报文后先弹出外层标签,再根据内层VPN标签确定目标VRF,查找VRF路由表后将原始IP数据包转发至对应的CE设备。

路由分发过程

三层VPN的路由分发过程基于MP-BGP的信令机制[6][3]

  • **CE到PE**:CE将本地站点的IP路由通过静态路由或IGP/BGP协议发布给直连的PE,PE将其导入对应的VRF路由表。
  • **PE到PE**:入口PE将VRF中的IPv4路由添加RD后转换为VPNv4格式,为其分配VPN标签,并通过MP-IBGP发布给远端PE。MP-BGP利用RT扩展团体属性控制路由的导入范围。
  • **PE到CE**:远端PE根据本地VRF的入向RT配置,决定是否将收到的VPNv4路由导入本地VRF,还原为普通IPv4路由后通过静态路由或IGP/BGP发布给所连接的CE,完成远端站点的路由学习。

通过上述流程,三层VPN实现了客户路由在服务提供商骨干网中的受控分布,保障了VPN间的逻辑隔离和路由策略的灵活配置[3]

扩展与演进

HoVPN(分层VPN)

HoVPN(Hierarchy of VPN)通过在PE设备之间引入分层架构来提升传统MPLS L3VPN网络的扩展性。传统MPLS L3VPN采用平面PE模型,所有PE需维护全网VPN路由,当PE数量或VPN路由规模增长时面临扩展瓶颈。HoVPN将PE分为上层SPE(Superstratum PE)和下层UPE(Underlayer PE),SPE汇聚和存储全网VPN路由,UPE仅维护本地VPN路由,从而实现性能分级和网络规模的无限制扩展[13][14]

跨域L3VPN

当VPN站点跨越多个自治系统时,三层VPN需解决跨域互联问题。RFC 4364中描述了三种主要的跨域模型[4]:Option A(背靠背VRF,ASBR之间以子接口方式互联,维护独立VRF)、Option B(ASBR之间通过MP-EBGP交换VPNv4路由,传递VPN标签)、Option C(ASBR之间仅传递公网标签,PE之间直接建立多跳MP-EBGP会话)。Option C具有最佳的扩展性,在大型跨域部署中应用最为广泛[4]

三层VPN的持续演进

近年来,三层VPN技术在标准化和应用场景方面持续演进。在承载隧道方面,业界正加速从MPLS隧道向SRv6(Segment Routing over IPv6)演进,L3VPN over SRv6方案利用IPv6扩展头实现标签封装,简化了控制平面并提升了与IPv6网络的兼容性[15]。在地址族支持方面,面向IPv6 VPN的扩展由RFC 4659完成定义。在多播支持方面,RFC 6513和RFC 6514规范了组播VPN(MVPN)在L3VPN框架中的实现方式。在SDN/NFV环境下,三层VPN控制平面通过与SDN控制器集成实现自动化部署和策略编排,提高了运维效率。

应用场景

三层VPN被广泛应用于以下场景[5][6][16]

  • 企业广域网互联:连接企业总部与各分支机构,构建安全可靠的跨地域内部网络。服务提供商参与路由管理,企业无需自建广域网基础设施。
  • 运营商VPN增值业务:运营商通过MPLS L3VPN向企业客户提供可管理的VPN服务,支持服务质量(QoS)保障和流量工程(TE),可提供差异化的SLA承诺。
  • 数据中心互联(DCI):连接多个数据中心的三层网络,实现业务系统跨数据中心的高效互通与灾备。
  • 混合云/多云连接:在私有数据中心与公有云VPC之间建立三层VPN连接,实现云上云下资源的协同调度。
  • 政府/金融专网:构建跨地域的政府机构专网或金融行业专网,利用VRF和多协议BGP实现租户间的安全隔离。
  • 组播VPN:利用三层VPN框架承载IPTV、视频会议等组播业务,组播源PE将组播流量通过MP-BGP信令分发至各成员PE,实现大规模组播业务的高效传输[17]
  • 5G传输网:在5G承载网中,L3VPN常用于N3/N4接口的用户面和控制面传输隔离,配合SRv6等技术实现端到端切片保障。

优点与局限性

三层VPN的主要优点包括良好的可扩展性——新增站点时仅需在PE上配置VRF和路由策略,无需修改全网路由。它实现了不同VPN客户之间完全的逻辑隔离,即使客户使用重叠的IP地址空间也能正常工作[5][6]。服务提供商可参与三层路由管理,为客户提供端到端的QoS保障和SLA承诺,并支持组播VPN、IPv6 VPN、跨域VPN等多种增值业务扩展[2]

其局限性主要体现在以下几个方面。首先,三层VPN要求PE设备维护大量的VRF和VPN路由信息,对PE设备的控制平面内存和转发平面性能要求较高,当PE数量或VPN路由条目大规模增长时,面临一定的性能和扩展性挑战[13]。其次,相比二层VPN,三层VPN不支持客户自行运行三层路由协议(如OSPF、BGP)直接对等互联——客户路由被PE截获并重新注入。再次,三层VPN主要面向IP流量,对非IP协议的支持较为有限。最后,三层VPN的部署和运维要求服务提供商具备较高的三层路由规划和故障排查能力,一定程度上提高了运营门槛。

参考文献