务提供商网络中最诱人的MPLS(多协议标签交换)驱动程序之一就是它对VPN(虚拟专用网)的支持。服务提供商的用户在VPN中能够连接到它的整个网络上地理位置分散的站点。
有三种基于MPLS的VPN:
·3层VPN:采用3层VPN,服务提供商参加客户的3层路由。客户每一个站点使用的CE(客户端)路由器向服务提供商的PE(提供商端)路由器发送BGP(边界网关协议)或者OSPF(开放式最短路径优先)等路由协议。每一个客户站点播出的IP前缀都在服务提供商的网络上传送。3层VPN对于那些想利用服务提供商的技术专长保证站点之间充分的路由的客户来说是有吸引力的。
·2层VPN:服务提供商通过客户选择的2层技术(如ATM<异步传输模式>、帧中继或者以太网)把客户的站点相互连接起来。客户可是使用他要运行的任何3层协议,服务提供商不参与这层的工作。对于那些想要完全控制自己的路由的那些客户来说,2层VPN是有吸引力的。2层VPN对于服务提供商也是有吸引力的,因为在PE路由器上增加适当的接口就可以提供客户需要的任何连接。
·虚拟专用局域网服务:从客户的观点看,VPLS(虚拟专用局域网服务)使服务提供商的网络看起来就像是一个单个的以太网交换机。VPLS吸引客户的地方是它们能够让广域网看起来就像是他们本地园区或者大楼范围内的网络,使用一种价格便宜和容易理解的技术(以太网技术)。与围绕实际的以太网交换机建立起来的城域以太网服务不同,服务提供商能够连接到从局域网到全球网络的VPLD客户。因此,一个在伦敦、迪拜、班加罗尔、香港、洛杉矶和纽约都有站点的客户能够使用一台以太网交换机连接所有这些站点。
虚拟专用网(VPN)中的“虚拟”就是个人的一些服务有独特的外表,但是,实际上,这些服务都是在一个共享的基础设施(MPLS网络)上建立的。这对于服务提供商的好处是他能够建立一个服务组合吸引广泛的用户,不用显著提高资本投资或者运营开支。
但是,我要讨论的是虚拟专用网中的“专用”部分。即使这些服务在一个MPLS网络上得到支持,这些服务不仅要保持独特的特点,而且单个客户的网络必须安全地相互隔开:
·客户A和客户B(都使用3层VPN)都不能相互看到对方的IP前缀。事实上,它们各自的地址空间能够重叠。例如,这两个客户能够使用相同的10.0.0.0地址解决其网络问题。服务提供商网络保持客户的地址前缀分开。
·客户C和客户D(都使用2层VPN)都不能看到对方的2层地址或者除了自己站点以外的人和其它类型的连接。
·VPLS客户E和客户F虽然都能把服务提供商网络看作是一个单独的以太网交换机,但是,他们都不能连接到同一台以太网交换机。连接客户E的各个站点的虚拟以太网交换机与连接客户F的站点的虚拟以太网交换机一定不能是同一台设备。
图1显示了在VPN之间创建专用的关键组件:每一个客户的个人信息表和MPLS LSPs (MPLS虚拟电路)连接的每一个客户的站点。这个表的信息内容取决于它支持的VPN类型:

·3层VPN信息表包含IP前缀,称作“虚拟路由和转发表”(VRF)。VRF专门用于路由表。
·2层VPN信息表称作“虚拟转发表”(VFT),包含它支持的所有2层技术的2层地址,如帧中继DLCI。
·VPLS信息表包含以太网MAC地址,如果使用VLANS的话,还有VLAN ID,映射到本地端口或者指向其它站点的LSP。这些表担负以太网交换机中MAC表的相同任务。
图1显示的VPN网络是简单的,它仅规定了三个客户,每个客户拥有两三个站点。一个用于生产的MPLS VPN网络至少有数百个客户和数千个信息表。保持一个像图1这样的基本的LSP结构会很快升级这个限制。
因此,不要单独转换MPLS核心网络中的每一个具体的LSP表,LSP是在每一个PE设备之间创建的,如图2所示。接下来,这个具体的LSP表在这些PE至PE的LPS中间建立隧道,允许这个核心网络更好地升级,交换必须在这些更少的隧道LSP中间进行。

这就是在上一篇文章中强调标记堆栈的原因:这是MPLS VPN升级的一个重要功能。当一台PE设备收到一个来自本地连接的PE设备发出的IP数据包或者2层帧的时候,它将查看本地信息表。如果这个数据包或者帧的目的地是另一个站点的CE设备,它将在一个MPLS头文件后面封装一个连接到远程信息表的正确标记。结果产生的MPLS数据包将封装到另一个MPLS头文件的后面,带着连接到远程信息表所在的远程PE设备的隧道LSP的标记。
在这个远程PE设备中,外部的头文件出现了并且对内部的头文件标记进行检查。这个标记告诉PE设备要查询什么本地信息表。这个内部的头文件然后弹出来,解开封装的数据包或者帧就可以发送到正确的信息表指定的本地连接的CE设备。
这篇文章介绍了MPLS VPN信息如何发送的基础知识。在第二部分,我们将讨论各种信息表中包含的这种可到达性信息是如何穿过MPLS发送到远程PE设备的。