---- 从概念上讲,IP-VPN是运营商(即服务提供者)支持企业用户应用的方案。一个通用的方法可以适用于由一个运营商来支持的、涉及其他运营商网络的情况(如运营商的运营商)。
---- 图1给出了实现IP-VPN的一个通用方案。其中,CE路由器是用于将一个用户站点接入服务提供者网络的用户边缘路由器。而PE路由器则是与用户CE路由器相连的、服务提供者的边缘路由器。
---- 站点是指这样一组网络或子网,它们是用户网络的一部分,并且通过一条或多条PE/CE链路接至VPN。VPN是指一组共享相同路由信息的站点,一个站点可以同时位于不同的几个VPN之中。
---- 图2显示了一个服务提供者网络支持多个VPN的情况。如图2所示,一个站点可以同时属于多个VPN。依据一定的策略,属于多个VPN的站点既可以在两个VPN之间提供一定的转发能力,也可以不提供这种能力。当一个站点同时属于多个VPN时,它必须具有一个在所有VPN中唯一的地址空间。
---- MPLS为实现IP-VPN提供了一种灵活的、具有可扩展性的技术基础,服务提供者可以根据其内部网络以及用户的特定需求来决定自己的网络如何支持IP-VPN。所以,在MPLS/ATM网络中,有多种支持IP-VPN的方法,本文介绍其中两种方法。
方案一
---- 本节介绍一种在公共网中使用MPLS提供IPVPN业务的方法。该方法使用LDP的一般操作方式,即拓扑驱动方式来实现基本的LSP建立过程,同时使用两级LSP隧道(标记堆栈)来支持VPN的内部路由。
---- 图3 给出了在MPLS/ATM核心网络中提供IPVPN业务的一种由LER和LSR构成的网络配置。
---- LER (标记边缘路由器)
---- LER是MPLS的边缘路由器,它位于MPLS/ATM服务提供者网络的边缘。 对于VPN用户的IP业务量,LER将是VPN隧道的出口与入口节点。如果一个LER同时为多个用户所共享,它还应当具有执行虚拟路由的能力。这就是说,它应当为自己服务的各个VPN分别建立一个转发表,这是因为不同VPN的IP地址空间可能是有所重叠的。
---- LSR(标记交换路由器)
---- MPLS/ATM核心网络是服务提供者的下层网络,它为用户的IP-VPN业务所共享。
---- 建立IP-VPN区域的操作
---- 希望提供IP-VPN的网络提供者必须首先对MPLS域进行配置。这里的MPLS域指的就是IPVPN区域。作为一种普通的LDP操作,基本的LSP 建立过程将使用拓扑驱动方法来进行,这一过程被定义为使用基本标记的、基本的或是单级LSP建立。而对于VPN内部路由,则将使用两级LSP隧道(标记堆栈)。
---- VPN成员
---- 每一个LER都有一个任务,即发现在VPN区域中为同一 IPVPN服务的其他所有LER。由于本方案最终目的是要建立第二级MPLS隧道,所以 LER发现对等实体的过程也就是LDP会话初始化的过程。每一个LER沿着能够到达其他 LER的每一条基本网络LSP,向下游发送一个LDP Hello消息。LDP Hello消息中会包含一个基本的MPLS标记,以方便这些消息能够最终到达目的LER。
---- LDP Hello消息实际上是一种查询消息,通过这一消息,发送方可以获知在目的LER处是否存在与发送方LSR同属一个VPN的LER(对等实体)。新的Hello消息相邻实体注册完成之后,相关的两个LER之间将开始发起LDP会话。随后,其中一个LER将初始化与对方的TCP连接。当TCP连接建立完成而且必要的初始化消息交互也完成之后,对等LER之间的会话便建立起来了。此后,双方各自为对方到自己的LSP 隧道提供一个标记。如果LSP隧道是嵌套隧道,则该标记将被推入标记栈中,并被置于原有的标记之上。
---- VPN成员资格和可到达性信息的传播
---- 通过路由信息的交换,LER可以学习与之直接相连的、用户站点的IP地址前缀。LER需要找到对等LER,还需要找到在一个VPN中哪些LER 是为同一个VPN服务的。LER将与其所属的VPN区域中其他的LER建立直接的LDP会话。换言之,只有支持相同VPN的LER之间才能成功地建立LDP会话。
---- VPN内的可到达性
---- 最早在嵌套隧道中传送的数据流是LER之间的路由信息。当一个LER被配置成一个IPVPN的一员时,配置信息将包含它在VPN内部要使用的路由协议。在这一过程中,还可能会配置必要的安全保密特性,以便该LER能够成为其他LER的相邻路由器。在VPN内部路由方案中,每一次发现阶段结束之后,每一个LER 都将发布通过它可以到达的、VPN用户的地址前缀。
---- IP分组转发
---- LER之间的路由信息交互完成之后,各个LER都将建立起一个转发表,该转发表将把VPN用户的特定地址前缀(FEC转发等价类) 与下一跳联系起来。当收到的IP分组的下一跳是一个LER时,转发进程将首先把用于该LER的标记(嵌套隧道标记)推入标记栈,随后把能够到达该LER的基本网络LSP上下一跳的基本标记推入标记分组,接着带有两个标记的分组将被转发到基本网络LSP中的下一个LSR;当该分组到达目的LER时,最外层的标记可能已经发生许多次的改变,而嵌套在内部的标记始终保持不变;当标记栈弹出后,继续使用嵌套标记将分组发送至正确的LER。在LER上,每一个VPN使用的嵌套标记空间必须与该LER所支持的其他所有VPN使用的嵌套标记空间不同。
方案二
---- 本节将对一种在公共网中使用MPLS和多协议边界网关协议来提供IP-VPN业务的方法进行介绍,其技术细节可以参见RFC 2547。
---- 图1 给出了在MPLS/ATM核心网络中提供IPVPN业务的、由LER和LSR构成的网络配置,图4则给出了使用RFC 2547的网络模型。
---- 提供者边缘(PE)路由器
---- PE路由器是与用户路由器相连的服务提供者边缘路由器。
---- 实际上,它就是一个边缘LSR(即MPLS网络与不使用 MPLS的用户或服务提供者之间的接口)。
---- 用户边缘 (CE)路由器
---- CE路由器是用于将一个用户站点接至PE路由器的用户边缘路由器。在这一方案中,CE路由器不使用MPLS,它只是一台IP路由器。CE不必支持任何VPN的特定路由协议或信令。
---- 提供者(P)路由器
---- P路由器是指网络中的核心LSR。
---- 站点(Site)
---- 站点是指这样一组网络或子网:它们是用户网络的一部分,通过一条或多条PE/CE链路接至VPN。VPN是指一组共享相同路由信息的站点。一个站点可以同时位于不同的几个VPN之中。
---- 路径区别标志
---- 服务提供者将为每一个VPN分配一个唯一的标志符,该标志符称为路径区别标志(RD),它对应于服务提供者网络中的每一个Intranet或Extranet 都是不同的。PE路由器中的转发表里将包含一系列唯一的地址,这些地址称为VPNIP 地址,它们是由RD与用户的IP地址连接而成的。VPNIP地址对于服务提供者网络中的每一个端点都是唯一的,对于VPN中的每一个节点(即VPN中的每一个PE路由器),转发表中都将存储有一个条目。
---- 连接模型
---- 图4给出了MPLS/BGP VPN的连接模型。
---- 从图4中可以看出,P路由器位于MPLS网络的核心。 PE路由器将使用MPLS与核心MPLS网络通信,同时使用IP路由技术来与CE路由器通信。 P与PE路由器将使用IP路由协议(内部网关协议)来建立MPLS核心网络中的路径,并且使用LDP实现路由器之间的标记分发。
---- PE路由器使用多协议BGP4来实现彼此之间的通信,完成标记交换和每一个VPN策略。除非使用了路径映射标志(route reflector),否则PE 之间是BGP全网状连接。特别地,图4中的PE处于同一自治域中,它们之间使用内部BGP (iBGP)协议。
---- P路由器不使用BGP协议而且对VPN一无所知,它们使用普通的MPLS协议与进程。
---- PE路由器可以通过IP路由协议与CE路由器交换IP路径,也可以使用静态路径。在CE与PE路由器之间使用普通的路由进程。CE路由器不必实现MPLS或对VPN有任何特别了解。
---- PE路由器通过iBGP将用户路径分发到其他的PE路由器。为了实现路径分发,BGP使用VPN-IP地址(由RD和IPv4地址构成)。这样,不同的VPN可以使用重叠的IPv4地址空间而不会发生VPN-IP地址重复的情况。
---- PE路由器将BGP计算得到的路径映射到它们的路由表中,以便把从CE路由器收到的分组转发到正确的LSP上。
---- 这一方案使用两级标记:内部标记用于PE路由器对于各个VPN的识别,外部标记则为MPLS网络中的LSR所用——它们将使用这些标记把分组转发给正确的PE。
---- 建立IP-VPN区域的操作
---- 希望提供IP-VPN业务的网络提供者必须按照连接需求对网络进行设计与配置,这包括:PE必须为其支持的VPN以及与之相连的CE所属的VPN 进行配置;MPLS网络或者是一个路径映射标志中的PE路由器之间必须进行对等关系的配置;为了与CE进行通信,还必须进行普通的路由协议配置;为了与MPLS核心网络进行通信,还必须进行普通的MPLS配置(如LDP、IGP)。另外,P路由器除了要求能够支持MPLS之外,还要能够支持VPN。
>---- VPN成员资格和可到达性信息的传播
---- PE路由器使用IP路由协议或者是静态路径的配置来交换路由信息,并且通过这一过程获得与之直接相连的用户网站IP地址前缀。
---- PE路由器通过与其BGP对等实体交换VPN-IP地址前缀来获得到达目的VPN站点的路径。另外,PE路由器还要通过BGP与其PE路由器对等实体交换标记,以此确定PE路由器间连接所使用的LSP。这些标记用作第二级标记,P 路由器看不到这些标记。
---- PE路由器将为其支持的每一个VPN分别建立路由表和转发表,与一个PE路由器相连的CE路由器则根据该连接所使用的接口选择合适的路由表。
---- IP分组转发
---- PE之间的路由信息交换完成之后,每一个PE都将为每一个VPN建立一个转发表,该转发表将把VPN用户的特定地址前缀与下一跳PE路由器联系起来。
---- 当收到发自CE路由器的IP分组时,PE路由器将在转发表中查询该分组对应的VPN。
---- 如果找到匹配的条目,路由器将执行以下操作:
---- 如果下一跳是一个PE路由器,转发进程将首先把从路由表中得到的、该PE路由器所对应的标记(嵌套隧道标记)推入标记栈;PE路由器把基本的标记推入分组,该标记用于把分组转发到到达目的PE路由器的、基本网络LSP上的第一跳;带有两级标记的分组将被转发到基本网络LSP上的下一个LSR。
---- P路由器(LSR)使用顶层标记及其路由表对分组继续进行转发。当该分组到达目的LER时,最外层的标记可能已发生多次改变,而嵌套在内部的标记保持不变。
---- 当PE收到分组时,它使用内部标记来识别VPN。此后, PE将检查与该VPN相关的路由表,以便决定对分组进行转发所要使用的接口。
---- 如果在VPN路由表中找不到匹配的条目,PE路由器将检查Internet路由表(如果网络提供者具备这一能力)。如果找不到路由,相应分组将被丢弃。
---- VPNIP转发表中包含VPNIP地址所对应的标记,这些标记可以把业务流路由至VPN中的每一个站点。这一过程由于使用的是标记而不是IP 地址,所以在企业网中,用户可以使用自己的地址体系,这些地址在通过服务提供者网络进行业务传输时无需网络地址翻译(NAT)。通过为每一个VPN使用不同的逻辑转发表,不同的VPN业务将可以被分开。使用BGP协议,交换机可以根据入口选择一个特定的转发表,该转发表可以只列出一个VPN有效目的地址。
---- 为了建立企业的Extranet,服务提供者需要对VPN之间的可到达性进行明确指定(可能还需要进行NAT配置)。
---- 安全
---- 在服务提供者网络中,PE所使用的每一个分组都将与一个RD相关联,这样,用户无法将其业务流或者是分组偷偷送入另一个用户的VPN。要注意的是,在用户数据分组中没有携带RD,只有当用户位于正确的物理端口上或拥有PE路由器中已经配置的、适当的RD时,用户才能加入一个Intranet或 Extranet。这一建立过程可以保证非法用户无法进入VPN,从而为用户提供与帧中继、租用线或ATM业务相同的安全等级。
|