通过建设虚拟专用网(VPN),企业可以把公用Internet看成自己的专用WAN,用于连接远程办公室、开展电子商务、为客户提供支持并与供应商和其他商业伙伴沟通。
早期建设的VPN使用永久虚电路(PVC)和隧道技术,并且获得了很大的成功。但是,随着连接范围的扩大,可扩展性和管理的问题越来越突出。可喜的是,多协议标记交换(MPLS)技术的出现让我们可以建设能够支持多种业务级别并且能够无限扩展的全互连IP VPN。
传统VPN面临的困难
今天部署的大部分VPN属于两种基本模式,其中比较贵的一种模式,使用电信运营商网络中的第二层,例如帧中继或ATM PVC,建设点对点的网络。这种方法要求对闭合用户群的每一个地点分配一个唯一的标识,并且对哪些地点之间可以交换信息进行管理。由于每个地点必须与新增加的地点连接,就很难快速地添加大量新的地点,因为这需要利用服务供应商WAN建立全互连的虚拟电路连接并进行管理。
另外一种VPN模式是在服务供应商网络边缘的路由器之间,建立点对点隧道的网络。用户和服务供应商的网络使用同一种IP协议,而且每个服务供应商的路由器必须对所有用户网络全部的路由信息进行维护。每个边缘路由器必须与所有其它路由器交换地址和链路以及设备状态的信息。每个路由器必须维护大量的路由信息,而且加入的新地点越多,路由信息的量越大,这样一来要做到高的可扩展性就很难。
服务供应商使用PVC或隧道时必须对每个新用户定义一个新的网络拓扑,这样做代价很高,也正因如此,很多服务供应商并不认为目前应向小型和中型商业用户提供VPN业务。
服务质量(QoS)是VPN的另一个难题。帧中继和ATM PVC可以通过对每个PVC进行缓冲的机制提供多种业务级别。但是,网络越大,对每个VPN中多个PVC的多种业务级别进行管理就越困难。如果使用隧道技术,就需要使用IP安全(IPSec)和通用路由封装(GRE)技术对VPN进行配置,而IPSec和GRE本身不足以支持QoS。
建设大规模网络
MPLS VPN技术在提供现有VPN网络所有能力的同时提供强有力的QoS能力。MPLS VPN在第三层实现,但并不使用隧道,因此可以无限扩展。另外,用户享受到的保密性与帧中继或ATM PVC所提供的相同,这是因为MPLS把路由信息的传播限于归属某个特定VPN的路由器的范围内。
服务供应商采用Cisco的MPLS方案可以提供多种级别的业务,原因就在于Cisco MPLS标记包括流量优先级信息。IETF目前正在对优先级标记功能进行标准化。
由于对路由方面知识的要求几乎为零,所以对最终用户而言,MPLS VPN的支持费用也要低一些。另外,相对于传统管理路由的方案,路由配置的工作量大大降低,所以服务供应商的运营费用也大大降低。
“用户花在一个可管理的IP网络上的钱比他们花在帧中继上的要少。”Cisco多业务交换商业部总监Robert Redford说,“一个25节点可管理的IP VPN比帧中继网络的PVC部分费用节省83%。”这是因为,一方面不需要在每一对互相通信的VPN之间提供PVC并支付PVC的月租费,另一方面由于减轻了路由配置的工作量,运营费用也有所降低。
Cisco MPLS VPN的第一个版本包括在Cisco IOS软件版本12.0中。服务供应商可在一个骨干网上支持一百万个地点,举例来说,网络覆盖1000个地点,每个地点1000个VPN;或者网络覆盖100个地点,每个地点10,000个VPN。新的版本将能够支持一千万个以上的地点。
由于整个网络中没有哪一个设备必须知道所有的VPN路由,所以可扩展性部分得到了保证。“这意味着不存在一个瓶颈点。”Cisco企业商业产品线MPLS资深产品经理Ranjeet Sudan解释说,“用户端路由器只与本地POP的一个边缘路由器直接相连;边缘路由器只承载VPN路由,而核心设备无需知道VPN路由。”
路由器和交换机的作用
在MPLS VPN里,服务供应商的骨干网是由边缘和核心标记交换路由器(LSR)组成的。边缘路由器与用户端路由器相连。用户端路由器运行标准的路由软件。两种设备之间使用IP互相通信。路由器之间使用外部边界网关协议(EBGP)、路由信息协议版本2(RIPv2)和静态路由来交换路由信息。另外,Cisco支持MPLS的设备很快也能够支持开放最短路径优先(OSPF)协议。
在服务供应商的网络里,边缘路由器使用MPLS和多协议内部网关协议(MP-IBGP)相互通信并传播VPN信息。服务供应商的MPLS网络中的核心路由器与边缘路由器都使用普通的内部网关协议(IGP),但核心路由器上不运行BGP,也不区分不同的VPN。由于核心路由器不必进行VPN寻址,服务供应商的网络可以不断扩展来支持更多、更大的VPN。
服务供应商的边缘路由器分别针对全局和VPN路由维护相应的路由表。全局路由表包括所有边缘和核心的路由,这些路由由在骨干网上运行的IGP提供。每个VPN 有一个VPN路由和转发(VRF)表,其中包括一个或多个直接相连的用户地点的信息。IP VPN编址方案保证即使IP地址重叠,全局的IP地址仍是唯一的。边缘路由器可以隔离不同的VPN的路由信息,从而支持多个用户VPN。
MPLS VPN的组成
MPLS VPN模式支持网内所有地点之间的全互连通信。多个用户共享同一个IP骨干网时,可以用BGP的归属社区(community-of-interest)属性指定属于同一个VPN的路由器。服务供应商可以设置策略来规定VPN网内的路由信息的传播只限于网内的路由器。
用户端路由器只与服务供应商本地POP的路由器相连,而不是与VPN每一个其它的地点,相连POP的路由器只接收并保持与其直接相连的VPN的路由信息。所以用户在管理自己的VPN时会发现使用MPLS模式时路由配置非常简单。他们可以把服务供应商的骨干网当作到他们所有地点的缺省路由来使用,而不需要与非常复杂的、包括了大量第二层PVC或第三层路由表的网络打交道。
编址方面的考虑
很多用户都愿意使用专用的IP编址方案,而不使用全局IP编址方案,所以服务供应商需要有效地处理地址不唯一彼此重叠的问题。Cisco的解决方案是在每个用户的IP地址上加一个路由区分码(RD)。
服务供应商可以独立地分配RD,但是他们需要把他们专用的自治系统(AS)号作为RD的一部分来保证每个RD的全局唯一性。用户采用这种方法就不必重新对他们的节点进行编号,服务供应商也不必使用地址翻译。
分组的生命期
在MPLS VPN里,当用户地点的路由器收到一个分组时,会在本地进行查表,如果找不到一个匹配,它就会把分组转交给它所能看到的唯一的一个路由器:服务供应商本地POP的路由器。用户不必运行MPLS软件。
这个分组通过本地连接传送到服务供应商的网络,终接在接入路由器接口上。这个接口配置的RD用来标识用户特定的VPN以及与之相关的VRF表。
与VPN IP地址相关的标记有两个:内部标记用于标识VPN而外部标记指示下一跳应该沿着服务供应商核心网络中哪一个合适的IGP路由前进。在核心网中,分组的转发全部使用逐跳(hop-to-hop)MPLS,这种方式与普通的逐跳(hop-to-hop)IP转发相似,但查表基于标记而不是基于IP地址。因此可以使用支持标记分配协议(LDP)的任何类型的路由器或ATM交换机。
当接入路由器收到一个分组时,利用外部标记把它转发给另一个接入路由器。而当分组到达出口路由器时,路由器将外部标记移去,利用内部标记决定应当把分组发送到哪一个输出接口(即哪一个VPN)。
使用两级标记提高了MPLS VPN的可扩展性。内部标记只携带IGP路由,而不携带VPN路由。只有边缘路由器携带VPN路由,而且他们只携带他们归属的VPN的路由。
连接到Internet
用户也许会希望把他们的VPN连到公众Internet。在MPLS VPN里,Internet路由表是单独处理的。Internet路由在服务供应商的边缘路由器的全局路由表里维护,外部路由不分配标记。
指向某个Internet网关的缺省路由装在某个地点的VRF表里。这个缺省路由不是任何VPN的一部分。根据这个缺省路由转发的分组使用一个单独的标记,即使用IGP找到的对应Internet网关IP地址的路由。
全局路由表并不了解用户路由,也不了解边缘路由器或用户路由器,但全局表里装有指向该接口的静态路由。这个路由重新传播到BGP4全局表里并把这个路由通知Internet网关。缺省路由指定的Internet网关并不需要与路由器直接相连,不同的VRF表可以对应不同的Internet网关。
用户地点可以在另一个接口上使用专用EBGP会话从Internet接收或向Internet通报路由。服务供应商的边缘路由器把用户地点的路由导入全局路由表并通报给Internet。它同时把缺省路由或Internet路由告诉用户端路由器。
面向未来的可靠的网络
随着企业对VPN连接需求的增长,无论企业网络管理者还是服务供应商都将寻求更简单也更经济的方式来应付网络的增长。Cisco的MPLS VPN解决方案是由已经或即将成为标准的软件构件所组成。
这些解决方案的独到之处在于这些构件如何协同工作,从而造就了大规模的提供QoS的VPN。
提供保密性:MPLS把路由信息的传播限于属于同一VPN的路由器之间,从而把第二层虚拟电路的保密性和第三层网络的全互连连接结合起来。