我们将把传统的VPN(虚拟专用网)和MPLS VPN(多协议标记交换协议虚拟专用网)之间作一比较。首先,来分析一下传统VPN的构成,各种功能以及缺点,然后再分析一下MPLS VPN的构成。
我们将把传统的VPN(虚拟专用网)和MPLS VPN(多协议标记交换协议虚拟专用网)之间作一比较。首先,来分析一下传统VPN的构成,各种功能以及缺点,然后再分析一下MPLS VPN的构成。
传统VPN基于封装(隧道)技术以及加密模块技术,可在两个位置间
安全地传输数据。这里将主要介绍一下IPSec协议,因为它是目前的VPN中最常使用的。该类型的VPN是位于IP网络顶层的点对点隧道的覆盖。
下图为两个站点之间建立IPSec隧道的简单的例子。站点A使用带有3DES加密技术的IPsec协议同站点B建立连接。
IPsec协议首要的和最明显的缺点就是性能的下降。让我们先看看从计算机A是如何发送出一个数据包到计算机B的。计算机A发送的数据包到达了CPE A。CPE A检查该数据包并判定它需要把该数据包转发到CPE B。在非VPN环境中,该数据包将在通往CPE B的途中。但是有了Ipsec,CPE A必须在发送出该数据包之前完成几项任务。首先,加密该数据包。这需要花费时间,从而导致该数据包被延迟(时延),然后,该数据包被封装到另外一个IP数据包中(封装),时间上又延迟了。现在该数据包才被发送到服务供应商网络中。此时可能会发生另外一件事情将导致再次延迟:分割。如果新生成的数据包的长度超过了CPE A和CPE B建立连接时的最大可传输单元(MTU)的长度,该数据数据包将需要被分割成两个数据包。
MTU定义了在连接中传输的数据包的最大长度。如果一个数据包的长度超过了MTU值,只要DF位(不分割位)未被置位,该数据包将会被分割成两个长度更小的数据包。如果DF位被置位,该数据包将被丢弃,将发送一条ICMP信息给数据包的发送源端。一旦该数据包到达了CPE B端,它将被解封和解密,此处又增加了延迟时间。最后,CPE B把该数据包转发被计算机B。
总的延迟时间取决于所涉及的CPE的个数。低端的CPE设备通常用软件实现所有的IPsec功能,因而其速度最慢。价格贵些的CPE用硬件实现IPsec功能。一般来说,性能越好,其价格越贵。
从上述例子中可以容易了解到IPSec VPN是网络的一种覆盖类型。它位于另一种IP网络的上层。由于是一种覆盖,在每个站点之间必须建立一个隧道,这就导致了网络的低效。我们这里来看看存在的两种网络布局结构:中心辐射布局和全网络布局。
中心辐射布局由一个中心站点同许多远程站点相连。这是IPSec网的最实用的布局。位于中心站点位置的CPE通常非常昂贵,其价格同相连的远程站点的数目有关。每个远程站点建立同中心站点相连的IPSec隧道。如果有20个远程站点,那么就会建立20个到中心站点的IPSec隧道。
该模式对于远程到远程之间的通信不是最优的。任何数据包,如果从一个远程站点发送到到另外一个远程站点,首先需要通过中心站点,需要中心站点实现解封,解密,判定转发路径,加密,封装等一系列步骤。这对于在远程站点中已经进行的封装/加密工作来说,是多余的。实际上,数据包经过两个IPSec隧道的传输,延迟时间大大地增加了,超过了两个站点之间直接通信时,数据包的延迟时间。
显然,解决这个问题的方案是建立一个全网状布局。但该类型的布局存在不少缺点。最大的缺点是可扩充性。对于全网状IPSec网络,需要支持的隧道的数量随着站点的数目呈几何级数增加。例如对于一个21个站点构成的中心辐射布局网络(一个中心站点和20个远程站点),需要建立210个IPSec隧道。每个站点需要配置能够处理20个IPSec隧道的CPE,这意味着每个站点需要价格更为昂贵的CPE设备。从某种意义上讲,建立一个全网状布局是不现实的。想象一下由100个站点组成的VPN,它将需要建立4950个隧道。
另外一个考虑是CPE设备,一个供应商需要确保所有的CPE之间能够兼容。最简单的方案是在每个位置使用同一种CPE设备。但这并不总是可行。许多场合中,用户打算重用自己的CPE。另外,对于DSL,同一种CPE设备并没有在所有不同的CLEC设备之间进行过测试。虽然兼容性目前不是个大问题,但在使用IPSec协议时仍需要考虑。
对于IPSec VPN来说,配置将成为问题,供应商必须配置好每个IPSec隧道。配置单一的一个IPSec隧道不成问题。但网络结点数量增大时,问题就来了。在建立全网状的布局时,情况最糟,上例中,配置一个由21个结点组成的网络需费时数天。对于服务供应商来说,日常维护的难度也很大。
安全性也是需要考虑的。每个CPE可以连接到公共的Internet,并且依赖IPSec隧道来进行站点间的数据传输。这样,每个CPE设备都必须采取诸如防火墙这样的安全措施,以便保护每个位置的安全。每个防火墙需要对供应商开放,以便访问有关设备,这本身将是个安全隐患。当网络规模增大时,管理每个防火墙将变得很困难。想象一下带有100个结点的VPN,将需要100个防火墙。一旦每次需要修改防火墙策略时,该VPN中的所有100个防火墙都要重新设置。
MPLS VPN
同传统的VPN不同,MPLS VPN不依靠封装和加密技术,MPLS VPN依靠转发表和数据包的标记来创建一个安全的VPN,MPLS VPN的所有技术产生于InternetConnect网络。
CPE被称为客户边缘路由器(CE)。在InternetConnect网络中,同CE相连的路由器称为供应商边缘路由器(PE)。一个VPN数据包括一组CE路由器,以及同其相连的InternetConnect网中的PE路由器。只有PE路由器理解VPN。CE路由器并不理解潜在的网络。
CE可以感觉到同一个专用网相连。每个VPN对应一个VPN路由/转发实例(VRF)。一个VRF定义了同PE路由器相连的客户站点的VPN成员资格。一个VRF数据包括IP路由表,一个派生的Cisco Express Forwarding (CEF)表,一套使用转发表的接口,一套控制路由表中信息的规则和路由协议参数。一个站点可以且仅能同一个VRF相联系。客户站点的VRF中的数据包含了其所在的VPN中,所有的可能连到该站点的路由。
对于每个VRF,数据包转发信息存储在IP路由表和CEF表中。每个VRF维护一个单独的路由表和CEF表。这些表各可以防止转发信息被传输到VPN之外,同时也能阻止VPN之外的数据包转发到VPN内不的路由器中。这个机制使得VPN具有安全性。
在每个VPN内部,可以建立任何连接:每个站点可以直接发送IP数据包到VPN中另外一个站点,无需穿越中心站点。一个路由识别器(RD)可以识别每一个单独的VPN。一个MPLS网络可以支持成千上万个VPN。每个MPLS VPN网络的内部是由供应商(P)设备组成。这些设备构成了MPLS核,且不直接同CE路由器相连。围绕在P设备周围的供应商边缘路由器(PE)可以让MPLS VPN网络发挥VPN的作用。P和PE路由器称为标记交换路由器(LSR)。LSR设备基于标记来交换数据包。
客户站点可以通过不同的方式连接到PE路由器,例如帧中继,ATM,DSL和T1方式等等。
三种不同的VPN,分别用Route Distinguishers 10,20和30来表示。
MPLS VPN中,客户站点运行的是通常的IP协议。它们并不需要运行MPLS,IPSec或者其他特殊的VPN功能。在PE路由器中,路由识别器对应同每个客户站点的连接。这些连接可以是诸如T1,单一的帧中继,ATM虚电路,DSL等这样的物理连接。路由识别器在PE路由器中被配置,是设置VPN站点工作的一部分,它并不在客户设备上进行配置,对于客户来说是透明的。
每个MPLS VPN具有自己的路由表,这样客户可以重叠使用地址且互不影响。对用RFC 1918建议进行寻址的多种客户来说,上述特点很有用处。例如,任何数量的客户都可以在其MPLS VPN中,使用地址为10.1.1.X的网络。MPLS VPN的一个最大的优点是CPE设备不需要智能化。因为所有的VPN功能是在InternetConnect的核心网络中实现的,且对CPE是透明的。CPE并不需要理解VPN,同时也不需要支持IPSec。这意味着客户可以使用价格便宜的CPE,或者甚至可以继续使用已有的CPE。
时延被降到最低,因为数据包不再经过封装或者加密。加密之所以不再需要,是因为MPLS VPN可以创建一个专用网,它同帧中继网络具备的安全性很相似。因为不需要隧道,所以要创建一个全网状的VPN网也将变得很容易。事实上,缺省的配置是全网状布局。站点直接连到PE,之后可以到达VPN中的任何其他站点。如果不能连通到中心站点,远程站点之间仍然能够相互通信。
配置MPLS VPN网络的设备也变得容易了,仅需配置核心网络,不需访问CPE。一旦配置好一个站点,在配置其他站点时无需重新配置。因为添加新的站点时,仅需改变所连到的PE的配置。
在MPLS VPN中,安全性可以得到容易地实现。一个封闭的VPN具有内在的安全性,因为它不同Public Internet相连。如果需要访问Internet,则可以建立一个通道,在该通道上,可放置一个防火墙,这样就对整个VPN提供安全的连接。管理起来也很容易,因为对于整个VPN来说,只需要维护一种安全策略。
MPLS VPN的另外一个好处是对于一个远程站点,仅需要一个连接即可。想象一下,带有一个中心站点和10个远程站点的传统帧中继网,每个远程站点需要一个帧中继PVC(永久性虚电路),这意味者需要10个PVC。而在MPLS VPN网中,仅需要在中心站点位置建立一个PVC,这就降低了网络的成本。