我们将把传统的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设备都必须采取诸如防火墙这样的安全措施,以便保护每个位置的安全。每个防火墙需要对供应商开