MPLS VPN

BGP/MPLS IP VPN是一种L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服务提供商骨干网上发布VPN路由,使用MPLS(Multiprotocol Label Switch)在服务提供商骨干网上转发VPN报文。这里的IP是指VPN承载的是IP(Internet Protocol)报文。

MPLS IP VPN模型
图:BGP/MPLS IP VPN模型

BGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。

• CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
• PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。
• P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。

PE和P设备仅由服务提供商管理;CE设备仅由用户管理,除非用户把管理权委托给服务提供商。

一台PE设备可以接入多台CE设备。一台CE设备也可以连接属于相同或不同服务提供商的多台PE设备。

MPLS VPN的原理描述

基本概念:

Site:

• Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过运营商网络实现。
• Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻。地理位置隔离的两组IP系统,如果它们使用专线互联,不需要通过运营商网络就可以互通,这两组IP系统也组成一个Site。
• 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN。
• Site通过CE连接到运营商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
    根据Site的情况,建议CE设备选择方案如下:
    如果Site只是一台主机,则这台主机就作为CE设备;
    如果Site是单个子网,则使用交换机作为CE设备;
    如果Site是多个子网,则使用路由器作为CE设备。
    对于多个连接到同一运营商网络的Site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Site之间才能通过运营商网络互访,这种集合就是VPN。

地址空间重叠:

VPN是一种私有网络,不同的VPN独立管理自己的地址范围,也称为地址空间(address space)。不同VPN的地址空间可能会在一定范围内重合,例如,VPN1和VPN2都使用10.110.10.0/24网段地址,这就发生了地址空间的重叠(address spaces overlapping)。

以下两种情况允许VPN使用重叠的地址空间:

• 两个VPN没有共同的Site
• 两个VPN有共同的Site,但此Site中的设备不与两个VPN中使用重叠地址空间的设备互访

VPN示例:

在BGP/MPLS IP VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。
PE为每个直接相连的Site建立并维护专门的VPN实例,VPN实例中包含对应Site的VPN成员关系和路由规则。具体来说,VPN实例中的信息包括:IP路由表、标签转发表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。

VPN、Site、VPN实例之间的关系如下:

• VPN是多个Site的组合。一个Site可以属于多个VPN。
• 每一个Site在PE上都关联一个VPN实例。VPN实例综合了它所关联的Site的VPN成员关系和路由规则。多个Site根据VPN实例的规则组合成一个VPN。
• VPN实例与VPN不是一一对应的关系,VPN实例与Site之间存在一一对应的关系。

VPN实例也称为VPN路由转发表VRF(VPN Routing and Forwarding table)。PE上存在多个路由转发表,包括一个公网路由转发表,以及一个或多个VPN路由转发表。