毕业论文-基于windows server 2008 的VPN构建技术及其应用 下载本文

2.2 VPN实现原理

有很多种方法可以实现VPN。目前大家经常看到的有MPLS、IPSEC、L2TP/PPTP、SSL等类型。

众所周知,由于公共IP的短缺,我们在组建局域网时,通常使用保留地址作为内部IP,这些保留地址Internet上是无法被路由的,所以在正常情况下我们无法直接通过Internet访问到在局域网内的主机。为了实现这一目的,

我们需要使用VPN隧道技术,其实现过程可以通过下面的图2-2说明:

图 2-2 VPN隧道技术

1.通常情况下,VPN网关采用双网卡结构,外网卡使用公共IP接入Internet; 2.如果网络一的终端A需要访问网络二的终端B,其发出的访问数据包的目标地址为终端B的IP (内部IP);

3.网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN网关会构造一个新的数据包(VPN数据包),并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN网关的外部地址;

4.网络一的VPN网关将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关;

5.网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,再将负载通过VPN技术反向处理还原成原始的数据包;

6.网络二的VPN网关将还原后的原始数据包发送至目标终端,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就从终端A直接发过来的一样;

7.从终端B返回终端A的数据包处理过程与上述过程一样,这样两个网络内

第 4 页 共29 页

的终端就可以相互通讯了。

通过上述说明我们可以发现,在VPN网关对数据包进行处理时,有两个参数对于VPN隧道通讯十分重要:原始数据包的目标地址(VPN目标地址)和远程VPN网关地址。根据VPN目标地址,VPN网关能够判断出对哪些数据包需要进行VPN处理,对于不需要处理的数据包通常情况下可直接转发到上级路由;远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址,即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。

2.3 VPN的几种常见类型

VPN的分类方式比较混乱。不同的生产厂家在销售它们的VPN产品时使用了不同的分类方式,它们主要是产品的角度来划分的。不同的ISP在开展VPN业务时也推出了不同的分类方式,他们主要是从业务开展的角度来划分的。而用户往往也有自己的划分方法,主要是根据自己的需求来进行的。下面简单介绍从不同的角度对VPN的分类。

1.按接入方式划分

这是用户和运营商最关心的VPN划分方式。一般情况下,用户可能是专线上网的,也可能是拨号上网的,这要根据用户的具体情况而定。建立在IP网上的VPN也就对应的有两种接入方式:专线接入方式和拨号接入方式。

1)专线VPN:

它是为已经通过专线接入ISP边缘路由器的用户提供的VPN解决方案。这是一种“永远在线”的VPN,可以节省传统的长途专线费用。

2)拨号VPN(又称VPDN):

它是向利用拨号PSTN或ISDN接入ISP的用户提供的VPN业务。这是一种“按需连接”的VPN,可以节省用户的长途电话费用。需要指出的是,因为用户一般是漫游用户,是“按需连接的,因此VPDN通常需要做身份认证(比如利用CHAP和RADIUS)

2.按协议实现类型划分

这是VPN厂商和ISP最为关心的划分方式。根据分层模型,VPN可以在第二层建立,也可以在第三层建立(甚至有人把在更高层的一些安全协议也归入VPN协议。)

1)第二层隧道协议:

这包括点到点隧道协议(PPTP)、第二层转发协议(L2F),第二层隧道协议(L2TP)、多协议标记交换(MPLS)等。

2)第三层隧道协议:

这包括通用路由封装协议(GRE)、IP安全(IPSec),这是目前最流行的两种三层协议。

第 5 页 共29 页

第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装,其中GRE、IPSec和MPLS主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务(但也可以用于实现专线VPN业务),当然这些协议之间本身不是冲突的,而是可以结合使用的。

3.按VPN的服务类型划分

根据服务类型,VPN业务大致分为三类:接入VPN(Access VPN)、内联网VPN(Intranet VPN)和外联网VPN(Extranet VPN)。通常情况下内联网VPN是专线VPN。

1)接入VPN:

这是企业员工或企业的小分支机构通过公网远程访问企业内部网络的VPN方式。远程用户一般是一台计算机,而不是网络,因此组成的VPN是一种主机到网络的拓扑模型。需要指出的是接入VPN不同于前面的拨号VPN,这是一个容易发生混淆的地方,因为远程接入可以是专线方式接入的,也可以是拨号方式接入的。

2)内联网VPN:

这是企业的总部与分支机构之间通过公网构筑的虚拟网,这是一种网络到网络以对等的方式连接起来所组成的VPN。

3)外联网VPN:

这是企业在发生收购、兼并或企业间建立战略联盟后,使不同企业间通过公网来构筑的虚拟网。这是一种网络到网络以不对等的方式连接起来所组成的VPN(主要在安全策略上有所不同)。

4.按VPN业务层次模型划分

这是根据ISP向用户提供的VPN服务工作在第几层来划分的(注意不是根据隧道协议工作在哪一层划分的)。

1)拨号VPN业务(VPDN):

这是第一种划分方式中的VPDN(事实上是按接入方式划分的,因为很难明确VPDN究竟属于哪一层)。

2)虚拟租用线(VLL):

这是对传统的租用线业务的仿真,用IP网络对租用线进行模拟,而从两端的用户看来这样一条虚拟租用线等价于过去的租用线。

3)虚拟专用路由网(VPRN)业务: 这是对第三层IP路由网络的一种仿真。可以把VPRN理解成第三层VPN技术。 4)虚拟专用局域网段(VPLS):

这是在IP广域网上仿真LAN的技术。可以把VPLS理解成一种第二层VPN技术。

第 6 页 共29 页

2.4 VPN隧道及隧道协议

如图2-3,隧道技术使用一种协议封装另外一种协议报文,而封装协议本身也可以被其他封装协议所封装或承载。对用户来说,隧道是其PSTN/ISDN链路的逻辑延伸,在使用上与实际物理链路相同。隧道技术支持各种接入形式,与接入方式无关,它可以拨号方式接入、CABLE Modem方式、xDSL以及ISDN方式、E1专线和无线接入方式等。

VPN设备

IP包头 未加密的 数据包

加密后的数据Internet Tunnel

解密后的 数据包

图 2-3 VPN隧道 VPN隧道需要完成的功能包括:

1)封装原始数据

2)实现隧道两端的点到点连通 3)定时检测VPN隧道的连通性 4)VPN隧道的安全性 5)VPN隧道的QoS特性

评价和选择隧道技术也主要是根据上述几个方面进行。下面介绍常见的隧道:

1.GRE隧道

GRE隧道使用GRE协议封装原始数据报文,基于公网实现数据的透明传输。GRE隧道不能配置二层信息,但可以配置IP地址。利用为隧道指定的实际物理接口完成转发,转发过程可以简单描述如下:

所有去往远端VPN的报文先发送到Tunnel源端。在Tunnel源端进行GRE封装,填写Tunnel建立时所确定的Tunnel源IP和目的IP。通过公网转发到远端VPN网络。

2.IPSec隧道

IPSec是IETF制定的一个框架协议,用于保证在Internet上传送数据的安全保密性。IPSec提供传输模式和隧道模式两种操作模式,隧道模式的封装过程为:

第 7 页 共29 页